def f(L): M = len(L)//2 if M == 0: ans.append(L[0]) return ans.append(L[M]) f(L[:M]) f(L[M+1:]) return K = int(input()) N = 1 << K L = list(range(1, N)) ans = [] f(L) ans[0], ans[1] = ans[1], ans[0] print(*ans)