#include "bits/stdc++.h"
using namespace std;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define int long long 
const int P = 21, D = 11, mx = 10;
int dp[P][D][(1 << mx) + 5],p,d,val[D+5][P+5];
void smin(int &a, int b){a = min(1LL*a,1LL*b);}
void solve(){
  cin >> p >> d;
  int out = 1e18;
  rep(i,1,d) rep(j,1,p) cin >> val[i][j];
  rep(i, 1, p){
    rep(j, 1, d){
      int st = (1LL << (j-1));
      rep(mask, 0, (1<<d) -1){
        if(mask & st){
          smin(dp[i][j][mask],val[j][i] + dp[i-1][j][mask]);
        }
        else{
          rep(k,1,d){
            if(j == k) continue;
            smin(dp[i][j][mask|st],val[j][i]+dp[i-1][k][mask]);
          }
        }
      }
    }
  }
  rep(i,1,d) rep(mask,1,(1<<d)-1){
    smin(out,dp[p][i][mask]);
  }
  cout << out << "\n";
}
int32_t main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);cout.tie(0);
  rep(i,1,P-1) memset(dp[i],0x3f,sizeof dp[i]);
  int tst = 1; while(tst--){
    solve();
  }
}