2694: 【提高】棋盘染色

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

棋盘是一个n×m的矩形,分成n行m列共n*m个小方格。
现在小蓝有c种不同颜色的颜料,他希望把棋盘用这些颜料染色,并满足以下规定∶
1)每一个小方格可以染色,也可以不染色;
2)每一行至少有一个小方格被染色;
3)每一列至少有一个小方格被染色;
4)每种颜色在棋盘上至少出现一次。
请你求出满足要求的不同的染色方案总数。只要存在一个位置的颜色不同,即认为两个染色方案是不同的。


评分标准∶
30分 ∶ 完成题目样例和给出的一个样例;
50分 ∶ 在30分的基础上完成给出的另外一个样例;
100分∶在50分的基础上完成给出的最后一个样例。

输入

输入只有一行3个整数n,m,C。1<=n,m,C<=400.


输出

输出一个整数,为不同染色方案总数。因为总数可能很大,只需输出总数mod 1,000,000,007的值。

样例输入 复制

2 2 3

样例输出 复制

60

提示

11届国赛试题精选——C++