J. Гриша после дискотеки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На следующий день после дискотеки Гриша решил устроить детям «взрыв мозга». Он взял много карточек и написал на каждой из них одну латинскую букву в нижнем регистре. А после этого придумал свою строку и задал детям задание: составить как можно больше подстрок своей строки, используя карточки. Гришина строка состоит только из букв латинского алфавита в нижнем регистре. Вам нужно определить сколько её подстрок можно составить, используя только данные карточки.

Запишем буквы, написанные на карточках, подряд друг за другом. Тогда если Гришина строка — это «aaab», а карточки — это «aba», то можно составить три подстроки «a», подстроку «b», две подстроки «aa» и подстроки «ab» и «aab». А подстроки «aaa» и «aaab» нельзя, так как есть всего две карточки с буквой «a».

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

Первая строка входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 10^5$$$) — длину строки Гриши и длину строки карточек.

Вторая строка входных данных содержит Гришину строку $$$s$$$ длины $$$n$$$, состоящую только из букв латинского алфавита в нижнем регистре.

Третья строка входных данных содержит строку карточек $$$t$$$ длины $$$m$$$, состоящую только из букв латинского алфавита в нижнем регистре.

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

Выведите одно целое число — количество подстрок в $$$s$$$, которые можно составить из символов строки $$$t$$$.

Примеры
Входные данные
4 3
aaab
aba
Выходные данные
8
Входные данные
7 3
abacaba
abc
Выходные данные
15