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 $ 個ずつ含む
- 入力される数値はすべて整数