#include<bits/stdc++.h>
#define mp make_pair
#define fi first
#define se second
#define pb push_back
#define endl "\n"
#define rep(i,j,k) for(ll i=j;i<=k;i++) 
#define dec(i,j,k) for(ll i=j;i>=k;i--)
const int mod = 1e9+7;
const int N = 3e5+5;
const int INF = 1e9;
using namespace std;

#define debug(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args);}
void err(istream_iterator<string> it) {}
template<typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
	cerr << *it << " = " << a << " ";
	err(++it, args...);
}

template <typename T> 
ostream& operator<<(ostream& os, const vector<T>& v) 
{ 
    os << "["; 
    for (int i = 0; i < v.size(); ++i) { 
        os << v[i]; 
        if (i != v.size() - 1) 
            os << ", "; 
    } 
    os << "]\n"; 
    return os; 
} 

template <typename T, typename U>
ostream& operator<<(ostream& os, const pair<T,U>& v) 
{ 
    os << "["; 
    os << v.fi << ", "<< v.se;
    os << "]"; 
    return os; 
}

template <typename T, typename U> 
void smin(T & x, U y) {
     if(x > y)
     x = y;
 }
 
 template <typename T, typename U>
void smax(T & x, U y)
{
    if(y > x)
    x = y;
}

typedef long long ll;

ll n,m,k,q,Q,l,r,p,pos,a,d;
ll arr[N],brr[N];
const ll md = 998244353;
ll binpow(ll a, ll n)
{
	ll res = 1;
	while(n)
	{
		if(n&1)
			res = res * a % mod;
		n/=2;
		a = a * a % mod;
	}
	return res;
}

void solve()
{   
	cin >> m >> n >> k;
cout << (k == m*n-1 ? "YES\n":"NO\n");
	
}

int main()
{ ios_base::sync_with_stdio(false);cin.tie(NULL);
  #ifndef ONLINE_JUDGE
   freopen("fi.txt","r",stdin);
   freopen("fo.txt","w",stdout); 
   freopen("err.txt","w",stderr);
  #endif
  
  ll t;
  t=1;
 
  cin>>t;
  ll a = 0;
  while(t--)
  {   //cout<<"Case #"<<++a<<": ";
	  solve();
  }
  return 0;
}