class Combination:

    def __init__(self, n, MOD):
        self.fact = [1]
        for i in range(1, n + 1):
            self.fact.append(self.fact[-1] * i % MOD)
        self.inv_fact = [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)]
        self.MOD = MOD

    def factorial(self, k):
        '''k!を求める'''
        return self.fact[k]

    def inverse_factorial(self, k):
        '''k!の逆元を求める'''
        return self.inv_fact[k]

    def combination(self, k, r):
        '''kCrを求める'''
        return (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD
      
h, w, k = map(int, input().split())
MOD = 10**9 + 7
comb = Combination(h*w, MOD)

kumi = comb.combination(h*w - 2, k - 2)
ans = 0

for d in range(0, h):
    ans += d * (h - d) * kumi * w * w
    ans %= MOD

for d in range(0, w):
    ans += d * (w - d) * kumi * h * h
    ans %= MOD

print(ans) class Combination:

    def __init__(self, n, MOD):
        self.fact = [1]
        for i in range(1, n + 1):
            self.fact.append(self.fact[-1] * i % MOD)
        self.inv_fact = [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)]
        self.MOD = MOD

    def factorial(self, k):
        '''k!を求める'''
        return self.fact[k]

    def inverse_factorial(self, k):
        '''k!の逆元を求める'''
        return self.inv_fact[k]

    def combination(self, k, r):
        '''kCrを求める'''
        return (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD
       Combination def __init__(self, n, MOD):
        self.fact = [1]
        for i in range(1, n + 1):
            self.fact.append(self.fact[-1] * i % MOD)
        self.inv_fact = [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)]
        self.MOD = MOD

     __init__ self.fact = [1] self.fact self fact [1] 1 for i in range(1, n + 1):
            self.fact.append(self.fact[-1] * i % MOD)
         i range(1, n + 1) range 1 n + 1 n 1 self.fact.append(self.fact[-1] * i % MOD) self.fact.append self.fact self fact append self.fact[-1] * i % MOD self.fact[-1] * i self.fact[-1] self.fact self fact -1 i MOD pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1) for i in range(n + 1) i range(n + 1) range n + 1 n 1 for i in range(n + 1) pow(self.fact[i] ,MOD - 2 ,MOD) pow self.fact[i] self.fact self fact i MOD - 2 MOD 2 MOD self.inv_fact = [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)] self.inv_fact self inv_fact [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)] self.MOD = MOD self.MOD self MOD MOD self self n n MOD MOD def factorial(self, k):
        '''k!を求める'''
        return self.fact[k]

     factorial '''k!を求める''' return self.fact[k] self.fact[k] self.fact self fact k self self k k def inverse_factorial(self, k):
        '''k!の逆元を求める'''
        return self.inv_fact[k]

     inverse_factorial '''k!の逆元を求める''' return self.inv_fact[k] self.inv_fact[k] self.inv_fact self inv_fact k self self k k def combination(self, k, r):
        '''kCrを求める'''
        return (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD
       combination '''kCrを求める''' return (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r] self.fact[k] * self.inv_fact[k - r] self.fact[k] self.fact self fact k self.inv_fact[k - r] self.inv_fact self inv_fact k - r k r self.inv_fact[r] self.inv_fact self inv_fact r self.MOD self MOD self self k k r r h, w, k = map(int, input().split()) h map(int, input().split()) map int input().split() ().split () input split w k MOD = 10**9 + 7 MOD 10**9 + 7 10**9 10 9 7 comb = Combination(h*w, MOD) comb Combination(h*w, MOD) Combination h*w h w MOD kumi = comb.combination(h*w - 2, k - 2) kumi comb.combination(h*w - 2, k - 2) comb.combination comb combination h*w - 2 h*w h w 2 k - 2 k 2 ans = 0 ans 0 for d in range(0, h):
    ans += d * (h - d) * kumi * w * w
    ans %= MOD d range(0, h) range 0 h ans += d * (h - d) * kumi * w * w ans d * (h - d) * kumi * w * w d * (h - d) * kumi * w d * (h - d) * kumi d * (h - d) d h - d h d kumi w w ans %= MOD ans MOD for d in range(0, w):
    ans += d * (w - d) * kumi * h * h
    ans %= MOD d range(0, w) range 0 w ans += d * (w - d) * kumi * h * h ans d * (w - d) * kumi * h * h d * (w - d) * kumi * h d * (w - d) * kumi d * (w - d) d w - d w d kumi h h ans %= MOD ans MOD print(ans) print ans ans = 0 0 ans h, w, k = map(int, input().split()) map(int, input().split()) h MOD = 10**9 + 7 10**9 + 7 MOD class Combination:

    def __init__(self, n, MOD):
        self.fact = [1]
        for i in range(1, n + 1):
            self.fact.append(self.fact[-1] * i % MOD)
        self.inv_fact = [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)]
        self.MOD = MOD

    def factorial(self, k):
        '''k!を求める'''
        return self.fact[k]

    def inverse_factorial(self, k):
        '''k!の逆元を求める'''
        return self.inv_fact[k]

    def combination(self, k, r):
        '''kCrを求める'''
        return (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD
       class Combination:

    def __init__(self, n, MOD):
        self.fact = [1]
        for i in range(1, n + 1):
            self.fact.append(self.fact[-1] * i % MOD)
        self.inv_fact = [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)]
        self.MOD = MOD

    def factorial(self, k):
        '''k!を求める'''
        return self.fact[k]

    def inverse_factorial(self, k):
        '''k!の逆元を求める'''
        return self.inv_fact[k]

    def combination(self, k, r):
        '''kCrを求める'''
        return (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD
       Combination ans += d * (w - d) * kumi * h * h d * (w - d) * kumi * h * h ans k = map(int, input().split()) map(int, input().split()) k ans %= MOD MOD ans ans += d * (h - d) * kumi * w * w d * (h - d) * kumi * w * w ans w, k = map(int, input().split()) map(int, input().split()) w comb = Combination(h*w, MOD) Combination(h*w, MOD) comb kumi = comb.combination(h*w - 2, k - 2) comb.combination(h*w - 2, k - 2) kumi ans %= MOD MOD ans
class Combination:

    def __init__(self, n, MOD):
        self.fact = [1]
        for i in range(1, n + 1):
            self.fact.append(self.fact[-1] * i % MOD)
        self.inv_fact = [pow(self.fact[i] ,MOD - 2 ,MOD) for i in range(n + 1)]
        self.MOD = MOD

    def factorial(self, k):
        '''k!を求める'''
        return self.fact[k]

    def inverse_factorial(self, k):
        '''k!の逆元を求める'''
        return self.inv_fact[k]

    def combination(self, k, r):
        '''kCrを求める'''
        return (self.fact[k] * self.inv_fact[k - r] * self.inv_fact[r]) % self.MOD
      
h, w, k = map(int, input().split())
MOD = 10**9 + 7
comb = Combination(h*w, MOD)

kumi = comb.combination(h*w - 2, k - 2)
ans = 0

for d in range(0, h):
    ans += d * (h - d) * kumi * w * w
    ans %= MOD

for d in range(0, w):
    ans += d * (w - d) * kumi * h * h
    ans %= MOD

print(ans)