N,H=map(int,input().split()) if N%H!=0:print(-1);exit() p = {6:3, 28:7, 496:31, 8128:127} p = p[N] if (N//p)%H != 0 and H%p!=0:print(-1);exit() W=N//H ans = [[0]*W for _ in range(H)] def solve(a): ret = [] for i in range(1,a//2+1): if a%i==0: ret.append(i) return ret i=0 if (N//p)%H==0: for x in solve(N): for j in range(x): ans[i//W][i%W] = x i+=1 else: for x in solve(N): for j in range(x): ans[i%H][i//H] = x i+=1 for a in ans: print(*a)