n, m, k = list(map(int, input().split()))

MAX = 2*10**5+1
MOD = 10**9+7
fact = [0 for i in range(MAX)]
inv = [0 for i in range(MAX)]
invfact = [0 for i in range(MAX)]

def comb_build(n):
  fact[0] = inv[0] = invfact[0] = 1
  fact[1] = inv[1] = invfact[1] = 1
  for i in range(2, n):
    fact[i] = fact[i-1]*i%MOD
    inv[i] = inv[MOD%i]*(MOD-MOD//i)%MOD
    invfact[i] = invfact[i-1]*inv[i]%MOD

def nCk(n, k):
  if n<k or n<0 or k<0:
    return 0
  return (((fact[n]*invfact[k])%MOD)*invfact[n-k])%MOD

comb_build(MAX)
ans = 0
t = nCk(n*m-2, k-2)
for i in range(1, n+1):
  ans += (((i*(n-i)*m*m)%MOD)*t)%MOD
for i in range(1, m+1):
  ans += (((i*(m-i)*n*n)%MOD)*t)%MOD
print(ans%MOD) n, m, k = list(map(int, input().split())) n list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split m k MAX = 2*10**5+1 MAX 2*10**5+1 2*10**5 2 10**5 10 5 1 MOD = 10**9+7 MOD 10**9+7 10**9 10 9 7 0 for i in range(MAX) for i in range(MAX) i range(MAX) range MAX for i in range(MAX) 0 fact = [0 for i in range(MAX)] fact [0 for i in range(MAX)] 0 for i in range(MAX) for i in range(MAX) i range(MAX) range MAX for i in range(MAX) 0 inv = [0 for i in range(MAX)] inv [0 for i in range(MAX)] 0 for i in range(MAX) for i in range(MAX) i range(MAX) range MAX for i in range(MAX) 0 invfact = [0 for i in range(MAX)] invfact [0 for i in range(MAX)] def comb_build(n):
  fact[0] = inv[0] = invfact[0] = 1
  fact[1] = inv[1] = invfact[1] = 1
  for i in range(2, n):
    fact[i] = fact[i-1]*i%MOD
    inv[i] = inv[MOD%i]*(MOD-MOD//i)%MOD
    invfact[i] = invfact[i-1]*inv[i]%MOD comb_build fact[0] = inv[0] = invfact[0] = 1 fact[0] fact 0 1 = inv[0] = invfact[0] = 1 inv[0] inv 0 1 invfact[0] invfact 0 fact[1] = inv[1] = invfact[1] = 1 fact[1] fact 1 1 = inv[1] = invfact[1] = 1 inv[1] inv 1 1 invfact[1] invfact 1 for i in range(2, n):
    fact[i] = fact[i-1]*i%MOD
    inv[i] = inv[MOD%i]*(MOD-MOD//i)%MOD
    invfact[i] = invfact[i-1]*inv[i]%MOD i range(2, n) range 2 n 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 inv[i] = inv[MOD%i]*(MOD-MOD//i)%MOD inv[i] inv i inv[MOD%i]*(MOD-MOD//i)%MOD inv[MOD%i]*(MOD-MOD//i) inv[MOD%i] inv MOD%i MOD i MOD-MOD//i MOD MOD//i MOD i MOD invfact[i] = invfact[i-1]*inv[i]%MOD invfact[i] invfact i invfact[i-1]*inv[i]%MOD invfact[i-1]*inv[i] invfact[i-1] invfact i-1 i 1 inv[i] inv i MOD n n def nCk(n, k):
  if n<k or n<0 or k<0:
    return 0
  return (((fact[n]*invfact[k])%MOD)*invfact[n-k])%MOD nCk 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 (((fact[n]*invfact[k])%MOD)*invfact[n-k])%MOD (((fact[n]*invfact[k])%MOD)*invfact[n-k])%MOD ((fact[n]*invfact[k])%MOD)*invfact[n-k] (fact[n]*invfact[k])%MOD fact[n]*invfact[k] fact[n] fact n invfact[k] invfact k MOD invfact[n-k] invfact n-k n k MOD n n k k comb_build(MAX) comb_build MAX ans = 0 ans 0 t = nCk(n*m-2, k-2) t nCk(n*m-2, k-2) nCk n*m-2 n*m n m 2 k-2 k 2 for i in range(1, n+1):
  ans += (((i*(n-i)*m*m)%MOD)*t)%MOD i range(1, n+1) range 1 n+1 n 1 ans += (((i*(n-i)*m*m)%MOD)*t)%MOD ans (((i*(n-i)*m*m)%MOD)*t)%MOD ((i*(n-i)*m*m)%MOD)*t (i*(n-i)*m*m)%MOD i*(n-i)*m*m i*(n-i)*m i*(n-i) i n-i n i m m MOD t MOD for i in range(1, m+1):
  ans += (((i*(m-i)*n*n)%MOD)*t)%MOD i range(1, m+1) range 1 m+1 m 1 ans += (((i*(m-i)*n*n)%MOD)*t)%MOD ans (((i*(m-i)*n*n)%MOD)*t)%MOD ((i*(m-i)*n*n)%MOD)*t (i*(m-i)*n*n)%MOD i*(m-i)*n*n i*(m-i)*n i*(m-i) i m-i m i n n MOD t MOD print(ans%MOD) print ans%MOD ans MOD MAX = 2*10**5+1 2*10**5+1 MAX t = nCk(n*m-2, k-2) nCk(n*m-2, k-2) t ans += (((i*(n-i)*m*m)%MOD)*t)%MOD (((i*(n-i)*m*m)%MOD)*t)%MOD ans def comb_build(n):
  fact[0] = inv[0] = invfact[0] = 1
  fact[1] = inv[1] = invfact[1] = 1
  for i in range(2, n):
    fact[i] = fact[i-1]*i%MOD
    inv[i] = inv[MOD%i]*(MOD-MOD//i)%MOD
    invfact[i] = invfact[i-1]*inv[i]%MOD def comb_build(n):
  fact[0] = inv[0] = invfact[0] = 1
  fact[1] = inv[1] = invfact[1] = 1
  for i in range(2, n):
    fact[i] = fact[i-1]*i%MOD
    inv[i] = inv[MOD%i]*(MOD-MOD//i)%MOD
    invfact[i] = invfact[i-1]*inv[i]%MOD comb_build ans = 0 0 ans k = list(map(int, input().split())) list(map(int, input().split())) k def nCk(n, k):
  if n<k or n<0 or k<0:
    return 0
  return (((fact[n]*invfact[k])%MOD)*invfact[n-k])%MOD def nCk(n, k):
  if n<k or n<0 or k<0:
    return 0
  return (((fact[n]*invfact[k])%MOD)*invfact[n-k])%MOD nCk n, m, k = list(map(int, input().split())) list(map(int, input().split())) n MOD = 10**9+7 10**9+7 MOD m, k = list(map(int, input().split())) list(map(int, input().split())) m inv = [0 for i in range(MAX)] [0 for i in range(MAX)] inv invfact = [0 for i in range(MAX)] [0 for i in range(MAX)] invfact ans += (((i*(m-i)*n*n)%MOD)*t)%MOD (((i*(m-i)*n*n)%MOD)*t)%MOD ans fact = [0 for i in range(MAX)] [0 for i in range(MAX)] fact
n, m, k = list(map(int, input().split()))

MAX = 2*10**5+1
MOD = 10**9+7
fact = [0 for i in range(MAX)]
inv = [0 for i in range(MAX)]
invfact = [0 for i in range(MAX)]

def comb_build(n):
  fact[0] = inv[0] = invfact[0] = 1
  fact[1] = inv[1] = invfact[1] = 1
  for i in range(2, n):
    fact[i] = fact[i-1]*i%MOD
    inv[i] = inv[MOD%i]*(MOD-MOD//i)%MOD
    invfact[i] = invfact[i-1]*inv[i]%MOD

def nCk(n, k):
  if n<k or n<0 or k<0:
    return 0
  return (((fact[n]*invfact[k])%MOD)*invfact[n-k])%MOD

comb_build(MAX)
ans = 0
t = nCk(n*m-2, k-2)
for i in range(1, n+1):
  ans += (((i*(n-i)*m*m)%MOD)*t)%MOD
for i in range(1, m+1):
  ans += (((i*(m-i)*n*n)%MOD)*t)%MOD
print(ans%MOD)