#include <bits/stdc++.h>
using namespace std;
const int MaxN = 610, MaxK = 20;
const double inf = 1e100;
double val[MaxN][MaxN];
int w[MaxN][MaxN];
double ans;
int ans_h[MaxN], h[MaxN];
int n, m, k, b;
double dist(double x) { return x * x; }
double get_val(int x, int y) {
  x = x * b;
  y = (y - 1) * b + 1;
  int ret = 0;
  for (int i = 1; i <= m; ++i) ret += dist(w[x][i] - w[y][i]);
  return ret;
}
double cmin(double &a, double b) { return a > b ? a = b : a; }
double f[17][1 << 16];
int from[17][1 << 16];
void solve() {
  static int gw[MaxN][MaxN];
  memset(gw, 0, sizeof(gw));
  memset(w, 0, sizeof(w));
  memset(from, 0, sizeof(from));
  ans = 1e100;
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j) scanf("%d", &gw[i][j]);
  b = n / k;
  for (int i = 1; i <= n; ++i)
    for (int j = 1; j <= m; ++j) {
      int cnt = 0;
      for (int dx = -1; dx <= 1; ++dx)
        for (int dy = -1; dy <= 1; ++dy)
          if (i + dx > 0 && i + dx <= n && j + dy > 0 && j + dy <= m) {
            if ((i + dx - 1) / b != (i - 1) / b) continue;
            ++cnt;
            w[i][j] += gw[i][j + dy];
          }
      w[i][j] /= cnt;
    }
  for (int i = 1; i <= k; ++i)
    for (int j = 1; j <= k; ++j)
      if (i != j) val[i][j] = get_val(i, j);
  memset(f, 120, sizeof(f));
  for (int i = 1; i <= k; ++i) f[i][1 << (i - 1)] = 0;
  for (int s = 1; s < (1 << k); ++s)
    for (int i = 1; i <= k; ++i)
      if (f[i][s] < inf)
        for (int j = 1; j <= k; ++j)
          if ((s & (1 << (j - 1))) == 0)
            if (f[j][s | (1 << (j - 1))] > f[i][s] + val[i][j]) {
              f[j][s | (1 << (j - 1))] = f[i][s] + val[i][j];
              from[j][s | (1 << (j - 1))] = i;
            }
  int end = 0;
  for (int i = 1; i <= k; ++i)
    if (ans > f[i][(1 << k) - 1]) {
      ans = f[i][(1 << k) - 1];
      end = i;
    }
  int s = (1 << k) - 1;
  for (int i = k; i; --i) {
    h[i] = end;
    int nxt = from[end][s];
    s ^= (1 << (end - 1));
    end = nxt;
  }
  for (int i = 1; i <= k; ++i) ans_h[h[i]] = i;
  for (int i = 1; i <= k; ++i) printf("%d ", ans_h[i]);
  puts("");
}
int main() {
  int q;
  scanf("%d", &q);
  while (q--) {
    solve();
  }
  return 0;
}
