def ext_euc(a, b):
    # return x, y, gcd(a, b) s.t. ax + by = gcd(a, b)
    if b == 0:
        return 1, 0, a
    y, x, v = ext_euc(b, a % b)
    y -= (a // b) * x
    return x, y, v


def mod_inv(a, mod):
    x, _, _ = ext_euc(a, mod)
    return x % mod


def comb(n, k, mod):
    if k >= n // 2:
        return comb(n, n - k, mod)
    ret = 1
    for i in range(k):
        ret *= n - i
        ret *= mod_inv(k - i, mod)
        ret %= mod
    return ret


def main():
    MOD = 10 ** 9 + 7
    N, M, K = list(map(int, input().split(' ')))
    ans = comb(N * M - 2, K - 2, MOD)
    ans *= ((N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1)) // 6
    ans %= MOD
    print(ans)


if __name__ == '__main__':
    main() def ext_euc(a, b):
    # return x, y, gcd(a, b) s.t. ax + by = gcd(a, b)
    if b == 0:
        return 1, 0, a
    y, x, v = ext_euc(b, a % b)
    y -= (a // b) * x
    return x, y, v ext_euc if b == 0:
        return 1, 0, a
     b == 0 b 0 return 1, 0, a return 1, 0, a 1 0 a y, x, v = ext_euc(b, a % b) y ext_euc(b, a % b) ext_euc b a % b a b x v y -= (a // b) * x y (a // b) * x a // b a b x return x, y, v return x, y, v x y v a a b b def mod_inv(a, mod):
    x, _, _ = ext_euc(a, mod)
    return x % mod mod_inv x, _, _ = ext_euc(a, mod) x ext_euc(a, mod) ext_euc a mod _ _ return x % mod x % mod x mod a a mod mod def comb(n, k, mod):
    if k >= n // 2:
        return comb(n, n - k, mod)
    ret = 1
    for i in range(k):
        ret *= n - i
        ret *= mod_inv(k - i, mod)
        ret %= mod
    return ret comb if k >= n // 2:
        return comb(n, n - k, mod)
     k >= n // 2 k n // 2 n 2 return comb(n, n - k, mod) comb(n, n - k, mod) comb n n - k n k mod ret = 1 ret 1 for i in range(k):
        ret *= n - i
        ret *= mod_inv(k - i, mod)
        ret %= mod
     i range(k) range k ret *= n - i ret n - i n i ret *= mod_inv(k - i, mod) ret mod_inv(k - i, mod) mod_inv k - i k i mod ret %= mod ret mod return ret ret n n k k mod mod def main():
    MOD = 10 ** 9 + 7
    N, M, K = list(map(int, input().split(' ')))
    ans = comb(N * M - 2, K - 2, MOD)
    ans *= ((N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1)) // 6
    ans %= MOD
    print(ans) main MOD = 10 ** 9 + 7 MOD 10 ** 9 + 7 10 ** 9 10 9 7 N, M, K = list(map(int, input().split(' '))) N list(map(int, input().split(' '))) list map(int, input().split(' ')) map int input().split(' ') ().split () input split ' ' M K ans = comb(N * M - 2, K - 2, MOD) ans comb(N * M - 2, K - 2, MOD) comb N * M - 2 N * M N M 2 K - 2 K 2 MOD ans *= ((N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1)) // 6 ans ((N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1)) // 6 (N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1) (N ** 2) * (M - 1) * M * (M + 1) (N ** 2) * (M - 1) * M (N ** 2) * (M - 1) N ** 2 N 2 M - 1 M 1 M M + 1 M 1 (M ** 2) * (N - 1) * N * (N + 1) (M ** 2) * (N - 1) * N (M ** 2) * (N - 1) M ** 2 M 2 N - 1 N 1 N N + 1 N 1 6 ans %= MOD ans MOD print(ans) print ans if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def mod_inv(a, mod):
    x, _, _ = ext_euc(a, mod)
    return x % mod def mod_inv(a, mod):
    x, _, _ = ext_euc(a, mod)
    return x % mod mod_inv def ext_euc(a, b):
    # return x, y, gcd(a, b) s.t. ax + by = gcd(a, b)
    if b == 0:
        return 1, 0, a
    y, x, v = ext_euc(b, a % b)
    y -= (a // b) * x
    return x, y, v def ext_euc(a, b):
    # return x, y, gcd(a, b) s.t. ax + by = gcd(a, b)
    if b == 0:
        return 1, 0, a
    y, x, v = ext_euc(b, a % b)
    y -= (a // b) * x
    return x, y, v ext_euc def main():
    MOD = 10 ** 9 + 7
    N, M, K = list(map(int, input().split(' ')))
    ans = comb(N * M - 2, K - 2, MOD)
    ans *= ((N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1)) // 6
    ans %= MOD
    print(ans) def main():
    MOD = 10 ** 9 + 7
    N, M, K = list(map(int, input().split(' ')))
    ans = comb(N * M - 2, K - 2, MOD)
    ans *= ((N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1)) // 6
    ans %= MOD
    print(ans) main def comb(n, k, mod):
    if k >= n // 2:
        return comb(n, n - k, mod)
    ret = 1
    for i in range(k):
        ret *= n - i
        ret *= mod_inv(k - i, mod)
        ret %= mod
    return ret def comb(n, k, mod):
    if k >= n // 2:
        return comb(n, n - k, mod)
    ret = 1
    for i in range(k):
        ret *= n - i
        ret *= mod_inv(k - i, mod)
        ret %= mod
    return ret comb
def ext_euc(a, b):
    # return x, y, gcd(a, b) s.t. ax + by = gcd(a, b)
    if b == 0:
        return 1, 0, a
    y, x, v = ext_euc(b, a % b)
    y -= (a // b) * x
    return x, y, v


def mod_inv(a, mod):
    x, _, _ = ext_euc(a, mod)
    return x % mod


def comb(n, k, mod):
    if k >= n // 2:
        return comb(n, n - k, mod)
    ret = 1
    for i in range(k):
        ret *= n - i
        ret *= mod_inv(k - i, mod)
        ret %= mod
    return ret


def main():
    MOD = 10 ** 9 + 7
    N, M, K = list(map(int, input().split(' ')))
    ans = comb(N * M - 2, K - 2, MOD)
    ans *= ((N ** 2) * (M - 1) * M * (M + 1) + (M ** 2) * (N - 1) * N * (N + 1)) // 6
    ans %= MOD
    print(ans)


if __name__ == '__main__':
    main()