D. Преобразование строки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Поликарпа есть строка $$$s$$$ длины $$$n$$$, состоящая из строчных букв латинского алфавита.

Поликарп может производить со своей строкой следующую операцию произвольное количество раз:

  • удалить первый элемент из строки $$$s$$$ и вставить его в произвольную позицию строки $$$s$$$, то есть вставить его между любыми двумя соседними буквами, либо вставить в конец строки.

Перед вами стоит задача определить минимальное количество операций, которые необходимы, чтобы преобразовать строку $$$s$$$ в заданную строку $$$t$$$, либо сообщить, что это невозможно.

Входные данные

В первой строке следует целое число $$$n$$$ ($$$1 \le n \le 200\,000$$$) — длина строк $$$s$$$ и $$$t$$$.

Во второй строке следует строка $$$s$$$ длины $$$n$$$, состоящая из строчных букв латинского алфавита.

В третьей строке следует строка $$$t$$$ длины $$$n$$$, состоящая из строчных букв латинского алфавита.

Выходные данные

Если невозможно преобразовать строку $$$s$$$ в строку $$$t$$$ с помощью описанных операций, выведите $$$-1$$$. В противном случае выведите минимальное количество операций, которые необходимы, чтобы преобразовать строку $$$s$$$ в строку $$$t$$$.

Примеры
Входные данные
4
abcd
dcba
Выходные данные
3
Входные данные
3
tot
tot
Выходные данные
0
Входные данные
7
cabaaba
abacaba
Выходные данные
1
Входные данные
2
ab
bb
Выходные данные
-1