#include <iostream>
using namespace std;
void printTab(int tab[], int tabSize) {
for(int i = 0; i < tabSize; i++) {
cout << tab[i] << " ";
}
cout << endl;
}
void generatePermutations(int tab[], bool used[], int result[], int index, int tabSize) {
if(index >= tabSize) {
printTab(result, tabSize);
return;
}
for(int i = 0; i < tabSize; i++) {
if (!used[i]) {
used[i] = true;
result[index] = tab[i];
generatePermutations(tab, used, result, index + 1, tabSize);
used[i] = false;
}
}
}
int main() {
int tab[3] = {1, 2, 3};
bool used[3] = {};
int result[3];
generatePermutations(tab, used, result, 0, 3);
return 0;
}