#include<bits/stdc++.h>
using namespace std;
const int N=(1<<20)+10;
int c[30][30],dp[N];
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,k; cin>>n >>k;
int ans=INT_MAX;
for(int i=0;i<n;i++) for(int j=0;j<n;j++) cin>>c[i][j];
for(int i=0;i<(1<<n);i++) dp[i]=1e9;
dp[(1<<n)-1]=0;
for(int i=(1<<n)-1;i>0;i--){
if(__builtin_popcount(i)==k) ans=min(ans,dp[i]);
for(int j=0;j<n;j++) if(i&(1<<j)){
for(int x=0;x<n;x++) if(x!=j && i&(1<<x)){
dp[i^(1<<j)]=min(dp[i^(1<<j)],dp[i]+c[j][x]);
}
}
}
cout<<ans;
}