def factorials(M):#M!までのリストｘと其の逆元のリストyを返すmod INF
    INF=int(1e9+7)
    fac=[0]*(M+1)
    finv=[0]*(M+1)
    inv=[0]*(M+1)
    fac[0]=fac[1]=1
    finv[0]=finv[1]=1
    inv[1]=1
    for i in range(2,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
    return fac,finv
def nCr(n,r):
    INF=int(1e9+7)
    if n<r or r<0 or n<0 :
        return 0
    return fac[n]*(finv[r]*finv[n-r]%INF)%INF

N,M,K=map(int,input().split())
MOD=10**9+7
fac,finv=factorials(N*M)
ans=0
for d in range(1,N):
    ans+=d*nCr(N*M-2,K-2)*(((N-d)*M**2)%MOD)
    ans%=MOD
for d in range(1,M):
    ans+=d*nCr(N*M-2,K-2)*(((M-d)*N**2)%MOD)
print(ans%MOD) def factorials(M):#M!までのリストｘと其の逆元のリストyを返すmod INF
    INF=int(1e9+7)
    fac=[0]*(M+1)
    finv=[0]*(M+1)
    inv=[0]*(M+1)
    fac[0]=fac[1]=1
    finv[0]=finv[1]=1
    inv[1]=1
    for i in range(2,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
    return fac,finv factorials INF=int(1e9+7) INF int(1e9+7) int 1e9+7 1e9 7 fac=[0]*(M+1) fac [0]*(M+1) [0] 0 M+1 M 1 finv=[0]*(M+1) finv [0]*(M+1) [0] 0 M+1 M 1 inv=[0]*(M+1) inv [0]*(M+1) [0] 0 M+1 M 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,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
     i range(2,M+1) range 2 M+1 M 1 fac[i]=(fac[i-1]*i)%INF fac[i] fac i (fac[i-1]*i)%INF fac[i-1]*i fac[i-1] fac i-1 i 1 i INF inv[i]=INF-(inv[INF%i]*(INF//i))%INF inv[i] inv i INF-(inv[INF%i]*(INF//i))%INF INF (inv[INF%i]*(INF//i))%INF inv[INF%i]*(INF//i) inv[INF%i] inv INF%i INF i INF//i INF i INF finv[i]=finv[i-1]*inv[i]%INF finv[i] finv i finv[i-1]*inv[i]%INF finv[i-1]*inv[i] finv[i-1] finv i-1 i 1 inv[i] inv i INF return fac,finv return fac,finv fac finv M M def nCr(n,r):
    INF=int(1e9+7)
    if n<r or r<0 or n<0 :
        return 0
    return fac[n]*(finv[r]*finv[n-r]%INF)%INF nCr INF=int(1e9+7) INF int(1e9+7) int 1e9+7 1e9 7 if n<r or r<0 or n<0 :
        return 0
     n<r or r<0 or n<0 n<r or r<0 n<r n r r<0 r 0 n<0 n 0 return 0 0 return fac[n]*(finv[r]*finv[n-r]%INF)%INF fac[n]*(finv[r]*finv[n-r]%INF)%INF fac[n]*(finv[r]*finv[n-r]%INF) fac[n] fac n finv[r]*finv[n-r]%INF finv[r]*finv[n-r] finv[r] finv r finv[n-r] finv n-r n r INF INF n n r r 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 fac,finv=factorials(N*M) fac factorials(N*M) factorials N*M N M finv ans=0 ans 0 for d in range(1,N):
    ans+=d*nCr(N*M-2,K-2)*(((N-d)*M**2)%MOD)
    ans%=MOD d range(1,N) range 1 N ans+=d*nCr(N*M-2,K-2)*(((N-d)*M**2)%MOD) ans d*nCr(N*M-2,K-2)*(((N-d)*M**2)%MOD) d*nCr(N*M-2,K-2) d nCr(N*M-2,K-2) nCr N*M-2 N*M N M 2 K-2 K 2 ((N-d)*M**2)%MOD (N-d)*M**2 N-d N d M**2 M 2 MOD ans%=MOD ans MOD for d in range(1,M):
    ans+=d*nCr(N*M-2,K-2)*(((M-d)*N**2)%MOD) d range(1,M) range 1 M ans+=d*nCr(N*M-2,K-2)*(((M-d)*N**2)%MOD) ans d*nCr(N*M-2,K-2)*(((M-d)*N**2)%MOD) d*nCr(N*M-2,K-2) d nCr(N*M-2,K-2) nCr N*M-2 N*M N M 2 K-2 K 2 ((M-d)*N**2)%MOD (M-d)*N**2 M-d M d N**2 N 2 MOD print(ans%MOD) print ans%MOD ans MOD fac,finv=factorials(N*M) factorials(N*M) fac ans+=d*nCr(N*M-2,K-2)*(((N-d)*M**2)%MOD) d*nCr(N*M-2,K-2)*(((N-d)*M**2)%MOD) ans N,M,K=map(int,input().split()) map(int,input().split()) N ans%=MOD MOD ans ans=0 0 ans def factorials(M):#M!までのリストｘと其の逆元のリストyを返すmod INF
    INF=int(1e9+7)
    fac=[0]*(M+1)
    finv=[0]*(M+1)
    inv=[0]*(M+1)
    fac[0]=fac[1]=1
    finv[0]=finv[1]=1
    inv[1]=1
    for i in range(2,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
    return fac,finv def factorials(M):#M!までのリストｘと其の逆元のリストyを返すmod INF
    INF=int(1e9+7)
    fac=[0]*(M+1)
    finv=[0]*(M+1)
    inv=[0]*(M+1)
    fac[0]=fac[1]=1
    finv[0]=finv[1]=1
    inv[1]=1
    for i in range(2,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
    return fac,finv factorials MOD=10**9+7 10**9+7 MOD ans+=d*nCr(N*M-2,K-2)*(((M-d)*N**2)%MOD) d*nCr(N*M-2,K-2)*(((M-d)*N**2)%MOD) ans M,K=map(int,input().split()) map(int,input().split()) M finv=factorials(N*M) factorials(N*M) finv def nCr(n,r):
    INF=int(1e9+7)
    if n<r or r<0 or n<0 :
        return 0
    return fac[n]*(finv[r]*finv[n-r]%INF)%INF def nCr(n,r):
    INF=int(1e9+7)
    if n<r or r<0 or n<0 :
        return 0
    return fac[n]*(finv[r]*finv[n-r]%INF)%INF nCr K=map(int,input().split()) map(int,input().split()) K
def factorials(M):#M!までのリストｘと其の逆元のリストyを返すmod INF
    INF=int(1e9+7)
    fac=[0]*(M+1)
    finv=[0]*(M+1)
    inv=[0]*(M+1)
    fac[0]=fac[1]=1
    finv[0]=finv[1]=1
    inv[1]=1
    for i in range(2,M+1):
        fac[i]=(fac[i-1]*i)%INF
        inv[i]=INF-(inv[INF%i]*(INF//i))%INF
        finv[i]=finv[i-1]*inv[i]%INF
    return fac,finv
def nCr(n,r):
    INF=int(1e9+7)
    if n<r or r<0 or n<0 :
        return 0
    return fac[n]*(finv[r]*finv[n-r]%INF)%INF

N,M,K=map(int,input().split())
MOD=10**9+7
fac,finv=factorials(N*M)
ans=0
for d in range(1,N):
    ans+=d*nCr(N*M-2,K-2)*(((N-d)*M**2)%MOD)
    ans%=MOD
for d in range(1,M):
    ans+=d*nCr(N*M-2,K-2)*(((M-d)*N**2)%MOD)
print(ans%MOD)
