require 'prime'
P = Hash.new
def prime_division(i)
  Prime.prime_division(i).each{|k, v|
    P[k] = 0 if !P.key?(k)
    P[k] += v
  }
end
def prime_division_reverse(i)
  return i if P.size == 0
  ret = 1
  Prime.prime_division(i).each{|k, v|
    if !P.key?(k) then
      ret *= (k ** v)
    elsif P[k] <= v then
      ret *= (k ** (v - P[k]))
      P.delete(k)
    else
      P[k] -= v
    end
  }
  ret
end

N, M, K = gets.chomp.split(" ").map(&:to_i);

CD = 10 ** 9 + 7

s = 0
(0...M).each{|j|
  (0...N).each{|i|
    if j == 0 then
      s += (i + j) * (N - i) * (M - j)
    else
      s += (i + j) * (N - i) * (M - j) * (i == 0 ? 1 : 2)
    end
  }
}

a = N * M - 2
b = K - 2
c = 1
b = a - b if a < 2 * b
if b != 0 then
  bb = b.downto(1).to_a
  aa = (a-b+1..a).to_a
  c = 1
  #r = a / b
  (0...b).each{|i|
    r = (a - b) / bb[i] + 1
    break if r > 20
    while(r * bb[i] < a)
      j = r * bb[i]
      if j == aa[j - (a-b+1)]
        aa[j - (a-b+1)] = r
        bb[i] = 1
        break
      end
      r += 1
    end
  }
  bb.delete(1)
  
  bb.each{|i|
    prime_division(i)
  }

  aa.each{|i|
    c *= prime_division_reverse(i)
    c %= CD if c > CD && P.size == 0
  }
end

puts (c * (s % CD)) % CD
