MOD = 10**9 + 7



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



invs = [1] * (K-1)

for x in range(2, K-1):

    invs[x] = (-(MOD//x) * invs[MOD%x]) % MOD



C = 1

for x in range(N*M-K+1, N*M-1):

    C *= x

    C %= MOD

for x in range(1, K-1):

    C *= invs[x]

    C %= MOD



ans1 = 0

for d in range(1, N):

    ans1 += (N-d) * d

    ans1 %= MOD

ans1 *= M**2

ans1 %= MOD



ans2 = 0

for d in range(1, M):

    ans2 += (M-d) * d

    ans2 %= MOD

ans2 *= N**2

ans2 %= MOD



print(((ans1+ans2) * C % MOD))

MOD = 10**9 + 7



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



def getComb(n, k, MOD):

    if n < k:

        return 0

    if n-k < k:

        k = n-k

    comb = 1

    for x in range(n-k+1, n+1):

        comb = (comb * x) % MOD

    d = 1

    for x in range(1, k+1):

        d = (d * x) % MOD

    comb *= pow(d, MOD-2, MOD)

    return comb % MOD



comb = getComb(N*M-2, K-2, MOD)



ans = 0

for i in range(N):

    ans += i*(N-i)*M*M

    ans %= MOD



for j in range(M):

    ans += j*(M-j)*N*N

    ans %= MOD



ans *= comb

ans %= MOD



print(ans)

MOD = 10**9 + 7
N, M, K = list(map(int, input().split()))
invs = [1] * (K - 1)
for x in range(2, K - 1):
    invs[x] = (-(MOD // x) * invs[MOD % x]) % MOD
C = 1
for x in range(N * M - K + 1, N * M - 1):
    C *= x
    C %= MOD
for x in range(1, K - 1):
    C *= invs[x]
    C %= MOD
ans1 = 0
for d in range(1, N):
    ans1 += (N - d) * d
    ans1 %= MOD
ans1 *= M**2
ans1 %= MOD
ans2 = 0
for d in range(1, M):
    ans2 += (M - d) * d
    ans2 %= MOD
ans2 *= N**2
ans2 %= MOD
print(((ans1 + ans2) * C % MOD))

MOD = 10**9 + 7
N, M, K = list(map(int, input().split()))


def getComb(n, k, MOD):
    if n < k:
        return 0
    if n - k < k:
        k = n - k
    comb = 1
    for x in range(n - k + 1, n + 1):
        comb = (comb * x) % MOD
    d = 1
    for x in range(1, k + 1):
        d = (d * x) % MOD
    comb *= pow(d, MOD - 2, MOD)
    return comb % MOD


comb = getComb(N * M - 2, K - 2, MOD)
ans = 0
for i in range(N):
    ans += i * (N - i) * M * M
    ans %= MOD
for j in range(M):
    ans += j * (M - j) * N * N
    ans %= MOD
ans *= comb
ans %= MOD
print(ans)

-invs = [1] * (K - 1) -for x in range(2, K - 1): -    invs[x] = (-(MOD // x) * invs[MOD % x]) % MOD -C = 1 -for x in range(N * M - K + 1, N * M - 1): -    C *= x -    C %= MOD -for x in range(1, K - 1): -    C *= invs[x] -    C %= MOD -ans1 = 0 -for d in range(1, N): -    ans1 += (N - d) * d -    ans1 %= MOD -ans1 *= M**2 -ans1 %= MOD -ans2 = 0 -for d in range(1, M): -    ans2 += (M - d) * d -    ans2 %= MOD -ans2 *= N**2 -ans2 %= MOD -print(((ans1 + ans2) * C % MOD)) + + +def getComb(n, k, MOD): +    if n < k: +        return 0 +    if n - k < k: +        k = n - k +    comb = 1 +    for x in range(n - k + 1, n + 1): +        comb = (comb * x) % MOD +    d = 1 +    for x in range(1, k + 1): +        d = (d * x) % MOD +    comb *= pow(d, MOD - 2, MOD) +    return comb % MOD + + +comb = getComb(N * M - 2, K - 2, MOD) +ans = 0 +for i in range(N): +    ans += i * (N - i) * M * M +    ans %= MOD +for j in range(M): +    ans += j * (M - j) * N * N +    ans %= MOD +ans *= comb +ans %= MOD +print(ans)