#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int N = 1e3 + 9;
long long dp[N][2];
long long n, m, k;
int main() {
  cin >> n >> m >> k;
  int M = max(n, m);
  for (int i = 1; i <= M; i++) dp[i][0] = 1;
  dp[0][0] = 0;
  for (int _k = 1; _k <= k; _k++) {
    long long accu = dp[1][(_k & 1) ^ 1];
    long long sum = accu;
    dp[1][_k & 1] = 0;
    dp[2][_k & 1] = 0;
    for (int i = 3; i <= M; i++) {
      dp[i][_k & 1] = accu;
      sum += dp[i - 1][(_k & 1) ^ 1];
      sum %= mod;
      accu += sum;
      accu %= mod;
    }
  }
  cout << dp[n][k & 1] * dp[m][k & 1] % mod << endl;
  return 0;
}
