#include <bits/stdc++.h>
using namespace std;
long long a[100];
long long b[100];
long long n,r;
bool f[100];
void print () {
cout<<" ";
for (int i=1;i<=r;i++)
cout<<a[b[i]]<<" ";
}
void dfs (int deep) {
if (deep>r) {
print ();
cout<<"\n";
return ;
}
for (int i=1;i<=n;i++) {
if (f[i]==false && ! (deep==1 && a[i]==0)) {
f[i]=true;
b[deep]=i;
dfs (deep+1);
f[i]=false;
}
}
}
int main() {
cin>>n;
r=n;
for (int i=1;i<=n;i++) a[i]=i;
dfs (1);
return 0;
}