-- 127 e
import Data.Int

modv_ = 1000000007 :: Int64

mul_ :: Int64 -> Int64 -> Int64
mul_ x y = ( x * y ) `mod` modv_

div_ :: Int64 -> Int64 -> Int64
div_ x y = x `mul_` (power_ y (modv_ - 2))

power_ :: Int64 -> Int64 -> Int64
power_ _ 0 = 1 
power_ x y = power_ (x `mul_` x) (y `div` 2) `mul_` if even y then 1 else x

combination :: Int64 -> Int64 -> Int64
combination n 0 = 1
combination n m = (combination (n-1) (m-1)) `mul_` n `div_` m

sum_ :: Int64 -> Int64 
sum_ i = (sum1 - sum2) `mod` modv_
    where
        sum1 = i * i * (i+1) `div` 2
        sum2 = i * (i+1) * (2*i+1) `div` 6

solve :: [Int64] -> Int64
solve (n:m:k:rest) = 
    result `mul_` resultc
    where
        result = (m * m * (sum_ n) + n * n * (sum_ m)) `mod` modv_
        resultc = combination (n * m - 2) (k - 2)

main = interact $ show.solve.map read.words
