# -*- coding: utf-8 -*-
import sys
sys.setrecursionlimit(10**9)
INF=10**18
MOD=10**9+7
input=lambda: sys.stdin.readline().rstrip()
YesNo=lambda b: bool([print('Yes')] if b else print('No'))
YESNO=lambda b: bool([print('YES')] if b else print('NO'))
int1=lambda x:int(x)-1

def main():
    N,M,K=map(int,input().split())
    
    def COMinit(n,MOD):
        fac,finv,inv=[0]*max(2,n+1),[0]*max(2,n+1),[0]*max(2,n+1)
        fac[0]=fac[1]=1
        finv[0]=finv[1]=1
        inv[1]=1
        for i in range(2,(n+1)):
            fac[i]=fac[i-1]*i%MOD
            inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD
            finv[i]=finv[i-1]*inv[i]%MOD
        return fac,finv,inv
    
    fac,finv,inv=COMinit(N*M,MOD)
    
    def COM(n, k, MOD):
        if n<k or n<0 or k<0:
            return 0
        return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD
    
    ans=0
    for a,b in [(N,M),(M,N)]:
        for i in range(1,a):
            ans+=(i*(a-i)*b**2)
            ans%=MOD
    ans*=COM(N*M-2,K-2,MOD)
    ans%=MOD
    print(ans)

