n, h = map(int, input().split()) if n == 6: div = [] for i in range(2): div.append(1 << i) div.append(3 << i) elif n == 28: div = [] for i in range(3): div.append(1 << i) div.append(7 << i) elif n == 496: div = [] for i in range(5): div.append(1 << i) div.append(31 << i) else: div = [] for i in range(7): div.append(1 << i) div.append(127 << i) div.sort() div.pop() w = n // h if h > w: h, w = w, h rev = True else: rev = False A = [[0] * w for _ in range(h)] i = 0 while div[-1] >= w: x = div.pop() d = x // w for _ in range(d): for j in range(w): A[i][j] = x i += 1 j = 0 i = h - 1 while div: x = div.pop() for _ in range(x): A[i][j] = x j += 1 if rev: B = [[A[j][i] for j in range(h)] for i in range(w)] A = B for row in A: print(*row)