K = int(input()) stack = [((1 << (K - 1)) + 1, K - 2)] res = [(1 << (K - 1)) + 1] while stack: n, d = stack.pop() n -= 1 lt = n - (1 << d) rt = n + (1 << d) res.append(lt + 1) if rt + 1 != (1 << K): res.append(rt + 1) if d > 0: stack.append((rt + 1, d - 1)) stack.append((lt + 1, d - 1)) res.append(1) print(*res)