#include <stdio.h>
void backtrack(int a[4], int k, int input){
bool in_perm[4];
for(int i=0;i<4;i++){
in_perm[i] = false;
}
int c[4];
int ncands = 0;
if( k == input){
printf("{");
for(int i=1;i<=3;i++)
printf("%d ",a[i]);
printf("}
");
}else{
k++;
for(int i=1;i<k;i++){
in_perm[a[i]] = true;
}
ncands = 0;
for(int i =1; i <= input;i++){
if(!in_perm[i]){
c[ncands] = i;
ncands++;
}
}
for(int i=0;i<ncands;i++){
a[k] = c[i];
backtrack(a,k,input);
}
}
}
int main(){
int a[4];
backtrack(a,0,3);
return 0;
}