AT_agc078_a [AGC078A] Rearrange ABC

Description

長さ $ 3N $ で、`A`, `B`, `C` をそれぞれ $ N $ 個ずつ含む文字列 $ S,T $ が与えられます。 あなたは次の操作を $ 0 $ 回以上行うことができます。 - $ S $ の部分文字列であって、含まれる文字がすべて相異なるものを $ 1 $ つ選ぶ。 - 選んだ部分文字列の文字を昇順に並べ替える。 $ S $ を $ T $ に一致させることができるか判定し、できる場合は必要な操作回数の最小値を求めてください。

Input Format

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

Output Format

答えを出力せよ。 ただし、 $ S $ を $ T $ に一致させることができない場合は `-1` を出力せよ。

Explanation/Hint

### Sample Explanation 1 例えば、次のように $ 2 $ 回の操作を行うことで $ S $ を $ T $ に一致させられます。 - `CACBAB` の先頭 $ 2 $ 文字を選び、`ACCBAB` にする。 - `ACCBAB` の $ 3 $ 文字目から $ 5 $ 文字目までを選び、`ACABCB` にする。 $ 1 $ 回の操作で一致させることはできないため、答えは $ 2 $ です。 ### Sample Explanation 2 どのように操作しても、`ABC` を `CBA` に一致させることはできません。 ### Constraints - $ 1 \le N \le 100 $ - $ S,T $ は `A`, `B`, `C` からなる長さ $ 3N $ の文字列 - $ S,T $ はそれぞれ、`A`, `B`, `C` をちょうど $ N $ 個ずつ含む - 入力される数値はすべて整数