#include <bits/stdc++.h>
using namespace std;
int T, n, m;
long long int M[128][128], PD[128][128];
long long int prim;
inline long long int vai() {
  for (int i = n - 1; i >= 0; i--)
    for (int j = m - 1; j >= 0; j--) {
      long long int &pd = PD[i][j];
      long long int devo = prim + i + j;
      if (devo > M[i][j]) {
        pd = 0x3f3f3f3f3f3f3f3fll;
        continue;
      }
      long long int tt = M[i][j] - devo;
      if (i == n - 1 and j == m - 1) {
        pd = tt;
        continue;
      }
      long long int opc1, opc2;
      opc1 = opc2 = 0x3f3f3f3f3f3f3f3fll;
      if (i + 1 < n) opc1 = tt + PD[i + 1][j];
      if (j + 1 < m) opc2 = tt + PD[i][j + 1];
      pd = min(opc1, opc2);
    }
  return PD[0][0];
}
int main() {
  for (scanf("%d", &T); T--;) {
    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; i++)
      for (int j = 0; j < m; j++) scanf("%lld", &M[i][j]);
    long long int resp = 0x3f3f3f3f3f3f3f3fll;
    for (int i = 0; i < n; i++)
      for (int j = 0; j < m; j++) {
        prim = M[i][j] - i - j;
        long long int tt = vai();
        if (tt < resp) resp = tt;
      }
    printf("%lld\n", resp);
  }
  return 0;
}
