def solve(n, m): N = 1 << (n + m) A = [0] * N for i in range(N): A[i ^ (i // 2)] = i for i in range(2 ** n): for j in range(2 ** m): print(A[(i << m) | j], end=' ') print() n, m = map(int, input().split()) solve(n, m)