mod = 10**9+7
n,m,k = map(int,input().split())
##nCk:0,nにkが寄る時 O(k)

#nCkのkのmaxをxとする
x = k
fact = [1] * (x + 1)
for i in range(1, x + 1):
    fact[i] = fact[i - 1] * i % mod

def mod_comb_k(n,k,mod):
    ret = 1
    if n - k < k:
        k = n - k
    for i in range(n, n - k, -1):
        ret = ret * i % mod
    return ret % mod * pow(fact[k], mod - 2, mod) % mod

res = 0
for d in range(1,n):
    res += m*m*(n-d)*d
    res = res%mod

n,m = m,n
for d in range(1,n):
    res += m*m*(n-d)*d
    res = res%mod

res *= mod_comb_k(n*m-2,k-2,mod)
'''
for d in range(1,m):
    res += n*n*(m-d)*mod_comb_k(n*m-2,k-2,mod)%mod
    res = res%mod
'''
print(res%mod) mod = 10**9+7 mod 10**9+7 10**9 10 9 7 n,m,k = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m k x = k x k fact = [1] * (x + 1) fact [1] * (x + 1) [1] 1 x + 1 x 1 for i in range(1, x + 1):
    fact[i] = fact[i - 1] * i % mod i range(1, x + 1) range 1 x + 1 x 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 def mod_comb_k(n,k,mod):
    ret = 1
    if n - k < k:
        k = n - k
    for i in range(n, n - k, -1):
        ret = ret * i % mod
    return ret % mod * pow(fact[k], mod - 2, mod) % mod mod_comb_k ret = 1 ret 1 if n - k < k:
        k = n - k
     n - k < k n - k n k k k = n - k k n - k n k for i in range(n, n - k, -1):
        ret = ret * i % mod
     i range(n, n - k, -1) range n n - k n k -1 ret = ret * i % mod ret ret * i % mod ret * i ret i mod return ret % mod * pow(fact[k], mod - 2, mod) % mod ret % mod * pow(fact[k], mod - 2, mod) % mod ret % mod * pow(fact[k], mod - 2, mod) ret % mod ret mod pow(fact[k], mod - 2, mod) pow fact[k] fact k mod - 2 mod 2 mod mod n n k k mod mod res = 0 res 0 for d in range(1,n):
    res += m*m*(n-d)*d
    res = res%mod d range(1,n) range 1 n res += m*m*(n-d)*d res m*m*(n-d)*d m*m*(n-d) m*m m m n-d n d d res = res%mod res res%mod res mod n,m = m,n n m m n for d in range(1,n):
    res += m*m*(n-d)*d
    res = res%mod d range(1,n) range 1 n res += m*m*(n-d)*d res m*m*(n-d)*d m*m*(n-d) m*m m m n-d n d d res = res%mod res res%mod res mod res *= mod_comb_k(n*m-2,k-2,mod) res mod_comb_k(n*m-2,k-2,mod) mod_comb_k n*m-2 n*m n m 2 k-2 k 2 mod '''
for d in range(1,m):
    res += n*n*(m-d)*mod_comb_k(n*m-2,k-2,mod)%mod
    res = res%mod
''' print(res%mod) print res%mod res mod res = res%mod res%mod res def mod_comb_k(n,k,mod):
    ret = 1
    if n - k < k:
        k = n - k
    for i in range(n, n - k, -1):
        ret = ret * i % mod
    return ret % mod * pow(fact[k], mod - 2, mod) % mod def mod_comb_k(n,k,mod):
    ret = 1
    if n - k < k:
        k = n - k
    for i in range(n, n - k, -1):
        ret = ret * i % mod
    return ret % mod * pow(fact[k], mod - 2, mod) % mod mod_comb_k k = map(int,input().split()) map(int,input().split()) k x = k k x m = m,n n m n,m = m,n m n m,k = map(int,input().split()) map(int,input().split()) m res = 0 0 res res = res%mod res%mod res res += m*m*(n-d)*d m*m*(n-d)*d res mod = 10**9+7 10**9+7 mod n,m,k = map(int,input().split()) map(int,input().split()) n fact = [1] * (x + 1) [1] * (x + 1) fact res += m*m*(n-d)*d m*m*(n-d)*d res res *= mod_comb_k(n*m-2,k-2,mod) mod_comb_k(n*m-2,k-2,mod) res
mod = 10**9+7
n,m,k = map(int,input().split())
##nCk:0,nにkが寄る時 O(k)

#nCkのkのmaxをxとする
x = k
fact = [1] * (x + 1)
for i in range(1, x + 1):
    fact[i] = fact[i - 1] * i % mod

def mod_comb_k(n,k,mod):
    ret = 1
    if n - k < k:
        k = n - k
    for i in range(n, n - k, -1):
        ret = ret * i % mod
    return ret % mod * pow(fact[k], mod - 2, mod) % mod

res = 0
for d in range(1,n):
    res += m*m*(n-d)*d
    res = res%mod

n,m = m,n
for d in range(1,n):
    res += m*m*(n-d)*d
    res = res%mod

res *= mod_comb_k(n*m-2,k-2,mod)
'''
for d in range(1,m):
    res += n*n*(m-d)*mod_comb_k(n*m-2,k-2,mod)%mod
    res = res%mod
'''
print(res%mod)