H,W=map(int,input().split()) if H%2==0 and W%2==0: print(H*W) [print(*[1]*W) for _ in range(H)] elif H%2!=0 and W%2==0: print((H-1)*W) [print(*[1]*W) for _ in range(H-1)] print(*[0]*W) elif W%2!=0 and H%2==0: print((W-1)*H) [print(*[1]*(W-1)+[0]) for _ in range(H)] else: print(H*W-max(H,W)) d=[1,0] [print(*[d[min(i,W-1)==min(j,H-1)] for j in range(W)]) for i in range(H)]