#include<bits/stdc++.h>
using namespace std;
int n,m,a[1001][1001],up[1001][1001],down[1001][1001],dp[1001][1001];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for(int i = 1;i <= n;i++) for(int j = 1;j <= m;j++) cin >> a[i][j];
for(int i = 1;i <= n;i++) for(int j = 1;j <= m;j++){
up[i][j] = max(up[i + 1][j],dp[i][j - 1]) + a[i][j];
down[i][j] = max(down[i - 1][j],dp[i][j - 1]) + a[i][j];
dp[i][j] = max(up[i][j],down[i][j]);
}
cout << dp[n][m];
return 0;
}
救救孩子吧神犇们求你们了!这道题研究2H没改出来崩溃了