#include <bits/stdc++.h>
using namespace std;
void func(int idx, vector<int>&v, vector<vector<int>>&ans,vector<int>& temp){
if(idx>= (int)v.size()){
ans.push_back(temp);
temp={};
return;}
temp.push_back(v[idx]);
func(idx+1,v,ans,temp);
temp.erase(temp.begin()+idx);
func(idx+1,v,ans,temp);
}
int main() {
vector<int>v = {3, 1 ,2};
vector<int>temp;
vector<vector<int>>ans;
for(int i=0;i<ans.size();i++){
for(int j=0;j<ans[i].size();j++)
cout<<ans[i][j]<<" ";
cout<<endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgZnVuYyhpbnQgaWR4LCB2ZWN0b3I8aW50PiZ2LCB2ZWN0b3I8dmVjdG9yPGludD4+JmFucyx2ZWN0b3I8aW50PiYgdGVtcCl7CglpZihpZHg+PSAoaW50KXYuc2l6ZSgpKXsKCQlhbnMucHVzaF9iYWNrKHRlbXApOwoJCXRlbXA9e307CgkJcmV0dXJuO30KCXRlbXAucHVzaF9iYWNrKHZbaWR4XSk7CglmdW5jKGlkeCsxLHYsYW5zLHRlbXApOwoJdGVtcC5lcmFzZSh0ZW1wLmJlZ2luKCkraWR4KTsKCWZ1bmMoaWR4KzEsdixhbnMsdGVtcCk7Cn0KCmludCBtYWluKCkgewoJdmVjdG9yPGludD52ID0gezMsIDEgLDJ9OwoJdmVjdG9yPGludD50ZW1wOwoJdmVjdG9yPHZlY3RvcjxpbnQ+PmFuczsKCWZvcihpbnQgaT0wO2k8YW5zLnNpemUoKTtpKyspewoJCWZvcihpbnQgaj0wO2o8YW5zW2ldLnNpemUoKTtqKyspCgkJY291dDw8YW5zW2ldW2pdPDwiICI7CgkJY291dDw8ZW5kbDsKCX0KfQ==