#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 20;
const int maxm = 80;
const ll LLINF = 1e18;
int a[maxm+5][maxn+5], m, n;
ll dp[maxm+5];
void read() {
    cin >> m >> n;
    for (int i = 1; i<=m; ++i) {
        for (int j = 1; j<=n; ++j) cin >> a[i][j];
    }
}
void solve() {
    for (int i = 1; i<=n; ++i) {
        ll new_dp[maxm+5];
        for (int j = 0; j<=m; ++j) new_dp[j] = 0;

        for (int j = 0; j<=m; ++j) {
            for (int k = 0; k<=j; ++k) {
                new_dp[j] = max(new_dp[j], dp[j-k] + a[k][i]);
            }
        }
        for (int j = 0; j<=m; ++j) dp[j] = new_dp[j];
    }
    ll res = 0;
    for (int i = 0; i<=m; ++i) res = max(res, dp[i]);
    cout << res;
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    read();
    solve();
    return 0;
}
