#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,t[30];
void one(){
cout<<1;
}
void two(){
cout<<" 1 2\n 2 1";
}
void three(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]) printf("%5d%5d%5d\n",i,j,k);
}
t[j]--;
}
}
t[i]--;
}
}
void four(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]) printf("%5d%5d%5d%5d\n",i,j,k,l);
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void five(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]) printf("%5d%5d%5d%5d%5d\n",i,j,k,l,r);
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void six(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]) printf("%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h);
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void seven(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]) printf("%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g);
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void eight(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]) printf("%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x);
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void nine(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p);
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void ten(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u);
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void eleven(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a);
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void twelve(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]){
t[a]++;
for(int b=1;b<=n;b++){
if(!t[b]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b);
}
t[a]--;
}
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void thirteen(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]){
t[a]++;
for(int b=1;b<=n;b++){
if(!t[b]){
t[b]++;
for(int c=1;c<=n;c++){
if(!t[b]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c);
}
t[b]--;
}
}
t[a]--;
}
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void fourteen(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]){
t[a]++;
for(int b=1;b<=n;b++){
if(!t[b]){
t[b]++;
for(int c=1;c<=n;c++){
if(!t[c]){
t[c]++;
for(int d=1;d<=n;d++){
if(!t[c]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d);
}
t[c]--;
}
}
t[b]--;
}
}
t[a]--;
}
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void fifteen(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]){
t[a]++;
for(int b=1;b<=n;b++){
if(!t[b]){
t[b]++;
for(int c=1;c<=n;c++){
if(!t[c]){
t[c]++;
for(int d=1;d<=n;d++){
if(!t[d]){
t[d]++;
for(int s=1;s<=n;s++){
if(!t[s]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s);
}
t[d]--;
}
}
t[c]--;
}
}
t[b]--;
}
}
t[a]--;
}
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void sixteen(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]){
t[a]++;
for(int b=1;b<=n;b++){
if(!t[b]){
t[b]++;
for(int c=1;c<=n;c++){
if(!t[c]){
t[c]++;
for(int d=1;d<=n;d++){
if(!t[d]){
t[d]++;
for(int s=1;s<=n;s++){
if(!t[s]){
t[s]++;
for(int m=1;m<=n;m++){
if(!t[m]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s,m);
}
t[s]--;
}
}
t[d]--;
}
}
t[c]--;
}
}
t[b]--;
}
}
t[a]--;
}
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void seventeen(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]){
t[a]++;
for(int b=1;b<=n;b++){
if(!t[b]){
t[b]++;
for(int c=1;c<=n;c++){
if(!t[c]){
t[c]++;
for(int d=1;d<=n;d++){
if(!t[d]){
t[d]++;
for(int s=1;s<=n;s++){
if(!t[s]){
t[s]++;
for(int m=1;m<=n;m++){
if(!t[m]){
t[m]++;
for(int w=1;w<=n;w++){
if(!t[m]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s,m,w);
}
t[m]--;
}
}
t[s]--;
}
}
t[d]--;
}
}
t[c]--;
}
}
t[b]--;
}
}
t[a]--;
}
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
void eighteen(){
for(int i=1;i<=n;i++){
t[i]++;
for(int j=1;j<=n;j++){
if(!t[j]){
t[j]++;
for(int k=1;k<=n;k++){
if(!t[k]){
t[k]++;
for(int l=1;l<=n;l++){
if(!t[l]){
t[l]++;
for(int r=1;r<=n;r++){
if(!t[r]){
t[r]++;
for(int h=1;h<=n;h++){
if(!t[h]){
t[h]++;
for(int g=1;g<=n;g++){
if(!t[g]){
t[g]++;
for(int x=1;x<=n;x++){
if(!t[x]){
t[x]++;
for(int p=1;p<=n;p++){
if(!t[p]){
t[p]++;
for(int u=1;u<=n;u++){
if(!t[u]){
t[u]++;
for(int a=1;a<=n;a++){
if(!t[a]){
t[a]++;
for(int b=1;b<=n;b++){
if(!t[b]){
t[b]++;
for(int c=1;c<=n;c++){
if(!t[c]){
t[c]++;
for(int d=1;d<=n;d++){
if(!t[d]){
t[d]++;
for(int s=1;s<=n;s++){
if(!t[s]){
t[s]++;
for(int m=1;m<=n;m++){
if(!t[m]){
t[m]++;
for(int w=1;w<=n;w++){
if(!t[w]){
t[w]++;
for(int perfect_finish=1;perfect_finish<=n;perfect_finish++){
if(!t[m]) printf("%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d%5d\n",i,j,k,l,r,h,g,x,p,u,a,b,c,d,s,m,w,perfect_finish);
}
t[w]--;
}
}
t[m]--;
}
}
t[s]--;
}
}
t[d]--;
}
}
t[c]--;
}
}
t[b]--;
}
}
t[a]--;
}
}
t[u]--;
}
}
t[p]--;
}
}
t[x]--;
}
}
t[g]--;
}
}
t[h]--;
}
}
t[r]--;
}
}
t[l]--;
}
}
t[k]--;
}
}
t[j]--;
}
}
t[i]--;
}
}
signed main(){
cin>>n;
switch(n){
case(1):
one();
break;
case(2):
two();
break;
case(3):
three();
break;
case(4):
four();
break;
case(5):
five();
break;
case(6):
six();
break;
case(7):
seven();
break;
case(8):
eight();
break;
case(9):
nine();
break;
case(10):
ten();
break;
case(11):
eleven();
break;
case(12):
twelve();
break;
case(13):
thirteen();
break;
case(14):
fourteen();
break;
case(15):
fifteen();
break;
case(16):
sixteen();
break;
case(17):
seventeen();
break;
case(18):
eighteen();
break;
}
return 0;
}