#include <bits/stdc++.h>
using namespace std;
int const MOD = 1000000007;
int dp[1010][1010];
int solve(const int n, const int k) {
  int ans = 0;
  for (int i = 1; i <= n - 2; i++) {
    if (k - 1 == 0) {
      ans = ((long long)ans + (n - i - 1)) % MOD;
      continue;
    }
    if ((i - 1) / 2 < k - 1) continue;
    if (dp[i][k - 1] != -1) {
      ans = ((long long)ans + ((long long)(n - i - 1) * dp[i][k - 1]) % MOD) %
            MOD;
      continue;
    }
    ans = ((long long)ans + ((long long)(n - i - 1) * solve(i, k - 1)) % MOD) %
          MOD;
  }
  dp[n][k] = ans;
  return ans;
}
int main() {
  long long w, h, k;
  cin >> w >> h >> k;
  memset(dp, -1, sizeof(dp));
  cout << ((long long)solve(w, k) * solve(h, k)) % MOD << endl;
  return 0;
}
