AT_arc133_e [ARC133E] Cyclic Medians

Description

[problemUrl]: https://atcoder.jp/contests/arc133/tasks/arc133_e 整数 $ N,M,V,A $ が与えられます. 次のような操作を考えます. - $ 1 $ 以上 $ V $ 以下の整数からなる長さ $ N $ の整数列 $ x=(x_1,x_2,\cdots,x_N) $ を選ぶ. - $ 1 $ 以上 $ V $ 以下の整数からなる長さ $ M $ の整数列 $ y=(y_1,y_2,\cdots,y_M) $ を選ぶ. - 変数 $ a $ を用意する.最初,$ a=A $ とする. - $ i=0,1,\cdots,N\ \times\ M-1 $ に対して,以下の動作を行う. - $ a $ の値を,$ a,x_{(i\ \bmod\ N)+1},y_{(i\ \bmod\ M)+1} $ の中央値で置き換える. - 最終的な $ a $ の値を出力する. 整数列 $ x,y $ としてありうるものをすべて試したとき,操作によって出力される値の総和を $ 998244353 $ で割った余りを求めてください.

Input Format

入力は以下の形式で標準入力から与えられる. > $ N $ $ M $ $ V $ $ A $

Output Format

答えを出力せよ.

Explanation/Hint

### 制約 - $ 1\ \leq\ N,M\ \leq\ 200000 $ - $ 1\ \leq\ A\ \leq\ V\ \leq\ 200000 $ - 入力される値はすべて整数である ### Sample Explanation 1 例えば,$ x=(1,2),y=(2) $ の時,操作の様子は以下のようになります. - $ a=1 $ と初期化する. - $ i=1 $: $ a $ の値を,$ a(=1),x_1(=1),y_1(=2) $ の中央値,すなわち $ 1 $ で置き換える. - $ i=2 $: $ a $ の値を,$ a(=1),x_2(=2),y_1(=2) $ の中央値,すなわち $ 2 $ で置き換える. - $ a(=2) $ を出力. 最終的に $ 2 $ が出力されるのは,$ (x=(1,2),y=(2)) $,$ (x=(2,1),y=(2)) $,$ (x=(2,2),y=(2)) $ の $ 3 $ ケースで,それ以外の $ 5 $ ケースではすべて $ 1 $ が出力されます. よって求める答えは,$ 2\ \times\ 3\ +\ 1\times\ 5=11 $ です.