h, w = map(int, input().split()) if h == 1 and w == 1: print(0) print(0) exit() if h == 1: ANS = [0 for _ in range(w)] print(0) print(*ANS) exit() if w == 1: print(0) for i in range(h): print(0) exit() ans = 0 ANS = [[1 for _ in range(w)] for _ in range(h)] if h % 2 == 0 and w % 2 == 0: ans += h * w elif h % 2 == 1 and w % 2 == 0: ans += w * (h - 1) for i in range(w): ANS[-1][i] = 0 elif h % 2 == 0 and w % 2 == 1: ans += (w - 1) * h for i in range(h): ANS[i][-1] = 0 else: if h <= w: ans += (h - 1) * w for i in range(h): ANS[h - i - 1][i] = 0 for i in range(h, w): ANS[0][i] = 0 else: ans += h * (w - 1) for i in range(w): ANS[w - i - 1][i] = 0 for i in range(w, h): ANS[i][0] = 0 print(ans) for ele in ANS: print(*ele)