N, M, K = map(int, input().split())
import sys
mod = pow(10, 9) + 7
sys.setrecursionlimit(pow(10, 8))

def power(x, y):
    if   y == 0: return 1
    elif y == 1	 : return x % mod
    elif y % 2 == 0 : return power(x, y//2)**2 % mod
    else: return power(x, (y-1)//2)**2 * x % mod
    
def mul(a, b):
    return ((a % mod) * (b % mod)) % mod

def div(a, b):
    return mul(a, power(b, mod-2))
def div2(a, b):
    return mul(a, modinv(b))

def modinv(a):
    b, u, v = mod, 1, 0
    while b:
        t = a//b
        a, u = a-t*b, u-t*v
        a, b, u, v = b, a, v, u
    u %= mod
    return u

def cmb(n, r):
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod

NNN = (10**6)
g1 = [1, 1]
g2 = [1, 1]
inverse = [0, 1]

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

def f(n, m):
    x = m*m%mod
    y = (n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6) % mod
    return x*y%mod

print(mul(f(N, M) + f(M, N), cmb(N*M-2, K-2))) N, M, K = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M K import sys sys mod = pow(10, 9) + 7 mod pow(10, 9) + 7 pow(10, 9) pow 10 9 7 sys.setrecursionlimit(pow(10, 8)) sys.setrecursionlimit sys setrecursionlimit pow(10, 8) pow 10 8 def power(x, y):
    if   y == 0: return 1
    elif y == 1	 : return x % mod
    elif y % 2 == 0 : return power(x, y//2)**2 % mod
    else: return power(x, (y-1)//2)**2 * x % mod
     power if   y == 0: return 1
    elif y == 1	 : return x % mod
    elif y % 2 == 0 : return power(x, y//2)**2 % mod
    else: return power(x, (y-1)//2)**2 * x % mod
     y == 0 y 0 elif y == 1	 : return x % mod
     y == 1 y 1 elif y % 2 == 0 : return power(x, y//2)**2 % mod
     y % 2 == 0 y % 2 y 2 0 x x y y def mul(a, b):
    return ((a % mod) * (b % mod)) % mod mul return ((a % mod) * (b % mod)) % mod ((a % mod) * (b % mod)) % mod (a % mod) * (b % mod) a % mod a mod b % mod b mod mod a a b b def div(a, b):
    return mul(a, power(b, mod-2)) div return mul(a, power(b, mod-2)) mul(a, power(b, mod-2)) mul a power(b, mod-2) power b mod-2 mod 2 a a b b def div2(a, b):
    return mul(a, modinv(b)) div2 return mul(a, modinv(b)) mul(a, modinv(b)) mul a modinv(b) modinv b a a b b def modinv(a):
    b, u, v = mod, 1, 0
    while b:
        t = a//b
        a, u = a-t*b, u-t*v
        a, b, u, v = b, a, v, u
    u %= mod
    return u modinv b, u, v = mod, 1, 0 b mod u 1 v 0 while b:
        t = a//b
        a, u = a-t*b, u-t*v
        a, b, u, v = b, a, v, u
     b t = a//b t a//b a b a, u = a-t*b, u-t*v a a-t*b a t*b t b u u-t*v u t*v t v a, b, u, v = b, a, v, u a b b a u v v u u %= mod u mod return u u a a def cmb(n, r):
    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 NNN = (10**6) NNN 10**6 10 6 g1 = [1, 1] g1 [1, 1] 1 1 g2 = [1, 1] g2 [1, 1] 1 1 inverse = [0, 1] inverse [0, 1] 0 1 for i in range( 2, NNN + 1 ):
    g1.append( ( g1[-1] * i ) % mod )
    inverse.append( ( -inverse[mod % i] * (mod//i) ) % mod )
    g2.append( (g2[-1] * inverse[-1]) % mod ) i range( 2, NNN + 1 ) range 2 NNN + 1 NNN 1 g1.append( ( g1[-1] * i ) % mod ) g1.append g1 append ( g1[-1] * i ) % mod g1[-1] * i g1[-1] g1 -1 i mod inverse.append( ( -inverse[mod % i] * (mod//i) ) % mod ) inverse.append inverse append ( -inverse[mod % i] * (mod//i) ) % mod -inverse[mod % i] * (mod//i) -inverse[mod % i] inverse[mod % i] inverse mod % i mod i mod//i mod i mod g2.append( (g2[-1] * inverse[-1]) % mod ) g2.append g2 append (g2[-1] * inverse[-1]) % mod g2[-1] * inverse[-1] g2[-1] g2 -1 inverse[-1] inverse -1 mod def f(n, m):
    x = m*m%mod
    y = (n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6) % mod
    return x*y%mod f x = m*m%mod x m*m%mod m*m m m mod y = (n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6) % mod y (n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6) % mod n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6 n*n*(n-1)//2 n*n*(n-1) n*n n n n-1 n 1 2 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 mod return x*y%mod x*y%mod x*y x y mod n n m m print(mul(f(N, M) + f(M, N), cmb(N*M-2, K-2))) print mul(f(N, M) + f(M, N), cmb(N*M-2, K-2)) mul f(N, M) + f(M, N) f(N, M) f N M f(M, N) f M N cmb(N*M-2, K-2) cmb N*M-2 N*M N M 2 K-2 K 2 NNN = (10**6) 10**6 NNN K = map(int, input().split()) map(int, input().split()) K def div2(a, b):
    return mul(a, modinv(b)) def div2(a, b):
    return mul(a, modinv(b)) div2 def power(x, y):
    if   y == 0: return 1
    elif y == 1	 : return x % mod
    elif y % 2 == 0 : return power(x, y//2)**2 % mod
    else: return power(x, (y-1)//2)**2 * x % mod
     def power(x, y):
    if   y == 0: return 1
    elif y == 1	 : return x % mod
    elif y % 2 == 0 : return power(x, y//2)**2 % mod
    else: return power(x, (y-1)//2)**2 * x % mod
     power def div(a, b):
    return mul(a, power(b, mod-2)) def div(a, b):
    return mul(a, power(b, mod-2)) div def mul(a, b):
    return ((a % mod) * (b % mod)) % mod def mul(a, b):
    return ((a % mod) * (b % mod)) % mod mul def f(n, m):
    x = m*m%mod
    y = (n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6) % mod
    return x*y%mod def f(n, m):
    x = m*m%mod
    y = (n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6) % mod
    return x*y%mod f M, K = map(int, input().split()) map(int, input().split()) M g2 = [1, 1] [1, 1] g2 def cmb(n, r):
    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):
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod cmb mod = pow(10, 9) + 7 pow(10, 9) + 7 mod N, M, K = map(int, input().split()) map(int, input().split()) N inverse = [0, 1] [0, 1] inverse g1 = [1, 1] [1, 1] g1 def modinv(a):
    b, u, v = mod, 1, 0
    while b:
        t = a//b
        a, u = a-t*b, u-t*v
        a, b, u, v = b, a, v, u
    u %= mod
    return u def modinv(a):
    b, u, v = mod, 1, 0
    while b:
        t = a//b
        a, u = a-t*b, u-t*v
        a, b, u, v = b, a, v, u
    u %= mod
    return u modinv
N, M, K = map(int, input().split())
import sys
mod = pow(10, 9) + 7
sys.setrecursionlimit(pow(10, 8))

def power(x, y):
    if   y == 0: return 1
    elif y == 1	 : return x % mod
    elif y % 2 == 0 : return power(x, y//2)**2 % mod
    else: return power(x, (y-1)//2)**2 * x % mod
    
def mul(a, b):
    return ((a % mod) * (b % mod)) % mod

def div(a, b):
    return mul(a, power(b, mod-2))
def div2(a, b):
    return mul(a, modinv(b))

def modinv(a):
    b, u, v = mod, 1, 0
    while b:
        t = a//b
        a, u = a-t*b, u-t*v
        a, b, u, v = b, a, v, u
    u %= mod
    return u

def cmb(n, r):
    if ( r<0 or r>n ):
        return 0
    r = min(r, n-r)
    return g1[n] * g2[r] * g2[n-r] % mod

NNN = (10**6)
g1 = [1, 1]
g2 = [1, 1]
inverse = [0, 1]

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

def f(n, m):
    x = m*m%mod
    y = (n*n*(n-1)//2 - n*(n-1)*(2*n-1)//6) % mod
    return x*y%mod

print(mul(f(N, M) + f(M, N), cmb(N*M-2, K-2)))
