题目描述
给定整数 N,M,V 和 A。考虑以下过程。
- 随机选择一个由 N 个整数组成的序列,整数范围在 1 到 V 之间(包括边界):x=(x1,x2,cdots,xN)。
- 随机选择一个由 M 个整数组成的序列,整数范围在 1 到 V 之间(包括边界):y=(y1,y2,cdots,yM)。
- 令 a 为一个变量,并将其初始化为 a=A。
- 对于每个 i=0,1,cdots,NtimesM−1,执行以下操作。
- 用 a、x(ibmodN)+1 和 y(ibmodM)+1 的中位数替换 a 的值。
- 输出 a 的最终值。
考虑使用所有可能的序列对 x,y 来执行这个过程。计算输出的所有值的和,模 998244353。
约束条件
- 1leqN,Mleq200000
- 1leqAleqVleq200000
- 输入的所有值都是整数。
输入
输入以以下格式从标准输入给出:
N M V A
输出
输出答案。
示例输入1
2 1 2 1
示例输出1
11
例如,当 x=(1,2),y=(2) 时,过程如下。
- 将 a 初始化为 a=1。
- 对于 i=1:用 a(=1)、x1(=1) 和 y1(=2) 的中位数替换 a 的值,得到 1。
- 对于 i=2:用 a(=1)、x2(=2) 和 y1(=2) 的中位数替换 a 的值,得到 2。
- 输出 a(=2)。
有三种情况下会输出 2:(x=(1,2),y=(2)),(x=(2,1),y=(2)) 和 (x=(2,2),y=(2))。在其他五种情况下,会输出 1。因此,答案是 2times3+1times5=11。
示例输入2
2 2 5 4
示例输出2
2019
示例输入3
2100 2300 2201 2022
示例输出3
407723438