atcoder#ARC147F. [ARC147F] Again ABC String

[ARC147F] Again ABC String

配点 : 11001100

問題文

長さ NNA,B,C からなる文字列 SS のうち、以下の条件を満たすものの個数を 22 で割ったあまり を求めてください。

  • SS11 文字目から ii 文字目までからなる文字列を SiS_i とする。SiS_i に含まれる A,B,C の個数をそれぞれ Ai,Bi,CiA_i,B_i,C_i とする。このとき、1iN1 \le i \le N を満たす任意の整数 ii に対し、以下が成り立つ。- AiBiXA_i-B_i \le X
    • BiCiYB_i-C_i \le Y
    • CiAiZC_i-A_i \le Z
  • AiBiXA_i-B_i \le X
  • BiCiYB_i-C_i \le Y
  • CiAiZC_i-A_i \le Z

この問題は、TT ケース与えられます。

制約

  • 1T101 \le T \le 10
  • 1N1091 \le N \le 10^9
  • 0X,Y,Z1090 \le X,Y,Z \le 10^9
  • 入力は全て整数である。

入力

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

TT

case1\mathrm{case}_1

case2\mathrm{case}_2

\vdots

caseT\mathrm{case}_T

各ケースは以下の形式で与えられる。

NN XX YY ZZ

出力

各ケースについて、答えを出力せよ。

1
3 2 1 0
0

条件を満たす文字列は、AAB,AAC,ABA,ABC,ACA,ACB,BAA,BAC88 個があります。よって、解は 00 です。

10
1 22 9 92
14 7 74 39
23 50 8 6
93 40 9 60
68 8 47 64
11 68 18 24
3 26 54 8
46 17 90 86
86 76 45 55
80 68 79 62
1
0
0
0
1
1
1
0
1
0