H, W, K = map(int, input().split())
MOD = 10 ** 9 + 7

factorial = [1, 1]
inverse = [1, 1]
invere_base = [0, 1]
for i in range(2, H * W + 2):
    factorial.append((factorial[-1] * i) % MOD)
    invere_base.append((-invere_base[MOD % i] * (MOD // i)) % MOD)
    inverse.append((inverse[-1] * invere_base[-1]) % MOD)


def nCr(n, r):
    if not 0 <= r <= n:
        return 0
    return factorial[n] * inverse[r] * inverse[n - r] % MOD


ans = 0
for dh in range(1, H):
    ans += dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) % MOD
    ans %= MOD
for dw in range(1, W):
    ans += dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) % MOD
    ans %= MOD

print(ans) 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 factorial = [1, 1] factorial [1, 1] 1 1 inverse = [1, 1] inverse [1, 1] 1 1 invere_base = [0, 1] invere_base [0, 1] 0 1 for i in range(2, H * W + 2):
    factorial.append((factorial[-1] * i) % MOD)
    invere_base.append((-invere_base[MOD % i] * (MOD // i)) % MOD)
    inverse.append((inverse[-1] * invere_base[-1]) % MOD) i range(2, H * W + 2) range 2 H * W + 2 H * W H W 2 factorial.append((factorial[-1] * i) % MOD) factorial.append factorial append (factorial[-1] * i) % MOD factorial[-1] * i factorial[-1] factorial -1 i MOD invere_base.append((-invere_base[MOD % i] * (MOD // i)) % MOD) invere_base.append invere_base append (-invere_base[MOD % i] * (MOD // i)) % MOD -invere_base[MOD % i] * (MOD // i) -invere_base[MOD % i] invere_base[MOD % i] invere_base MOD % i MOD i MOD // i MOD i MOD inverse.append((inverse[-1] * invere_base[-1]) % MOD) inverse.append inverse append (inverse[-1] * invere_base[-1]) % MOD inverse[-1] * invere_base[-1] inverse[-1] inverse -1 invere_base[-1] invere_base -1 MOD def nCr(n, r):
    if not 0 <= r <= n:
        return 0
    return factorial[n] * inverse[r] * inverse[n - r] % MOD nCr if not 0 <= r <= n:
        return 0
     not 0 <= r <= n 0 <= r <= n 0 <= r 0 r n return 0 0 return factorial[n] * inverse[r] * inverse[n - r] % MOD factorial[n] * inverse[r] * inverse[n - r] % MOD factorial[n] * inverse[r] * inverse[n - r] factorial[n] * inverse[r] factorial[n] factorial n inverse[r] inverse r inverse[n - r] inverse n - r n r MOD n n r r ans = 0 ans 0 for dh in range(1, H):
    ans += dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) % MOD
    ans %= MOD dh range(1, H) range 1 H ans += dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) % MOD ans dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) % MOD dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) dh * (H - dh) * pow(W, 2, MOD) dh * (H - dh) dh H - dh H dh pow(W, 2, MOD) pow W 2 MOD nCr(H * W - 2, K - 2) nCr H * W - 2 H * W H W 2 K - 2 K 2 MOD ans %= MOD ans MOD for dw in range(1, W):
    ans += dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) % MOD
    ans %= MOD dw range(1, W) range 1 W ans += dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) % MOD ans dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) % MOD dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) dw * (W - dw) * pow(H, 2, MOD) dw * (W - dw) dw W - dw W dw pow(H, 2, MOD) pow H 2 MOD nCr(H * W - 2, K - 2) nCr H * W - 2 H * W H W 2 K - 2 K 2 MOD ans %= MOD ans MOD print(ans) print ans def nCr(n, r):
    if not 0 <= r <= n:
        return 0
    return factorial[n] * inverse[r] * inverse[n - r] % MOD def nCr(n, r):
    if not 0 <= r <= n:
        return 0
    return factorial[n] * inverse[r] * inverse[n - r] % MOD nCr invere_base = [0, 1] [0, 1] invere_base ans += dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) % MOD dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) % MOD ans inverse = [1, 1] [1, 1] inverse ans %= MOD MOD ans ans %= MOD MOD ans K = map(int, input().split()) map(int, input().split()) K H, W, K = map(int, input().split()) map(int, input().split()) H factorial = [1, 1] [1, 1] factorial ans = 0 0 ans W, K = map(int, input().split()) map(int, input().split()) W ans += dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) % MOD dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) % MOD ans MOD = 10 ** 9 + 7 10 ** 9 + 7 MOD
H, W, K = map(int, input().split())
MOD = 10 ** 9 + 7

factorial = [1, 1]
inverse = [1, 1]
invere_base = [0, 1]
for i in range(2, H * W + 2):
    factorial.append((factorial[-1] * i) % MOD)
    invere_base.append((-invere_base[MOD % i] * (MOD // i)) % MOD)
    inverse.append((inverse[-1] * invere_base[-1]) % MOD)


def nCr(n, r):
    if not 0 <= r <= n:
        return 0
    return factorial[n] * inverse[r] * inverse[n - r] % MOD


ans = 0
for dh in range(1, H):
    ans += dh * (H - dh) * pow(W, 2, MOD) * nCr(H * W - 2, K - 2) % MOD
    ans %= MOD
for dw in range(1, W):
    ans += dw * (W - dw) * pow(H, 2, MOD) * nCr(H * W - 2, K - 2) % MOD
    ans %= MOD

print(ans)
