#arc133e. [arc133_e]Cyclic Medians

[arc133_e]Cyclic Medians

問題文

整数 N,M,V,AN,M,V,A が与えられます. 次のような操作を考えます.

  • 11 以上 VV 以下の整数からなる長さ NN の整数列 x=(x1,x2,cdots,xN)x=(x_1,x_2,\\cdots,x_N) を選ぶ.
  • 11 以上 VV 以下の整数からなる長さ MM の整数列 y=(y1,y2,cdots,yM)y=(y_1,y_2,\\cdots,y_M) を選ぶ.
  • 変数 aa を用意する.最初,a=Aa=A とする.
  • i=0,1,cdots,NtimesM1i=0,1,\\cdots,N \\times M-1 に対して,以下の動作を行う.
    • aa の値を,a,x(ibmodN)+1,y(ibmodM)+1a,x_{(i \\bmod N)+1},y_{(i \\bmod M)+1} の中央値で置き換える.
  • 最終的な aa の値を出力する.

整数列 x,yx,y としてありうるものをすべて試したとき,操作によって出力される値の総和を 998244353998244353 で割った余りを求めてください.

制約

  • 1leqN,Mleq2000001 \\leq N,M \\leq 200000
  • 1leqAleqVleq2000001 \\leq A \\leq V \\leq 200000
  • 入力される値はすべて整数である

入力

入力は以下の形式で標準入力から与えられる.

NN MM VV AA

出力

答えを出力せよ.


入力例 1

2 1 2 1

出力例 1

11

例えば,x=(1,2),y=(2)x=(1,2),y=(2) の時,操作の様子は以下のようになります.

  • a=1a=1 と初期化する.
  • i=1i=1: aa の値を,a(=1),x1(=1),y1(=2)a(=1),x_1(=1),y_1(=2) の中央値,すなわち 11 で置き換える.
  • i=2i=2: aa の値を,a(=1),x2(=2),y1(=2)a(=1),x_2(=2),y_1(=2) の中央値,すなわち 22 で置き換える.
  • a(=2)a(=2) を出力.

最終的に 22 が出力されるのは,(x=(1,2),y=(2))(x=(1,2),y=(2))(x=(2,1),y=(2))(x=(2,1),y=(2))(x=(2,2),y=(2))(x=(2,2),y=(2))33 ケースで,それ以外の 55 ケースではすべて 11 が出力されます. よって求める答えは,2times3+1times5=112 \\times 3 + 1\\times 5=11 です.


入力例 2

2 2 5 4

出力例 2

2019

入力例 3

2100 2300 2201 2022

出力例 3

407723438