# -*- coding: utf-8 -*-
"""
Created on Wed May 29 22:49:19 2019

@author: Yamazaki Kenichi
"""

# -*- coding: utf-8 -*-
"""
Created on Sat May 25 21:24:29 2019

@author: Yamazaki Kenichi
"""

N, M, K = map(int,input().split())
mod = 10**9+7

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

g1 = [1, 1] # 元テーブル
g2 = [1, 1] # 逆元テーブル
inv = [0, 1] # 逆元テーブル計算用テーブル

for i in range(2, N*M+1):
    g1.append((g1[-1] * i) % mod)
    inv.append((-inv[mod % i] * (mod//i)) % mod)
    g2.append((g2[-1] * inv[-1]) % mod)

ans1 = 0
def c(N,M):
    res = 0
    for i in range(1,N):
        res += i*(N-i)*M*M
    return res
ans1 += c(N,M) + c(M,N)
ans1 %= mod

ans1 *= cmb(N*M-2,K-2,mod)
ans1 %= mod

print(ans1) """
Created on Wed May 29 22:49:19 2019

@author: Yamazaki Kenichi
""" """
Created on Sat May 25 21:24:29 2019

@author: Yamazaki Kenichi
""" 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 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 g1 = [1, 1] g1 [1, 1] 1 1 g2 = [1, 1] g2 [1, 1] 1 1 inv = [0, 1] inv [0, 1] 0 1 for i in range(2, N*M+1):
    g1.append((g1[-1] * i) % mod)
    inv.append((-inv[mod % i] * (mod//i)) % mod)
    g2.append((g2[-1] * inv[-1]) % mod) i range(2, N*M+1) range 2 N*M+1 N*M N M 1 g1.append((g1[-1] * i) % mod) g1.append g1 append (g1[-1] * i) % mod g1[-1] * i g1[-1] g1 -1 i mod inv.append((-inv[mod % i] * (mod//i)) % mod) inv.append inv append (-inv[mod % i] * (mod//i)) % mod -inv[mod % i] * (mod//i) -inv[mod % i] inv[mod % i] inv mod % i mod i mod//i mod i mod g2.append((g2[-1] * inv[-1]) % mod) g2.append g2 append (g2[-1] * inv[-1]) % mod g2[-1] * inv[-1] g2[-1] g2 -1 inv[-1] inv -1 mod ans1 = 0 ans1 0 def c(N,M):
    res = 0
    for i in range(1,N):
        res += i*(N-i)*M*M
    return res c res = 0 res 0 for i in range(1,N):
        res += i*(N-i)*M*M
     i range(1,N) range 1 N res += i*(N-i)*M*M res i*(N-i)*M*M i*(N-i)*M i*(N-i) i N-i N i M M return res res N N M M ans1 += c(N,M) + c(M,N) ans1 c(N,M) + c(M,N) c(N,M) c N M c(M,N) c M N ans1 %= mod ans1 mod ans1 *= cmb(N*M-2,K-2,mod) ans1 cmb(N*M-2,K-2,mod) cmb N*M-2 N*M N M 2 K-2 K 2 mod ans1 %= mod ans1 mod print(ans1) print ans1 inv = [0, 1] [0, 1] inv mod = 10**9+7 10**9+7 mod ans1 = 0 0 ans1 def c(N,M):
    res = 0
    for i in range(1,N):
        res += i*(N-i)*M*M
    return res def c(N,M):
    res = 0
    for i in range(1,N):
        res += i*(N-i)*M*M
    return res c N, M, K = map(int,input().split()) map(int,input().split()) N ans1 %= mod mod ans1 ans1 *= cmb(N*M-2,K-2,mod) cmb(N*M-2,K-2,mod) ans1 K = map(int,input().split()) map(int,input().split()) K g2 = [1, 1] [1, 1] g2 ans1 += c(N,M) + c(M,N) c(N,M) + c(M,N) ans1 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 M, K = map(int,input().split()) map(int,input().split()) M g1 = [1, 1] [1, 1] g1 ans1 %= mod mod ans1
# -*- coding: utf-8 -*-
"""
Created on Wed May 29 22:49:19 2019

@author: Yamazaki Kenichi
"""

# -*- coding: utf-8 -*-
"""
Created on Sat May 25 21:24:29 2019

@author: Yamazaki Kenichi
"""

N, M, K = map(int,input().split())
mod = 10**9+7

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

g1 = [1, 1] # 元テーブル
g2 = [1, 1] # 逆元テーブル
inv = [0, 1] # 逆元テーブル計算用テーブル

for i in range(2, N*M+1):
    g1.append((g1[-1] * i) % mod)
    inv.append((-inv[mod % i] * (mod//i)) % mod)
    g2.append((g2[-1] * inv[-1]) % mod)

ans1 = 0
def c(N,M):
    res = 0
    for i in range(1,N):
        res += i*(N-i)*M*M
    return res
ans1 += c(N,M) + c(M,N)
ans1 %= mod

ans1 *= cmb(N*M-2,K-2,mod)
ans1 %= mod

print(ans1)
