#include <bits/stdc++.h>
using namespace std;
const int N = 1000 + 5, M = 1000000007;
int n, m, k, dp[N][N + N];
int calc(int i, int j) {
  if (i < 0) return 0;
  if (j == 0 || i == j) return 1;
  int &ret = dp[i][j];
  if (ret != -1) return ret;
  ret = (calc(i - 1, j) + calc(i - 1, j - 1)) % M;
  return ret;
}
int main() {
  scanf("%d%d%d", &n, &m, &k);
  memset(dp, -1, sizeof dp);
  printf("%lld\n", ((long long)calc(n - 1, k + k) * calc(m - 1, k + k)) % M);
  return 0;
}
