mod = 10 ** 9 + 7
class nCr():
    def __init__(self, n):
        self.n = n
        self.fa = [1] * (self.n + 1)
        self.fi = [1] * (self.n + 1)
        for i in range(1, self.n + 1):
            self.fa[i] = self.fa[i - 1] * i % mod
            self.fi[i] = pow(self.fa[i], mod - 2, mod)
    def comb(self, n, r):
        if n < r:return 0
        if n < 0 or r < 0:return 0
        return self.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod
n, m, k = map(int, input().split())
ans = 0
c = nCr(n * m)
for i in range(n):
    ans += i * (n - i) * m * m
    ans %= mod
for i in range(m):
    ans += i * (m - i) * n * n
    ans %= mod
print(ans * c.comb(n * m - 2, k - 2) % mod) mod = 10 ** 9 + 7 mod 10 ** 9 + 7 10 ** 9 10 9 7 class nCr():
    def __init__(self, n):
        self.n = n
        self.fa = [1] * (self.n + 1)
        self.fi = [1] * (self.n + 1)
        for i in range(1, self.n + 1):
            self.fa[i] = self.fa[i - 1] * i % mod
            self.fi[i] = pow(self.fa[i], mod - 2, mod)
    def comb(self, n, r):
        if n < r:return 0
        if n < 0 or r < 0:return 0
        return self.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod nCr def __init__(self, n):
        self.n = n
        self.fa = [1] * (self.n + 1)
        self.fi = [1] * (self.n + 1)
        for i in range(1, self.n + 1):
            self.fa[i] = self.fa[i - 1] * i % mod
            self.fi[i] = pow(self.fa[i], mod - 2, mod)
     __init__ self.n = n self.n self n n self.fa = [1] * (self.n + 1) self.fa self fa [1] * (self.n + 1) [1] 1 self.n + 1 self.n self n 1 self.fi = [1] * (self.n + 1) self.fi self fi [1] * (self.n + 1) [1] 1 self.n + 1 self.n self n 1 for i in range(1, self.n + 1):
            self.fa[i] = self.fa[i - 1] * i % mod
            self.fi[i] = pow(self.fa[i], mod - 2, mod)
     i range(1, self.n + 1) range 1 self.n + 1 self.n self n 1 self.fa[i] = self.fa[i - 1] * i % mod self.fa[i] self.fa self fa i self.fa[i - 1] * i % mod self.fa[i - 1] * i self.fa[i - 1] self.fa self fa i - 1 i 1 i mod self.fi[i] = pow(self.fa[i], mod - 2, mod) self.fi[i] self.fi self fi i pow(self.fa[i], mod - 2, mod) pow self.fa[i] self.fa self fa i mod - 2 mod 2 mod self self n n def comb(self, n, r):
        if n < r:return 0
        if n < 0 or r < 0:return 0
        return self.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod comb 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.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod self.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod self.fa[n] * self.fi[r] % mod * self.fi[n - r] self.fa[n] * self.fi[r] % mod self.fa[n] * self.fi[r] self.fa[n] self.fa self fa n self.fi[r] self.fi self fi r mod self.fi[n - r] self.fi self fi n - r n r mod self self n n r r 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 c = nCr(n * m) c nCr(n * m) nCr n * m n m for i in range(n):
    ans += i * (n - i) * m * m
    ans %= mod i range(n) range n ans += i * (n - i) * m * m ans i * (n - i) * m * m i * (n - i) * m i * (n - i) i n - i n i m m ans %= mod ans mod for i in range(m):
    ans += i * (m - i) * n * n
    ans %= mod i range(m) range m ans += i * (m - i) * n * n ans i * (m - i) * n * n i * (m - i) * n i * (m - i) i m - i m i n n ans %= mod ans mod print(ans * c.comb(n * m - 2, k - 2) % mod) print ans * c.comb(n * m - 2, k - 2) % mod ans * c.comb(n * m - 2, k - 2) ans c.comb(n * m - 2, k - 2) c.comb c comb n * m - 2 n * m n m 2 k - 2 k 2 mod m, k = map(int, input().split()) map(int, input().split()) m ans = 0 0 ans ans %= mod mod ans mod = 10 ** 9 + 7 10 ** 9 + 7 mod k = map(int, input().split()) map(int, input().split()) k c = nCr(n * m) nCr(n * m) c class nCr():
    def __init__(self, n):
        self.n = n
        self.fa = [1] * (self.n + 1)
        self.fi = [1] * (self.n + 1)
        for i in range(1, self.n + 1):
            self.fa[i] = self.fa[i - 1] * i % mod
            self.fi[i] = pow(self.fa[i], mod - 2, mod)
    def comb(self, n, r):
        if n < r:return 0
        if n < 0 or r < 0:return 0
        return self.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod class nCr():
    def __init__(self, n):
        self.n = n
        self.fa = [1] * (self.n + 1)
        self.fi = [1] * (self.n + 1)
        for i in range(1, self.n + 1):
            self.fa[i] = self.fa[i - 1] * i % mod
            self.fi[i] = pow(self.fa[i], mod - 2, mod)
    def comb(self, n, r):
        if n < r:return 0
        if n < 0 or r < 0:return 0
        return self.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod nCr ans += i * (n - i) * m * m i * (n - i) * m * m ans ans %= mod mod ans ans += i * (m - i) * n * n i * (m - i) * n * n ans n, m, k = map(int, input().split()) map(int, input().split()) n
mod = 10 ** 9 + 7
class nCr():
    def __init__(self, n):
        self.n = n
        self.fa = [1] * (self.n + 1)
        self.fi = [1] * (self.n + 1)
        for i in range(1, self.n + 1):
            self.fa[i] = self.fa[i - 1] * i % mod
            self.fi[i] = pow(self.fa[i], mod - 2, mod)
    def comb(self, n, r):
        if n < r:return 0
        if n < 0 or r < 0:return 0
        return self.fa[n] * self.fi[r] % mod * self.fi[n - r] % mod
n, m, k = map(int, input().split())
ans = 0
c = nCr(n * m)
for i in range(n):
    ans += i * (n - i) * m * m
    ans %= mod
for i in range(m):
    ans += i * (m - i) * n * n
    ans %= mod
print(ans * c.comb(n * m - 2, k - 2) % mod)