AT_abc405_g [ABC405G] Range Shuffle Query
Description
長さ $ N $ の数列 $ A = (A_1, A_2, \dots, A_N) $ が与えられます。
$ Q $ 個のクエリが与えられるので処理してください。
クエリでは整数 $ L, R, X $ が与えられるので次の問題を解いてください。
> $ A $ の $ L $ 番目から $ R $ 番目までの要素を取り出してできる数列 $ B=(A_L, A_{L+1}, \dots, A_R) $ があります。
> あなたは以下の一連の操作をちょうど $ 1 $ 回行います。
>
> - まず、 $ B $ から値が $ X $ 以上の要素を全て取り除く。
> - 次に、 $ B $ の要素を自由に並べ替える。
>
> 操作後の $ B $ としてあり得るものは何通りありますか?答えを $ 998244353 $ で割った余りを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。ここで $ \mathrm{query}_i $ は $ i $ 番目のクエリを意味する。
> $ N $ $ Q $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $ $ \mathrm{query}_1 $ $ \mathrm{query}_2 $ $ \vdots $ $ \mathrm{query}_Q $
各クエリは以下の形式で与えられる。
> $ L $ $ R $ $ X $
Output Format
$ Q $ 行出力せよ。 $ i $ 行目には $ i $ 番目のクエリの答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
$ 1 $ 番目のクエリについて、操作後の $ B $ としてあり得るものは $ (1,1,2), (1,2,1), (2,1,1) $ の $ 3 $ 通りです。
$ 2 $ 番目のクエリについて、操作後の $ B $ としてあり得るものは空の列 $ () $ の $ 1 $ 通りです。
### Constraints
- $ 1 \leq N \leq 2.5 \times 10^5 $
- $ 1 \leq Q \leq 2.5 \times 10^5 $
- $ 1 \leq A_i \leq N $
- $ 1 \leq L \leq R \leq N $
- $ 1 \leq X \leq N $
- 入力される値は全て整数