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


mod = 10 ** 9 + 7
N = 10 ** 6

#逆元テーブル
inv_t = [0]+[1]
for i in range(2, N):
  inv_t += [inv_t[mod % i] * (mod - int(mod / i)) % mod]

#階乗計算
kai = [1, 1]
rev_kai = [1, inv_t[1]]
for i in range(2, N):
	kai.append(kai[-1] * i % mod)
	rev_kai.append(rev_kai[-1] * inv_t[i] % mod)

# コンビネーション計算
def cmb(n,r):
    res = 1
    for i in range(r):
        res *= n * inv_t[r]
        res %= mod
        n -= 1
        r -= 1
    return res

def calc(n):
    res = 0
    for i in range(1, n):
        res += (n - i) * i
        res %= mod
    return res

ans = 0
ans += m * m * cmb(n*m -2, k-2) * calc(n)
ans %= mod

ans += n * n * cmb(n*m -2, k-2) * calc(m)
ans %= mod

print(ans) 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 N = 10 ** 6 N 10 ** 6 10 6 inv_t = [0]+[1] inv_t [0]+[1] [0] 0 [1] 1 for i in range(2, N):
  inv_t += [inv_t[mod % i] * (mod - int(mod / i)) % mod]

#階乗計算 i range(2, N) range 2 N inv_t += [inv_t[mod % i] * (mod - int(mod / i)) % mod] inv_t [inv_t[mod % i] * (mod - int(mod / i)) % mod] inv_t[mod % i] * (mod - int(mod / i)) % mod inv_t[mod % i] * (mod - int(mod / i)) inv_t[mod % i] inv_t mod % i mod i mod - int(mod / i) mod int(mod / i) int mod / i mod i mod kai = [1, 1] kai [1, 1] 1 1 rev_kai = [1, inv_t[1]] rev_kai [1, inv_t[1]] 1 inv_t[1] inv_t 1 for i in range(2, N):
	kai.append(kai[-1] * i % mod)
	rev_kai.append(rev_kai[-1] * inv_t[i] % mod)

# コンビネーション計算 i range(2, N) range 2 N kai.append(kai[-1] * i % mod) kai.append kai append kai[-1] * i % mod kai[-1] * i kai[-1] kai -1 i mod rev_kai.append(rev_kai[-1] * inv_t[i] % mod) rev_kai.append rev_kai append rev_kai[-1] * inv_t[i] % mod rev_kai[-1] * inv_t[i] rev_kai[-1] rev_kai -1 inv_t[i] inv_t i mod def cmb(n,r):
    res = 1
    for i in range(r):
        res *= n * inv_t[r]
        res %= mod
        n -= 1
        r -= 1
    return res cmb res = 1 res 1 for i in range(r):
        res *= n * inv_t[r]
        res %= mod
        n -= 1
        r -= 1
     i range(r) range r res *= n * inv_t[r] res n * inv_t[r] n inv_t[r] inv_t r res %= mod res mod n -= 1 n 1 r -= 1 r 1 return res res n n r r def calc(n):
    res = 0
    for i in range(1, n):
        res += (n - i) * i
        res %= mod
    return res calc res = 0 res 0 for i in range(1, n):
        res += (n - i) * i
        res %= mod
     i range(1, n) range 1 n res += (n - i) * i res (n - i) * i n - i n i i res %= mod res mod return res res n n ans = 0 ans 0 ans += m * m * cmb(n*m -2, k-2) * calc(n) ans m * m * cmb(n*m -2, k-2) * calc(n) m * m * cmb(n*m -2, k-2) m * m m m cmb(n*m -2, k-2) cmb n*m -2 n*m n m 2 k-2 k 2 calc(n) calc n ans %= mod ans mod ans += n * n * cmb(n*m -2, k-2) * calc(m) ans n * n * cmb(n*m -2, k-2) * calc(m) n * n * cmb(n*m -2, k-2) n * n n n cmb(n*m -2, k-2) cmb n*m -2 n*m n m 2 k-2 k 2 calc(m) calc m ans %= mod ans mod print(ans) print ans def cmb(n,r):
    res = 1
    for i in range(r):
        res *= n * inv_t[r]
        res %= mod
        n -= 1
        r -= 1
    return res def cmb(n,r):
    res = 1
    for i in range(r):
        res *= n * inv_t[r]
        res %= mod
        n -= 1
        r -= 1
    return res cmb mod = 10 ** 9 + 7 10 ** 9 + 7 mod inv_t += [inv_t[mod % i] * (mod - int(mod / i)) % mod] [inv_t[mod % i] * (mod - int(mod / i)) % mod] inv_t ans = 0 0 ans ans %= mod mod ans ans += n * n * cmb(n*m -2, k-2) * calc(m) n * n * cmb(n*m -2, k-2) * calc(m) ans rev_kai = [1, inv_t[1]] [1, inv_t[1]] rev_kai inv_t = [0]+[1] [0]+[1] inv_t kai = [1, 1] [1, 1] kai m, k = map(int, input().split()) map(int, input().split()) m n, m, k = map(int, input().split()) map(int, input().split()) n k = map(int, input().split()) map(int, input().split()) k ans += m * m * cmb(n*m -2, k-2) * calc(n) m * m * cmb(n*m -2, k-2) * calc(n) ans def calc(n):
    res = 0
    for i in range(1, n):
        res += (n - i) * i
        res %= mod
    return res def calc(n):
    res = 0
    for i in range(1, n):
        res += (n - i) * i
        res %= mod
    return res calc N = 10 ** 6 10 ** 6 N ans %= mod mod ans
n, m, k = map(int, input().split())


mod = 10 ** 9 + 7
N = 10 ** 6

#逆元テーブル
inv_t = [0]+[1]
for i in range(2, N):
  inv_t += [inv_t[mod % i] * (mod - int(mod / i)) % mod]

#階乗計算
kai = [1, 1]
rev_kai = [1, inv_t[1]]
for i in range(2, N):
	kai.append(kai[-1] * i % mod)
	rev_kai.append(rev_kai[-1] * inv_t[i] % mod)

# コンビネーション計算
def cmb(n,r):
    res = 1
    for i in range(r):
        res *= n * inv_t[r]
        res %= mod
        n -= 1
        r -= 1
    return res

def calc(n):
    res = 0
    for i in range(1, n):
        res += (n - i) * i
        res %= mod
    return res

ans = 0
ans += m * m * cmb(n*m -2, k-2) * calc(n)
ans %= mod

ans += n * n * cmb(n*m -2, k-2) * calc(m)
ans %= mod

print(ans)
