#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const int MAXN = 1000;
int memo[MAXN + 1][MAXN + 1];
long long calc(int w, int k) {
  if (k == 0) return 1;
  if (w <= 0) return 0;
  if (memo[w][k] != -1) {
    return memo[w][k];
  }
  long long ret = 0;
  for (int v = 1; v <= w - 2; ++v) {
    ret += (w - v - 1) * calc(v, k - 1);
  }
  ret %= MOD;
  return memo[w][k] = ret;
}
int main() {
  int x, y, k;
  cin >> x >> y >> k;
  memset(memo, -1, sizeof memo);
  cout << calc(x, k) * calc(y, k) % MOD << endl;
  return 0;
}
