// LUOGU_RID: 174644485 #include<bits/stdc++.h> usingnamespace std; typedeflonglong ll; const ll N = 50, M = 3, inf = 2e18; longlong n, m, s, x, i, j, k, ans = inf, c[N][N], f[M][N]; intmain() { cin >> n >> m; for (i = 1; i <= m; i++) for (j = 1; j <= m; j++) cin >> c[i][j]; for (i = 1; i <= n; i++) for (j = 1; j <= n; j++) { s = (i + j) % 3; cin >> x; for (k = 1; k <= m; k++) f[s][k] += c[x][k]; } for (i = 1; i <= m; i++) for (j = 1; j <= m; j++) for (k = 1; k <= m; k++) if (i != j && i != k && j != k) ans = min(ans, f[0][i] + f[1][j] + f[2][k]); cout << ans << '\n'; }