N, M, K = map(int, input().split())
P = int(1e9+7)
N -= 1
M -= 1

def comb(n, r):
    if n < r or r < 0:
        return 0
    nume = 1
    deno = 1
    for i in range(1, r + 1):
        nume = (nume * (n - i + 1)) % P
        deno = (deno * i) % P
    deno_inv = pow(deno, P-2, P)
    return (nume*deno_inv)%P

ans = 0

def sum_man_dist_ur(u, r):
    ret = 0
    u, r = min(u, r), max(u, r)
    if u == 0:
        ret =  r * (r + 1) // 2
    else:
        ret += (u * (u + 1) * (u - 1)) // 3
        ret += (u+1)*(r-u+1)*(r+u)//2
        ret += u * (u + 1) * (u + 3 * r + 2) // 6
    return ret%P

def sum_man_dist(x, y):
    ret = 0
    ret += sum_man_dist_ur(N - x, M - y)
    ret = (ret + sum_man_dist_ur(N - x, y)) % P
    ret = (ret + sum_man_dist_ur(x, M - y)) % P
    ret = (ret + sum_man_dist_ur(x, y)) % P
    ret -= (N-x)*(N-x+1)//2
    ret -= (x)*(x+1)//2
    ret -= (M-y)*(M-y+1)//2
    ret -= (y) * (y + 1) // 2
    return ret%P

ans = 0
c = comb((N+1)*(M+1)-2, K-2)
for x in range(N + 1):
    for y in range(M + 1):
        ans = (ans + c * sum_man_dist(x, y)) % P
