#include "stdio.h"
int a[20],book[20];
void dfs(int step,int n)
{
int i;
if(step == n+1)
{
for(i=1;i<=n;i++)
printf("%d",a[i]);
printf("\n");
return;
}
for(i=1;i<=n;i++)//处理i=2进入嵌套,所以当递归结束时先处理i=3,在处理i=2;
{
if(book[i]==0)
{
a[step] = i;
book[i] = 1;
dfs(step+1,n);
book[i] = 0;
}
}
return;
}
int main()
{
int num;
scanf("%d",&num);
dfs(1,num);
return 0;
}