B - Ordenando palabras

Languages: C, C++, Java, Python, Tiger, JavaScript, Pascal, Haskell, C#
Time & Memory limits: (details)

El pequeño Fito y su hermano están jugando con palabras. Cada uno escogió una y se percataron de que ambas palabras tenían la misma cantidad de caracteres de cada tipo — la misma cantidad de letras A, la misma de B, etc. Dado que a Fito le encantan los puzzles, ha comenzado a preguntarse cuántos intercambios de letras adyacentes en necesario realizar para transformar su palabra en la de su hermano. Como Fito es pequeño todavía y no tiene habilidades programando, te ha solicitado a ti, el programador más habilidoso que conoce, que lo ayudes en esta cuestión.

Input

En la primera línea de la entrada un entero n (2 ≤ n ≤ 1000000) — la longitud de la palabra de Fito.
La segunda línea contiene la palabra de Fito, y la tercera la palabra de su hermano. Ambas palabras consisten solo de letras mayúsculas del alfabeto inglés.

Output

En una única línea el mínimo de intercambios para transformar la palabra de Fito en la de su hermano.

Sample test(s)

Input
3 ABC BCA
Output
2