#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,C;
LL ANS=2e18;
LL V[31][31],W[3][505],COST[3][505];
int main() {
	scanf("%d%d\n",&n,&C);
	for(int i=1;i<=C;i++)
		for(int j=1;j<=C;j++) scanf("%d",&V[i][j]);
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++) {
			int v; scanf("%d",&v);
			W[(i+j)%3][v]++;
		}
	for(int i=0;i<3;i++)
		for(int j=1;j<=C;j++) 
			for(int k=1;k<=C;k++) 
				COST[i][j]+=W[i][k]*V[k][j];
	for(int i=1;i<=C;i++)
		for(int j=1;j<=C;j++) if(i!=j) 
			for(int k=1;k<=C;k++) if(i!=k&&j!=k) 
				ANS=min(ANS,COST[0][i]+COST[1][j]+COST[2][k]);
	printf("%lld\n",ANS);
	return 0;
}