U = 2*10**5
MOD = 10**9+7
 
fact = [1]*(U+1)
fact_inv = [1]*(U+1)
 
for i in range(1,U+1):
    fact[i] = (fact[i-1]*i)%MOD
fact_inv[U] = pow(fact[U], MOD-2, MOD)
 
for i in range(U,0,-1):
    fact_inv[i-1] = (fact_inv[i]*i)%MOD

def comb(n, k):
    if k < 0 or k > n:
        return 0
    z = fact[n]
    z *= fact_inv[k]
    z *= fact_inv[n-k]
    z %= MOD
    return z

n, m, k = map(int, input().split())
ans = ((n-1)*n*(n+1)//6*m**2 + (m-1)*m*(m+1)//6*n**2) * comb(n*m-2, k-2)
print(ans%MOD) U = 2*10**5 U 2*10**5 2 10**5 10 5 MOD = 10**9+7 MOD 10**9+7 10**9 10 9 7 fact = [1]*(U+1) fact [1]*(U+1) [1] 1 U+1 U 1 fact_inv = [1]*(U+1) fact_inv [1]*(U+1) [1] 1 U+1 U 1 for i in range(1,U+1):
    fact[i] = (fact[i-1]*i)%MOD i range(1,U+1) range 1 U+1 U 1 fact[i] = (fact[i-1]*i)%MOD fact[i] fact i (fact[i-1]*i)%MOD fact[i-1]*i fact[i-1] fact i-1 i 1 i MOD fact_inv[U] = pow(fact[U], MOD-2, MOD) fact_inv[U] fact_inv U pow(fact[U], MOD-2, MOD) pow fact[U] fact U MOD-2 MOD 2 MOD for i in range(U,0,-1):
    fact_inv[i-1] = (fact_inv[i]*i)%MOD i range(U,0,-1) range U 0 -1 fact_inv[i-1] = (fact_inv[i]*i)%MOD fact_inv[i-1] fact_inv i-1 i 1 (fact_inv[i]*i)%MOD fact_inv[i]*i fact_inv[i] fact_inv i i MOD def comb(n, k):
    if k < 0 or k > n:
        return 0
    z = fact[n]
    z *= fact_inv[k]
    z *= fact_inv[n-k]
    z %= MOD
    return z comb if k < 0 or k > n:
        return 0
     k < 0 or k > n k < 0 k 0 k > n k n return 0 0 z = fact[n] z fact[n] fact n z *= fact_inv[k] z fact_inv[k] fact_inv k z *= fact_inv[n-k] z fact_inv[n-k] fact_inv n-k n k z %= MOD z MOD return z z n n k k n, m, k = map(int, input().split()) n map(int, input().split()) map int input().split() ().split () input split m k ans = ((n-1)*n*(n+1)//6*m**2 + (m-1)*m*(m+1)//6*n**2) * comb(n*m-2, k-2) ans ((n-1)*n*(n+1)//6*m**2 + (m-1)*m*(m+1)//6*n**2) * comb(n*m-2, k-2) (n-1)*n*(n+1)//6*m**2 + (m-1)*m*(m+1)//6*n**2 (n-1)*n*(n+1)//6*m**2 (n-1)*n*(n+1)//6 (n-1)*n*(n+1) (n-1)*n n-1 n 1 n n+1 n 1 6 m**2 m 2 (m-1)*m*(m+1)//6*n**2 (m-1)*m*(m+1)//6 (m-1)*m*(m+1) (m-1)*m m-1 m 1 m m+1 m 1 6 n**2 n 2 comb(n*m-2, k-2) comb n*m-2 n*m n m 2 k-2 k 2 print(ans%MOD) print ans%MOD ans MOD fact_inv = [1]*(U+1) [1]*(U+1) fact_inv ans = ((n-1)*n*(n+1)//6*m**2 + (m-1)*m*(m+1)//6*n**2) * comb(n*m-2, k-2) ((n-1)*n*(n+1)//6*m**2 + (m-1)*m*(m+1)//6*n**2) * comb(n*m-2, k-2) ans fact = [1]*(U+1) [1]*(U+1) fact def comb(n, k):
    if k < 0 or k > n:
        return 0
    z = fact[n]
    z *= fact_inv[k]
    z *= fact_inv[n-k]
    z %= MOD
    return z def comb(n, k):
    if k < 0 or k > n:
        return 0
    z = fact[n]
    z *= fact_inv[k]
    z *= fact_inv[n-k]
    z %= MOD
    return z comb U = 2*10**5 2*10**5 U MOD = 10**9+7 10**9+7 MOD m, k = map(int, input().split()) map(int, input().split()) m k = map(int, input().split()) map(int, input().split()) k n, m, k = map(int, input().split()) map(int, input().split()) n
U = 2*10**5
MOD = 10**9+7
 
fact = [1]*(U+1)
fact_inv = [1]*(U+1)
 
for i in range(1,U+1):
    fact[i] = (fact[i-1]*i)%MOD
fact_inv[U] = pow(fact[U], MOD-2, MOD)
 
for i in range(U,0,-1):
    fact_inv[i-1] = (fact_inv[i]*i)%MOD

def comb(n, k):
    if k < 0 or k > n:
        return 0
    z = fact[n]
    z *= fact_inv[k]
    z *= fact_inv[n-k]
    z %= MOD
    return z

n, m, k = map(int, input().split())
ans = ((n-1)*n*(n+1)//6*m**2 + (m-1)*m*(m+1)//6*n**2) * comb(n*m-2, k-2)
print(ans%MOD)