n = int(input())
used=[False for i in range(n+1)]
cur=[]
def dfs(u,cur,n):
if u==n+1:
for i in cur:
print(i,end=' ')
print()
return
for i in range(1,n+1):
if not used[i]:
cur.append(i)
used[i]=True
dfs(u+1,cur,n)
cur.pop()
used[i]=False
dfs(1,cur,n)