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

mod = 10**9+7
N = 2*10**5+50
fac = [1]*(N+1)
finv = [1]*(N+1)
for i in range(N):
    fac[i+1] = fac[i] * (i+1) % mod
finv[-1] = pow(fac[-1], mod-2, mod)
for i in reversed(range(N)):
    finv[i] = finv[i+1] * (i+1) % mod

def cmb1(n, r, mod):
    if r <0 or r > n:
        return 0
    r = min(r, n-r)
    return fac[n] * finv[r] * finv[n-r] % mod

ans = 0
for i in range(n*m):
    x, y = divmod(i, m)
    # x
    ans += x*m*cmb1(n*m-2, k-2, mod)*x
    ans -= (n-1-x)*m*cmb1(n*m-2, k-2, mod)*x
    # y
    ans += y*n*cmb1(n*m-2, k-2, mod)*y
    ans -= (m-1-y)*n*cmb1(n*m-2, k-2, mod)*y

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 = 2*10**5+50 N 2*10**5+50 2*10**5 2 10**5 10 5 50 fac = [1]*(N+1) fac [1]*(N+1) [1] 1 N+1 N 1 finv = [1]*(N+1) finv [1]*(N+1) [1] 1 N+1 N 1 for i in range(N):
    fac[i+1] = fac[i] * (i+1) % mod i range(N) range N fac[i+1] = fac[i] * (i+1) % mod fac[i+1] fac i+1 i 1 fac[i] * (i+1) % mod fac[i] * (i+1) fac[i] fac i i+1 i 1 mod finv[-1] = pow(fac[-1], mod-2, mod) finv[-1] finv -1 pow(fac[-1], mod-2, mod) pow fac[-1] fac -1 mod-2 mod 2 mod for i in reversed(range(N)):
    finv[i] = finv[i+1] * (i+1) % mod i reversed(range(N)) reversed range(N) range N finv[i] = finv[i+1] * (i+1) % mod finv[i] finv i finv[i+1] * (i+1) % mod finv[i+1] * (i+1) finv[i+1] finv i+1 i 1 i+1 i 1 mod def cmb1(n, r, mod):
    if r <0 or r > n:
        return 0
    r = min(r, n-r)
    return fac[n] * finv[r] * finv[n-r] % mod cmb1 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 fac[n] * finv[r] * finv[n-r] % mod fac[n] * finv[r] * finv[n-r] % mod fac[n] * finv[r] * finv[n-r] fac[n] * finv[r] fac[n] fac n finv[r] finv r finv[n-r] finv n-r n r mod n n r r mod mod ans = 0 ans 0 for i in range(n*m):
    x, y = divmod(i, m)
    # x
    ans += x*m*cmb1(n*m-2, k-2, mod)*x
    ans -= (n-1-x)*m*cmb1(n*m-2, k-2, mod)*x
    # y
    ans += y*n*cmb1(n*m-2, k-2, mod)*y
    ans -= (m-1-y)*n*cmb1(n*m-2, k-2, mod)*y i range(n*m) range n*m n m x, y = divmod(i, m) x divmod(i, m) divmod i m y ans += x*m*cmb1(n*m-2, k-2, mod)*x ans x*m*cmb1(n*m-2, k-2, mod)*x x*m*cmb1(n*m-2, k-2, mod) x*m x m cmb1(n*m-2, k-2, mod) cmb1 n*m-2 n*m n m 2 k-2 k 2 mod x ans -= (n-1-x)*m*cmb1(n*m-2, k-2, mod)*x ans (n-1-x)*m*cmb1(n*m-2, k-2, mod)*x (n-1-x)*m*cmb1(n*m-2, k-2, mod) (n-1-x)*m n-1-x n-1 n 1 x m cmb1(n*m-2, k-2, mod) cmb1 n*m-2 n*m n m 2 k-2 k 2 mod x ans += y*n*cmb1(n*m-2, k-2, mod)*y ans y*n*cmb1(n*m-2, k-2, mod)*y y*n*cmb1(n*m-2, k-2, mod) y*n y n cmb1(n*m-2, k-2, mod) cmb1 n*m-2 n*m n m 2 k-2 k 2 mod y ans -= (m-1-y)*n*cmb1(n*m-2, k-2, mod)*y ans (m-1-y)*n*cmb1(n*m-2, k-2, mod)*y (m-1-y)*n*cmb1(n*m-2, k-2, mod) (m-1-y)*n m-1-y m-1 m 1 y n cmb1(n*m-2, k-2, mod) cmb1 n*m-2 n*m n m 2 k-2 k 2 mod y ans %= mod ans mod print(ans) print ans ans = 0 0 ans fac = [1]*(N+1) [1]*(N+1) fac x, y = divmod(i, m) divmod(i, m) x y = divmod(i, m) divmod(i, m) y def cmb1(n, r, mod):
    if r <0 or r > n:
        return 0
    r = min(r, n-r)
    return fac[n] * finv[r] * finv[n-r] % mod def cmb1(n, r, mod):
    if r <0 or r > n:
        return 0
    r = min(r, n-r)
    return fac[n] * finv[r] * finv[n-r] % mod cmb1 k = map(int, input().split()) map(int, input().split()) k finv = [1]*(N+1) [1]*(N+1) finv ans %= mod mod ans ans += y*n*cmb1(n*m-2, k-2, mod)*y y*n*cmb1(n*m-2, k-2, mod)*y ans ans += x*m*cmb1(n*m-2, k-2, mod)*x x*m*cmb1(n*m-2, k-2, mod)*x ans m, k = map(int, input().split()) map(int, input().split()) m ans -= (m-1-y)*n*cmb1(n*m-2, k-2, mod)*y (m-1-y)*n*cmb1(n*m-2, k-2, mod)*y ans mod = 10**9+7 10**9+7 mod ans -= (n-1-x)*m*cmb1(n*m-2, k-2, mod)*x (n-1-x)*m*cmb1(n*m-2, k-2, mod)*x ans n, m, k = map(int, input().split()) map(int, input().split()) n N = 2*10**5+50 2*10**5+50 N
n, m, k = map(int, input().split())

mod = 10**9+7
N = 2*10**5+50
fac = [1]*(N+1)
finv = [1]*(N+1)
for i in range(N):
    fac[i+1] = fac[i] * (i+1) % mod
finv[-1] = pow(fac[-1], mod-2, mod)
for i in reversed(range(N)):
    finv[i] = finv[i+1] * (i+1) % mod

def cmb1(n, r, mod):
    if r <0 or r > n:
        return 0
    r = min(r, n-r)
    return fac[n] * finv[r] * finv[n-r] % mod

ans = 0
for i in range(n*m):
    x, y = divmod(i, m)
    # x
    ans += x*m*cmb1(n*m-2, k-2, mod)*x
    ans -= (n-1-x)*m*cmb1(n*m-2, k-2, mod)*x
    # y
    ans += y*n*cmb1(n*m-2, k-2, mod)*y
    ans -= (m-1-y)*n*cmb1(n*m-2, k-2, mod)*y

ans %= mod
print(ans)
