from itertools import product, combinations
N,M,K=map(int, raw_input().split())


mod=10**9+7
fact, inv_fact = [1], [1]
fact_tmp = 1
for i in range(1, N*M+1):
    fact_tmp *= i
    fact_tmp %= mod
    fact.append(fact_tmp)
    inv_fact.append(pow(fact_tmp, mod-2, mod))
 
 
def ncr(n,r):
	if n < 0 or r < 0 or n < r:	return 0
	else:	return (fact[n] * inv_fact[r] * inv_fact[n-r]) %mod


torisuu=ncr(N*M-2,K-2)

ans=0
for i in range(N):
	for j in range(M):
		l_sum=(1+j)*j/2*N		#left
		r_sum=(1+(M-j-1))*(M-j-1)/2*N	#right	
		u_sum=(1+i)*i/2*M		#upper
		d_sum=(1+(N-i-1))*(N-i-1)/2*M	#down
		ans+=(l_sum+r_sum+u_sum+d_sum)*torisuu
		ans%=mod

print ( ans*pow(2,mod-2,mod) ) %mod from itertools import product, combinations N,M,K=map(int, raw_input().split()) N map(int, raw_input().split()) map int raw_input().split() ().split () raw_input split M K mod=10**9+7 mod 10**9+7 10**9 10 9 7 fact, inv_fact = [1], [1] fact [1] 1 inv_fact [1] 1 fact_tmp = 1 fact_tmp 1 for i in range(1, N*M+1):
    fact_tmp *= i
    fact_tmp %= mod
    fact.append(fact_tmp)
    inv_fact.append(pow(fact_tmp, mod-2, mod))
 
  i range(1, N*M+1) range 1 N*M+1 N*M N M 1 fact_tmp *= i fact_tmp i fact_tmp %= mod fact_tmp mod fact.append(fact_tmp) fact.append fact append fact_tmp inv_fact.append(pow(fact_tmp, mod-2, mod)) inv_fact.append inv_fact append pow(fact_tmp, mod-2, mod) pow fact_tmp mod-2 mod 2 mod def ncr(n,r):
	if n < 0 or r < 0 or n < r:	return 0
	else:	return (fact[n] * inv_fact[r] * inv_fact[n-r]) %mod ncr if n < 0 or r < 0 or n < r:	return 0
	else:	return (fact[n] * inv_fact[r] * inv_fact[n-r]) %mod n < 0 or r < 0 or n < r n < 0 or r < 0 n < 0 n 0 r < 0 r 0 n < r n r n n r r torisuu=ncr(N*M-2,K-2) torisuu ncr(N*M-2,K-2) ncr N*M-2 N*M N M 2 K-2 K 2 ans=0 ans 0 for i in range(N):
	for j in range(M):
		l_sum=(1+j)*j/2*N		#left
		r_sum=(1+(M-j-1))*(M-j-1)/2*N	#right	
		u_sum=(1+i)*i/2*M		#upper
		d_sum=(1+(N-i-1))*(N-i-1)/2*M	#down
		ans+=(l_sum+r_sum+u_sum+d_sum)*torisuu
		ans%=mod i range(N) range N for j in range(M):
		l_sum=(1+j)*j/2*N		#left
		r_sum=(1+(M-j-1))*(M-j-1)/2*N	#right	
		u_sum=(1+i)*i/2*M		#upper
		d_sum=(1+(N-i-1))*(N-i-1)/2*M	#down
		ans+=(l_sum+r_sum+u_sum+d_sum)*torisuu
		ans%=mod j range(M) range M l_sum=(1+j)*j/2*N l_sum (1+j)*j/2*N (1+j)*j/2 (1+j)*j 1+j 1 j j 2 N r_sum=(1+(M-j-1))*(M-j-1)/2*N r_sum (1+(M-j-1))*(M-j-1)/2*N (1+(M-j-1))*(M-j-1)/2 (1+(M-j-1))*(M-j-1) 1+(M-j-1) 1 M-j-1 M-j M j 1 M-j-1 M-j M j 1 2 N u_sum=(1+i)*i/2*M u_sum (1+i)*i/2*M (1+i)*i/2 (1+i)*i 1+i 1 i i 2 M d_sum=(1+(N-i-1))*(N-i-1)/2*M d_sum (1+(N-i-1))*(N-i-1)/2*M (1+(N-i-1))*(N-i-1)/2 (1+(N-i-1))*(N-i-1) 1+(N-i-1) 1 N-i-1 N-i N i 1 N-i-1 N-i N i 1 2 M ans+=(l_sum+r_sum+u_sum+d_sum)*torisuu ans (l_sum+r_sum+u_sum+d_sum)*torisuu l_sum+r_sum+u_sum+d_sum l_sum+r_sum+u_sum l_sum+r_sum l_sum r_sum u_sum d_sum torisuu ans%=mod ans mod print ( ans*pow(2,mod-2,mod) ) %mod print ( ans*pow(2,mod-2,mod) ) print ans*pow(2,mod-2,mod) ans pow(2,mod-2,mod) pow 2 mod-2 mod 2 mod mod fact_tmp = 1 1 fact_tmp l_sum=(1+j)*j/2*N (1+j)*j/2*N l_sum def ncr(n,r):
	if n < 0 or r < 0 or n < r:	return 0
	else:	return (fact[n] * inv_fact[r] * inv_fact[n-r]) %mod def ncr(n,r):
	if n < 0 or r < 0 or n < r:	return 0
	else:	return (fact[n] * inv_fact[r] * inv_fact[n-r]) %mod ncr inv_fact = [1], [1] [1] inv_fact mod=10**9+7 10**9+7 mod u_sum=(1+i)*i/2*M (1+i)*i/2*M u_sum K=map(int, raw_input().split()) map(int, raw_input().split()) K fact_tmp %= mod mod fact_tmp torisuu=ncr(N*M-2,K-2) ncr(N*M-2,K-2) torisuu d_sum=(1+(N-i-1))*(N-i-1)/2*M (1+(N-i-1))*(N-i-1)/2*M d_sum ans%=mod mod ans N,M,K=map(int, raw_input().split()) map(int, raw_input().split()) N r_sum=(1+(M-j-1))*(M-j-1)/2*N (1+(M-j-1))*(M-j-1)/2*N r_sum fact_tmp *= i i fact_tmp fact, inv_fact = [1], [1] [1] fact ans+=(l_sum+r_sum+u_sum+d_sum)*torisuu (l_sum+r_sum+u_sum+d_sum)*torisuu ans ans=0 0 ans M,K=map(int, raw_input().split()) map(int, raw_input().split()) M
from itertools import product, combinations
N,M,K=map(int, raw_input().split())


mod=10**9+7
fact, inv_fact = [1], [1]
fact_tmp = 1
for i in range(1, N*M+1):
    fact_tmp *= i
    fact_tmp %= mod
    fact.append(fact_tmp)
    inv_fact.append(pow(fact_tmp, mod-2, mod))
 
 
def ncr(n,r):
	if n < 0 or r < 0 or n < r:	return 0
	else:	return (fact[n] * inv_fact[r] * inv_fact[n-r]) %mod


torisuu=ncr(N*M-2,K-2)

ans=0
for i in range(N):
	for j in range(M):
		l_sum=(1+j)*j/2*N		#left
		r_sum=(1+(M-j-1))*(M-j-1)/2*N	#right	
		u_sum=(1+i)*i/2*M		#upper
		d_sum=(1+(N-i-1))*(N-i-1)/2*M	#down
		ans+=(l_sum+r_sum+u_sum+d_sum)*torisuu
		ans%=mod

print ( ans*pow(2,mod-2,mod) ) %mod