#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<set>
#include<vector>
using namespace std;
int vis[11000];
int list1[11000];
void dfs(int step,int n)
{
if(step>n)
{
for(int i=1;i<=n;i++)
printf("%d ",list1[i]);
printf("\n");
return ;
}
for(int i=1;i<=n;i++)
{
if(vis[i]==0)
{
vis[i]=1;
list1[step]=i;
dfs(step+1,n);
vis[i]=0;
}
}
}
int main()
{
memset(vis,0,sizeof(vis));
dfs(1,3);
return 0;
}