Special Tables

Count the number of N by M tables with entries from 1 to C in which all rows are distinct and all columns are distinct, modulo 1e9+7.

Hard8CombinatoricsDynamic programmingNo attempts yetTime limit2sMemory limit512 MB

Problem

Jungyu likes tables filled with integers. He calls a table special when it satisfies all four conditions below.

  • The table has NN rows and MM columns.
  • Each cell holds one natural number that is at least 11 and at most CC.
  • For any two different rows r1r_1 and r2r_2, there is at least one column cc such that the cells (r1,c)(r_1, c) and (r2,c)(r_2, c) hold different numbers.
  • For any two different columns c1c_1 and c2c_2, there is at least one row rr such that the cells (r,c1)(r, c_1) and (r,c2)(r, c_2) hold different numbers.

Given NN, MM, and CC, write a program that counts the special tables.

Input

The first line contains NN, MM, and CC. (1N,M,C40001 \le N, M, C \le 4000)

Output

Print the number of special tables modulo 1,000,000,007.

Note

For N=M=C=2N = M = C = 2 the ten special tables are listed below. Each vertical pair of two-digit numbers is one table: the upper one is the first row and the lower one is the second row.

11  11  12  21  22  22  21  12  12  21
12  21  11  11  21  12  22  22  21  12