F. Кодирование
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Поликарп изобрёл новый способ кодирования строк. Предположим, у нас есть строка T, состоящая из строчных английских букв. Выделим несколько пар букв английского алфавита таким образом, что каждая буква входит не более чем в одну пару, и заменим в строке T каждую букву на парную, если у неё таковая имеется. Например, если выбраны пары (l, r), (p, q) и (a, o), то слово "parallelogram" в соответствии с данным принципом кодирования превратится в слово "qolorreraglom".

У Поликарпа есть две строки S и T. Он подозревает, что строка T была получена в результате применения указанного способа кодирования из некоторой подстроки строки S. Найдите все позиции mi в S (1 ≤ mi ≤ |S| - |T| + 1), такие, что T может быть получена из подстроки SmiSmi + 1... Smi + |T| - 1 путём применения описанной операции кодирования для некоторого набора пар букв английского алфавита.

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

В первой строке входных данных следуют два целых числа |S| и |T| (1 ≤ |T| ≤ |S| ≤ 2·105) — длины строки S и строки T соответственно.

Во второй и третьей строке входных данных находятся соответственно строки S и T. Обе строки состоят только из строчных букв английского алфавита.

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

Выведите число k — количество подходящих позиций в строке S.

В следующей строке выведите k целых чисел m1, m2, ..., mk — номера подходящих позиций в возрастающем порядке.

Примеры
Входные данные
11 5
abacabadaba
acaba
Выходные данные
3
1 3 7
Входные данные
21 13
paraparallelogramgram
qolorreraglom
Выходные данные
1
5