問題文
高橋君は家の周りをあてもなく歩き回ることにしました。
散歩の間、高橋君は地点 1, 地点 2, dots, 地点 N の N か所の地点を歩き回ります。ここで、地点 1 は自宅です。
地点間に道が存在するような地点の組は M 組あります。 i 番目の組を (ai,bi) とした時、地点 ai と地点 bi を双方向に結ぶ長さ d (1leqdleqT) キロメートルの道は pi,d 本あります。
高橋君は自宅を出発して T キロメートル歩いて自宅に戻る散歩コースの本数が知りたくなりました。ここで、長さ T キロメートルの散歩コースは次のように定義されます。
- 地点と道を交互に並べた列 v0=1,e0,v1,dots,ek−1,vk=1 であって、ei (0leqileqk−1) が vi と vi+1 を結んでいて、 ei の長さの和が T キロメートルである。
あなたは高橋君のかわりに条件を満たす散歩コースの本数を 998244353 で割ったあまりを求めてください。ただし、2 つの散歩コースは列として異なるときに異なるとみなされます。
制約
- 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 本
- 地点 1 と地点 3 を結ぶ長さ 1 キロメートルの道が 2 本
あります。条件を満たすコースは
- 地点 1 to 地点 2 to 地点 1 の順に巡るコースが 1times1=1 通り
- 地点 1 to 地点 3 to 地点 1 の順に巡るコースが 2times2=4 通り
の計 5 通りです。
入力例 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 キロメートルの道が 3 本
- 地点 1 と地点 3 を結ぶ長さ 2 キロメートルの道が 1 本
- 地点 2 と地点 3 を結ぶ長さ 1 キロメートルの道が 2 本
あります。条件を満たすコースは、経由する地点を列挙すると
- 地点 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
の 5 パターンがあり、本数は上から順に 81 通り、 6 通り、 36 通り、 1 通り、 6 通りとなります。
入力例 3
2 1 5
1 2
31415 92653 58979 32384 62643
出力例 3
844557977