#include<bits/stdc++.h>
using namespace std;
int n,a[15];
inline int read(){
int ret=0,f=1;char ch=getchar();
while(!isdigit(ch)) f=(ch=='-'?-f:f),ch=getchar();
while(isdigit(ch)) ret=ret*10+ch-'0',ch=getchar();
return ret*f;
}
void dfs(int x){
if(x==n+1){
for(int i=1;i<=n;i++) printf("%5d",a[i]);
printf("\n");return;
}
for(int i=1;i<=n;i++){
bool b=0;
for(int j=1;j<=x;j++) if(a[j]==i){b=1;break;}
if(b==1) continue;
a[x]=i;dfs(x+1);
}
return;
}
int main(){
n=read();
dfs(1);
return 0;
}