A. Газетный заголовок
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

В Моржландии выпускается газета с названием s1, состоящем из строчных букв латинского алфавита. Маленький морж Клычок хочет купить несколько таких газет, вырезать из них названия, склеить их друг за другом и стереть некоторые буквы так, чтобы получилось слово s2. Считается, что когда Клычок стирает какую-то букву, на ее месте не образуется пустое место. То есть строка остается неразрывной и по-прежнему состоит только из маленьких букв латинского алфавита.

Например, заголовок газеты — «abc». Взяв два таких заголовка и склеив, получится «abcabc». Если стереть буквы на позициях 1 и 5 получится слово «bcac».

Какое наименьшее количество газетных заголовков s1 понадобится Клычку, чтобы он мог их склеить, стереть несколько букв и получить слово s2?

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

Входные данные содержат две строки. В первой строке записан заголовок s1, во второй строке записано слово s2. Строки состоят только из строчных латинских букв (1 ≤ |s1| ≤ 104, 1 ≤ |s2| ≤ 106).

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

Если получить слово s2 описанным выше способом невозможно, выведите «-1» (без кавычек). Иначе выведите наименьшее количество газетных заголовков s1, которое понадобится, чтобы получить слово s2.

Примеры
Входные данные
abc
xyz
Выходные данные
-1
Входные данные
abcd
dabc
Выходные данные
2