#abc212e. [abc212_e]Safety Journey

[abc212_e]Safety Journey

题目描述

AtCoder 共有 NN 个城市,分别被称为 City 11、City 22ldots\\ldots、City NN。最初,每对不同城市之间都有一条双向道路,但其中 MM 条路由于时间推移而变得无法使用。具体而言,对于每个 1leqileqM1\\leq i \\leq M,连接 City UiU_i 和 City ViV_i 的道路已经无法使用。

Takahashi 将进行一次从 City 11 开始并以 City 11 结束的为期 KK 天的旅行。严格来说,从 City 11 开始并以 City 11 结束的为期 KK 天的旅行是一个包含 K+1K+1 个城市 (A0,A1,ldots,AK)(A_0, A_1, \\ldots, A_K) 的序列,满足 A0=AK=1A_0=A_K=1,对于每个 0leqileqK10\\leq i\\leq K-1AiA_iAi+1A_{i+1} 不同且仍然存在连接 City AiA_i 和 City Ai+1A_{i+1} 的可用道路。

请打印以 City 11 开始并以 City 11 结束的为期 KK 天的不同旅行数量,结果取模 998244353998244353。这里,当存在一个 ii 使得 AineqBiA_i\\neq B_i 时,两个 KK 天旅行 (A0,A1,ldots,AK)(A_0, A_1, \\ldots, A_K)(B0,B1,ldots,BK)(B_0, B_1, \\ldots, B_K) 被认为是不同的。

约束条件

  • 2leqNleq50002 \\leq N \\leq 5000
  • $0 \\leq M \\leq \\min\\left( \\frac{N(N-1)}{2},5000 \\right)$
  • 2leqKleq50002 \\leq K \\leq 5000
  • 1leqUi<VileqN1 \\leq U_i<V_i \\leq N
  • 输入中所有的 (Ui,Vi)(U_i, V_i) 对都是两两不同的。
  • 输入中的所有值均为整数。

输入

从标准输入中以以下格式给出输入:

NN MM KK U1U_1 V1V_1 :: UMU_M VMV_M

输出

打印答案。


示例输入1

3 1 4
2 3

示例输出1

4

有四种不同的旅行方式,如下所示。

  • (1,2,1,2,11,2,1,2,1)
  • (1,2,1,3,11,2,1,3,1)
  • (1,3,1,2,11,3,1,2,1)
  • (1,3,1,3,11,3,1,3,1)

其他旅行方式都不合法,因此我们应该打印 44


示例输入2

3 3 3
1 2
1 3
2 3

示例输出2

0

没有可用的道路,因此没有有效的旅行。


示例输入3

5 3 100
1 2
4 5
2 3

示例输出3

428417047