Олимпиадный тренинг

Задача . D. Петя и раскраски


Маленький Петя любит считать. Он хочет посчитать, сколько существует способов раскрасить прямоугольную клетчатую доску размера n × m (n строк, m столбцов) в k цветов. При этом раскраска должна обладать следующим свойством: для любой вертикальной прямой, проходящей по линиям сетки и делящей доску на две непустые части, количество различных цветов в обеих этих частях должно быть одинаковым. Помогите Пете посчитать количество таких раскрасок.

Входные данные

В первой строке через пробел записаны целые числа n, m и k (1 ≤ n, m ≤ 1000, 1 ≤ k ≤ 106) — размерность доски по вертикали, размерность доски по горизонтали и количество цветов соответственно.

Выходные данные

Выведите ответ на задачу. Так как ответ может быть достаточно большим, нужно вывести его по модулю 109 + 7 (1000000007).


Примеры
Входные данныеВыходные данные
1 2 2 1
1
2 2 2 2
8
3 3 2 2
40

time 5000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя