/*
TASK:apple
LANG:C++
*/
#include <iostream>
using namespace std;
int f[128][128],n,m;
int b[128][128];
int prev[128][128];
int fill()
{
     b[1][1]=f[1][1];
     for(int i=2;i<=n;i++)
     {
             prev[1][i]=2;
             b[1][i]=f[1][i]+b[1][i-1];
     }
     for(int i=2;i<=m;i++)
     {
             prev[i][1]=1;
             b[i][1]=f[i][1]+b[i-1][1];
     }
             
     for(int i=2;i<=m;i++)
             for(int j=2;j<=n;j++)
             {
                     if(b[i-1][j]>b[i][j-1])
                     {
                                            b[i][j]=b[i-1][j]+f[i][j];
                                            prev[i][j]=1;
                     }
                     else
                     {
                                            b[i][j]=b[i][j-1]+f[i][j];
                                            prev[i][j]=2;
                     }
                     
             }
     return b[m][n];
}
void clear()
{
             for(int j=n,i=m;;)
             {
                     f[i][j]=0;
                     if(prev[i][j]==1)  i--;
                     else if(prev[i][j]==2) j--;
                     else if(prev[i][j]==0) break;
             }
}
void display()
{
     for(int i=1;i<=m;i++)
     {
             for(int j=1;j<=n;j++)
                     cout<<prev[i][j]<<" ";
             cout<<endl;
             }
             cout<<endl;
             
     for(int i=1;i<=m;i++)
     {
             for(int j=1;j<=n;j++)
                     cout<<f[i][j]<<" ";
             cout<<endl;
             }
                          cout<<endl;
}
int main()
{
 //   freopen("manii.txt","r",stdin);
    cin>>m>>n;
    for(int i=1;i<=m;i++)
            for(int j=1;j<=n;j++)
                    cin>>f[i][j];
    int sum=0;
    sum+=fill();
 //  display();
    clear();

    sum+=fill();
 //   display();
    cout<<sum<<endl;
    
 //   system("PAUSE");
}