print(ans*pow(2, P-2, P)%P) N, M, K = map(int, input().split()) N map(int, input().split()) map int input().split() ().split () input split M K P = int(1e9+7) P int(1e9+7) int 1e9+7 1e9 7 N -= 1 N 1 M -= 1 M 1 def comb(n, r):
    if n < r or r < 0:
        return 0
    nume = 1
    deno = 1
    for i in range(1, r + 1):
        nume = (nume * (n - i + 1)) % P
        deno = (deno * i) % P
    deno_inv = pow(deno, P-2, P)
    return (nume*deno_inv)%P comb if n < r or r < 0:
        return 0
     n < r or r < 0 n < r n r r < 0 r 0 return 0 0 nume = 1 nume 1 deno = 1 deno 1 for i in range(1, r + 1):
        nume = (nume * (n - i + 1)) % P
        deno = (deno * i) % P
     i range(1, r + 1) range 1 r + 1 r 1 nume = (nume * (n - i + 1)) % P nume (nume * (n - i + 1)) % P nume * (n - i + 1) nume n - i + 1 n - i n i 1 P deno = (deno * i) % P deno (deno * i) % P deno * i deno i P deno_inv = pow(deno, P-2, P) deno_inv pow(deno, P-2, P) pow deno P-2 P 2 P return (nume*deno_inv)%P (nume*deno_inv)%P nume*deno_inv nume deno_inv P n n r r ans = 0 ans 0 def sum_man_dist_ur(u, r):
    ret = 0
    u, r = min(u, r), max(u, r)
    if u == 0:
        ret =  r * (r + 1) // 2
    else:
        ret += (u * (u + 1) * (u - 1)) // 3
        ret += (u+1)*(r-u+1)*(r+u)//2
        ret += u * (u + 1) * (u + 3 * r + 2) // 6
    return ret%P sum_man_dist_ur ret = 0 ret 0 u, r = min(u, r), max(u, r) u min(u, r) min u r r max(u, r) max u r if u == 0:
        ret =  r * (r + 1) // 2
    else:
        ret += (u * (u + 1) * (u - 1)) // 3
        ret += (u+1)*(r-u+1)*(r+u)//2
        ret += u * (u + 1) * (u + 3 * r + 2) // 6
     u == 0 u 0 ret =  r * (r + 1) // 2 ret r * (r + 1) // 2 r * (r + 1) r r + 1 r 1 2 ret += (u * (u + 1) * (u - 1)) // 3 ret (u * (u + 1) * (u - 1)) // 3 u * (u + 1) * (u - 1) u * (u + 1) u u + 1 u 1 u - 1 u 1 3 ret += (u+1)*(r-u+1)*(r+u)//2 ret (u+1)*(r-u+1)*(r+u)//2 (u+1)*(r-u+1)*(r+u) (u+1)*(r-u+1) u+1 u 1 r-u+1 r-u r u 1 r+u r u 2 ret += u * (u + 1) * (u + 3 * r + 2) // 6 ret u * (u + 1) * (u + 3 * r + 2) // 6 u * (u + 1) * (u + 3 * r + 2) u * (u + 1) u u + 1 u 1 u + 3 * r + 2 u + 3 * r u 3 * r 3 r 2 6 return ret%P ret%P ret P u u r r def sum_man_dist(x, y):
    ret = 0
    ret += sum_man_dist_ur(N - x, M - y)
    ret = (ret + sum_man_dist_ur(N - x, y)) % P
    ret = (ret + sum_man_dist_ur(x, M - y)) % P
    ret = (ret + sum_man_dist_ur(x, y)) % P
    ret -= (N-x)*(N-x+1)//2
    ret -= (x)*(x+1)//2
    ret -= (M-y)*(M-y+1)//2
    ret -= (y) * (y + 1) // 2
    return ret%P sum_man_dist ret = 0 ret 0 ret += sum_man_dist_ur(N - x, M - y) ret sum_man_dist_ur(N - x, M - y) sum_man_dist_ur N - x N x M - y M y ret = (ret + sum_man_dist_ur(N - x, y)) % P ret (ret + sum_man_dist_ur(N - x, y)) % P ret + sum_man_dist_ur(N - x, y) ret sum_man_dist_ur(N - x, y) sum_man_dist_ur N - x N x y P ret = (ret + sum_man_dist_ur(x, M - y)) % P ret (ret + sum_man_dist_ur(x, M - y)) % P ret + sum_man_dist_ur(x, M - y) ret sum_man_dist_ur(x, M - y) sum_man_dist_ur x M - y M y P ret = (ret + sum_man_dist_ur(x, y)) % P ret (ret + sum_man_dist_ur(x, y)) % P ret + sum_man_dist_ur(x, y) ret sum_man_dist_ur(x, y) sum_man_dist_ur x y P ret -= (N-x)*(N-x+1)//2 ret (N-x)*(N-x+1)//2 (N-x)*(N-x+1) N-x N x N-x+1 N-x N x 1 2 ret -= (x)*(x+1)//2 ret (x)*(x+1)//2 (x)*(x+1) x x+1 x 1 2 ret -= (M-y)*(M-y+1)//2 ret (M-y)*(M-y+1)//2 (M-y)*(M-y+1) M-y M y M-y+1 M-y M y 1 2 ret -= (y) * (y + 1) // 2 ret (y) * (y + 1) // 2 (y) * (y + 1) y y + 1 y 1 2 return ret%P ret%P ret P x x y y ans = 0 ans 0 c = comb((N+1)*(M+1)-2, K-2) c comb((N+1)*(M+1)-2, K-2) comb (N+1)*(M+1)-2 (N+1)*(M+1) N+1 N 1 M+1 M 1 2 K-2 K 2 for x in range(N + 1):
    for y in range(M + 1):
        ans = (ans + c * sum_man_dist(x, y)) % P x range(N + 1) range N + 1 N 1 for y in range(M + 1):
        ans = (ans + c * sum_man_dist(x, y)) % P y range(M + 1) range M + 1 M 1 ans = (ans + c * sum_man_dist(x, y)) % P ans (ans + c * sum_man_dist(x, y)) % P ans + c * sum_man_dist(x, y) ans c * sum_man_dist(x, y) c sum_man_dist(x, y) sum_man_dist x y P print(ans*pow(2, P-2, P)%P) print ans*pow(2, P-2, P)%P ans*pow(2, P-2, P) ans pow(2, P-2, P) pow 2 P-2 P 2 P P def sum_man_dist(x, y):
    ret = 0
    ret += sum_man_dist_ur(N - x, M - y)
    ret = (ret + sum_man_dist_ur(N - x, y)) % P
    ret = (ret + sum_man_dist_ur(x, M - y)) % P
    ret = (ret + sum_man_dist_ur(x, y)) % P
    ret -= (N-x)*(N-x+1)//2
    ret -= (x)*(x+1)//2
    ret -= (M-y)*(M-y+1)//2
    ret -= (y) * (y + 1) // 2
    return ret%P def sum_man_dist(x, y):
    ret = 0
    ret += sum_man_dist_ur(N - x, M - y)
    ret = (ret + sum_man_dist_ur(N - x, y)) % P
    ret = (ret + sum_man_dist_ur(x, M - y)) % P
    ret = (ret + sum_man_dist_ur(x, y)) % P
    ret -= (N-x)*(N-x+1)//2
    ret -= (x)*(x+1)//2
    ret -= (M-y)*(M-y+1)//2
    ret -= (y) * (y + 1) // 2
    return ret%P sum_man_dist def sum_man_dist_ur(u, r):
    ret = 0
    u, r = min(u, r), max(u, r)
    if u == 0:
        ret =  r * (r + 1) // 2
    else:
        ret += (u * (u + 1) * (u - 1)) // 3
        ret += (u+1)*(r-u+1)*(r+u)//2
        ret += u * (u + 1) * (u + 3 * r + 2) // 6
    return ret%P def sum_man_dist_ur(u, r):
    ret = 0
    u, r = min(u, r), max(u, r)
    if u == 0:
        ret =  r * (r + 1) // 2
    else:
        ret += (u * (u + 1) * (u - 1)) // 3
        ret += (u+1)*(r-u+1)*(r+u)//2
        ret += u * (u + 1) * (u + 3 * r + 2) // 6
    return ret%P sum_man_dist_ur K = map(int, input().split()) map(int, input().split()) K N, M, K = map(int, input().split()) map(int, input().split()) N def comb(n, r):
    if n < r or r < 0:
        return 0
    nume = 1
    deno = 1
    for i in range(1, r + 1):
        nume = (nume * (n - i + 1)) % P
        deno = (deno * i) % P
    deno_inv = pow(deno, P-2, P)
    return (nume*deno_inv)%P def comb(n, r):
    if n < r or r < 0:
        return 0
    nume = 1
    deno = 1
    for i in range(1, r + 1):
        nume = (nume * (n - i + 1)) % P
        deno = (deno * i) % P
    deno_inv = pow(deno, P-2, P)
    return (nume*deno_inv)%P comb ans = (ans + c * sum_man_dist(x, y)) % P (ans + c * sum_man_dist(x, y)) % P ans N -= 1 1 N P = int(1e9+7) int(1e9+7) P ans = 0 0 ans ans = 0 0 ans c = comb((N+1)*(M+1)-2, K-2) comb((N+1)*(M+1)-2, K-2) c M -= 1 1 M M, K = map(int, input().split()) map(int, input().split()) M
