#include using namespace std; typedef long long ll; int C[200][100][100]; vector> S[200]; int main() { cin.tie(0); ios::sync_with_stdio(false); int N, M; cin >> N >> M; for(int m = 0; m < M; m++) { for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { cin >> C[m][i][j]; } } unordered_set s; for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { s.insert(C[m][i][j]); } S[m].push_back(s); s.clear(); } for(int j = 0; j < N; j++) { for(int i = 0; i < N; i++) { s.insert(C[m][i][j]); } S[m].push_back(s); s.clear(); } for(int i = 0; i < N; i++) { s.insert(C[m][i][i]); } S[m].push_back(s); s.clear(); for(int i = 0; i < N; i++) { s.insert(C[m][i][N - 1 - i]); } S[m].push_back(s); s.clear(); } int ans = 1 << 28; for(int m1 = 0; m1 < M; m1++) { for(int m2 = m1 + 1; m2 < M; m2++) { for(int i = 0; i < S[m1].size(); i++) { for(int j = 0; j < S[m2].size(); j++) { int d = 0; for(auto v : S[m1][i]) { d += S[m2][j].count(v); } ans = min(ans, 2 * N - d - 1); } } } } cout << ans << endl; }