#include <bits/stdc++.h>
using namespace std;
const int bigPrime = 1e9 + 7;
long long QuickPow(long long n, long long m);
long long comb(long long q, long long r);
int main() {
  ios::sync_with_stdio(false);
  int n = 0, m = 0, k = 0;
  while (cin >> n >> m >> k) {
    cout << (comb(n - 1, 2 * k) * comb(m - 1, 2 * k) % bigPrime) << endl;
  }
  return 0;
}
long long QuickPow(long long n, long long m) {
  long long ans = 1;
  while (m) {
    if (m & 1) {
      ans = ans * n % bigPrime;
    }
    n = (n * n) % bigPrime;
    m >>= 1;
  }
  return ans;
}
long long comb(long long q, long long r) {
  if (q < r) return 0;
  if (r > q - r) r = q - r;
  long long s1 = 1, s2 = 1;
  for (int i = 0; i < r; i++) {
    s1 = s1 * (q - i) % bigPrime;
    s2 = s2 * (i + 1) % bigPrime;
  }
  return s1 * QuickPow(s2, bigPrime - 2) % bigPrime;
}
