import sys def main(): rd = sys.stdin.buffer write = sys.stdout.write H, W = map(int, rd.readline().split()) data = rd.read() MASK = 0xFFFFFFFF # 1行しかない場合 # T = S[0] なので C[0] = 2*S[0] mod 2^32 if H == 1: num = 0 total = 0 for c in data: if c > 32: num = num * 10 + c - 48 else: total += num num = 0 # 末尾に改行がない場合にも対応 total += num write(str((total << 1) & MASK)) return S = [0] * H # 1列の場合は row_sum と改行判定が不要 if W == 1: r = 0 num = 0 total = 0 for c in data: if c > 32: num = num * 10 + c - 48 else: S[r] = num total += num r += 1 num = 0 if r < H: S[r] = num total += num else: r = 0 num = 0 row_sum = 0 total = 0 for c in data: if c > 32: num = num * 10 + c - 48 elif c == 10: row_sum += num S[r] = row_sum total += row_sum r += 1 num = 0 row_sum = 0 else: row_sum += num num = 0 if r < H: row_sum += num S[r] = row_sum total += row_sum T = total & MASK # 巨大な入力バッファを出力生成前に解放 del data # 加算・mod・str化を1回の走査にまとめる out = [str((s + T) & MASK) for s in S] write('\n'.join(out)) main()