D - C4 Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 1800

問題文

以下の無向グラフにおいて、S から S へのウォークであって辺 ST, TU, UV, VS をそれぞれ a, b, c, d 回通るもの (向きは不問) の数を 998,244,353 で割った余りを求めてください。

注記

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

制約

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

入力

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

a b c d

出力

答えを出力せよ。


入力例 1

2 2 2 2

出力例 1

10

条件を満たすウォークは 10 個あり、その一例は S \rightarrow T \rightarrow U \rightarrow V \rightarrow U \rightarrow T \rightarrow S \rightarrow V \rightarrow S です。


入力例 2

1 2 3 4

出力例 2

0

入力例 3

470000 480000 490000 500000

出力例 3

712808431

Score : 1800 points

Problem Statement

In the following undirected graph, count the number of walks from S to S that pass through the edges ST, TU, UV, VS (in any direction) exactly a, b, c, d times, respectively, modulo 998,244,353.

Notes

A walk from S to S is a sequence of vertices v_0 = S, v_1, \ldots, v_k = S such that for each i (0 \leq i < k), there is an edge between v_i and v_{i+1}. Two walks are considered distinct if they are distinct as sequences.

Constraints

  • 1 \leq a, b, c, d \leq 500,000
  • All values in the input are integers.

Input

Input is given from Standard Input in the following format:

a b c d

Output

Print the answer.


Sample Input 1

2 2 2 2

Sample Output 1

10

There are 10 walks that satisfy the condition. One example of such a walk is S \rightarrow T \rightarrow U \rightarrow V \rightarrow U \rightarrow T \rightarrow S \rightarrow V \rightarrow S.


Sample Input 2

1 2 3 4

Sample Output 2

0

Sample Input 3

470000 480000 490000 500000

Sample Output 3

712808431