#S0008. 方格移动(mobitel)

方格移动(mobitel)

题目描述

给定一个 rr 行 cc 列的方格,第 ii 行第 jj 列的格子中有一个正整数 ai,ja_{i,j}。

从左上角走到右下角,每次只能向右或向下移动一格。求经过的格子中的数字之积大于等于 nn 的路径方案数。

路径经过的格子包括起点和终点;当 r=c=1r=c=1 时,仅经过该格子的路径也计为一种方案。

答案对 109+710^9+7 取模。

输入格式

从文件 mobitel.in 中读取数据。

第一行包含三个整数 r,c,nr,c,n,分别表示行数、列数和乘积阈值。

接下来 rr 行,每行包含 cc 个正整数,第 ii 行的第 jj 个数表示 ai,ja_{i,j}。

输出格式

将结果输出到文件 mobitel.out 中。

输出一行一个整数,表示乘积大于等于 nn 的路径方案数对 109+710^9+7 取模的结果。

样例

2 3 200
2 3 4
5 6 7
2
3 3 90
2 1 1
45 1 1
1 1 1
3

数据范围

子任务 分值 r,cr,c nn 格子中的数 ai,ja_{i,j}
1 20 1≤r,c≤3001\leq r,c\leq 300 1≤n≤3001\leq n\leq 300 1≤ai,j≤1061\leq a_{i,j}\leq 10^6
2 1≤r,c≤1001\leq r,c\leq 100 1≤n≤1061\leq n\leq 10^6 1≤ai,j<101\leq a_{i,j}<10
3 30 1≤ai,j≤1061\leq a_{i,j}\leq 10^6
4 1≤r,c≤3001\leq r,c\leq 300

对于全部数据,1≤r,c≤3001\leq r,c\leq 300,1≤n≤1061\leq n\leq 10^6,1≤ai,j≤1061\leq a_{i,j}\leq 10^6,且 ai,ja_{i,j} 为整数。