N = int(input())
def dfs(u):
if u == N:
ans.append(' '.join(list(map(str, path))))
for i in range(N):
if state[i] == False:
path[u] = text[i]
state[i] = True
dfs(u + 1)
state[i] = False
text = list(range(1, N + 1))
path = [0] * N
ans = []
state = [False] * N
dfs(0)
for i in ans:
print(i)