#include <bits/stdc++.h>   using namespace std;   const int ma = 35;   int n, m, mat[ma][ma];   int main() {     int t;     scanf( %d , &t);     int ans, one, zero;     int sum, temp;     int l, r;     while (t--) {       scanf( %d%d , &n, &m);       one = zero = 0;       for (int i = 1; i <= n; i++)         for (int j = 1; j <= m; j++) {           scanf( %d , &mat[i][j]);           if (mat[i][j])             one++;           else             zero++;         }       ans = min(zero, one);       zero = one = sum = 0;       if (m > n) {         l = 1, r = m;         while (1) {           temp = one = zero = 0;           while ((1 + temp <= n) && (l - temp >= 1)) {             if (mat[1 + temp][l - temp])               one++;             else               zero++;             temp++;           }           temp--;           if ((1 + temp == n) && (l - temp == r)) break;           temp = 0;           while ((n - temp >= 1) && (r + temp <= m)) {             if (mat[n - temp][r + temp])               one++;             else               zero++;             temp++;           }           sum += min(zero, one);           if ((l + 1) == r + temp - 1) break;           l++, r--;         }       } else {         l = 1, r = n;         while (1) {           temp = one = zero = 0;           while (l - temp >= 1 && 1 + temp <= m) {             if (mat[l - temp][1 + temp])               one++;             else               zero++;             temp++;           }           temp--;           if (l - temp == r && 1 + temp == m) break;           temp = 0;           while (r + temp <= n && m - temp >= 1) {             if (mat[r + temp][m - temp])               one++;             else               zero++;             temp++;           }           sum += min(zero, one);           if (l + 1 == r + temp - 1) break;           l++, r--;         }       }       printf( %d n , min(ans, sum));     }     return 0;   }   