問題
もけちゃんは子供たちの遊び道具としてボールを購入することにしました。
このお店には N 色のボールが販売されています。
色 i (1≤i≤N) のボールは Ai 個用意されており、色 i のボールにはそれぞれ、1 以上 Ai 以下の番号が重複なくつけられています。
もけちゃんはこれらすべてのボール、すなわち ∑Ni=1Ai 個のボールを購入しました。
そして、購入したすべてのボールを、一つの箱に入れておきました。
知的好奇心旺盛なもけちゃんは、ふと次の値が気になりました。
- 任意の個数のボールを箱の中から取り出したとき、ボールの色が L 種類以上 R 種類以下存在するような取り出し方の総数。
しかし、残念ながらもけちゃんにはこの値を求めることができませんでした。
Q 回にわたって、Lj,Rj (1≤j≤Q) が入力として与えられるので、任意の個数のボールを箱の中から取り出したとき、ボールの色が Lj 種類以上 Rj 種類以下存在するような取り出し方の総数を、もけちゃんの代わりにそれぞれ求めてください。
ただし、答えは非常に大きくなる場合があるので、998244353 で割った余りを出力してください。
入力
入力は以下の形式で標準入力から与えられる。
N A1 A2 … AN Q L1 R1 L2 R2 ⋮ LQ RQ
出力
出力は Q 行からなる。
各整数 j について、答えを 998244353 で割った余りを j 行目に出力せよ。
各出力の末尾には改行を入れること。
制約
- 1≤N≤5,000
- 1≤Ai≤1,000,000
- 1≤Q≤1,000,000
- 1≤Lj≤Rj≤N
- 入力はすべて整数である。
入出力例
入力例1
3 2 3 1 6 1 1 2 2 3 3 1 2 2 3 1 3
出力例1
11 31 21 42 52 63
L1=1,R1=1 なので、任意の個数のボールを箱の中から取り出したとき、ボールの色が 1 種類となるような取り出し方の総数を求めます。
ここで、それぞれのボールの色を X,Y,Z と表し、それぞれのボールを X1,X2,Y1,Y2,Y3,Z1 と表すことにします。
条件を満たすボールの取り出し方は、{X1},{X2},{Y1},{Y2},{Y3},{Z1},{X1,X2},{Y1,Y2},{Y2,Y3},{Y1,Y3},{Y1,Y2,Y3} の 11 通り考えられます。
入力例2
19 161 211 242 221 171 116 798 411 507 253 293 693 917 277 943 21 300 45 938 4 5 15 13 15 16 17 8 18
出力例2
575131170 22149484 909410410 293118148
答えを 998244353 で割った余りを出力してください。