问题陈述
Takahashi决定在他的房子周围闲逛。在散步时,他将在称为Point 1、Point 2、dots、Point N的N个点之间漫游,其中Point 1是他的房子。有M对由道路连接的点;设(ai,bi)为第i对的点。有pi,d条长度为d(1leqdleqT)公里的道路连接点ai和点bi。
Takahashi想知道以他的房子为起点和终点的T公里路径的数量。这里,T公里路径定义如下。
- 一个交替的序列,包含点和道路v0=1,e0,v1,dots,ek−1,vk=1,其中ei (0leqileqk−1)连接vi和vi+1,并且ei的总长度是T公里。
通过找到模998244353下这些路径的数量来帮助Takahashi。当作为序列时两条路径不同。
约束条件
- 2leqNleq10
- $1 \\leq M \\leq \\min \\left(10, \\frac{N(N-1)}{2} \\right)$
- 1leqTleq4times104
- 1leqailtbileqN
- 如果ineqj,则(ai,bi)neq(aj,bj)。
- 0leqpi,jlt998244353
输入
输入以以下格式从标准输入给出:
N M T
a1 b1
p1,1 p1,2 ldots p1,T
vdots
aM bM
pM,1 pM,2 ldots pM,T
输出
打印令人满意的路径数,模998244353。
示例输入1
3 2 2
1 2
1 0
1 3
2 0
示例输出1
5
在他的房子周围有:
- 一条连接点1和点2的1公里道路,
- 两条连接点1和点3的1公里道路。
我们有以下五个称心如意的路径:
- 1times1=1 条路径从点1 to 点2 to 点1,
- 2times2=4 条路径从点1 to 点3 to 点1。
示例输入2
3 3 4
1 2
3 0 0 0
1 3
0 1 0 0
2 3
2 0 0 0
示例输出2
130
在他的房子周围有:
- 三条连接点1和点2的1公里道路,
- 一条连接点1和点3的2公里道路,
- 两条连接点2和点3的1公里道路。
根据访问的点,令人满意的路径可以分为以下几类:
- 点1 to 点2 to 点1 to 点2 to 点1,
- 点1 to 点2 to 点3 to 点1,
- 点1 to 点2 to 点3 to 点2 to 点1,
- 点1 to 点3 to 点1,
- 点1 to 点3 to 点2 to 点1。
我们分别有81、6、36、1和6条路径。
示例输入3
2 1 5
1 2
31415 92653 58979 32384 62643
示例输出3
844557977