n, m, k = map(int, input().split())
mod = 10**9 + 7

fac = [1] * n*m
finv = [1] * n*m
inv = [1] * n*m

ans = 0
def COMinit():
    for i in range(2, n*m):
        fac[i] = fac[i - 1] * i % mod
        inv[i] = mod - inv[mod % i] * (mod // i) % mod
        finv[i] = finv[i - 1] * inv[i] % mod


def COM(n, k):
    if n < 0 or k < 0 or n < k:
        return 0
    return fac[n] * (finv[k] * finv[n - k] % mod) % mod
COMinit()
for i in range(1, n):
    ans += (COM(n*m - 2, k-2)) * ((n-i)*i * m**2)%mod
for j in range(1, m):
    ans += (COM(n*m - 2, k-2)) * ((m-j)*j * n**2)%mod
print(ans%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 fac = [1] * n*m fac [1] * n*m [1] * n [1] 1 n m finv = [1] * n*m finv [1] * n*m [1] * n [1] 1 n m inv = [1] * n*m inv [1] * n*m [1] * n [1] 1 n m ans = 0 ans 0 def COMinit():
    for i in range(2, n*m):
        fac[i] = fac[i - 1] * i % mod
        inv[i] = mod - inv[mod % i] * (mod // i) % mod
        finv[i] = finv[i - 1] * inv[i] % mod COMinit for i in range(2, n*m):
        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*m) range 2 n*m n m 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 def COM(n, k):
    if n < 0 or k < 0 or n < k:
        return 0
    return fac[n] * (finv[k] * finv[n - k] % mod) % mod COM if n < 0 or k < 0 or n < k:
        return 0
     n < 0 or k < 0 or n < k n < 0 or k < 0 n < 0 n 0 k < 0 k 0 n < k n k return 0 0 return fac[n] * (finv[k] * finv[n - k] % mod) % mod fac[n] * (finv[k] * finv[n - k] % mod) % mod fac[n] * (finv[k] * finv[n - k] % mod) fac[n] fac n finv[k] * finv[n - k] % mod finv[k] * finv[n - k] finv[k] finv k finv[n - k] finv n - k n k mod mod n n k k COMinit() COMinit for i in range(1, n):
    ans += (COM(n*m - 2, k-2)) * ((n-i)*i * m**2)%mod i range(1, n) range 1 n ans += (COM(n*m - 2, k-2)) * ((n-i)*i * m**2)%mod ans (COM(n*m - 2, k-2)) * ((n-i)*i * m**2)%mod (COM(n*m - 2, k-2)) * ((n-i)*i * m**2) COM(n*m - 2, k-2) COM n*m - 2 n*m n m 2 k-2 k 2 (n-i)*i * m**2 (n-i)*i n-i n i i m**2 m 2 mod for j in range(1, m):
    ans += (COM(n*m - 2, k-2)) * ((m-j)*j * n**2)%mod j range(1, m) range 1 m ans += (COM(n*m - 2, k-2)) * ((m-j)*j * n**2)%mod ans (COM(n*m - 2, k-2)) * ((m-j)*j * n**2)%mod (COM(n*m - 2, k-2)) * ((m-j)*j * n**2) COM(n*m - 2, k-2) COM n*m - 2 n*m n m 2 k-2 k 2 (m-j)*j * n**2 (m-j)*j m-j m j j n**2 n 2 mod print(ans%mod) print ans%mod ans mod fac = [1] * n*m [1] * n*m fac inv = [1] * n*m [1] * n*m inv n, m, k = map(int, input().split()) map(int, input().split()) n def COM(n, k):
    if n < 0 or k < 0 or n < k:
        return 0
    return fac[n] * (finv[k] * finv[n - k] % mod) % mod def COM(n, k):
    if n < 0 or k < 0 or n < k:
        return 0
    return fac[n] * (finv[k] * finv[n - k] % mod) % mod COM ans += (COM(n*m - 2, k-2)) * ((n-i)*i * m**2)%mod (COM(n*m - 2, k-2)) * ((n-i)*i * m**2)%mod ans ans += (COM(n*m - 2, k-2)) * ((m-j)*j * n**2)%mod (COM(n*m - 2, k-2)) * ((m-j)*j * n**2)%mod ans mod = 10**9 + 7 10**9 + 7 mod finv = [1] * n*m [1] * n*m finv m, k = map(int, input().split()) map(int, input().split()) m ans = 0 0 ans def COMinit():
    for i in range(2, n*m):
        fac[i] = fac[i - 1] * i % mod
        inv[i] = mod - inv[mod % i] * (mod // i) % mod
        finv[i] = finv[i - 1] * inv[i] % mod def COMinit():
    for i in range(2, n*m):
        fac[i] = fac[i - 1] * i % mod
        inv[i] = mod - inv[mod % i] * (mod // i) % mod
        finv[i] = finv[i - 1] * inv[i] % mod COMinit k = map(int, input().split()) map(int, input().split()) k
n, m, k = map(int, input().split())
mod = 10**9 + 7

fac = [1] * n*m
finv = [1] * n*m
inv = [1] * n*m

ans = 0
def COMinit():
    for i in range(2, n*m):
        fac[i] = fac[i - 1] * i % mod
        inv[i] = mod - inv[mod % i] * (mod // i) % mod
        finv[i] = finv[i - 1] * inv[i] % mod


def COM(n, k):
    if n < 0 or k < 0 or n < k:
        return 0
    return fac[n] * (finv[k] * finv[n - k] % mod) % mod
COMinit()
for i in range(1, n):
    ans += (COM(n*m - 2, k-2)) * ((n-i)*i * m**2)%mod
for j in range(1, m):
    ans += (COM(n*m - 2, k-2)) * ((m-j)*j * n**2)%mod
print(ans%mod)