func_code_string: #include <bits/stdc++.h>   using namespace std;   struct dot {     int value, i, j;   };   bool operator<(dot a, dot b) { return a.value < b.value; }   int main() {     int t;     scanf( %d , &t);     while (t--) {       int n, m;       scanf( %d %d , &n, &m);       int num[n][m];       priority_queue<dot> pq;       for (int i = 0; i < n; ++i) {         for (int j = 0; j < m; ++j) {           scanf( %d , &num[i][j]);           pq.push({num[i][j], i, j});         }       }       dot d[n];       for (int i = 0; i < n; ++i) {         d[i] = pq.top();         pq.pop();       }       if (n == 4) {         bool did = false;         dot dsave;         if (d[0].j == d[1].j && d[2].j == d[3].j && d[0].j != d[2].j) {           bool b1 = abs(d[0].i - d[1].i) == 2;           bool b2 = abs(d[2].i - d[3].i) == 2;           if (b1 ^ b2) {             dsave = d[3];             d[3] = pq.top();             did = true;           }         } else if (d[0].j == d[2].j && d[1].j == d[3].j && d[0].j != d[1].j) {           bool b1 = abs(d[0].i - d[2].i) == 2;           bool b2 = abs(d[1].i - d[3].i) == 2;           if (b1 ^ b2) {             dsave = d[3];             d[3] = pq.top();             did = true;           }         } else if (d[0].j == d[3].j && d[1].j == d[2].j && d[0].j != d[1].j) {           bool b1 = abs(d[0].i - d[3].i) == 2;           bool b2 = abs(d[1].i - d[2].i) == 2;           if (b1 ^ b2) {             dsave = d[3];             d[3] = pq.top();             did = true;           }         }         if (did) {           bool done = true;           if (d[0].j == d[1].j && d[2].j == d[3].j && d[0].j != d[2].j) {             bool b1 = abs(d[0].i - d[1].i) == 2;             bool b2 = abs(d[2].i - d[3].i) == 2;             if (b1 ^ b2) done = false;           } else if (d[0].j == d[2].j && d[1].j == d[3].j && d[0].j != d[1].j) {             bool b1 = abs(d[0].i - d[2].i) == 2;             bool b2 = abs(d[1].i - d[3].i) == 2;             if (b1 ^ b2) done = false;           } else if (d[0].j == d[3].j && d[1].j == d[2].j && d[0].j != d[1].j) {             bool b1 = abs(d[0].i - d[3].i) == 2;             bool b2 = abs(d[1].i - d[2].i) == 2;             if (b1 ^ b2) done = false;           }           if (done) {           } else {             d[2] = dsave;           }         }       }       int ret = 0;       for (int i = 0; i < n; ++i) {         ret += d[i].value;       }       printf( %d n , ret);     }   }   