def cmb(n, r, p):
  if (r < 0) or (n < r):
    return 0
  r = min(r, n - r)
  return fac[n]*finv[r]*finv[n-r]%p

n,m,K = map(int,input().split())
MOD = pow(10,9)+7
N = pow(10,6)
fac = [-1]*(N+1); fac[0] = 1; fac[1] = 1 #階乗
finv = [-1]*(N+1); finv[0] = 1; finv[1] = 1 #階乗の逆元
inv = [-1]*(N+1); inv[0] = 0; 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

factor = cmb(n*m-2,K-2,MOD)
X = factor*(m-1)*m*(m+1)//6*n*n%MOD
Y = factor*(n-1)*n*(n+1)//6*m*m%MOD
#print(X,Y)
ans = (X+Y)%MOD
print(ans) def cmb(n, r, p):
  if (r < 0) or (n < r):
    return 0
  r = min(r, n - r)
  return fac[n]*finv[r]*finv[n-r]%p cmb if (r < 0) or (n < r):
    return 0
   (r < 0) or (n < r) r < 0 r 0 n < r n r return 0 0 r = min(r, n - r) r min(r, n - r) min r n - r n r return fac[n]*finv[r]*finv[n-r]%p fac[n]*finv[r]*finv[n-r]%p fac[n]*finv[r]*finv[n-r] fac[n]*finv[r] fac[n] fac n finv[r] finv r finv[n-r] finv n-r n r p n n r r p p n,m,K = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m K MOD = pow(10,9)+7 MOD pow(10,9)+7 pow(10,9) pow 10 9 7 N = pow(10,6) N pow(10,6) pow 10 6 fac = [-1]*(N+1) fac [-1]*(N+1) [-1] -1 N+1 N 1 fac[0] = 1 fac[0] fac 0 1 fac[1] = 1 fac[1] fac 1 1 finv = [-1]*(N+1) finv [-1]*(N+1) [-1] -1 N+1 N 1 finv[0] = 1 finv[0] finv 0 1 finv[1] = 1 finv[1] finv 1 1 inv = [-1]*(N+1) inv [-1]*(N+1) [-1] -1 N+1 N 1 inv[0] = 0 inv[0] inv 0 0 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 factor = cmb(n*m-2,K-2,MOD) factor cmb(n*m-2,K-2,MOD) cmb n*m-2 n*m n m 2 K-2 K 2 MOD X = factor*(m-1)*m*(m+1)//6*n*n%MOD X factor*(m-1)*m*(m+1)//6*n*n%MOD factor*(m-1)*m*(m+1)//6*n*n factor*(m-1)*m*(m+1)//6*n factor*(m-1)*m*(m+1)//6 factor*(m-1)*m*(m+1) factor*(m-1)*m factor*(m-1) factor m-1 m 1 m m+1 m 1 6 n n MOD Y = factor*(n-1)*n*(n+1)//6*m*m%MOD Y factor*(n-1)*n*(n+1)//6*m*m%MOD factor*(n-1)*n*(n+1)//6*m*m factor*(n-1)*n*(n+1)//6*m factor*(n-1)*n*(n+1)//6 factor*(n-1)*n*(n+1) factor*(n-1)*n factor*(n-1) factor n-1 n 1 n n+1 n 1 6 m m MOD ans = (X+Y)%MOD ans (X+Y)%MOD X+Y X Y MOD print(ans) print ans m,K = map(int,input().split()) map(int,input().split()) m finv = [-1]*(N+1) [-1]*(N+1) finv MOD = pow(10,9)+7 pow(10,9)+7 MOD def cmb(n, r, p):
  if (r < 0) or (n < r):
    return 0
  r = min(r, n - r)
  return fac[n]*finv[r]*finv[n-r]%p def cmb(n, r, p):
  if (r < 0) or (n < r):
    return 0
  r = min(r, n - r)
  return fac[n]*finv[r]*finv[n-r]%p cmb n,m,K = map(int,input().split()) map(int,input().split()) n Y = factor*(n-1)*n*(n+1)//6*m*m%MOD factor*(n-1)*n*(n+1)//6*m*m%MOD Y N = pow(10,6) pow(10,6) N factor = cmb(n*m-2,K-2,MOD) cmb(n*m-2,K-2,MOD) factor X = factor*(m-1)*m*(m+1)//6*n*n%MOD factor*(m-1)*m*(m+1)//6*n*n%MOD X ans = (X+Y)%MOD (X+Y)%MOD ans fac = [-1]*(N+1) [-1]*(N+1) fac inv = [-1]*(N+1) [-1]*(N+1) inv K = map(int,input().split()) map(int,input().split()) K
def cmb(n, r, p):
  if (r < 0) or (n < r):
    return 0
  r = min(r, n - r)
  return fac[n]*finv[r]*finv[n-r]%p

n,m,K = map(int,input().split())
MOD = pow(10,9)+7
N = pow(10,6)
fac = [-1]*(N+1); fac[0] = 1; fac[1] = 1 #階乗
finv = [-1]*(N+1); finv[0] = 1; finv[1] = 1 #階乗の逆元
inv = [-1]*(N+1); inv[0] = 0; 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

factor = cmb(n*m-2,K-2,MOD)
X = factor*(m-1)*m*(m+1)//6*n*n%MOD
Y = factor*(n-1)*n*(n+1)//6*m*m%MOD
#print(X,Y)
ans = (X+Y)%MOD
print(ans)