mod = 10**9 + 7


def comb(n, k):
    x, y = 1, 1
    k = min(k, n - k)
    for i in range(k):
        x *= n - i
        x %= mod
        y *= i + 1
        y %= mod
    return x * pow(y, mod - 2, mod) % mod


def solve(string):
    n, m, k = map(int, string.split())
    base = n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 % mod
    return str(base * comb(n * m - 2, k - 2) % mod)


if __name__ == '__main__':
    print(solve(input())) mod = 10**9 + 7 mod 10**9 + 7 10**9 10 9 7 def comb(n, k):
    x, y = 1, 1
    k = min(k, n - k)
    for i in range(k):
        x *= n - i
        x %= mod
        y *= i + 1
        y %= mod
    return x * pow(y, mod - 2, mod) % mod comb x, y = 1, 1 x 1 y 1 k = min(k, n - k) k min(k, n - k) min k n - k n k for i in range(k):
        x *= n - i
        x %= mod
        y *= i + 1
        y %= mod
     i range(k) range k x *= n - i x n - i n i x %= mod x mod y *= i + 1 y i + 1 i 1 y %= mod y mod return x * pow(y, mod - 2, mod) % mod x * pow(y, mod - 2, mod) % mod x * pow(y, mod - 2, mod) x pow(y, mod - 2, mod) pow y mod - 2 mod 2 mod mod n n k k def solve(string):
    n, m, k = map(int, string.split())
    base = n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 % mod
    return str(base * comb(n * m - 2, k - 2) % mod) solve n, m, k = map(int, string.split()) n map(int, string.split()) map int string.split() string.split string split m k base = n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 % mod base n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 % mod n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) n * m n m (n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2 (n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 (n + 1) * (m + 1) * (n + m - 2) - n**2 (n + 1) * (m + 1) * (n + m - 2) (n + 1) * (m + 1) n + 1 n 1 m + 1 m 1 n + m - 2 n + m n m 2 n**2 n 2 m**2 m 2 2 6 mod return str(base * comb(n * m - 2, k - 2) % mod) str(base * comb(n * m - 2, k - 2) % mod) str base * comb(n * m - 2, k - 2) % mod base * comb(n * m - 2, k - 2) base comb(n * m - 2, k - 2) comb n * m - 2 n * m n m 2 k - 2 k 2 mod string string if __name__ == '__main__':
    print(solve(input())) __name__ == '__main__' __name__ '__main__' print(solve(input())) print solve(input()) solve input() input mod = 10**9 + 7 10**9 + 7 mod def comb(n, k):
    x, y = 1, 1
    k = min(k, n - k)
    for i in range(k):
        x *= n - i
        x %= mod
        y *= i + 1
        y %= mod
    return x * pow(y, mod - 2, mod) % mod def comb(n, k):
    x, y = 1, 1
    k = min(k, n - k)
    for i in range(k):
        x *= n - i
        x %= mod
        y *= i + 1
        y %= mod
    return x * pow(y, mod - 2, mod) % mod comb def solve(string):
    n, m, k = map(int, string.split())
    base = n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 % mod
    return str(base * comb(n * m - 2, k - 2) % mod) def solve(string):
    n, m, k = map(int, string.split())
    base = n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 % mod
    return str(base * comb(n * m - 2, k - 2) % mod) solve
mod = 10**9 + 7


def comb(n, k):
    x, y = 1, 1
    k = min(k, n - k)
    for i in range(k):
        x *= n - i
        x %= mod
        y *= i + 1
        y %= mod
    return x * pow(y, mod - 2, mod) % mod


def solve(string):
    n, m, k = map(int, string.split())
    base = n * m * ((n + 1) * (m + 1) * (n + m - 2) - n**2 - m**2 + 2) // 6 % mod
    return str(base * comb(n * m - 2, k - 2) % mod)


if __name__ == '__main__':
    print(solve(input()))
