#include <bits/stdc++.h>
long long dp[1 << 11][1 << 11], a, n, m;
inline long long get() { return dp[a][n - 2] * dp[a][m - 2] % 1000000007LL; }
inline void precalc() {
  for (int i = 0; i < 1 << 11; ++i)
    (dp[1][i] = i * (i + 1) / 2) %= 1000000007LL;
  long long current, toAdd;
  for (int i = 2; i < 1 << 11; ++i) {
    current = toAdd = 0;
    for (int j = 2; j < 1 << 11; ++j)
      dp[i][j] = (current += (toAdd += dp[i - 1][j - 2])) %= 1000000007LL;
  }
}
int main() {
  precalc();
  std::cin >> n >> m >> a;
  std::cout << get();
  return 0;
}
