class Combination:
    def __init__(self, n_max=10**6, mod=10**9+7):
        # self._n_max = n_max
        self._fac, self._finv, self._inv = [0]*n_max, [0]*n_max, [0]*n_max
        self._fac[0], self._fac[1] = 1, 1
        self._finv[0], self._finv[1] = 1, 1
        self._inv[1] = 1
        for i in range(2, n_max):
            self._fac[i] = self._fac[i - 1] * i % MOD
            self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD
            self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD
    def com(self, n, r):
        if n < r: return 0
        if n < 0 or r < 0: return 0
        return self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD


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


MOD = 10**9+7
comb = Combination(10**6, MOD)
n,m,k = map(int, input().split())

ans = 0
for i in range(m):
    other_sum = i*(i+1)//2 + (m-1-i)*(m-i)//2
    # other_sum *= n
    pattern = n*n*comb.com(n*m-2,k-2)
    ans += pattern*other_sum
    ans%=MOD

for i in range(n):
    other_sum = i*(i+1)//2 + (n-1-i)*(n-i)//2
    # other_sum *= m
    pattern = m*m*comb.com(n*m-2,k-2)
    ans += pattern*other_sum
    ans%=MOD

a = modinv(2,MOD)
ans = (ans*a)%MOD
print(ans) class Combination:
    def __init__(self, n_max=10**6, mod=10**9+7):
        # self._n_max = n_max
        self._fac, self._finv, self._inv = [0]*n_max, [0]*n_max, [0]*n_max
        self._fac[0], self._fac[1] = 1, 1
        self._finv[0], self._finv[1] = 1, 1
        self._inv[1] = 1
        for i in range(2, n_max):
            self._fac[i] = self._fac[i - 1] * i % MOD
            self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD
            self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD
    def com(self, n, r):
        if n < r: return 0
        if n < 0 or r < 0: return 0
        return self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD Combination def __init__(self, n_max=10**6, mod=10**9+7):
        # self._n_max = n_max
        self._fac, self._finv, self._inv = [0]*n_max, [0]*n_max, [0]*n_max
        self._fac[0], self._fac[1] = 1, 1
        self._finv[0], self._finv[1] = 1, 1
        self._inv[1] = 1
        for i in range(2, n_max):
            self._fac[i] = self._fac[i - 1] * i % MOD
            self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD
            self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD
     __init__ self._fac, self._finv, self._inv = [0]*n_max, [0]*n_max, [0]*n_max self._fac self _fac [0]*n_max [0] 0 n_max self._finv self _finv [0]*n_max [0] 0 n_max self._inv self _inv [0]*n_max [0] 0 n_max self._fac[0], self._fac[1] = 1, 1 self._fac[0] self._fac self _fac 0 1 self._fac[1] self._fac self _fac 1 1 self._finv[0], self._finv[1] = 1, 1 self._finv[0] self._finv self _finv 0 1 self._finv[1] self._finv self _finv 1 1 self._inv[1] = 1 self._inv[1] self._inv self _inv 1 1 for i in range(2, n_max):
            self._fac[i] = self._fac[i - 1] * i % MOD
            self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD
            self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD
     i range(2, n_max) range 2 n_max self._fac[i] = self._fac[i - 1] * i % MOD self._fac[i] self._fac self _fac i self._fac[i - 1] * i % MOD self._fac[i - 1] * i self._fac[i - 1] self._fac self _fac i - 1 i 1 i MOD self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD self._inv[i] self._inv self _inv i MOD - self._inv[MOD%i] * (MOD // i) % MOD MOD self._inv[MOD%i] * (MOD // i) % MOD self._inv[MOD%i] * (MOD // i) self._inv[MOD%i] self._inv self _inv MOD%i MOD i MOD // i MOD i MOD self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD self._finv[i] self._finv self _finv i self._finv[i - 1] * self._inv[i] % MOD self._finv[i - 1] * self._inv[i] self._finv[i - 1] self._finv self _finv i - 1 i 1 self._inv[i] self._inv self _inv i MOD self self n_max=10**6 n_max 10**6 10 6 mod=10**9+7 mod 10**9+7 10**9 10 9 7 def com(self, n, r):
        if n < r: return 0
        if n < 0 or r < 0: return 0
        return self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD com if n < r: return 0
         n < r n r if n < 0 or r < 0: return 0
         n < 0 or r < 0 n < 0 n 0 r < 0 r 0 return self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) self._fac[n] self._fac self _fac n self._finv[r] * self._finv[n - r] % MOD self._finv[r] * self._finv[n - r] self._finv[r] self._finv self _finv r self._finv[n - r] self._finv self _finv n - r n r MOD MOD self self n n r r def modinv(a,m):
    b, u, v = m, 1, 0
    while b:
        t = a//b
        a -= t*b
        a,b = b,a
        u -= t * v
        u,v = v,u
    u %= m
    return u modinv b, u, v = m, 1, 0 b m u 1 v 0 while b:
        t = a//b
        a -= t*b
        a,b = b,a
        u -= t * v
        u,v = v,u
     b t = a//b t a//b a b a -= t*b a t*b t b a,b = b,a a b b a u -= t * v u t * v t v u,v = v,u u v v u u %= m u m return u u a a m m MOD = 10**9+7 MOD 10**9+7 10**9 10 9 7 comb = Combination(10**6, MOD) comb Combination(10**6, MOD) Combination 10**6 10 6 MOD 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(m):
    other_sum = i*(i+1)//2 + (m-1-i)*(m-i)//2
    # other_sum *= n
    pattern = n*n*comb.com(n*m-2,k-2)
    ans += pattern*other_sum
    ans%=MOD i range(m) range m other_sum = i*(i+1)//2 + (m-1-i)*(m-i)//2 other_sum i*(i+1)//2 + (m-1-i)*(m-i)//2 i*(i+1)//2 i*(i+1) i i+1 i 1 2 (m-1-i)*(m-i)//2 (m-1-i)*(m-i) m-1-i m-1 m 1 i m-i m i 2 pattern = n*n*comb.com(n*m-2,k-2) pattern n*n*comb.com(n*m-2,k-2) n*n n n comb.com(n*m-2,k-2) comb.com comb com n*m-2 n*m n m 2 k-2 k 2 ans += pattern*other_sum ans pattern*other_sum pattern other_sum ans%=MOD ans MOD for i in range(n):
    other_sum = i*(i+1)//2 + (n-1-i)*(n-i)//2
    # other_sum *= m
    pattern = m*m*comb.com(n*m-2,k-2)
    ans += pattern*other_sum
    ans%=MOD i range(n) range n other_sum = i*(i+1)//2 + (n-1-i)*(n-i)//2 other_sum i*(i+1)//2 + (n-1-i)*(n-i)//2 i*(i+1)//2 i*(i+1) i i+1 i 1 2 (n-1-i)*(n-i)//2 (n-1-i)*(n-i) n-1-i n-1 n 1 i n-i n i 2 pattern = m*m*comb.com(n*m-2,k-2) pattern m*m*comb.com(n*m-2,k-2) m*m m m comb.com(n*m-2,k-2) comb.com comb com n*m-2 n*m n m 2 k-2 k 2 ans += pattern*other_sum ans pattern*other_sum pattern other_sum ans%=MOD ans MOD a = modinv(2,MOD) a modinv(2,MOD) modinv 2 MOD ans = (ans*a)%MOD ans (ans*a)%MOD ans*a ans a MOD print(ans) print ans class Combination:
    def __init__(self, n_max=10**6, mod=10**9+7):
        # self._n_max = n_max
        self._fac, self._finv, self._inv = [0]*n_max, [0]*n_max, [0]*n_max
        self._fac[0], self._fac[1] = 1, 1
        self._finv[0], self._finv[1] = 1, 1
        self._inv[1] = 1
        for i in range(2, n_max):
            self._fac[i] = self._fac[i - 1] * i % MOD
            self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD
            self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD
    def com(self, n, r):
        if n < r: return 0
        if n < 0 or r < 0: return 0
        return self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD class Combination:
    def __init__(self, n_max=10**6, mod=10**9+7):
        # self._n_max = n_max
        self._fac, self._finv, self._inv = [0]*n_max, [0]*n_max, [0]*n_max
        self._fac[0], self._fac[1] = 1, 1
        self._finv[0], self._finv[1] = 1, 1
        self._inv[1] = 1
        for i in range(2, n_max):
            self._fac[i] = self._fac[i - 1] * i % MOD
            self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD
            self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD
    def com(self, n, r):
        if n < r: return 0
        if n < 0 or r < 0: return 0
        return self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD Combination other_sum = i*(i+1)//2 + (n-1-i)*(n-i)//2 i*(i+1)//2 + (n-1-i)*(n-i)//2 other_sum a = modinv(2,MOD) modinv(2,MOD) a ans = (ans*a)%MOD (ans*a)%MOD ans MOD = 10**9+7 10**9+7 MOD def modinv(a,m):
    b, u, v = m, 1, 0
    while b:
        t = a//b
        a -= t*b
        a,b = b,a
        u -= t * v
        u,v = v,u
    u %= m
    return u def modinv(a,m):
    b, u, v = m, 1, 0
    while b:
        t = a//b
        a -= t*b
        a,b = b,a
        u -= t * v
        u,v = v,u
    u %= m
    return u modinv comb = Combination(10**6, MOD) Combination(10**6, MOD) comb k = map(int, input().split()) map(int, input().split()) k other_sum = i*(i+1)//2 + (m-1-i)*(m-i)//2 i*(i+1)//2 + (m-1-i)*(m-i)//2 other_sum m,k = map(int, input().split()) map(int, input().split()) m pattern = n*n*comb.com(n*m-2,k-2) n*n*comb.com(n*m-2,k-2) pattern n,m,k = map(int, input().split()) map(int, input().split()) n pattern = m*m*comb.com(n*m-2,k-2) m*m*comb.com(n*m-2,k-2) pattern ans = 0 0 ans ans += pattern*other_sum pattern*other_sum ans ans%=MOD MOD ans ans%=MOD MOD ans ans += pattern*other_sum pattern*other_sum ans
