LARGE = 10**9 + 7


def p_inv(k, p):
    return pow(k, p-2, p)


def nck_mod(n, k, m):
    res = 1
    for i in range(n, n-k, -1):
        res = res * i % m
    for i in range(1, k+1):
        res = res * p_inv(i, m) % m
    return res


def solve(n, m, k):
    res_1 = 0
    r = n * (n - 1) // 2
    res_1 += r
    for i in range(1, n):
        r += i
        r -= n - i
        res_1 += r
    res_2 = 0
    r = m * (m - 1) // 2
    res_2 += r
    for i in range(1, m):
        r += i
        r -= m - i
        res_2 += r
    res = (res_1 * m * m + res_2 * n * n) % LARGE

    weight = nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) % LARGE

    return res * weight % LARGE


if __name__ == "__main__":
    N, M, K = map(int, input().split())
    print(solve(N, M, K))
    # print(solve(2, 2, 2))
    # print(solve(4, 5, 4))
    # print(solve(100, 100, 5000)) LARGE = 10**9 + 7 LARGE 10**9 + 7 10**9 10 9 7 def p_inv(k, p):
    return pow(k, p-2, p) p_inv return pow(k, p-2, p) pow(k, p-2, p) pow k p-2 p 2 p k k p p def nck_mod(n, k, m):
    res = 1
    for i in range(n, n-k, -1):
        res = res * i % m
    for i in range(1, k+1):
        res = res * p_inv(i, m) % m
    return res nck_mod res = 1 res 1 for i in range(n, n-k, -1):
        res = res * i % m
     i range(n, n-k, -1) range n n-k n k -1 res = res * i % m res res * i % m res * i res i m for i in range(1, k+1):
        res = res * p_inv(i, m) % m
     i range(1, k+1) range 1 k+1 k 1 res = res * p_inv(i, m) % m res res * p_inv(i, m) % m res * p_inv(i, m) res p_inv(i, m) p_inv i m m return res res n n k k m m def solve(n, m, k):
    res_1 = 0
    r = n * (n - 1) // 2
    res_1 += r
    for i in range(1, n):
        r += i
        r -= n - i
        res_1 += r
    res_2 = 0
    r = m * (m - 1) // 2
    res_2 += r
    for i in range(1, m):
        r += i
        r -= m - i
        res_2 += r
    res = (res_1 * m * m + res_2 * n * n) % LARGE

    weight = nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) % LARGE

    return res * weight % LARGE solve res_1 = 0 res_1 0 r = n * (n - 1) // 2 r n * (n - 1) // 2 n * (n - 1) n n - 1 n 1 2 res_1 += r res_1 r for i in range(1, n):
        r += i
        r -= n - i
        res_1 += r
     i range(1, n) range 1 n r += i r i r -= n - i r n - i n i res_1 += r res_1 r res_2 = 0 res_2 0 r = m * (m - 1) // 2 r m * (m - 1) // 2 m * (m - 1) m m - 1 m 1 2 res_2 += r res_2 r for i in range(1, m):
        r += i
        r -= m - i
        res_2 += r
     i range(1, m) range 1 m r += i r i r -= m - i r m - i m i res_2 += r res_2 r res = (res_1 * m * m + res_2 * n * n) % LARGE res (res_1 * m * m + res_2 * n * n) % LARGE res_1 * m * m + res_2 * n * n res_1 * m * m res_1 * m res_1 m m res_2 * n * n res_2 * n res_2 n n LARGE weight = nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) % LARGE weight nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) % LARGE nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) nck_mod(n * m - 1, k - 1, LARGE) nck_mod n * m - 1 n * m n m 1 k - 1 k 1 LARGE p_inv(n * m - 1, LARGE) p_inv n * m - 1 n * m n m 1 LARGE k - 1 k 1 p_inv(2, LARGE) p_inv 2 LARGE LARGE return res * weight % LARGE res * weight % LARGE res * weight res weight LARGE n n m m k k if __name__ == "__main__":
    N, M, K = map(int, input().split())
    print(solve(N, M, K))
    # print(solve(2, 2, 2))
    # print(solve(4, 5, 4))
    # print(solve(100, 100, 5000)) __name__ == "__main__" __name__ "__main__" N, M, K = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M K print(solve(N, M, K)) print solve(N, M, K) solve N M K K = map(int, input().split()) map(int, input().split()) K LARGE = 10**9 + 7 10**9 + 7 LARGE M, K = map(int, input().split()) map(int, input().split()) M N, M, K = map(int, input().split()) map(int, input().split()) N def solve(n, m, k):
    res_1 = 0
    r = n * (n - 1) // 2
    res_1 += r
    for i in range(1, n):
        r += i
        r -= n - i
        res_1 += r
    res_2 = 0
    r = m * (m - 1) // 2
    res_2 += r
    for i in range(1, m):
        r += i
        r -= m - i
        res_2 += r
    res = (res_1 * m * m + res_2 * n * n) % LARGE

    weight = nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) % LARGE

    return res * weight % LARGE def solve(n, m, k):
    res_1 = 0
    r = n * (n - 1) // 2
    res_1 += r
    for i in range(1, n):
        r += i
        r -= n - i
        res_1 += r
    res_2 = 0
    r = m * (m - 1) // 2
    res_2 += r
    for i in range(1, m):
        r += i
        r -= m - i
        res_2 += r
    res = (res_1 * m * m + res_2 * n * n) % LARGE

    weight = nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) % LARGE

    return res * weight % LARGE solve def nck_mod(n, k, m):
    res = 1
    for i in range(n, n-k, -1):
        res = res * i % m
    for i in range(1, k+1):
        res = res * p_inv(i, m) % m
    return res def nck_mod(n, k, m):
    res = 1
    for i in range(n, n-k, -1):
        res = res * i % m
    for i in range(1, k+1):
        res = res * p_inv(i, m) % m
    return res nck_mod def p_inv(k, p):
    return pow(k, p-2, p) def p_inv(k, p):
    return pow(k, p-2, p) p_inv
LARGE = 10**9 + 7


def p_inv(k, p):
    return pow(k, p-2, p)


def nck_mod(n, k, m):
    res = 1
    for i in range(n, n-k, -1):
        res = res * i % m
    for i in range(1, k+1):
        res = res * p_inv(i, m) % m
    return res


def solve(n, m, k):
    res_1 = 0
    r = n * (n - 1) // 2
    res_1 += r
    for i in range(1, n):
        r += i
        r -= n - i
        res_1 += r
    res_2 = 0
    r = m * (m - 1) // 2
    res_2 += r
    for i in range(1, m):
        r += i
        r -= m - i
        res_2 += r
    res = (res_1 * m * m + res_2 * n * n) % LARGE

    weight = nck_mod(n * m - 1, k - 1, LARGE) * p_inv(n * m - 1, LARGE) * (k - 1) * p_inv(2, LARGE) % LARGE

    return res * weight % LARGE


if __name__ == "__main__":
    N, M, K = map(int, input().split())
    print(solve(N, M, K))
    # print(solve(2, 2, 2))
    # print(solve(4, 5, 4))
    # print(solve(100, 100, 5000))
