#include <bits/stdc++.h>
using namespace std;
const long long LINF = ~(((long long)0x1) << 63) / 2;
const int INF = 0X3F3F3F3F;
const double eps = 1e-7;
const long long MOD = 1000000007;
long long dp[1100][1100];
long long sum[1100];
long long f[1100];
long long solve(int k, int n) {
  memset(dp, 0, sizeof(dp));
  dp[0][n] = 1;
  int i, j;
  for (i = 1; i <= k; i++) {
    memset(sum, 0, sizeof(sum));
    memset(f, 0, sizeof(f));
    for (j = n; j >= 0; j--) {
      sum[j] = (sum[j + 1] + dp[i - 1][j] + f[j + 1]) % MOD;
      f[j] = (f[j + 1] + dp[i - 1][j]) % MOD;
    }
    for (j = 1; j <= n; j++) dp[i][j] = sum[j + 2];
  }
  long long ans = 0;
  for (i = 0; i <= n; i++) ans += dp[k][i], ans %= MOD;
  return ans;
}
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  cout << solve(k, n) * solve(k, m) % MOD << endl;
  return 0;
}
