Code:
#include <bits/stdc++.h>
//#define int long long
using namespace std;
const int mxn=60;
int N,M,K;
int dp[mxn][mxn][mxn];
void init(){
memset(dp,0x3f,sizeof(dp));
for(int i=1;i<=30;i++){
for(int j=1;j<=30;j++){
if(i*j<=50) dp[i][j][i*j]=0;
for(int k=0;k<=50;k++){
for(int t=0;t<i;t++){
dp[i][j][k]=min(dp[i][j][k],dp[i-t][j][k]+j*j);
if(k>t*j) dp[i][j][k]=min(dp[i][j][k],dp[i-t][j][k-t*j]+j*j);
}
for(int t=0;t<j;t++){
dp[i][j][k]=min(dp[i][j][k],dp[i][j-t][k]+i*i);
if(k>t*i) dp[i][j][k]=min(dp[i][j][k],dp[i][j-t][k-t*i]+i*i);
}
}
}
}
}
void solve(){
cin>>N>>M>>K;
cout<<dp[N][M][K]<<'\n';
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int __=1;cin>>__;
init();
while(__--)solve();return 0;
}