#P17449. PM12194距离图

PM12194距离图

题目描述

一家旅馆有 NN 个房间,编号为 0,1,,N10,1,\ldots,N-1。房间 ii 与房间 jj 的距离定义为 ij|i-j|

MM 只猫需要入住,每只猫恰好入住一个房间,并且任意两只猫不能住在同一个房间。

给定一个 M×MM\times M 的友情矩阵 friendshipfriendship[i][j]Y 表示猫 ii 与猫 jj 是朋友,为 N 表示不是朋友。友情关系对称、无自环,并且友情图连通。

还给定整数 DD。房间安排必须满足:

  • 若猫 i,ji,j 是朋友,则它们房间编号之差的绝对值不超过 DD
  • 若猫 i,ji,j 不是朋友,则它们房间编号之差的绝对值必须严格大于 DD

求满足所有要求的房间分配方案数,对 1,000,000,0071,000,000,007 取模。

猫有编号,因此交换两只猫的房间会得到不同方案。

输入格式

第一行三个整数 M,N,DM,N,D

接下来 MM 行,每行一个长度为 MM 的字符串,表示友情矩阵。

输出格式

输出一个整数,表示合法房间分配方案数对 1,000,000,0071,000,000,007 取模后的结果。

样例

输入

2 5 2
NY
YN

输出

14

输入

4 58 1
NYYY
YNNN
YNNN
YNNN

输出

0

数据范围

1N1001\le N\le1001D81\le D\le81M501\le M\le50,且 MNM\le N。友情矩阵对称,主对角线均为 N,并保证友情图连通。