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

mod = 10**9+7 
fact = [1,1]
finv = [1,1]
inv = [0,1]
 
for i in range(2,n*m+1):
    fact.append((fact[-1]*i)%mod)
    inv.append((inv[mod%i]*(mod-mod//i))%mod)
    finv.append((finv[-1]*inv[-1])%mod)
 
def nCr(n,r,mod):
    if r > n:
        return 0
    else: 
        return fact[n]*finv[r]*finv[n-r]%mod    


ans = 0

for i in range(1,n):
    
    ans += nCr(n*m-2,k-2,mod)*i*(n-i)*m**2
    ans %= mod
    
for i in range(1,m):
    
    ans += nCr(n*m-2,k-2,mod)*i*(m-i)*n**2
    ans %= mod
    
print(ans) 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 fact = [1,1] fact [1,1] 1 1 finv = [1,1] finv [1,1] 1 1 inv = [0,1] inv [0,1] 0 1 for i in range(2,n*m+1):
    fact.append((fact[-1]*i)%mod)
    inv.append((inv[mod%i]*(mod-mod//i))%mod)
    finv.append((finv[-1]*inv[-1])%mod)
  i range(2,n*m+1) range 2 n*m+1 n*m n m 1 fact.append((fact[-1]*i)%mod) fact.append fact append (fact[-1]*i)%mod fact[-1]*i fact[-1] fact -1 i mod inv.append((inv[mod%i]*(mod-mod//i))%mod) inv.append inv append (inv[mod%i]*(mod-mod//i))%mod inv[mod%i]*(mod-mod//i) inv[mod%i] inv mod%i mod i mod-mod//i mod mod//i mod i mod finv.append((finv[-1]*inv[-1])%mod) finv.append finv append (finv[-1]*inv[-1])%mod finv[-1]*inv[-1] finv[-1] finv -1 inv[-1] inv -1 mod def nCr(n,r,mod):
    if r > n:
        return 0
    else: 
        return fact[n]*finv[r]*finv[n-r]%mod     nCr if r > n:
        return 0
    else: 
        return fact[n]*finv[r]*finv[n-r]%mod     r > n r n return 0 0 return fact[n]*finv[r]*finv[n-r]%mod fact[n]*finv[r]*finv[n-r]%mod fact[n]*finv[r]*finv[n-r] fact[n]*finv[r] fact[n] fact n finv[r] finv r finv[n-r] finv n-r n r mod n n r r mod mod ans = 0 ans 0 for i in range(1,n):
    
    ans += nCr(n*m-2,k-2,mod)*i*(n-i)*m**2
    ans %= mod
     i range(1,n) range 1 n ans += nCr(n*m-2,k-2,mod)*i*(n-i)*m**2 ans nCr(n*m-2,k-2,mod)*i*(n-i)*m**2 nCr(n*m-2,k-2,mod)*i*(n-i) nCr(n*m-2,k-2,mod)*i nCr(n*m-2,k-2,mod) nCr n*m-2 n*m n m 2 k-2 k 2 mod i n-i n i m**2 m 2 ans %= mod ans mod for i in range(1,m):
    
    ans += nCr(n*m-2,k-2,mod)*i*(m-i)*n**2
    ans %= mod
     i range(1,m) range 1 m ans += nCr(n*m-2,k-2,mod)*i*(m-i)*n**2 ans nCr(n*m-2,k-2,mod)*i*(m-i)*n**2 nCr(n*m-2,k-2,mod)*i*(m-i) nCr(n*m-2,k-2,mod)*i nCr(n*m-2,k-2,mod) nCr n*m-2 n*m n m 2 k-2 k 2 mod i m-i m i n**2 n 2 ans %= mod ans mod print(ans) print ans ans += nCr(n*m-2,k-2,mod)*i*(n-i)*m**2 nCr(n*m-2,k-2,mod)*i*(n-i)*m**2 ans finv = [1,1] [1,1] finv def nCr(n,r,mod):
    if r > n:
        return 0
    else: 
        return fact[n]*finv[r]*finv[n-r]%mod     def nCr(n,r,mod):
    if r > n:
        return 0
    else: 
        return fact[n]*finv[r]*finv[n-r]%mod     nCr m,k = map(int,input().split()) map(int,input().split()) m k = map(int,input().split()) map(int,input().split()) k ans += nCr(n*m-2,k-2,mod)*i*(m-i)*n**2 nCr(n*m-2,k-2,mod)*i*(m-i)*n**2 ans fact = [1,1] [1,1] fact ans %= mod mod ans ans = 0 0 ans n,m,k = map(int,input().split()) map(int,input().split()) n inv = [0,1] [0,1] inv mod = 10**9+7 10**9+7 mod ans %= mod mod ans
n,m,k = map(int,input().split())

mod = 10**9+7 
fact = [1,1]
finv = [1,1]
inv = [0,1]
 
for i in range(2,n*m+1):
    fact.append((fact[-1]*i)%mod)
    inv.append((inv[mod%i]*(mod-mod//i))%mod)
    finv.append((finv[-1]*inv[-1])%mod)
 
def nCr(n,r,mod):
    if r > n:
        return 0
    else: 
        return fact[n]*finv[r]*finv[n-r]%mod    


ans = 0

for i in range(1,n):
    
    ans += nCr(n*m-2,k-2,mod)*i*(n-i)*m**2
    ans %= mod
    
for i in range(1,m):
    
    ans += nCr(n*m-2,k-2,mod)*i*(m-i)*n**2
    ans %= mod
    
print(ans)