AT_arc227_c [ARC227C] Follow the Letters

Description

英小文字からなる長さ $ N $ の文字列 $ S $ が与えられます。 $ S $ の $ i $ 文字目を $ S_i $ とします。 $ N $ 個の島が円環状に並んでおり、時計回りに島 $ 1 $ 、島 $ 2 $ 、 $ \ldots $ 、島 $ N $ の順で番号が付けられています。特に、島 $ N $ の時計回りの隣の島は島 $ 1 $ です。島 $ i $ には文字 $ S_i $ が書かれています。はじめ、それぞれの島には人が $ 1 $ 人ずついます。 あなたは次の操作を $ 0 $ 回以上行うことができます。 - $ S $ に含まれる文字 $ c $ を $ 1 $ つ選ぶ。すべての人はそれぞれ現在いる島を出発し、時計回りに島を $ 1 $ 個ずつ移動する。出発後に文字 $ c $ が書かれた島に初めて到着した時点で止まる。現在いる島に文字 $ c $ が書かれている場合でも出発する。 操作をすべて終えた後に人が $ 1 $ 人以上いる島の個数としてあり得る最小値を $ K $ とします。 $ K $ と、操作後に人が $ 1 $ 人以上いる島の個数を $ K $ にする操作列を求めてください。 なお、この問題の制約の下で、操作後に人が $ 1 $ 人以上いる島の個数を $ K $ にする長さ $ 10^6 $ 以下の操作列が必ず存在することが証明できます。

Input Format

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

Output Format

操作回数を表す整数を $ L $ 、操作列を表す文字列を $ X $ として、以下の形式で出力せよ。 > $ K $ $ L $ $ X $ $ L=0 $ の場合、 $ 3 $ 行目は空行として出力せよ。 $ L $ は $ 0 \le L \le 10^6 $ を満たさなければならない。 $ X $ は $ S $ に含まれる文字からなる長さ $ L $ の文字列でなければならず、 $ X $ の $ i $ 文字目は $ i $ 回目の操作で選ぶ文字を表す。 操作列 $ X $ に従って操作した後、人が $ 1 $ 人以上いる島の個数は $ K $ でなければならない。 条件を満たす出力が複数存在する場合、どれを出力してもよい。

Explanation/Hint

### Sample Explanation 1 文字 `b` を選ぶ操作を行うと、すべての人が文字 `b` が書かれた島に集まります。人がいる島は $ 1 $ 個になり、これが最小です。 ### Sample Explanation 2 はじめに `a` を、次に `b` を選ぶことで、すべての人が同じ島に集まります。人がいる島は $ 1 $ 個になり、これが最小です。 ### Sample Explanation 3 どの操作を行っても、それぞれの人は時計回りに次の島へ移動します。したがって、人がいる島の個数は常に $ 4 $ であり、 $ K=4 $ です。この出力例では操作を $ 1 $ 回も行いません。 ### Constraints - $ 1 \le N \le 1000 $ - $ S $ は英小文字からなる長さ $ N $ の文字列 - $ N $ は整数