AT_pakencamp_2021_day2_j Min-Max Sequence

Description

[problemUrl]: https://atcoder.jp/contests/pakencamp-2021-day2/tasks/pakencamp_2021_day2_j 正整数 $ N,M $ と長さ $ N $ の整数列 $ T=(T_1,T_2,\ldots,T_N),A=(A_1,A_2,\ldots,A_N) $ が与えられます。 すべての要素が $ 1 $ 以上 $ M $ 以下である長さ $ N+1 $ の正整数列 $ b=(b_1,b_2,\ldots,b_{N+1}) $ であって、すべての $ i\ (1\ \le\ i\ \le\ N) $ について以下の条件を満たすものの個数を $ 998244353 $ で割った余りを求めてください。 - $ T_i=0 $ のとき、 $ \min(b_i,b_{i+1})=A_i $ - $ T_i=1 $ のとき、 $ \max(b_i,b_{i+1})=A_i $

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ M $ $ T_1 $ $ T_2 $ $ \ldots $ $ T_N $ $ A_1 $ $ A_2 $ $ \ldots $ $ A_N $

Output Format

答えを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \le\ N,\ M\ \le\ 2\ \times\ 10^5 $ - $ T_i\ \in\ \{0,\ 1\ \} $ - $ 1\ \le\ A_i\ \le\ M $ - 入力は全て整数 ### Sample Explanation 1 $ b=(1,2,2) $ の時条件を満たします。 ### Sample Explanation 3 $ 998244353 $ で割った余りを求めることをお忘れなく。 原案: \[turtle0123\\\_\\\_\](https://atcoder.jp/users/turtle0123\_\_)