k = 3
n = 1 << k
A = [[(i+1) for i in range(n)] for j in range(n)]
w = n // 2
h = 1
for i in range(k):
    for y in range(h):
        for x in range(w):
            A[2*h -1- y][w - 1 - x] = A[y][w + x]
    w //= 2
    h *= 2
for m in range(n):
    print(A[m][0])