AT_abc215_e [ABC215E] Chain Contestant
Description
[problemUrl]: https://atcoder.jp/contests/abc215/tasks/abc215_e
別世界の AtCoder では現在、 AAC, ..., AJC の $ 10 $ 種類のコンテストが開催されており、これから $ N $ 回のコンテストが開催されます。
各コンテストの種類は文字列 $ S $ として与えられ、 $ S $ の $ i $ 文字目が $ x $ なら $ i $ 回目には A$ x $C が開催されます。
シカの AtCoDeer くんは、 $ N $ 個のコンテストから $ 1 $ 個以上いくつか選んで、以下の条件を満たすように選んで出場します。
- 出るコンテストを順番を保ったまま抜き出したとき、コンテストの種類ごとにひとかたまりとなっている。
- 厳密には、 AtCoDeer くんが $ x $ 個のコンテストに出場し、そのうち $ i $ 回目のコンテストの種類が $ T_i $ であるとき、全ての $ 1\ \le\ i\
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $
Output Format
答えを整数として出力せよ。
Explanation/Hint
### 制約
- $ 1\ \le\ N\ \le\ 1000 $
- $ |S|=N $
- $ S $ は `A` から `J` までの英大文字のみからなる
### Sample Explanation 1
例えば、 $ 1,3 $ 回目のコンテストに出場する、 $ 2,4 $ 回目のコンテストに出場するという選び方は条件を満たします。 一方、 $ 1,2,3,4 $ 回目のコンテストに出場する場合、 ABC への出場がひとかたまりになっておらず、整数組 $ (i,j,k)=(1,2,3) $ について条件に違反します。 また、全てのコンテストに出場しないということも認められません。 問題文の条件に適する出場するコンテストの選び方は $ 13 $ 通りあります。
### Sample Explanation 2
総数を $ 998244353 $ で割った余りを求めることに注意してください。