#include<bits/stdc++.h>
using namespace std;
int b[100];
int vis[3000];
int n;//求1到n的全排列
void dfs(int t)
{
if(t>n)
{
for(int i=1;i<=n;i++)
{
cout<<b[i]<<" ";
}
cout<<endl;
}
else
{
for(int i=1;i<=n;i++)
{
if(!vis[i])
{
b[t]=i;
vis[i]=1;
dfs(t+1);
vis[i]=0;
}
}
}
}
int main()
{
scanf("%d",&n);
dfs(1);
}