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
 
n,m,k=map(int,input().split())
mod=10**9+7
 
g1=[1,1]
g2=[1,1]
inverse=[0,1]
 
for i in range(2,n*m):
  g1.append((g1[-1]*i)%mod)
  inverse.append((-inverse[mod%i]*(mod//i))%mod)
  g2.append((g2[-1]*inverse[-1])%mod)

c=cmb(n*m-2,k-2,mod)
ans=0
for i in range(n):
  ans+=((n-i)*m*m*i*c)%mod
  ans%=mod
for i in range(m):
  ans+=((m-i)*n*n*i*c)%mod
  ans%=mod
print(ans%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 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 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 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*m):
  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*m) range 2 n*m n m 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 c=cmb(n*m-2,k-2,mod) c cmb(n*m-2,k-2,mod) cmb n*m-2 n*m n m 2 k-2 k 2 mod ans=0 ans 0 for i in range(n):
  ans+=((n-i)*m*m*i*c)%mod
  ans%=mod i range(n) range n ans+=((n-i)*m*m*i*c)%mod ans ((n-i)*m*m*i*c)%mod (n-i)*m*m*i*c (n-i)*m*m*i (n-i)*m*m (n-i)*m n-i n i m m i c mod ans%=mod ans mod for i in range(m):
  ans+=((m-i)*n*n*i*c)%mod
  ans%=mod i range(m) range m ans+=((m-i)*n*n*i*c)%mod ans ((m-i)*n*n*i*c)%mod (m-i)*n*n*i*c (m-i)*n*n*i (m-i)*n*n (m-i)*n m-i m i n n i c mod ans%=mod ans mod print(ans%mod) print ans%mod ans mod k=map(int,input().split()) map(int,input().split()) k c=cmb(n*m-2,k-2,mod) cmb(n*m-2,k-2,mod) c 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=0 0 ans n,m,k=map(int,input().split()) map(int,input().split()) n g2=[1,1] [1,1] g2 ans+=((m-i)*n*n*i*c)%mod ((m-i)*n*n*i*c)%mod ans g1=[1,1] [1,1] g1 ans%=mod mod ans mod=10**9+7 10**9+7 mod ans%=mod mod ans inverse=[0,1] [0,1] inverse ans+=((n-i)*m*m*i*c)%mod ((n-i)*m*m*i*c)%mod ans m,k=map(int,input().split()) map(int,input().split()) 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
 
n,m,k=map(int,input().split())
mod=10**9+7
 
g1=[1,1]
g2=[1,1]
inverse=[0,1]
 
for i in range(2,n*m):
  g1.append((g1[-1]*i)%mod)
  inverse.append((-inverse[mod%i]*(mod//i))%mod)
  g2.append((g2[-1]*inverse[-1])%mod)

c=cmb(n*m-2,k-2,mod)
ans=0
for i in range(n):
  ans+=((n-i)*m*m*i*c)%mod
  ans%=mod
for i in range(m):
  ans+=((m-i)*n*n*i*c)%mod
  ans%=mod
print(ans%mod)