#include<iostream>
#include<algorithm>
#include<cstring>
#define ll long long
#define endl '\n'
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define N 2010
using namespace std;
int n,m,x;
int mp[N][N];
int dp[N][N];
int main(){
cin>>n>>m;
rep(i,1,m){
rep(j,1,n){
cin>>x;
mp[j][i]=x;
}
}
memset(dp,0x3f,sizeof dp);
rep(i,0,m){
dp[n][i]=mp[n][i];
}
per(i,n-1,1){
rep(j,1,m){
dp[i][j]=min(dp[i+1][j],dp[i+1][(j+1)%m+1])+mp[i][j];
}
}
int MIN=1e9;
rep(i,1,m){
MIN=min(MIN,dp[1][i]);
}
cout<<MIN;
return 0;
}