#include using namespace std; #include #include struct FastIn { char* buf; char* pos = buf; FastIn() { struct stat st; fstat(0, &st); buf = (char*)mmap(nullptr, st.st_size, PROT_READ, MAP_PRIVATE, 0, 0); pos = buf; } unsigned int nextNum() { unsigned int ret = 0; while (*pos < '0' || *pos > '9') pos++; while ('0' <= *pos && *pos <= '9') { ret = ret * 10 + (*pos - '0'); pos++; } return ret; } } fin; struct FastOut { char buf[1 << 26]; // 64MB char* pos = buf; ~FastOut() { fwrite(buf, 1, pos - buf, stdout); } void printNum(unsigned int x) { if (x == 0) { *pos++ = '0'; return; } char rev[20]; int len = 0; while (x > 0) { rev[len++] = ('0' + (x % 10)); x /= 10; } for (int i = len - 1; i >= 0; i--) { *pos++ = rev[i]; } } } fout; int main(){ int H = fin.nextNum(), W = fin.nextNum(); int A[H][W]; for (int i = 0; i < H; i++){ for (int j = 0; j < W; j++){ A[i][j] = fin.nextNum(); } } unsigned int S[H]; for (int i = 0; i < H; i++){ S[i] = 0; for (int j = 0; j < W; j++){ S[i] += A[i][j]; } } unsigned int T = 0; for (int i = 0; i < H; i++){ T += S[i]; } for (int i = 0; i < H; i++){ fout.printNum(S[i] + T); *fout.pos++ = '\n'; } }