#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const long long infl = 0x3f3f3f3f3f3f3f3fLL;
const int infi = 0x3f3f3f3f;
long long comb[1001][1001];
long long ncr(long long n, long long r) {
  if (n < r) return 0;
  if (r == 0 || r == n) return 1;
  if (r == 1 || r == n - 1) return n;
  if (comb[n][r] != -1) return comb[n][r];
  return comb[n][r] = (ncr(n - 1, r - 1) + ncr(n - 1, r)) % mod;
}
void solve() {
  long long x = clock();
  cerr << "Clock "
       << "x"
       << " created" << endl;
  ;
  int n, m, k;
  cin >> n >> m >> k;
  k <<= 1;
  memset(comb, -1, sizeof comb);
  cout << ncr(n - 1, k) % mod * ncr(m - 1, k) % mod << '\n';
  cerr << "Time spent in "
       << "x"
       << ": " << (double)(clock() - x) / CLOCKS_PER_SEC << endl;
  x = clock();
  ;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    solve();
  }
}
