void print(vector<int>& v){
for(auto ele : v)
cout << ele << " ";
cout<< endl;
}
void backtrack(int index, vector<int> ans){
if(index == (ans.size() - 1)){
print(ans);
return;
}
for(int i = index; i < ans.size(); i++){
swap(ans[index], ans[i]);
backtrack(index+1, ans);
swap(ans[index], ans[i]);
}
}