if __name__ == '__main__':
    main() import sys sys sys.setrecursionlimit(10**9) sys.setrecursionlimit sys setrecursionlimit 10**9 10 9 INF=10**18 INF 10**18 10 18 MOD=10**9+7 MOD 10**9+7 10**9 10 9 7 input=lambda: sys.stdin.readline().rstrip() input lambda: sys.stdin.readline().rstrip() sys.stdin.readline().rstrip() sys.stdin.readline().rstrip sys.stdin.readline() sys.stdin.readline sys.stdin sys stdin readline rstrip YesNo=lambda b: bool([print('Yes')] if b else print('No')) YesNo lambda b: bool([print('Yes')] if b else print('No')) bool([print('Yes')] if b else print('No')) bool [print('Yes')] if b else print('No') b [print('Yes')] print('Yes') print 'Yes' print('No') print 'No' b YESNO=lambda b: bool([print('YES')] if b else print('NO')) YESNO lambda b: bool([print('YES')] if b else print('NO')) bool([print('YES')] if b else print('NO')) bool [print('YES')] if b else print('NO') b [print('YES')] print('YES') print 'YES' print('NO') print 'NO' b int1=lambda x:int(x)-1 int1 lambda x:int(x)-1 int(x)-1 int(x) int x 1 x def main():
    N,M,K=map(int,input().split())
    
    def COMinit(n,MOD):
        fac,finv,inv=[0]*max(2,n+1),[0]*max(2,n+1),[0]*max(2,n+1)
        fac[0]=fac[1]=1
        finv[0]=finv[1]=1
        inv[1]=1
        for i in range(2,(n+1)):
            fac[i]=fac[i-1]*i%MOD
            inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD
            finv[i]=finv[i-1]*inv[i]%MOD
        return fac,finv,inv
    
    fac,finv,inv=COMinit(N*M,MOD)
    
    def COM(n, k, MOD):
        if n<k or n<0 or k<0:
            return 0
        return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD
    
    ans=0
    for a,b in [(N,M),(M,N)]:
        for i in range(1,a):
            ans+=(i*(a-i)*b**2)
            ans%=MOD
    ans*=COM(N*M-2,K-2,MOD)
    ans%=MOD
    print(ans) main N,M,K=map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M K def COMinit(n,MOD):
        fac,finv,inv=[0]*max(2,n+1),[0]*max(2,n+1),[0]*max(2,n+1)
        fac[0]=fac[1]=1
        finv[0]=finv[1]=1
        inv[1]=1
        for i in range(2,(n+1)):
            fac[i]=fac[i-1]*i%MOD
            inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD
            finv[i]=finv[i-1]*inv[i]%MOD
        return fac,finv,inv
    
     COMinit fac,finv,inv=[0]*max(2,n+1),[0]*max(2,n+1),[0]*max(2,n+1) fac [0]*max(2,n+1) [0] 0 max(2,n+1) max 2 n+1 n 1 finv [0]*max(2,n+1) [0] 0 max(2,n+1) max 2 n+1 n 1 inv [0]*max(2,n+1) [0] 0 max(2,n+1) max 2 n+1 n 1 fac[0]=fac[1]=1 fac[0] fac 0 1 =fac[1]=1 fac[1] fac 1 1 finv[0]=finv[1]=1 finv[0] finv 0 1 =finv[1]=1 finv[1] finv 1 1 inv[1]=1 inv[1] inv 1 1 for i in range(2,(n+1)):
            fac[i]=fac[i-1]*i%MOD
            inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD
            finv[i]=finv[i-1]*inv[i]%MOD
         i range(2,(n+1)) range 2 n+1 n 1 fac[i]=fac[i-1]*i%MOD fac[i] fac i fac[i-1]*i%MOD fac[i-1]*i fac[i-1] fac i-1 i 1 i MOD inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD inv[i] inv i MOD-inv[MOD%i]*(MOD//i)%MOD MOD inv[MOD%i]*(MOD//i)%MOD inv[MOD%i]*(MOD//i) inv[MOD%i] inv MOD%i MOD i MOD//i MOD i MOD finv[i]=finv[i-1]*inv[i]%MOD finv[i] finv i finv[i-1]*inv[i]%MOD finv[i-1]*inv[i] finv[i-1] finv i-1 i 1 inv[i] inv i MOD return fac,finv,inv return fac,finv,inv fac finv inv n n MOD MOD fac,finv,inv=COMinit(N*M,MOD) fac COMinit(N*M,MOD) COMinit N*M N M MOD finv inv def COM(n, k, MOD):
        if n<k or n<0 or k<0:
            return 0
        return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD
    
     COM if n<k or n<0 or k<0:
            return 0
         n<k or n<0 or k<0 n<k or n<0 n<k n k n<0 n 0 k<0 k 0 return 0 0 return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD fac[n]*(finv[k]*finv[n-k]%MOD)%MOD fac[n]*(finv[k]*finv[n-k]%MOD) fac[n] fac n finv[k]*finv[n-k]%MOD finv[k]*finv[n-k] finv[k] finv k finv[n-k] finv n-k n k MOD MOD n n k k MOD MOD ans=0 ans 0 for a,b in [(N,M),(M,N)]:
        for i in range(1,a):
            ans+=(i*(a-i)*b**2)
            ans%=MOD
     a b [(N,M),(M,N)] (N,M) N M (M,N) M N for i in range(1,a):
            ans+=(i*(a-i)*b**2)
            ans%=MOD
     i range(1,a) range 1 a ans+=(i*(a-i)*b**2) ans i*(a-i)*b**2 i*(a-i) i a-i a i b**2 b 2 ans%=MOD ans MOD ans*=COM(N*M-2,K-2,MOD) ans COM(N*M-2,K-2,MOD) COM N*M-2 N*M N M 2 K-2 K 2 MOD ans%=MOD ans MOD print(ans) print ans if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main int1=lambda x:int(x)-1 lambda x:int(x)-1 int1 input=lambda: sys.stdin.readline().rstrip() lambda: sys.stdin.readline().rstrip() input YESNO=lambda b: bool([print('YES')] if b else print('NO')) lambda b: bool([print('YES')] if b else print('NO')) YESNO MOD=10**9+7 10**9+7 MOD INF=10**18 10**18 INF def main():
    N,M,K=map(int,input().split())
    
    def COMinit(n,MOD):
        fac,finv,inv=[0]*max(2,n+1),[0]*max(2,n+1),[0]*max(2,n+1)
        fac[0]=fac[1]=1
        finv[0]=finv[1]=1
        inv[1]=1
        for i in range(2,(n+1)):
            fac[i]=fac[i-1]*i%MOD
            inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD
            finv[i]=finv[i-1]*inv[i]%MOD
        return fac,finv,inv
    
    fac,finv,inv=COMinit(N*M,MOD)
    
    def COM(n, k, MOD):
        if n<k or n<0 or k<0:
            return 0
        return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD
    
    ans=0
    for a,b in [(N,M),(M,N)]:
        for i in range(1,a):
            ans+=(i*(a-i)*b**2)
            ans%=MOD
    ans*=COM(N*M-2,K-2,MOD)
    ans%=MOD
    print(ans) def main():
    N,M,K=map(int,input().split())
    
    def COMinit(n,MOD):
        fac,finv,inv=[0]*max(2,n+1),[0]*max(2,n+1),[0]*max(2,n+1)
        fac[0]=fac[1]=1
        finv[0]=finv[1]=1
        inv[1]=1
        for i in range(2,(n+1)):
            fac[i]=fac[i-1]*i%MOD
            inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD
            finv[i]=finv[i-1]*inv[i]%MOD
        return fac,finv,inv
    
    fac,finv,inv=COMinit(N*M,MOD)
    
    def COM(n, k, MOD):
        if n<k or n<0 or k<0:
            return 0
        return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD
    
    ans=0
    for a,b in [(N,M),(M,N)]:
        for i in range(1,a):
            ans+=(i*(a-i)*b**2)
            ans%=MOD
    ans*=COM(N*M-2,K-2,MOD)
    ans%=MOD
    print(ans) main YesNo=lambda b: bool([print('Yes')] if b else print('No')) lambda b: bool([print('Yes')] if b else print('No')) YesNo
# -*- coding: utf-8 -*-
import sys
sys.setrecursionlimit(10**9)
INF=10**18
MOD=10**9+7
input=lambda: sys.stdin.readline().rstrip()
YesNo=lambda b: bool([print('Yes')] if b else print('No'))
YESNO=lambda b: bool([print('YES')] if b else print('NO'))
int1=lambda x:int(x)-1

def main():
    N,M,K=map(int,input().split())
    
    def COMinit(n,MOD):
        fac,finv,inv=[0]*max(2,n+1),[0]*max(2,n+1),[0]*max(2,n+1)
        fac[0]=fac[1]=1
        finv[0]=finv[1]=1
        inv[1]=1
        for i in range(2,(n+1)):
            fac[i]=fac[i-1]*i%MOD
            inv[i]=MOD-inv[MOD%i]*(MOD//i)%MOD
            finv[i]=finv[i-1]*inv[i]%MOD
        return fac,finv,inv
    
    fac,finv,inv=COMinit(N*M,MOD)
    
    def COM(n, k, MOD):
        if n<k or n<0 or k<0:
            return 0
        return fac[n]*(finv[k]*finv[n-k]%MOD)%MOD
    
    ans=0
    for a,b in [(N,M),(M,N)]:
        for i in range(1,a):
            ans+=(i*(a-i)*b**2)
            ans%=MOD
    ans*=COM(N*M-2,K-2,MOD)
    ans%=MOD
    print(ans)

if __name__ == '__main__':
    main()
