def mfactorial(n: int, mod: int) -> int:
  cache = mfactorial.__cache if hasattr(mfactorial, '__cache') else [1, 1]
  n_len = len(cache)
  n_new = n - n_len + 1
  if n_new > 0:
    cache = cache + ([0] * n_new)
    for i in range(n_len, n + 1):
      cache[i] = cache[i - 1] * i % mod
    mfactorial.__cache = cache

  return mfactorial.__cache[n]


def cmb(n, r, mod):
  result = mfactorial(n, mod)
  result *= pow(mfactorial(r, mod), mod - 2, mod) % mod
  result %= mod
  result *= pow(mfactorial(n - r, mod), mod - 2, mod) % mod
  result %= mod

  return result


def main():
  MOD = 10 ** 9 + 7

  N, M, K = [int(i) for i in input().strip().split(' ')]
  c = cmb(N * M - 2, K - 2, MOD)

  X = 0
  Y = 0
  for i in range(M):
    X += (M - i) * i
  for i in range(N):
    Y += (N - i) * i

  total = (X * (N ** 2) + Y * (M ** 2)) % MOD * c % MOD
  print(total)


main() def mfactorial(n: int, mod: int) -> int:
  cache = mfactorial.__cache if hasattr(mfactorial, '__cache') else [1, 1]
  n_len = len(cache)
  n_new = n - n_len + 1
  if n_new > 0:
    cache = cache + ([0] * n_new)
    for i in range(n_len, n + 1):
      cache[i] = cache[i - 1] * i % mod
    mfactorial.__cache = cache

  return mfactorial.__cache[n] mfactorial cache = mfactorial.__cache if hasattr(mfactorial, '__cache') else [1, 1] cache mfactorial.__cache if hasattr(mfactorial, '__cache') else [1, 1] hasattr(mfactorial, '__cache') hasattr mfactorial '__cache' mfactorial.__cache mfactorial __cache [1, 1] 1 1 n_len = len(cache) n_len len(cache) len cache n_new = n - n_len + 1 n_new n - n_len + 1 n - n_len n n_len 1 if n_new > 0:
    cache = cache + ([0] * n_new)
    for i in range(n_len, n + 1):
      cache[i] = cache[i - 1] * i % mod
    mfactorial.__cache = cache

   n_new > 0 n_new 0 cache = cache + ([0] * n_new) cache cache + ([0] * n_new) cache [0] * n_new [0] 0 n_new for i in range(n_len, n + 1):
      cache[i] = cache[i - 1] * i % mod
     i range(n_len, n + 1) range n_len n + 1 n 1 cache[i] = cache[i - 1] * i % mod cache[i] cache i cache[i - 1] * i % mod cache[i - 1] * i cache[i - 1] cache i - 1 i 1 i mod mfactorial.__cache = cache mfactorial.__cache mfactorial __cache cache return mfactorial.__cache[n] mfactorial.__cache[n] mfactorial.__cache mfactorial __cache n n: int n mod: int mod def cmb(n, r, mod):
  result = mfactorial(n, mod)
  result *= pow(mfactorial(r, mod), mod - 2, mod) % mod
  result %= mod
  result *= pow(mfactorial(n - r, mod), mod - 2, mod) % mod
  result %= mod

  return result cmb result = mfactorial(n, mod) result mfactorial(n, mod) mfactorial n mod result *= pow(mfactorial(r, mod), mod - 2, mod) % mod result pow(mfactorial(r, mod), mod - 2, mod) % mod pow(mfactorial(r, mod), mod - 2, mod) pow mfactorial(r, mod) mfactorial r mod mod - 2 mod 2 mod mod result %= mod result mod result *= pow(mfactorial(n - r, mod), mod - 2, mod) % mod result pow(mfactorial(n - r, mod), mod - 2, mod) % mod pow(mfactorial(n - r, mod), mod - 2, mod) pow mfactorial(n - r, mod) mfactorial n - r n r mod mod - 2 mod 2 mod mod result %= mod result mod return result result n n r r mod mod def main():
  MOD = 10 ** 9 + 7

  N, M, K = [int(i) for i in input().strip().split(' ')]
  c = cmb(N * M - 2, K - 2, MOD)

  X = 0
  Y = 0
  for i in range(M):
    X += (M - i) * i
  for i in range(N):
    Y += (N - i) * i

  total = (X * (N ** 2) + Y * (M ** 2)) % MOD * c % MOD
  print(total) main MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 int(i) for i in input().strip().split(' ') for i in input().strip().split(' ') i input().strip().split(' ') ().strip().split ().strip() ().strip () input strip split ' ' for i in input().strip().split(' ') int(i) int i N, M, K = [int(i) for i in input().strip().split(' ')] N [int(i) for i in input().strip().split(' ')] M K c = cmb(N * M - 2, K - 2, MOD) c cmb(N * M - 2, K - 2, MOD) cmb N * M - 2 N * M N M 2 K - 2 K 2 MOD X = 0 X 0 Y = 0 Y 0 for i in range(M):
    X += (M - i) * i
   i range(M) range M X += (M - i) * i X (M - i) * i M - i M i i for i in range(N):
    Y += (N - i) * i

   i range(N) range N Y += (N - i) * i Y (N - i) * i N - i N i i total = (X * (N ** 2) + Y * (M ** 2)) % MOD * c % MOD total (X * (N ** 2) + Y * (M ** 2)) % MOD * c % MOD (X * (N ** 2) + Y * (M ** 2)) % MOD * c (X * (N ** 2) + Y * (M ** 2)) % MOD X * (N ** 2) + Y * (M ** 2) X * (N ** 2) X N ** 2 N 2 Y * (M ** 2) Y M ** 2 M 2 MOD c MOD print(total) print total main() main def cmb(n, r, mod):
  result = mfactorial(n, mod)
  result *= pow(mfactorial(r, mod), mod - 2, mod) % mod
  result %= mod
  result *= pow(mfactorial(n - r, mod), mod - 2, mod) % mod
  result %= mod

  return result def cmb(n, r, mod):
  result = mfactorial(n, mod)
  result *= pow(mfactorial(r, mod), mod - 2, mod) % mod
  result %= mod
  result *= pow(mfactorial(n - r, mod), mod - 2, mod) % mod
  result %= mod

  return result cmb def mfactorial(n: int, mod: int) -> int:
  cache = mfactorial.__cache if hasattr(mfactorial, '__cache') else [1, 1]
  n_len = len(cache)
  n_new = n - n_len + 1
  if n_new > 0:
    cache = cache + ([0] * n_new)
    for i in range(n_len, n + 1):
      cache[i] = cache[i - 1] * i % mod
    mfactorial.__cache = cache

  return mfactorial.__cache[n] def mfactorial(n: int, mod: int) -> int:
  cache = mfactorial.__cache if hasattr(mfactorial, '__cache') else [1, 1]
  n_len = len(cache)
  n_new = n - n_len + 1
  if n_new > 0:
    cache = cache + ([0] * n_new)
    for i in range(n_len, n + 1):
      cache[i] = cache[i - 1] * i % mod
    mfactorial.__cache = cache

  return mfactorial.__cache[n] mfactorial def main():
  MOD = 10 ** 9 + 7

  N, M, K = [int(i) for i in input().strip().split(' ')]
  c = cmb(N * M - 2, K - 2, MOD)

  X = 0
  Y = 0
  for i in range(M):
    X += (M - i) * i
  for i in range(N):
    Y += (N - i) * i

  total = (X * (N ** 2) + Y * (M ** 2)) % MOD * c % MOD
  print(total) def main():
  MOD = 10 ** 9 + 7

  N, M, K = [int(i) for i in input().strip().split(' ')]
  c = cmb(N * M - 2, K - 2, MOD)

  X = 0
  Y = 0
  for i in range(M):
    X += (M - i) * i
  for i in range(N):
    Y += (N - i) * i

  total = (X * (N ** 2) + Y * (M ** 2)) % MOD * c % MOD
  print(total) main
def mfactorial(n: int, mod: int) -> int:
  cache = mfactorial.__cache if hasattr(mfactorial, '__cache') else [1, 1]
  n_len = len(cache)
  n_new = n - n_len + 1
  if n_new > 0:
    cache = cache + ([0] * n_new)
    for i in range(n_len, n + 1):
      cache[i] = cache[i - 1] * i % mod
    mfactorial.__cache = cache

  return mfactorial.__cache[n]


def cmb(n, r, mod):
  result = mfactorial(n, mod)
  result *= pow(mfactorial(r, mod), mod - 2, mod) % mod
  result %= mod
  result *= pow(mfactorial(n - r, mod), mod - 2, mod) % mod
  result %= mod

  return result


def main():
  MOD = 10 ** 9 + 7

  N, M, K = [int(i) for i in input().strip().split(' ')]
  c = cmb(N * M - 2, K - 2, MOD)

  X = 0
  Y = 0
  for i in range(M):
    X += (M - i) * i
  for i in range(N):
    Y += (N - i) * i

  total = (X * (N ** 2) + Y * (M ** 2)) % MOD * c % MOD
  print(total)


main()