#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
//英语 不改变花的次序 看博友分析 抄博友程序 动态规划 背
int dp[108][108];//抄博友分析 dp[i][j]表示第 i 束花插入第 j 个花瓶的最大价值
int a[108][108];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
if(i==1)
{
dp[i][j]=a[i][j];
}else
{
dp[i][j]=-0x3f3f3f3f;//背
}
}
}
for(int i=2;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
for(int k=1;k<j;k++)
{
dp[i][j]=max(dp[i][j],dp[i-1][k]+a[i][j]);//抄博友程序 背
}
}
}
int ans=-0x3f3f3f3f;
for(int j=1;j<=m;j++)
{
ans=max(ans,dp[n][j]);
}
cout<<ans<<endl;
return 0;
}