def cmb(n,r,mod):

  if r<0 or r>n:

    return 0

  r=min(r,n-r)

  return g1[n]*g2[r]*g2[n-r]%mod

 

N,M,k=list(map(int,input().split()))

m=10**9+7

 

g1=[1,1]

g2=[1,1]

inverse=[0,1]

 

for i in range(2,N*M):

  g1.append((g1[-1]*i)%m)

  inverse.append((-inverse[m%i]*(m//i))%m)

  g2.append((g2[-1]*inverse[-1])%m)



c=cmb(N*M-2,k-2,m)

ans=0

for i in range(N):

  ans+=((N-i)*M*M*i*c)%m

  ans%=m

for i in range(M):

  ans+=((M-i)*N*N*i*c)%m

  ans%=m

print((ans%m))
def cmb(n,r,mod):

  if r<0 or r>n:

    return 0

  r=min(r,n-r)

  return g1[n]*g2[r]*g2[n-r]%mod

 

n,m,k=list(map(int,input().split()))

mod=10**9+7

 

g1=[1,1]

g2=[1,1]

inverse=[0,1]

 

for i in range(2,n*m):

  g1.append((g1[-1]*i)%mod)

  inverse.append((-inverse[mod%i]*(mod//i))%mod)

  g2.append((g2[-1]*inverse[-1])%mod)



c=cmb(n*m-2,k-2,mod)

ans=0

for i in range(n):

  ans+=((n-i)*m*m*i*c)%mod

  ans%=mod

for i in range(m):

  ans+=((m-i)*n*n*i*c)%mod

  ans%=mod

print((ans%mod))
def cmb(n, r, mod):
    if r < 0 or r > n:
        return 0
    r = min(r, n - r)
    return g1[n] * g2[r] * g2[n - r] % mod


N, M, k = list(map(int, input().split()))
m = 10**9 + 7
g1 = [1, 1]
g2 = [1, 1]
inverse = [0, 1]
for i in range(2, N * M):
    g1.append((g1[-1] * i) % m)
    inverse.append((-inverse[m % i] * (m // i)) % m)
    g2.append((g2[-1] * inverse[-1]) % m)
c = cmb(N * M - 2, k - 2, m)
ans = 0
for i in range(N):
    ans += ((N - i) * M * M * i * c) % m
    ans %= m
for i in range(M):
    ans += ((M - i) * N * N * i * c) % m
    ans %= m
print((ans % m))

def cmb(n, r, mod):
    if r < 0 or r > n:
        return 0
    r = min(r, n - r)
    return g1[n] * g2[r] * g2[n - r] % mod


n, m, k = list(map(int, input().split()))
mod = 10**9 + 7
g1 = [1, 1]
g2 = [1, 1]
inverse = [0, 1]
for i in range(2, n * m):
    g1.append((g1[-1] * i) % mod)
    inverse.append((-inverse[mod % i] * (mod // i)) % mod)
    g2.append((g2[-1] * inverse[-1]) % mod)
c = cmb(n * m - 2, k - 2, mod)
ans = 0
for i in range(n):
    ans += ((n - i) * m * m * i * c) % mod
    ans %= mod
for i in range(m):
    ans += ((m - i) * n * n * i * c) % mod
    ans %= mod
print((ans % mod))

-N, M, k = list(map(int, input().split())) -m = 10**9 + 7 +n, m, k = list(map(int, input().split())) +mod = 10**9 + 7 -for i in range(2, N * M): -    g1.append((g1[-1] * i) % m) -    inverse.append((-inverse[m % i] * (m // i)) % m) -    g2.append((g2[-1] * inverse[-1]) % m) -c = cmb(N * M - 2, k - 2, m) +for i in range(2, n * m): +    g1.append((g1[-1] * i) % mod) +    inverse.append((-inverse[mod % i] * (mod // i)) % mod) +    g2.append((g2[-1] * inverse[-1]) % mod) +c = cmb(n * m - 2, k - 2, mod) -for i in range(N): -    ans += ((N - i) * M * M * i * c) % m -    ans %= m -for i in range(M): -    ans += ((M - i) * N * N * i * c) % m -    ans %= m -print((ans % m)) +for i in range(n): +    ans += ((n - i) * m * m * i * c) % mod +    ans %= mod +for i in range(m): +    ans += ((m - i) * n * n * i * c) % mod +    ans %= mod +print((ans % mod))