#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,a[2010][2010],dp[2010][2010],ans=0x3f3f3f3f;
int main(){
cin>>m>>n;
memset(dp,0x3f,sizeof(dp));
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++) dp[i][1]=a[i][1];
for(int i=1;i<=n;i++){
for(int j=2;j<=m;j++){
if(i==1)
dp[i][j]=min(dp[i+1][j-1],dp[i][j-1])+a[i][j];
else if(i==n)
dp[i][j]=min(dp[i-1][j-1],dp[i][j-1])+a[i][j];
else
dp[i][j]=min(dp[i+1][j-1],min(dp[i][j-1],dp[i-1][j-1]))+a[i][j];
}
}
for(int i=1;i<=n;i++) ans=min(ans,dp[i][m]);
cout<<ans;
return 0;
}