#include<stdio.h>
int n,m[10];
int p[10];
#define HONG(l) \
if(!p[l]) {\
m[x] = l;\
p[l] = 1;\
solve(x + 1);\
p[l] = 0;\
}
void solve(int x) {
if(x > n) {
for(int i = 1 ; i <= n ; i ++) {
putchar(' ');
putchar(' ');
putchar(' ');
putchar(' ');
putchar(m[i] + '0');
}
putchar('\n');
return;
}
HONG(1)
HONG(2)
HONG(3)
HONG(4)
HONG(5)
HONG(6)
HONG(7)
HONG(8)
HONG(9)
}
int main(){
n = getchar() - '0';
for(int i=n+1;i<=10;i++)
p[i] = 1;
solve(1);
return n-n;
}
/*
#include<stdio.h>
#define __________ int
#define ____________ putchar
#define _______________ for
#define __________________ if
#define ___________________ void
#define ______________________ return
#define ________________________ main
#define ____________________________ getchar
#define _________________ 10
__________ _,__[_________________];
__________ ___[_________________];
#define ______________________________(______) \
__________________(!___[______]) {\
__[_______] = ______;\
___[______] = 1;\
____(_______ + 1);\
___[______] = 0;\
}
___________________ ____(__________ _______) {
__________________(_______ > _) {
_______________(__________ ______ = 1 ; ______ <= _ ; ______ ++) {
____________(' ');
____________(' ');
____________(' ');
____________(' ');
____________(__[______] + '0');
}
____________('\n');
______________________;
}
______________________________(1)
______________________________(2)
______________________________(3)
______________________________(4)
______________________________(5)
______________________________(6)
______________________________(7)
______________________________(8)
______________________________(9)
}
__________ ________________________(){
_ = ____________________________() - '0';
_______________(__________ ______=_+1;______<=_________________;______++)
___[______] = 1;
____(1);
______________________ _-_;
}
*/