n, m = map(int, input().split()) a = list(range(1 << m)) for i in range(1 << n): print(*a) na = [i + 1 << m] * (1 << m) for j in range((1 << m) - 1): na[j + 1] = a[j] ^ a[j + 1] ^ na[j] a = na