AT_abc363_c [ABC363C] Avoid K Palindrome 2

Description

[problemUrl]: https://atcoder.jp/contests/abc363/tasks/abc363_c 英小文字のみからなる長さ $ N $ の文字列 $ S $ が与えられます。 $ S $ の文字を並び替えて得られる文字列($ S $ 自身を含む)であって、長さ $ K $ の回文を部分文字列として **含まない** ものの個数を求めてください。 ただし、長さ $ N $ の文字列 $ T $ が「長さ $ K $ の回文を部分文字列として含む」とは、 ある $ (N-K) $ 以下の非負整数 $ i $ が存在して、$ 1 $ 以上 $ K $ 以下の任意の整数 $ j $ について $ T_{i+j}=T_{i+K+1-j} $ が成り立つことをいいます。 ここで、$ T_k $ は文字列 $ T $ の $ k $ 文字目を表すものとします。

Input Format

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

Output Format

$ S $ の文字を並び替えて得られる文字列であって、長さ $ K $ の回文を部分文字列として含まないものの個数を出力せよ。

Explanation/Hint

### 制約 - $ 2\leq\ K\ \leq\ N\ \leq\ 10 $ - $ N,K $ は整数 - $ S $ は英小文字のみからなる長さ $ N $ の文字列 ### Sample Explanation 1 `aab` を並び替えて得られる文字列は `aab`, `aba`, `baa` の $ 3 $ つであり、このうち `aab` および `baa` は長さ $ 2 $ の回文 `aa` を部分文字列として含んでいます。 よって、条件をみたす文字列は `aba` のみであり、$ 1 $ を出力します。 ### Sample Explanation 2 `zzyyx` を並べて得られる文字列は $ 30 $ 個ありますが、そのうち長さ $ 3 $ の回文を含まないようなものは $ 16 $ 個です。よって、$ 16 $ を出力します。