#include<bits/stdc++.h>
const int va=(1<<20)+10;
int v[30][30],dp[va];
int main(){
//std::ios_base::sync_with_stdio(0);
//std::cin.tie(nullptr);
int n,k;
std::cin>>n >>k;
int ans=1e9;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
std::cin>>v[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=std::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)]=std::min(dp[i^(1<<j)],dp[i]+v[j][x]);
}
}
}
std::cout<<ans;
}