#include <bits/stdc++.h>
using namespace std;
template <typename T>
T inline SQR(const T &a) {
  return a * a;
}
long long MOD = 1000000007LL;
long long mypow(long long a, long long p) {
  if (p == 0) return 1LL;
  long long ans = mypow(a, p / 2);
  ans *= ans;
  ans %= MOD;
  if (p & 1) return (a * ans) % MOD;
  return ans;
}
int n, m, k;
int dp[1005][1005];
int solve(int pLeft, int sd) {
  if (pLeft == 0) return 1;
  if (sd <= 0) return 0;
  int &val = dp[pLeft][sd];
  if (val != -1) return val;
  long long aux = 0;
  for (int i = 1; i < sd - 1; ++i) {
    aux += 1ll * (sd - 1 - i) * solve(pLeft - 1, i);
  }
  return val = aux % MOD;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m >> k;
  int MAXS = max(n, m) + 1;
  for (int i = 0; i < k + 1; ++i)
    for (int j = 0; j < MAXS; ++j) dp[i][j] = -1;
  cout << (1ll * solve(k, n) * solve(k, m)) % MOD << endl;
  return 0;
}
