N,M,K = map(int, input().split())
P=1000000007
MPL = 1
f = 1
for i in range(1, N*M-1):
    MPL = MPL * i % P
    MPL %= P
    if i == K - 2:
        f *= pow(MPL, P - 2, P)
    if i == N*M - K:
        f *= pow(MPL, P - 2, P)
MPL = MPL * f % P
ans = 0
for A in [N, M]:
    width = N ^ M ^ A
    for i in range(1, A):
        ans = (ans + width * width * i * (i + 1) // 2) % P
print(ans * MPL % P) N,M,K = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M K P=1000000007 P 1000000007 MPL = 1 MPL 1 f = 1 f 1 for i in range(1, N*M-1):
    MPL = MPL * i % P
    MPL %= P
    if i == K - 2:
        f *= pow(MPL, P - 2, P)
    if i == N*M - K:
        f *= pow(MPL, P - 2, P) i range(1, N*M-1) range 1 N*M-1 N*M N M 1 MPL = MPL * i % P MPL MPL * i % P MPL * i MPL i P MPL %= P MPL P if i == K - 2:
        f *= pow(MPL, P - 2, P)
     i == K - 2 i K - 2 K 2 f *= pow(MPL, P - 2, P) f pow(MPL, P - 2, P) pow MPL P - 2 P 2 P if i == N*M - K:
        f *= pow(MPL, P - 2, P) i == N*M - K i N*M - K N*M N M K f *= pow(MPL, P - 2, P) f pow(MPL, P - 2, P) pow MPL P - 2 P 2 P MPL = MPL * f % P MPL MPL * f % P MPL * f MPL f P ans = 0 ans 0 for A in [N, M]:
    width = N ^ M ^ A
    for i in range(1, A):
        ans = (ans + width * width * i * (i + 1) // 2) % P A [N, M] N M width = N ^ M ^ A width N ^ M ^ A N ^ M N M A for i in range(1, A):
        ans = (ans + width * width * i * (i + 1) // 2) % P i range(1, A) range 1 A ans = (ans + width * width * i * (i + 1) // 2) % P ans (ans + width * width * i * (i + 1) // 2) % P ans + width * width * i * (i + 1) // 2 ans width * width * i * (i + 1) // 2 width * width * i * (i + 1) width * width * i width * width width width i i + 1 i 1 2 P print(ans * MPL % P) print ans * MPL % P ans * MPL ans MPL P f *= pow(MPL, P - 2, P) pow(MPL, P - 2, P) f ans = 0 0 ans width = N ^ M ^ A N ^ M ^ A width MPL %= P P MPL f *= pow(MPL, P - 2, P) pow(MPL, P - 2, P) f MPL = MPL * i % P MPL * i % P MPL MPL = MPL * f % P MPL * f % P MPL P=1000000007 1000000007 P ans = (ans + width * width * i * (i + 1) // 2) % P (ans + width * width * i * (i + 1) // 2) % P ans f = 1 1 f N,M,K = map(int, input().split()) map(int, input().split()) N MPL = 1 1 MPL M,K = map(int, input().split()) map(int, input().split()) M K = map(int, input().split()) map(int, input().split()) K
N,M,K = map(int, input().split())
P=1000000007
MPL = 1
f = 1
for i in range(1, N*M-1):
    MPL = MPL * i % P
    MPL %= P
    if i == K - 2:
        f *= pow(MPL, P - 2, P)
    if i == N*M - K:
        f *= pow(MPL, P - 2, P)
MPL = MPL * f % P
ans = 0
for A in [N, M]:
    width = N ^ M ^ A
    for i in range(1, A):
        ans = (ans + width * width * i * (i + 1) // 2) % P
print(ans * MPL % P)