#include<iostream>
#include<vector>
using namespace std;
void permu(vector<int>&a, int l, int h, vector<vector<int>>&res) {
if (l == h) {
res.push_back(a);
}
for (int i = l; i <= h; i++) {
swap(a[i], a[l]);
permu(a, l+1, h, res);
swap(a[i], a[l]);
}
}
int main() {
vector<int>a{ 34,45,55,66 };
vector<vector<int>>res;
permu(a, 0, a.size() - 1, res);
for (int i = 0; i < res.size(); i++) {
for (int j = 0; j < res[0].size(); j++) {
cout << res[i][j] << " ";
}
cout << endl;
}
system("pause");
}