def cmb(n, r):

    return fact[n] * inv_fact[r] * inv_fact[n - r] % MOD





MOD = 10 ** 9 + 7



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



fact = [1]

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

    fact.append(fact[-1] * i % MOD)



inv_fact = [-1] * (N * M - 1)

inv_fact[-1] = pow(fact[-1], MOD - 2, MOD)

for i in range(N * M - 3, -1, -1):

    inv_fact[i] = inv_fact[i + 1] * (i + 1) % MOD



pat = cmb(N * M - 2, K - 2)



ans = 0



for i in range(M):

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



for i in range(N):

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



ans = (ans * pat) % MOD



print(ans)

from collections import defaultdict



mod = 10 ** 9 + 7



memo = defaultdict(int)





def cmb(n, r):

    if (n, r) in memo:

        return memo[(n, r)]



    if n < r or r < 0:

        return 0



    if r > n - r:

        return cmb(n, n - r)



    res = f[n] * pow(f[n - r], mod - 2, mod) * pow(f[r], mod - 2, mod) % mod

    memo[(n, r)] = res

    return res





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



f = [1]

for i in range(1, 2 * 10 ** 5 + 1):

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



ans = 0

for d in range(1, m):

    ans += d * (m - d) * n ** 2

    ans %= mod



for d in range(1, n):

    ans += d * (n - d) * m ** 2

    ans %= mod



ans *= cmb(n * m - 2, k - 2)

ans %= mod



print(ans)

def cmb(n, r):
    return fact[n] * inv_fact[r] * inv_fact[n - r] % MOD


MOD = 10**9 + 7
N, M, K = list(map(int, input().split()))
fact = [1]
for i in range(1, N * M - 2 + 1):
    fact.append(fact[-1] * i % MOD)
inv_fact = [-1] * (N * M - 1)
inv_fact[-1] = pow(fact[-1], MOD - 2, MOD)
for i in range(N * M - 3, -1, -1):
    inv_fact[i] = inv_fact[i + 1] * (i + 1) % MOD
pat = cmb(N * M - 2, K - 2)
ans = 0
for i in range(M):
    ans += i * (M - i) * N**2
for i in range(N):
    ans += i * (N - i) * M**2
ans = (ans * pat) % MOD
print(ans)

from collections import defaultdict

mod = 10**9 + 7
memo = defaultdict(int)


def cmb(n, r):
    if (n, r) in memo:
        return memo[(n, r)]
    if n < r or r < 0:
        return 0
    if r > n - r:
        return cmb(n, n - r)
    res = f[n] * pow(f[n - r], mod - 2, mod) * pow(f[r], mod - 2, mod) % mod
    memo[(n, r)] = res
    return res


n, m, k = list(map(int, input().split()))
f = [1]
for i in range(1, 2 * 10**5 + 1):
    f.append(f[-1] * i % mod)
ans = 0
for d in range(1, m):
    ans += d * (m - d) * n**2
    ans %= mod
for d in range(1, n):
    ans += d * (n - d) * m**2
    ans %= mod
ans *= cmb(n * m - 2, k - 2)
ans %= mod
print(ans)

-def cmb(n, r): -    return fact[n] * inv_fact[r] * inv_fact[n - r] % MOD +from collections import defaultdict + +mod = 10**9 + 7 +memo = defaultdict(int) -MOD = 10**9 + 7 -N, M, K = list(map(int, input().split())) -fact = [1] -for i in range(1, N * M - 2 + 1): -    fact.append(fact[-1] * i % MOD) -inv_fact = [-1] * (N * M - 1) -inv_fact[-1] = pow(fact[-1], MOD - 2, MOD) -for i in range(N * M - 3, -1, -1): -    inv_fact[i] = inv_fact[i + 1] * (i + 1) % MOD -pat = cmb(N * M - 2, K - 2) +def cmb(n, r): +    if (n, r) in memo: +        return memo[(n, r)] +    if n < r or r < 0: +        return 0 +    if r > n - r: +        return cmb(n, n - r) +    res = f[n] * pow(f[n - r], mod - 2, mod) * pow(f[r], mod - 2, mod) % mod +    memo[(n, r)] = res +    return res + + +n, m, k = list(map(int, input().split())) +f = [1] +for i in range(1, 2 * 10**5 + 1): +    f.append(f[-1] * i % mod) -for i in range(M): -    ans += i * (M - i) * N**2 -for i in range(N): -    ans += i * (N - i) * M**2 -ans = (ans * pat) % MOD +for d in range(1, m): +    ans += d * (m - d) * n**2 +    ans %= mod +for d in range(1, n): +    ans += d * (n - d) * m**2 +    ans %= mod +ans *= cmb(n * m - 2, k - 2) +ans %= mod