import sys
sys.setrecursionlimit(10**8)

MOD = 10**9 + 7
def power_mod(a,b,p):
    if b==0:
        return 1
    if b%2==0:
        d=power_mod(a,b//2,p)
        return (d*d)%p
    else:
        return(a*power_mod(a,b-1,p)%p)

def inverse(a,p):
    return power_mod(a,p-2,p)

def combination(n, r, p): # nCrを求める
    r = min(n-r, r)
    result = 1
    for i in range(n, n-r, -1):
        result *= i
        result %=p
    for i in range(1, r+1):
        result *= inverse(i,p)
        result %= p
    return result

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

ans = 0
for i in range(n):
    ans +=(n-i)*(m**2)*i
    ans %=MOD
for i in range(m):
    ans +=(m-i)*(n**2)*i
    ans %=MOD

ans *= combination(n*m-2,k-2,MOD)
ans %= MOD

print(ans) import sys sys sys.setrecursionlimit(10**8) sys.setrecursionlimit sys setrecursionlimit 10**8 10 8 MOD = 10**9 + 7 MOD 10**9 + 7 10**9 10 9 7 def power_mod(a,b,p):
    if b==0:
        return 1
    if b%2==0:
        d=power_mod(a,b//2,p)
        return (d*d)%p
    else:
        return(a*power_mod(a,b-1,p)%p) power_mod if b==0:
        return 1
     b==0 b 0 return 1 1 if b%2==0:
        d=power_mod(a,b//2,p)
        return (d*d)%p
    else:
        return(a*power_mod(a,b-1,p)%p) b%2==0 b%2 b 2 0 d=power_mod(a,b//2,p) d power_mod(a,b//2,p) power_mod a b//2 b 2 p return (d*d)%p (d*d)%p d*d d d p return(a*power_mod(a,b-1,p)%p) a*power_mod(a,b-1,p)%p a*power_mod(a,b-1,p) a power_mod(a,b-1,p) power_mod a b-1 b 1 p p a a b b p p def inverse(a,p):
    return power_mod(a,p-2,p) inverse return power_mod(a,p-2,p) power_mod(a,p-2,p) power_mod a p-2 p 2 p a a p p def combination(n, r, p): # nCrを求める
    r = min(n-r, r)
    result = 1
    for i in range(n, n-r, -1):
        result *= i
        result %=p
    for i in range(1, r+1):
        result *= inverse(i,p)
        result %= p
    return result combination r = min(n-r, r) r min(n-r, r) min n-r n r r result = 1 result 1 for i in range(n, n-r, -1):
        result *= i
        result %=p
     i range(n, n-r, -1) range n n-r n r -1 result *= i result i result %=p result p for i in range(1, r+1):
        result *= inverse(i,p)
        result %= p
     i range(1, r+1) range 1 r+1 r 1 result *= inverse(i,p) result inverse(i,p) inverse i p result %= p result p return result result n n r r p p n,m,k = map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m k ans = 0 ans 0 for i in range(n):
    ans +=(n-i)*(m**2)*i
    ans %=MOD i range(n) range n ans +=(n-i)*(m**2)*i ans (n-i)*(m**2)*i (n-i)*(m**2) n-i n i m**2 m 2 i ans %=MOD ans MOD for i in range(m):
    ans +=(m-i)*(n**2)*i
    ans %=MOD i range(m) range m ans +=(m-i)*(n**2)*i ans (m-i)*(n**2)*i (m-i)*(n**2) m-i m i n**2 n 2 i ans %=MOD ans MOD ans *= combination(n*m-2,k-2,MOD) ans combination(n*m-2,k-2,MOD) combination n*m-2 n*m n m 2 k-2 k 2 MOD ans %= MOD ans MOD print(ans) print ans n,m,k = map(int,input().split()) map(int,input().split()) n k = map(int,input().split()) map(int,input().split()) k ans +=(n-i)*(m**2)*i (n-i)*(m**2)*i ans ans *= combination(n*m-2,k-2,MOD) combination(n*m-2,k-2,MOD) ans ans +=(m-i)*(n**2)*i (m-i)*(n**2)*i ans ans %= MOD MOD ans ans = 0 0 ans def combination(n, r, p): # nCrを求める
    r = min(n-r, r)
    result = 1
    for i in range(n, n-r, -1):
        result *= i
        result %=p
    for i in range(1, r+1):
        result *= inverse(i,p)
        result %= p
    return result def combination(n, r, p): # nCrを求める
    r = min(n-r, r)
    result = 1
    for i in range(n, n-r, -1):
        result *= i
        result %=p
    for i in range(1, r+1):
        result *= inverse(i,p)
        result %= p
    return result combination MOD = 10**9 + 7 10**9 + 7 MOD def inverse(a,p):
    return power_mod(a,p-2,p) def inverse(a,p):
    return power_mod(a,p-2,p) inverse ans %=MOD MOD ans def power_mod(a,b,p):
    if b==0:
        return 1
    if b%2==0:
        d=power_mod(a,b//2,p)
        return (d*d)%p
    else:
        return(a*power_mod(a,b-1,p)%p) def power_mod(a,b,p):
    if b==0:
        return 1
    if b%2==0:
        d=power_mod(a,b//2,p)
        return (d*d)%p
    else:
        return(a*power_mod(a,b-1,p)%p) power_mod m,k = map(int,input().split()) map(int,input().split()) m ans %=MOD MOD ans
import sys
sys.setrecursionlimit(10**8)

MOD = 10**9 + 7
def power_mod(a,b,p):
    if b==0:
        return 1
    if b%2==0:
        d=power_mod(a,b//2,p)
        return (d*d)%p
    else:
        return(a*power_mod(a,b-1,p)%p)

def inverse(a,p):
    return power_mod(a,p-2,p)

def combination(n, r, p): # nCrを求める
    r = min(n-r, r)
    result = 1
    for i in range(n, n-r, -1):
        result *= i
        result %=p
    for i in range(1, r+1):
        result *= inverse(i,p)
        result %= p
    return result

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

ans = 0
for i in range(n):
    ans +=(n-i)*(m**2)*i
    ans %=MOD
for i in range(m):
    ans +=(m-i)*(n**2)*i
    ans %=MOD

ans *= combination(n*m-2,k-2,MOD)
ans %= MOD

print(ans)
