#include <bits/stdc++.h>
using namespace std;
long double pi = 3.14159265358979323846;
vector<long long> al[500005];
long long vis[500005], color[500005], I[101][101];
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
bool isPrime(int n) {
  if (n <= 1) return false;
  if (n <= 3) return true;
  if (n % 2 == 0 || n % 3 == 0) return false;
  for (int i = 5; i * i <= n; i = i + 6)
    if (n % i == 0 || n % (i + 2) == 0) return false;
  return true;
}
long long bpow(long long n, long long po) {
  long long res = 1;
  while (po > 0) {
    if (po % 2) {
      res = (res * n) % 1000000007;
      po--;
    } else {
      n = (n * n) % 1000000007;
      po /= 2;
    }
  }
  return res;
}
void swap(long long *a, long long *b) {
  long long temp = *a;
  *a = *b;
  *b = temp;
}
long long fact(long long n) {
  if ((n == 0) || (n == 1))
    return 1;
  else
    return n * fact(n - 1);
}
long long modInverse(long long n, long long p) { return bpow(n, p - 2); }
long long fac[300001];
long long nCr(long long n, long long r) {
  if (r == 0) return 1;
  return (fac[n] * modInverse(fac[r], 1000000007) % 1000000007 *
          modInverse(fac[n - r], 1000000007) % 1000000007) %
         1000000007;
}
void mmul(long long A[][101], long long B[][101], long long dim) {
  long long res[dim][dim];
  for (long long i = 0; i < dim; i++)
    for (long long j = 0; j < dim; j++) {
      res[i][j] = 0;
      for (long long k = 0; k < dim; k++)
        res[i][j] = (res[i][j] + A[i][k] * B[k][j]) % 1000000007;
    }
  for (long long i = 0; i < dim; i++)
    for (long long j = 0; j < dim; j++) A[i][j] = res[i][j];
}
void mpow(long long A[][101], long long dim, long long po) {
  for (long long i = 0; i < dim; i++)
    for (long long j = 0; j < dim; j++) {
      if (i == j)
        I[i][j] = 1;
      else
        I[i][j] = 0;
    }
  while (po > 0) {
    if (po % 2 == 1) {
      mmul(I, A, dim);
      po--;
    } else {
      mmul(A, A, dim);
      po /= 2;
    }
  }
  for (long long i = 0; i < dim; i++)
    for (long long j = 0; j < dim; j++) A[i][j] = I[i][j];
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long testcases = 1;
  while (testcases--) {
    long long m, n;
    cin >> m >> n;
    long long a[m + 1][n + 1];
    for (long long i = 1; i <= m; i++)
      for (long long j = 1; j <= n; j++) cin >> a[i][j];
    for (long long i = 0; i <= n; i++) a[0][i] = 0;
    for (long long i = 0; i <= m; i++) a[i][0] = 0;
    for (long long i = 1; i <= m; i++)
      for (long long j = 1; j <= n; j++)
        a[i][j] += max(a[i - 1][j], a[i][j - 1]);
    for (long long i = 1; i <= m; i++) cout << a[i][n] << " ";
  }
}
