#include<bits/stdc++.h>
using namespace std;
const int maxn=11;
int P[maxn];
int flag[maxn]={false};
int length;
void generate(int index,int arr[])
{
if(index==length)
{
//print(P);
for(int i=0;i<length;i++) cout<<P[i]<<" ";
cout<<endl;
return;
}
for(int i=0;i<length;i++)
{
if(flag[i]==false)
{
P[index]=arr[i];
flag[i]=true;
generate(index+1,arr);
flag[i]=false;
}
}
}
int main()
{
int a[]={1,2,3};
length=3;
generate(0,a);
return 0;
}