class Combination:
    def __init__(self, n_max=10**6, mod=10**9+7):
        # self._n_max = n_max
        self._fac, self._finv, self._inv = [0]*n_max, [0]*n_max, [0]*n_max
        self._fac[0], self._fac[1] = 1, 1
        self._finv[0], self._finv[1] = 1, 1
        self._inv[1] = 1
        for i in range(2, n_max):
            self._fac[i] = self._fac[i - 1] * i % MOD
            self._inv[i] = MOD - self._inv[MOD%i] * (MOD // i) % MOD
            self._finv[i] = self._finv[i - 1] * self._inv[i] % MOD
    def com(self, n, r):
        if n < r: return 0
        if n < 0 or r < 0: return 0
        return self._fac[n] * (self._finv[r] * self._finv[n - r] % MOD) % MOD


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


MOD = 10**9+7
comb = Combination(10**6, MOD)
n,m,k = map(int, input().split())

ans = 0
for i in range(m):
    other_sum = i*(i+1)//2 + (m-1-i)*(m-i)//2
    # other_sum *= n
    pattern = n*n*comb.com(n*m-2,k-2)
    ans += pattern*other_sum
    ans%=MOD

for i in range(n):
    other_sum = i*(i+1)//2 + (n-1-i)*(n-i)//2
    # other_sum *= m
    pattern = m*m*comb.com(n*m-2,k-2)
    ans += pattern*other_sum
    ans%=MOD

a = modinv(2,MOD)
ans = (ans*a)%MOD
print(ans)