AT_stpc2025_2_b Heavy Rotation
Description
$ 1,2,\ldots ,N $ の番号がついた $ N $ 個の荷物が左右一列に並んで置かれています。はじめ、荷物 $ i $ は左から $ i $ 番目の位置に置かれています。また、各荷物には重さが設定されており、荷物 $ i $ の重さは $ A_i $ です。
あなたは、この荷物の列に対して、次の一連の操作を $ 0 $ 回以上好きな回数行うことができます。
1. $ 1 \le L \lt R \le N $ を満たす整数組 $ (L,R) $ であって、左から $ L,L+1, \ldots ,R $ 番目の荷物の重さの総和が $ K $ 以上であるようなものを $ 1 $ つ選ぶ。
2. 左から $ L,L+1, \ldots ,R $ 番目の荷物を、左に巡回シフトする。すなわち、左から $ L $ 番目の位置に置いてあった荷物は左から $ R $ 番目の位置にくるように、左から $ L+1,\ldots ,R $ 番目の位置に置いてあった荷物は、それぞれ左から $ L,\ldots ,R-1 $ 番目の位置にくるように、荷物を移動させる。
すべての操作が終わった時点での荷物の並び方としてありうるものの個数を $ 998244353 $ で割ったあまりを求めてください。
Input Format
入力は以下の形式で与えられる。
> $ N $ $ K $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $
Output Format
答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
最初の状態において、左から $ 2,3,4 $ 番目の荷物の重さの総和は $ 2+2+3=7 \ge K=7 $ なので、最初の操作として $ (L,R)=(2,4) $ を選ぶことができます。この操作の後、荷物の番号は左から順に $ 1,3,4,2 $ となります。
すべての操作が終わった時点での荷物の並び方としてありうるものは $ 12 $ 通りとなります。
なお、荷物の重さが同じでも、荷物どうしは番号によって区別されることに注意してください。このケースの場合、荷物の番号が左から順に $ 1,2,3,4 $ となる並び方と、 $ 1,3,2,4 $ となる並び方は、別の並び方として扱われます。
### Sample Explanation 2
操作が $ 1 $ 回も行えない場合もあります。
### Sample Explanation 3
$ 998244353 $ で割ったあまりを答えてください。
### Constraints
- 入力はすべて整数
- $ 2 \le N \le 2 \times 10^5 $
- $ 1 \le K \le 10^{14} $
- $ 1 \le A_i \le 10^8 $