#include <bits/stdc++.h>
using namespace std;
const int md = 1000000007;
const int N = 1005;
int nCr[N][N];
signed main() {
  int n, m, k;
  scanf("%d %d %d", &n, &m, &k);
  k++;
  if (2 * k - 1 > n || 2 * k - 1 > m) return !printf("0");
  nCr[0][0] = 1;
  for (int i = 1; i < N; i++) {
    nCr[i][0] = 1;
    for (int j = 1; j <= i; j++)
      nCr[i][j] = (nCr[i - 1][j] + nCr[i - 1][j - 1]) % md;
  }
  k--;
  int ans = (nCr[n - 1][2 * k] * 1ll * nCr[m - 1][2 * k]) % md;
  printf("%d", ans);
  return 0;
}
