#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
const int MAXN = 1005;
int n, m, k;
long long dp[MAXN][MAXN];
long long solve(int n, int k) {
  if (k == 0) {
    if (n >= 1) return 1;
    return 0;
  }
  if (n < 1) return 0;
  long long &ret = dp[n][k];
  if (ret != -1) return ret;
  ret = solve(n - 2, k - 1);
  ret = (ret + 2 * solve(n - 1, k) - solve(n - 2, k)) % MOD;
  if (ret < 0) ret += MOD;
  return ret;
}
int main() {
  cin >> n >> m >> k;
  memset(dp, -1, sizeof(dp));
  long long a = solve(n, k), b = solve(m, k);
  cout << (a * b) % MOD << endl;
  return 0;
}
