#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 5;
const long long oo = 1ll << 60;
long long A[maxn][maxn], memo[maxn][maxn];
int N, M;
long long dp(int i, int j, long long x0) {
  if (i >= N || j >= M) return oo;
  if (i == N - 1 && j == M - 1) {
    long long val = x0 + i + j;
    if (A[i][j] < val) return oo;
    return A[i][j] - val;
  }
  long long &res = memo[i][j];
  if (res != -1) return res;
  res = oo;
  long long val = x0 + i + j;
  if (A[i][j] < val) return oo;
  res = min(res, A[i][j] - val + dp(i + 1, j, x0));
  res = min(res, A[i][j] - val + dp(i, j + 1, x0));
  return res;
}
long long can(long long x) {
  for (int i = 0; i < N; i++)
    for (int j = 0; j < M; j++) memo[i][j] = -1;
  long long res = dp(0, 0, x);
  return res;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int T;
  cin >> T;
  while (T--) {
    cin >> N >> M;
    for (int i = 0; i < N; i++)
      for (int j = 0; j < M; j++) cin >> A[i][j];
    long long res = oo;
    for (int i = 0; i < N; i++)
      for (int j = 0; j < M; j++) res = min(res, can(A[i][j] - i - j));
    cout << res << '\n';
  }
  return 0;
}
