#agc051d. [agc051_d]C4

[agc051_d]C4

問題文

以下の無向グラフにおいて、SS から SS へのウォークであって辺 STST, TUTU, UVUV, VSVS をそれぞれ aa, bb, cc, dd 回通るもの (向きは不問) の数を 998,244,353998,244,353 で割った余りを求めてください。

注記

SS から SS へのウォークとは、頂点の列 v0=S,v1,ldots,vk=Sv_0 = S, v_1, \\ldots, v_k = S であって、各 i(0leqi<k)i (0 \\leq i < k) について viv_ivi+1v_{i+1} を結ぶ辺があるものをいいます。 22 つのウォークは、列として異なるときに異なるとみなされます。

制約

  • 1leqa,b,c,dleq500,0001 \\leq a, b, c, d \\leq 500,000
  • 入力中の全ての値は整数である。

入力

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

aa bb cc dd

出力

答えを出力せよ。


入力例 1

2 2 2 2

出力例 1

10

条件を満たすウォークは 1010 個あり、その一例は SS rightarrow\\rightarrow TT rightarrow\\rightarrow UU rightarrow\\rightarrow VV rightarrow\\rightarrow UU rightarrow\\rightarrow TT rightarrow\\rightarrow SS rightarrow\\rightarrow VV rightarrow\\rightarrow SS です。


入力例 2

1 2 3 4

出力例 2

0

入力例 3

470000 480000 490000 500000

出力例 3

712808431