N, M, K = map(int, input().split())
P = int(1e9+7)
N -= 1
M -= 1

def comb(n, r):
    if n < r or r < 0:
        return 0
    nume = 1
    deno = 1
    for i in range(1, r + 1):
        nume = (nume * (n - i + 1)) % P
        deno = (deno * i) % P
    deno_inv = pow(deno, P-2, P)
    return (nume*deno_inv)%P

ans = 0

def sum_man_dist_ur(u, r):
    ret = 0
    u, r = min(u, r), max(u, r)
    if u == 0:
        ret =  r * (r + 1) // 2
    else:
        ret += (u * (u + 1) * (u - 1)) // 3
        ret += (u+1)*(r-u+1)*(r+u)//2
        ret += u * (u + 1) * (u + 3 * r + 2) // 6
    return ret%P

def sum_man_dist(x, y):
    ret = 0
    ret += sum_man_dist_ur(N - x, M - y)
    ret = (ret + sum_man_dist_ur(N - x, y)) % P
    ret = (ret + sum_man_dist_ur(x, M - y)) % P
    ret = (ret + sum_man_dist_ur(x, y)) % P
    ret -= (N-x)*(N-x+1)//2
    ret -= (x)*(x+1)//2
    ret -= (M-y)*(M-y+1)//2
    ret -= (y) * (y + 1) // 2
    return ret%P

ans = 0
c = comb((N+1)*(M+1)-2, K-2)
for x in range(N + 1):
    for y in range(M + 1):
        ans = (ans + c * sum_man_dist(x, y)) % P
print(ans*pow(2, P-2, P)%P)
