Поликарп изобрёл новый способ кодирования строк. Предположим, у нас есть строка 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
Название |
---|