atcoder#AGC051D. [AGC051D] C4

[AGC051D] C4

配点 : 18001800

問題文

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

注記

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

制約

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

入力

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

aa bb cc dd

出力

答えを出力せよ。

2 2 2 2
10

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

1 2 3 4
0
470000 480000 490000 500000
712808431