#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<ll,ll> P;
#define pb push_back
#define mp make_pair
#define fr(i,n) for(int i=0;i<n;i++)
#define Fr(i,n) for(int i=0;i++<n;)
#define ifr(i,n) for(int i=n-1;i>=0;i--)
#define iFr(i,n) for(int i=n;i>0;i--)

int main(){
  ll n,C,d[33][33],c[505][505],sd[3][33]={},ans=1e17;
  cin>>n>>C;
  Fr(i,C) Fr(j,C) cin>>d[i][j];
  Fr(i,n) Fr(j,n) cin>>c[i][j];
  Fr(k,C) Fr(i,n) Fr(j,n) sd[(i+j)%3][k]+=d[c[i][j]][k];
  Fr(i,C){
    Fr(j,C){
      Fr(k,C){
        if(i==j||j==k||k==i) continue;
        ans=min(ans,sd[0][i]+sd[1][j]+sd[2][k]);
      }
    }
  }
  cout<<ans<<endl;
}