热爱和平的琦玉老师住在和平的 Z 市。这里因为经常有怪人出没,所以房价十分便宜。
整个 Z 市可以看成一个 n×m 的平面方格,其中有些区域不可达。狼级怪人每个时刻会在可达的地方随机出现一个,并在下一个时刻之前跑到其他市作恶。
Z 市充满怪人的真正原因是,怪人协会的总部设在 Z 市的正下方。为了更好的监控 Z 市、以便随时进攻英雄协会,怪人协会的参谋长大炯眼会派遣 k 个虎级怪人到 Z 市侦查。这些侦查员会在出现的下一时刻之前回到总部汇报情况。
在赶往超市买完特价商品后,琦玉非常无聊,决定到 Z 市中随便走走。琦玉在 0 时刻从 (sx,sy) 出发,并在下一时刻随机到达相邻的一个可达区域。如果琦玉在某个时间点遇到了怪人(无论是狼级、虎级),他会留在这个区域、并用普通拳随手解决。
(如果对规则的细节存在疑问,可以参照样例解释)
比作者 ONE 更懂《一击男》的贴吧老哥们决定帮大炯眼算一算,它将期望损失多少名侦查员。
第一行有一个正整数 T(1≤T≤5),表示数据的组数。
对于每组数据,第一行有四个正整数 n, m(1≤n, m≤20,且保证n×m≤80), sx, sy,表示 Z 市的大小为 n×m、琦玉在 0 时刻的出发点 (sx,sy),该点一定对应一个可达的区域。
接下来 n 行,每行有 m 个字符,为 "." 或 "X"(不含引号)。"." 表示可通过,"X" 表示不可通过。
第 n+2 行,有一个正整数 k(1≤k≤10),表示大炯眼派出的侦查员的数量。
接下来 q 行,每行有三个正整数 ti, xi, yi(1≤ti≤30, 1≤xi≤n, 1≤yi≤m),分别表示侦查员出现的时间为 ti、出现在区域 (xi,yi),数据保证 ti 单调增、(xi,yi) 一定对应一个可达的区域。
对于每组数据,输出一行,为一个整数 ans。其计算方式为期望损失的侦查员数量 qp 在模 1000000007 意义下的值。
qp 可以通过 p×q1 计算;其中 q1 表示 q 在取模意义下的倒数,即有 q×q1≡1(mod 1000000007)。
例如:2×500000004=1000000008≡1(mod 1000000007),所以 500000004 是 2 在模 1000000007 意义下的倒数。
2
2 2 1 2
..
X.
3
1 1 2
2 1 2
4 1 1
2 3 1 3
.X.
...
3
1 2 2
2 1 3
3 2 2
320987658
64000001
对于样例一,琦玉在时间 1 到达 (1,1)、(1,2)、(2,2) 的概率都为 31。
在时间 2,这个概率分别为 91、97、91。
在时间 3,这个概率分别为 271、2725、271。
在时间 4,这个概率分别为 8126、8129、8126。
所以总的期望值为 31+97+8126=81116,在模 1000000007 意义下为 320987658。
通过费马小定理可以得到:ap≡a(mod p),其中 p 为一个质数。