#include <bits/stdc++.h>
using namespace std;
const int P = 1e9 + 7;
const int maxn = 1005;
void read(int &x) { scanf("%d", &x); }
int n, m, T;
long long dp[maxn][maxn];
void Init() {
  int p = max(n, m);
  for (int i = 0; i <= p; i++) dp[i][0] = 1;
  for (int i = 2; i <= p; i++)
    for (int j = 1; j <= T; j++) {
      dp[i][j] =
          ((dp[i - 1][j] * 2 - dp[i - 2][j] + (i > 2) * dp[i - 2][j - 1]) % P +
           P) %
          P;
    }
}
int main() {
  read(n), read(m), read(T);
  Init();
  printf("%lld", dp[n][T] * dp[m][T] % P);
}
