from functools import reduce

def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD

def q(x,y):
    return cn*(x**2)*(y**3-y)//6

N, M, K = map(int, input().split())
MOD=10**9+7
cn = combination2(N*M - 2, K-2, MOD)
print((q(N,M) + q(M,N))%MOD) from functools import reduce def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD combination2 if not 0 <= r <= n: return 0
     not 0 <= r <= n 0 <= r <= n 0 <= r 0 r n r = min(r, n - r) r min(r, n - r) min r n - r n r numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1) numerator reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1) reduce lambda x, y: x * y % MOD x * y % MOD x * y x y MOD x y range(n, n - r, -1) range n n - r n r -1 1 denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1) denominator reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1) reduce lambda x, y: x * y % MOD x * y % MOD x * y x y MOD x y range(1, r + 1) range 1 r + 1 r 1 1 return numerator * pow(denominator, MOD - 2, MOD) % MOD numerator * pow(denominator, MOD - 2, MOD) % MOD numerator * pow(denominator, MOD - 2, MOD) numerator pow(denominator, MOD - 2, MOD) pow denominator MOD - 2 MOD 2 MOD MOD n n r r MOD=10**9+7 MOD 10**9+7 10**9 10 9 7 def q(x,y):
    return cn*(x**2)*(y**3-y)//6 q return cn*(x**2)*(y**3-y)//6 cn*(x**2)*(y**3-y)//6 cn*(x**2)*(y**3-y) cn*(x**2) cn x**2 x 2 y**3-y y**3 y 3 y 6 x x y y N, M, K = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M K MOD=10**9+7 MOD 10**9+7 10**9 10 9 7 cn = combination2(N*M - 2, K-2, MOD) cn combination2(N*M - 2, K-2, MOD) combination2 N*M - 2 N*M N M 2 K-2 K 2 MOD print((q(N,M) + q(M,N))%MOD) print (q(N,M) + q(M,N))%MOD q(N,M) + q(M,N) q(N,M) q N M q(M,N) q M N MOD N, M, K = map(int, input().split()) map(int, input().split()) N def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD combination2 cn = combination2(N*M - 2, K-2, MOD) combination2(N*M - 2, K-2, MOD) cn M, K = map(int, input().split()) map(int, input().split()) M def q(x,y):
    return cn*(x**2)*(y**3-y)//6 def q(x,y):
    return cn*(x**2)*(y**3-y)//6 q K = map(int, input().split()) map(int, input().split()) K MOD=10**9+7 10**9+7 MOD
from functools import reduce

def combination2(n, r, MOD=10**9+7):
    if not 0 <= r <= n: return 0
    r = min(r, n - r)
    numerator = reduce(lambda x, y: x * y % MOD, range(n, n - r, -1), 1)
    denominator = reduce(lambda x, y: x * y % MOD, range(1, r + 1), 1)
    return numerator * pow(denominator, MOD - 2, MOD) % MOD

def q(x,y):
    return cn*(x**2)*(y**3-y)//6

N, M, K = map(int, input().split())
MOD=10**9+7
cn = combination2(N*M - 2, K-2, MOD)
print((q(N,M) + q(M,N))%MOD)
