AT_toyota2023spring_final_f Forbidden Pattern
Description
[problemUrl]: https://atcoder.jp/contests/toyota2023spring-final/tasks/toyota2023spring_final_f
`A`, `B` からなる長さ $ N $ の文字列 $ S $ が与えられます.
あなたは,以下の操作を $ 0 $ 回以上繰り返すことができます.
- $ S $ 中の連続する $ 2 $ 文字であって,`AB` で**ない**ものを選び,消す. その後,残った左右の(空かもしれない)文字列を連結し,これを新たに $ S $ とする.
操作後の $ S $ としてあり得る文字列が何通りあるかを $ 998244353 $ で割ったあまりを求めてください.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $ $ S $
Output Format
答えを出力せよ.
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 10^6 $
- $ S $ は `A`, `B` からなる長さ $ N $ の文字列である
### Sample Explanation 1
操作後の $ S $ としてありうる文字列は,`A`, `B`, `BBA` の $ 3 $ 通りです.
### Sample Explanation 2
操作後の $ S $ としてありうる文字列は,`A`, `ABA`, `ABABA` の $ 3 $ 通りです.