def rot90(A): # 時計回りに90度回転 return list(zip(*(A[::-1]))) def div(n): i = 1 SS = set() while i * i <= n: if n % i == 0: SS.add(i) SS.add(n//i) i += 1 return sorted(list(SS)) N, H = map(int, input().split()) flag = 0 if H > N // H: H = N // H flag = 1 D = div(N) L = [] for d in D: L.extend([d] * d) ans = [] W = N // H for i in range(H): ans.append(L[i*W:(i+1)*W]) if flag: ans = rot90(ans) for a in ans: print(*a)