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 $ で割った余りを求めることに注意してください。