N,H=map(int,input().split()) W=N//H sw=False if H>W: sw=True H,W=W,H cnt=0 ans=[[0]*W for i in range(H)] for i in range(1,N): if N%i==0 and i%W==0: for j in range(cnt,cnt+i//W): for k in range(W): ans[j][k]=i cnt+=i//W cnt=0 for i in range(1,N): if N%i==0 and i%W!=0: for j in range(cnt,cnt+i): ans[-1][j]=i cnt+=i if sw: ans=zip(*ans) for i in ans: print(*i)