#include <iostream>
#include <fstream>
using namespace std;
ifstream in("permutari.in");
ofstream out("permutari.out");
int sol[20],p,n;
bool folosit[20];
/*bool valid (int p)
{
for(int i=1;i<p;i++)
if(sol[i]==sol[p])
return false;
return true;
}*/
void afis()
{
for(int i=1;i<=n;i++)
out<<sol[i]<<" ";
out<<"\n";
}
void bkt(int p)
{
if(p-1==n)
afis();
else
for(int i=1;i<=n;i++)
if(!folosit[i])
{
sol[p]=i;
folosit[i]=true;
bkt(p+1);
folosit[i]=false;
}
/*{
sol[p]=i;
if(valid(p))
bkt(p+1);
}*/
}
int main()
{
in>>n;
bkt(1);
return 0;
}