#include <bits/stdc++.h>
using namespace std;
#define int long long
const int NEG = -4e18;
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t; cin >> t;
while (t--) {
int n, m;
cin >> n >> m;
vector<vector<int>> a(n, vector<int>(m));
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin >> a[i][j];
vector<vector<int>> f(n, vector<int>(m, NEG));
vector<vector<int>> g(n, vector<int>(m, NEG));
f[0][0] = a[0][0];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (i == 0 && j == 0) continue;
if (i > 0) f[i][j] = max(f[i][j], f[i-1][j]);
if (j > 0) f[i][j] = max(f[i][j], f[i][j-1]);
f[i][j] += a[i][j];
}
}
g[n-1][m-1] = a[n-1][m-1];
for (int i = n-1; i >= 0; i--) {
for (int j = m-1; j >= 0; j--) {
if (i == n-1 && j == m-1) continue;
if (i+1 < n) g[i][j] = max(g[i][j], g[i+1][j]);
if (j+1 < m) g[i][j] = max(g[i][j], g[i][j+1]);
g[i][j] += a[i][j];
}
}
int BEST = f[n-1][m-1];
int ans = BEST;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (f[i][j] + g[i][j] - a[i][j] == BEST) {
ans = min(ans, BEST - 2 * a[i][j]);
}
}
}
cout << ans << '\n';
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgTkVHID0gLTRlMTg7CgpzaWduZWQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IHQ7IGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGludCBuLCBtOwogICAgICAgIGNpbiA+PiBuID4+IG07CgogICAgICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gYShuLCB2ZWN0b3I8aW50PihtKSk7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbTsgaisrKQogICAgICAgICAgICAgICAgY2luID4+IGFbaV1bal07CgogICAgICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gZihuLCB2ZWN0b3I8aW50PihtLCBORUcpKTsKICAgICAgICB2ZWN0b3I8dmVjdG9yPGludD4+IGcobiwgdmVjdG9yPGludD4obSwgTkVHKSk7CgogICAgICAgIGZbMF1bMF0gPSBhWzBdWzBdOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbTsgaisrKSB7CiAgICAgICAgICAgICAgICBpZiAoaSA9PSAwICYmIGogPT0gMCkgY29udGludWU7CiAgICAgICAgICAgICAgICBpZiAoaSA+IDApIGZbaV1bal0gPSBtYXgoZltpXVtqXSwgZltpLTFdW2pdKTsKICAgICAgICAgICAgICAgIGlmIChqID4gMCkgZltpXVtqXSA9IG1heChmW2ldW2pdLCBmW2ldW2otMV0pOwogICAgICAgICAgICAgICAgZltpXVtqXSArPSBhW2ldW2pdOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBnW24tMV1bbS0xXSA9IGFbbi0xXVttLTFdOwogICAgICAgIGZvciAoaW50IGkgPSBuLTE7IGkgPj0gMDsgaS0tKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSBtLTE7IGogPj0gMDsgai0tKSB7CiAgICAgICAgICAgICAgICBpZiAoaSA9PSBuLTEgJiYgaiA9PSBtLTEpIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgaWYgKGkrMSA8IG4pIGdbaV1bal0gPSBtYXgoZ1tpXVtqXSwgZ1tpKzFdW2pdKTsKICAgICAgICAgICAgICAgIGlmIChqKzEgPCBtKSBnW2ldW2pdID0gbWF4KGdbaV1bal0sIGdbaV1baisxXSk7CiAgICAgICAgICAgICAgICBnW2ldW2pdICs9IGFbaV1bal07CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGludCBCRVNUID0gZltuLTFdW20tMV07CiAgICAgICAgaW50IGFucyA9IEJFU1Q7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbTsgaisrKSB7CiAgICAgICAgICAgICAgICBpZiAoZltpXVtqXSArIGdbaV1bal0gLSBhW2ldW2pdID09IEJFU1QpIHsKICAgICAgICAgICAgICAgICAgICBhbnMgPSBtaW4oYW5zLCBCRVNUIC0gMiAqIGFbaV1bal0pOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IGFucyA8PCAnXG4nOwogICAgfQogICAgcmV0dXJuIDA7Cn0K