n,m,k=map(int,input().split())
U = 2*10**5
MOD = 10**9+7
 
fact = [1]*(U+1)
fact_inv = [1]*(U+1)
 
for i in range(1,U+1):
  fact[i] = (fact[i-1]*i)%MOD
fact_inv[U] = pow(fact[U],MOD-2,MOD)
 
for i in range(U,0,-1):
	fact_inv[i-1] = (fact_inv[i]*i)%MOD
 
def comb(n,k):
  if k < 0 or k > n:
    return 0
  x = fact[n]
  x *= fact_inv[k]
  x %= MOD
  x *= fact_inv[n-k]
  x %= MOD
  return x

ans=0
for i in range(n):
    for j in range(m):
        if i!=0 and j!=0:
            ans+=2*(n-i)*(m-j)*(i+j)
        else:
            ans+=(n-i)*(m-j)*(i+j)
        ans%=MOD

print(ans*comb(n*m-2,k-2)%MOD)
 n,m,k=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m k U = 2*10**5 U 2*10**5 2 10**5 10 5 MOD = 10**9+7 MOD 10**9+7 10**9 10 9 7 fact = [1]*(U+1) fact [1]*(U+1) [1] 1 U+1 U 1 fact_inv = [1]*(U+1) fact_inv [1]*(U+1) [1] 1 U+1 U 1 for i in range(1,U+1):
  fact[i] = (fact[i-1]*i)%MOD i range(1,U+1) range 1 U+1 U 1 fact[i] = (fact[i-1]*i)%MOD fact[i] fact i (fact[i-1]*i)%MOD fact[i-1]*i fact[i-1] fact i-1 i 1 i MOD fact_inv[U] = pow(fact[U],MOD-2,MOD) fact_inv[U] fact_inv U pow(fact[U],MOD-2,MOD) pow fact[U] fact U MOD-2 MOD 2 MOD for i in range(U,0,-1):
	fact_inv[i-1] = (fact_inv[i]*i)%MOD
  i range(U,0,-1) range U 0 -1 fact_inv[i-1] = (fact_inv[i]*i)%MOD fact_inv[i-1] fact_inv i-1 i 1 (fact_inv[i]*i)%MOD fact_inv[i]*i fact_inv[i] fact_inv i i MOD def comb(n,k):
  if k < 0 or k > n:
    return 0
  x = fact[n]
  x *= fact_inv[k]
  x %= MOD
  x *= fact_inv[n-k]
  x %= MOD
  return x comb if k < 0 or k > n:
    return 0
   k < 0 or k > n k < 0 k 0 k > n k n return 0 0 x = fact[n] x fact[n] fact n x *= fact_inv[k] x fact_inv[k] fact_inv k x %= MOD x MOD x *= fact_inv[n-k] x fact_inv[n-k] fact_inv n-k n k x %= MOD x MOD return x x n n k k ans=0 ans 0 for i in range(n):
    for j in range(m):
        if i!=0 and j!=0:
            ans+=2*(n-i)*(m-j)*(i+j)
        else:
            ans+=(n-i)*(m-j)*(i+j)
        ans%=MOD i range(n) range n for j in range(m):
        if i!=0 and j!=0:
            ans+=2*(n-i)*(m-j)*(i+j)
        else:
            ans+=(n-i)*(m-j)*(i+j)
        ans%=MOD j range(m) range m if i!=0 and j!=0:
            ans+=2*(n-i)*(m-j)*(i+j)
        else:
            ans+=(n-i)*(m-j)*(i+j)
         i!=0 and j!=0 i!=0 i 0 j!=0 j 0 ans+=2*(n-i)*(m-j)*(i+j) ans 2*(n-i)*(m-j)*(i+j) 2*(n-i)*(m-j) 2*(n-i) 2 n-i n i m-j m j i+j i j ans+=(n-i)*(m-j)*(i+j) ans (n-i)*(m-j)*(i+j) (n-i)*(m-j) n-i n i m-j m j i+j i j ans%=MOD ans MOD print(ans*comb(n*m-2,k-2)%MOD) print ans*comb(n*m-2,k-2)%MOD ans*comb(n*m-2,k-2) ans comb(n*m-2,k-2) comb n*m-2 n*m n m 2 k-2 k 2 MOD ans+=2*(n-i)*(m-j)*(i+j) 2*(n-i)*(m-j)*(i+j) ans MOD = 10**9+7 10**9+7 MOD n,m,k=map(int,input().split()) map(int,input().split()) n ans=0 0 ans ans+=(n-i)*(m-j)*(i+j) (n-i)*(m-j)*(i+j) ans U = 2*10**5 2*10**5 U ans%=MOD MOD ans m,k=map(int,input().split()) map(int,input().split()) m fact = [1]*(U+1) [1]*(U+1) fact def comb(n,k):
  if k < 0 or k > n:
    return 0
  x = fact[n]
  x *= fact_inv[k]
  x %= MOD
  x *= fact_inv[n-k]
  x %= MOD
  return x def comb(n,k):
  if k < 0 or k > n:
    return 0
  x = fact[n]
  x *= fact_inv[k]
  x %= MOD
  x *= fact_inv[n-k]
  x %= MOD
  return x comb fact_inv = [1]*(U+1) [1]*(U+1) fact_inv k=map(int,input().split()) map(int,input().split()) k
n,m,k=map(int,input().split())
U = 2*10**5
MOD = 10**9+7
 
fact = [1]*(U+1)
fact_inv = [1]*(U+1)
 
for i in range(1,U+1):
  fact[i] = (fact[i-1]*i)%MOD
fact_inv[U] = pow(fact[U],MOD-2,MOD)
 
for i in range(U,0,-1):
	fact_inv[i-1] = (fact_inv[i]*i)%MOD
 
def comb(n,k):
  if k < 0 or k > n:
    return 0
  x = fact[n]
  x *= fact_inv[k]
  x %= MOD
  x *= fact_inv[n-k]
  x %= MOD
  return x

ans=0
for i in range(n):
    for j in range(m):
        if i!=0 and j!=0:
            ans+=2*(n-i)*(m-j)*(i+j)
        else:
            ans+=(n-i)*(m-j)*(i+j)
        ans%=MOD

print(ans*comb(n*m-2,k-2)%MOD)

