#include <bits/stdc++.h>
using namespace std;
const int N = 1000, M = 1e9 + 7;
int n, m, k, dp[N + 2][N + 2];
int mul(int a, int b) {
  return (int)((((long long)(a % M)) * ((long long)(b % M))) % M);
}
int main() {
  dp[0][0] = 1;
  for (int i = 1; i <= N; i++) {
    dp[i][0] = 1;
    for (int j = 1; j < i; j++)
      dp[i][j] = (dp[i - 1][j] + dp[i - 1][j - 1]) % M;
    dp[i][i] = 1;
  }
  scanf("%d%d%d", &n, &m, &k);
  int a = 0, b = 0;
  if (n - 2 >= 2 * k) a = (a + dp[n - 2][2 * k]) % M;
  if (n - 2 >= 2 * k - 1) a = (a + dp[n - 2][2 * k - 1]) % M;
  if (m - 2 >= 2 * k) b = (b + dp[m - 2][2 * k]) % M;
  if (m - 2 >= 2 * k - 1) b = (b + dp[m - 2][2 * k - 1]) % M;
  printf("%d\n", mul(a, b));
  return 0;
}
