H, W = map(int, input().split()) G = [[0] * W for _ in range(H)] if H == 1 or W == 1: ans = 0 elif H % 2 == 0 and W % 2 == 0: G = [[1] * W for _ in range(H)] elif H % 2 == 0: for i in range(H): for j in range(W-1): G[i][j] = 1 elif W % 2 == 0: for i in range(H-1): for j in range(W): G[i][j] = 1 else: G = [[1] * W for _ in range(H)] if H >= W: for i in range(W): G[i][i] = 0 for i in range(W, H): G[i][W-1] = 0 else: for i in range(H): G[i][i] = 0 for i in range(H, W): G[H-1][i] = 0 ans = sum(sum(d) for d in G) print(ans) for g in G: print(*g)