4512 - 深搜:跳房子

通过次数

0

提交次数

9

Time Limit : 1 秒
Memory Limit : 128 MB

阿明喜欢玩一种“跳房子”的游戏。这个游戏在一个广场上进行,这个广场由R* C个方格组成,每个方格里有一个整数,这个整数范围为1..K。阿明一开始在广场左上角的(1,1)方格里,他要跳到广场最右下角(R,C)的方格里。他必须按下面的规则跳: 1)他将要跳进的方格中的数必须要和他当前方格中的数不同; 2)你将要跳进的方格所在的行、列都必须要大于当前方格所在的行、列。 请你编程统计出阿明有多少种方法能从广场左上角的 (1,1)方格出发跳到广场最右下角(R,C)的方 格里。

Input

第一行包括三个正整数R,C,K。 接下来的R行每行包括C个空格隔开的正整数,表示第R行C列方格中的数。

Output

输出只有一行,包括一个整数,表示阿明有多少种方法能从广场左上角的(1,1)方格出发跳到广场最右下角(R,C)的方格里,这个整数要先模除1000000007后再输出。

Examples

Input

4 4 4
1 1 1 1
1 3 2 1
1 2 4 1
1 1 1 1

Output

5

Hint

数据规模 1<=r,c<=100

基本的深搜超时