def cmb(n, r, mod):#コンビネーションの高速計算　
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod

mod = 10**9+7 #出力の制限
N = 2*10**5
g1 = [1, 1] # 元テーブル
g2 = [1, 1] #逆元テーブル
inverse = [0, 1] #逆元テーブル計算用テーブル

for i in range( 2, N + 1 ):
    g1.append( ( g1[-1] * i ) % mod )
    inverse.append( ( -inverse[mod % i] * (mod//i) ) % mod )
    g2.append( (g2[-1] * inverse[-1]) % mod )

def function(i,k):
    return -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M)+2*N*(k+1)*(M-i)

N,M,K=map(int,input().split())
if M>N:
    N,M=M,N
ans=0
for i in range(1,N+M-1):
    if M-1>=i:
        ans+=i*(function(i,i)-N*(M-i)-M*(N-i))
        ans=ans%mod
    if i>=M and N-1>=i:
        ans+=i*(function(i,i)-function(i,i-M)-M*(N-i))
        ans=ans%mod
    if i>=N:
        ans+=i*(function(i,N-1)-function(i,i-M))
        ans=ans%mod

ans=ans*cmb(N*M-2,K-2,mod)
ans=ans%mod
print(ans) def cmb(n, r, mod):#コンビネーションの高速計算　
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod cmb if ( r<0 or r>n ):
        return 0
     r<0 or r>n r<0 r 0 r>n r n return 0 0 r = min(r, n-r) r min(r, n-r) min r n-r n r return g1[n] * g2[r] * g2[n-r] % mod g1[n] * g2[r] * g2[n-r] % mod g1[n] * g2[r] * g2[n-r] g1[n] * g2[r] g1[n] g1 n g2[r] g2 r g2[n-r] g2 n-r n r mod n n r r mod mod mod = 10**9+7 mod 10**9+7 10**9 10 9 7 N = 2*10**5 N 2*10**5 2 10**5 10 5 g1 = [1, 1] g1 [1, 1] 1 1 g2 = [1, 1] g2 [1, 1] 1 1 inverse = [0, 1] inverse [0, 1] 0 1 for i in range( 2, N + 1 ):
    g1.append( ( g1[-1] * i ) % mod )
    inverse.append( ( -inverse[mod % i] * (mod//i) ) % mod )
    g2.append( (g2[-1] * inverse[-1]) % mod ) i range( 2, N + 1 ) range 2 N + 1 N 1 g1.append( ( g1[-1] * i ) % mod ) g1.append g1 append ( g1[-1] * i ) % mod g1[-1] * i g1[-1] g1 -1 i mod inverse.append( ( -inverse[mod % i] * (mod//i) ) % mod ) inverse.append inverse append ( -inverse[mod % i] * (mod//i) ) % mod -inverse[mod % i] * (mod//i) -inverse[mod % i] inverse[mod % i] inverse mod % i mod i mod//i mod i mod g2.append( (g2[-1] * inverse[-1]) % mod ) g2.append g2 append (g2[-1] * inverse[-1]) % mod g2[-1] * inverse[-1] g2[-1] g2 -1 inverse[-1] inverse -1 mod def function(i,k):
    return -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M)+2*N*(k+1)*(M-i) function return -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M)+2*N*(k+1)*(M-i) -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M)+2*N*(k+1)*(M-i) -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M) -((k*(k+1)*(2*k+1))//3) (k*(k+1)*(2*k+1))//3 k*(k+1)*(2*k+1) k*(k+1) k k+1 k 1 2*k+1 2*k 2 k 1 3 k*(k+1)*(N+i-M) k*(k+1) k k+1 k 1 N+i-M N+i N i M 2*N*(k+1)*(M-i) 2*N*(k+1) 2*N 2 N k+1 k 1 M-i M i i i k k N,M,K=map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M K if M>N:
    N,M=M,N M>N M N N,M=M,N N M M N ans=0 ans 0 for i in range(1,N+M-1):
    if M-1>=i:
        ans+=i*(function(i,i)-N*(M-i)-M*(N-i))
        ans=ans%mod
    if i>=M and N-1>=i:
        ans+=i*(function(i,i)-function(i,i-M)-M*(N-i))
        ans=ans%mod
    if i>=N:
        ans+=i*(function(i,N-1)-function(i,i-M))
        ans=ans%mod i range(1,N+M-1) range 1 N+M-1 N+M N M 1 if M-1>=i:
        ans+=i*(function(i,i)-N*(M-i)-M*(N-i))
        ans=ans%mod
     M-1>=i M-1 M 1 i ans+=i*(function(i,i)-N*(M-i)-M*(N-i)) ans i*(function(i,i)-N*(M-i)-M*(N-i)) i function(i,i)-N*(M-i)-M*(N-i) function(i,i)-N*(M-i) function(i,i) function i i N*(M-i) N M-i M i M*(N-i) M N-i N i ans=ans%mod ans ans%mod ans mod if i>=M and N-1>=i:
        ans+=i*(function(i,i)-function(i,i-M)-M*(N-i))
        ans=ans%mod
     i>=M and N-1>=i i>=M i M N-1>=i N-1 N 1 i ans+=i*(function(i,i)-function(i,i-M)-M*(N-i)) ans i*(function(i,i)-function(i,i-M)-M*(N-i)) i function(i,i)-function(i,i-M)-M*(N-i) function(i,i)-function(i,i-M) function(i,i) function i i function(i,i-M) function i i-M i M M*(N-i) M N-i N i ans=ans%mod ans ans%mod ans mod if i>=N:
        ans+=i*(function(i,N-1)-function(i,i-M))
        ans=ans%mod i>=N i N ans+=i*(function(i,N-1)-function(i,i-M)) ans i*(function(i,N-1)-function(i,i-M)) i function(i,N-1)-function(i,i-M) function(i,N-1) function i N-1 N 1 function(i,i-M) function i i-M i M ans=ans%mod ans ans%mod ans mod ans=ans*cmb(N*M-2,K-2,mod) ans ans*cmb(N*M-2,K-2,mod) ans cmb(N*M-2,K-2,mod) cmb N*M-2 N*M N M 2 K-2 K 2 mod ans=ans%mod ans ans%mod ans mod print(ans) print ans N,M=M,N M N ans=ans%mod ans%mod ans mod = 10**9+7 10**9+7 mod N,M,K=map(int,input().split()) map(int,input().split()) N N = 2*10**5 2*10**5 N g2 = [1, 1] [1, 1] g2 K=map(int,input().split()) map(int,input().split()) K g1 = [1, 1] [1, 1] g1 ans=ans*cmb(N*M-2,K-2,mod) ans*cmb(N*M-2,K-2,mod) ans M,K=map(int,input().split()) map(int,input().split()) M ans=ans%mod ans%mod ans def function(i,k):
    return -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M)+2*N*(k+1)*(M-i) def function(i,k):
    return -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M)+2*N*(k+1)*(M-i) function M=M,N N M def cmb(n, r, mod):#コンビネーションの高速計算　
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod def cmb(n, r, mod):#コンビネーションの高速計算　
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod cmb ans+=i*(function(i,i)-function(i,i-M)-M*(N-i)) i*(function(i,i)-function(i,i-M)-M*(N-i)) ans ans=ans%mod ans%mod ans ans=0 0 ans ans+=i*(function(i,i)-N*(M-i)-M*(N-i)) i*(function(i,i)-N*(M-i)-M*(N-i)) ans ans=ans%mod ans%mod ans ans+=i*(function(i,N-1)-function(i,i-M)) i*(function(i,N-1)-function(i,i-M)) ans inverse = [0, 1] [0, 1] inverse
def cmb(n, r, mod):#コンビネーションの高速計算　
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod

mod = 10**9+7 #出力の制限
N = 2*10**5
g1 = [1, 1] # 元テーブル
g2 = [1, 1] #逆元テーブル
inverse = [0, 1] #逆元テーブル計算用テーブル

for i in range( 2, N + 1 ):
    g1.append( ( g1[-1] * i ) % mod )
    inverse.append( ( -inverse[mod % i] * (mod//i) ) % mod )
    g2.append( (g2[-1] * inverse[-1]) % mod )

def function(i,k):
    return -((k*(k+1)*(2*k+1))//3)+k*(k+1)*(N+i-M)+2*N*(k+1)*(M-i)

N,M,K=map(int,input().split())
if M>N:
    N,M=M,N
ans=0
for i in range(1,N+M-1):
    if M-1>=i:
        ans+=i*(function(i,i)-N*(M-i)-M*(N-i))
        ans=ans%mod
    if i>=M and N-1>=i:
        ans+=i*(function(i,i)-function(i,i-M)-M*(N-i))
        ans=ans%mod
    if i>=N:
        ans+=i*(function(i,N-1)-function(i,i-M))
        ans=ans%mod

ans=ans*cmb(N*M-2,K-2,mod)
ans=ans%mod
print(ans)