mdl = 10**9 + 7

N, M, K = map(int,input().split())

nm = N*M
mm = M*M % mdl
nn = N*N % mdl

U = 2*10**5
fact = [1] * (U+1)

for i in range(1,U+1):
    fact[i] = (fact[i-1]*i) % mdl

def comb(n,k):
    x = fact[n]
    x *= pow(fact[n-k], mdl-2, mdl)
    x %= mdl
    x *= pow(fact[k], mdl-2, mdl)
    x %= mdl
    return x

def F(N):
    x = N*(N+1) // 2 * N
    y = N*(N+1)*(2*N+1) // 6
    return (x-y) % mdl

ans = mm*F(N) % mdl + nn*F(M) % mdl
ans %= mdl
ans *= comb(nm-2,K-2)
ans %= mdl

print(ans) mdl = 10**9 + 7 mdl 10**9 + 7 10**9 10 9 7 N, M, K = map(int,input().split()) N map(int,input().split()) map int input().split() ().split () input split M K nm = N*M nm N*M N M mm = M*M % mdl mm M*M % mdl M*M M M mdl nn = N*N % mdl nn N*N % mdl N*N N N mdl U = 2*10**5 U 2*10**5 2 10**5 10 5 fact = [1] * (U+1) fact [1] * (U+1) [1] 1 U+1 U 1 for i in range(1,U+1):
    fact[i] = (fact[i-1]*i) % mdl i range(1,U+1) range 1 U+1 U 1 fact[i] = (fact[i-1]*i) % mdl fact[i] fact i (fact[i-1]*i) % mdl fact[i-1]*i fact[i-1] fact i-1 i 1 i mdl def comb(n,k):
    x = fact[n]
    x *= pow(fact[n-k], mdl-2, mdl)
    x %= mdl
    x *= pow(fact[k], mdl-2, mdl)
    x %= mdl
    return x comb x = fact[n] x fact[n] fact n x *= pow(fact[n-k], mdl-2, mdl) x pow(fact[n-k], mdl-2, mdl) pow fact[n-k] fact n-k n k mdl-2 mdl 2 mdl x %= mdl x mdl x *= pow(fact[k], mdl-2, mdl) x pow(fact[k], mdl-2, mdl) pow fact[k] fact k mdl-2 mdl 2 mdl x %= mdl x mdl return x x n n k k def F(N):
    x = N*(N+1) // 2 * N
    y = N*(N+1)*(2*N+1) // 6
    return (x-y) % mdl F x = N*(N+1) // 2 * N x N*(N+1) // 2 * N N*(N+1) // 2 N*(N+1) N N+1 N 1 2 N y = N*(N+1)*(2*N+1) // 6 y N*(N+1)*(2*N+1) // 6 N*(N+1)*(2*N+1) N*(N+1) N N+1 N 1 2*N+1 2*N 2 N 1 6 return (x-y) % mdl (x-y) % mdl x-y x y mdl N N ans = mm*F(N) % mdl + nn*F(M) % mdl ans mm*F(N) % mdl + nn*F(M) % mdl mm*F(N) % mdl mm*F(N) mm F(N) F N mdl nn*F(M) % mdl nn*F(M) nn F(M) F M mdl ans %= mdl ans mdl ans *= comb(nm-2,K-2) ans comb(nm-2,K-2) comb nm-2 nm 2 K-2 K 2 ans %= mdl ans mdl print(ans) print ans M, K = map(int,input().split()) map(int,input().split()) M def comb(n,k):
    x = fact[n]
    x *= pow(fact[n-k], mdl-2, mdl)
    x %= mdl
    x *= pow(fact[k], mdl-2, mdl)
    x %= mdl
    return x def comb(n,k):
    x = fact[n]
    x *= pow(fact[n-k], mdl-2, mdl)
    x %= mdl
    x *= pow(fact[k], mdl-2, mdl)
    x %= mdl
    return x comb mm = M*M % mdl M*M % mdl mm mdl = 10**9 + 7 10**9 + 7 mdl ans *= comb(nm-2,K-2) comb(nm-2,K-2) ans fact = [1] * (U+1) [1] * (U+1) fact K = map(int,input().split()) map(int,input().split()) K ans %= mdl mdl ans U = 2*10**5 2*10**5 U N, M, K = map(int,input().split()) map(int,input().split()) N nm = N*M N*M nm ans %= mdl mdl ans def F(N):
    x = N*(N+1) // 2 * N
    y = N*(N+1)*(2*N+1) // 6
    return (x-y) % mdl def F(N):
    x = N*(N+1) // 2 * N
    y = N*(N+1)*(2*N+1) // 6
    return (x-y) % mdl F ans = mm*F(N) % mdl + nn*F(M) % mdl mm*F(N) % mdl + nn*F(M) % mdl ans nn = N*N % mdl N*N % mdl nn
mdl = 10**9 + 7

N, M, K = map(int,input().split())

nm = N*M
mm = M*M % mdl
nn = N*N % mdl

U = 2*10**5
fact = [1] * (U+1)

for i in range(1,U+1):
    fact[i] = (fact[i-1]*i) % mdl

def comb(n,k):
    x = fact[n]
    x *= pow(fact[n-k], mdl-2, mdl)
    x %= mdl
    x *= pow(fact[k], mdl-2, mdl)
    x %= mdl
    return x

def F(N):
    x = N*(N+1) // 2 * N
    y = N*(N+1)*(2*N+1) // 6
    return (x-y) % mdl

ans = mm*F(N) % mdl + nn*F(M) % mdl
ans %= mdl
ans *= comb(nm-2,K-2)
ans %= mdl

print(ans)