AT_pakencamp_2023_day3_a ABC

Description

長さ $ N $ の文字列 $ S $ があります。 $ S $ の各文字は $ \mathtt{A},\mathtt{B},\mathtt{C} $ のいずれかです。 これから $ S $ に以下の操作を $ K $ 回行います。最終的な $ S $ としてありえる文字列の数を $ 998244353 $ で割った余りを求めてください。 - $ 1\leq i\leq |S|-1 $ を満たす整数 $ i $ を選ぶ。 $ S $ の $ i $ 文字目と $ i+1 $ 文字目が等しいならば、 $ S $ の $ i $ 文字目の直後に $ S $ の $ i $ 文字目と等しい文字を挿入する。そうでないならば、 $ S $ の $ i $ 文字目の直後に $ \mathtt{A},\mathtt{B},\mathtt{C} $ のうち $ S $ の $ i $ 文字目と $ i+1 $ 文字目のどちらとも等しくないものを挿入する。

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ K $ $ S $

Output Format

最終的な $ S $ としてありえる文字列の数を $ 998244353 $ で割った余りを出力してください。

Explanation/Hint

### Sample Explanation 1 例えば、以下の手順で $ \mathtt{AABCBB} $ を作ることができます。 1. $ i=2 $ とする。 $ S $ の $ 2 $ 文字目の直後に $ \mathtt{C} $ を挿入する。 2. $ i=2 $ とする。 $ S $ の $ 2 $ 文字目の直後に $ \mathtt{B} $ を挿入する。 ### Constraints - $ 2\leq N\leq 2\times 10^5 $ - $ 1\leq K\leq 2\times 10^5 $ - $ S $ は $ \mathtt{A},\mathtt{B},\mathtt{C} $ のみからなる長さ $ N $ の文字列