#include <iostream>
#include <string.h>
using namespace std;
const int N = 10;
int n;
int path[N];
bool sta[N];
int dfs(int u)
{
if(n==u){
for(int i=0;i<n;i++){
printf("%d ",path[i]);
}
printf("\n");
return 0;
}
for(int i=1;i<=n;i++){
if(sta[i]==0){
path[u]=i;
sta[i]=1;
dfs(u+1);
sta[i]=0;
}
}
return 0;
}
int main() {
cin>>n;
memset(sta, 0, sizeof(sta));
dfs(0);
return 0;
}