#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define loop(i,a,b) for(int i=a;i<b;i++)
#define for0(i,n) for(int i=0;i<n;i++)
#define for1(i,n) for(int i=1;i<=n;i++)
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define pi 3.14159265358979323846
#define mod 1000000007
#define all(x) x.begin(),x.end()
#define fp(x) fixed << setprecision(x) <<
#define fio ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL)
#define gcd __gcd



void online(void){
  #ifndef ONLINE_JUDGE
    //for getting input from input1.txt
    freopen("input1.txt","r",stdin);
    //for getting output from output.txt
    freopen("output.txt","w",stdout);
  #endif
}

ll smallestprime[1000005];

 void factor(){
  smallestprime[0]=1;smallestprime[1]=1;

  for(int i=2;i<=1000001;i++){
    if(smallestprime[i]==0){
      for(int j=i+i;j<=1000000;j+=i){
        if(smallestprime[j]==0)
        smallestprime[j]=i;
      }
    }
  }
 }

const int INF = -1e9;

/* Driver program to test above function */
int main() 
{ 
  fill(smallestprime,smallestprime+1000001,0);
  factor();
  online();
  fio;

  
  ll T=1;
 cin>>T;
  while(T--){
   ll n,m,k;
   cin>>n>>m>>k;
   // if(n!=1 && m!=1){
   ll x=n-1;
   ll y=(m-1)*n;
   if(x+y==k)
    cout<<"YES\n";
  else cout<<"NO\n";
// }
// if(n==1 && m!=1){
// ll x=0,y=(m-1)*n;
// if(x+y==k)
//     cout<<"YES\n";
//   else cout<<"NO\n";
// }

  }
  return 0; 
}

/*


*/