def yn(hantei, yes='Yes', no='No'): print(yes if hantei else no) def p(*args): print(*args) n,m=map(int, input().split()) if n%2==0 and m%2==0: print(n*m) for i in range(n): print(*[1]*m) elif n%2==1 and m%2==0: print((n-1)*m) for i in range(n-1): print(*[1]*m) print(*[0]*m) elif n%2==0 and m%2==1: print((n)*(m-1)) for i in range(n): print(*[1]*(m-1)+[0]) #print(*[0]*m) elif n >= m: print(n*m-n) for i in range(n-m): print(*[1]*(m-1)+[0]) for i in range(m): print(*[1]*(m-i-1) + [0] + [1] * i) else: print(n*m-m) print(*[0]*(m-n+1) + [1] * (n-1)) for i in range(1,n): print(*[1]*(m-n+i) + [0] + [1]*(n-i-1))