#include <bits/stdc++.h>
using namespace std;
int dp[31][31][51];
int t, n, m, k;
int f(int x, int y, int k) {
  if (dp[x][y][k] || !k || x * y == k) {
    return dp[x][y][k];
  }
  int ret = 1e9;
  for (int i = 1; i <= x - i; i++) {
    for (int j = 0; j <= k; j++) {
      ret = min(ret, y * y + f(i, y, j) + f(x - i, y, k - j));
    }
  }
  for (int i = 1; i <= y - i; i++) {
    for (int j = 0; j <= k; j++) {
      ret = min(ret, x * x + f(x, i, j) + f(x, y - i, k - j));
    }
  }
  return dp[x][y][k] = ret;
}
int main() {
  cin >> t;
  while (t--) {
    cin >> n >> m >> k;
    cout << f(n, m, k) << endl;
  }
  return 0;
}
