Задача №3369. Поиск подстроки

У Андрюши есть маленькая сестричка Аня. Она любит писать сообщения своему другу Гоше. Она хочет, чтобы никто не мог прочитать ее сообщения, поэтому она шифрует их подстановочным шифром. Подстановочный шифр заменяет каждый символ в сообщении на какой-либо еще, при этом равные символы заменяются на равные, а различные — на различные. Например, при шифровании с помощью подстановочного шифра e – a, l – b, o – w, v - c слово "love" оказывается зашифровано как "bwca".

Андрюша недавно перехватил одно из Аниных сообщений t и хочет выяснить, встречается ли там текст р. А именно, он хочет найти все позиции i, такие что существует подстановочный шифр, такой что t[i..i+|р| — 1] представляет собой зашифрованную версию р. Будем называть такие позиции потенциальными вхождениями р в t.

Помогите Андрюше найти все потенциальные вхождения р в i.

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

Первая строка входного файла содержит t. Вторая строка входного файла содержит р. Каждая строка состоит из символов с ASCII кодами от 33 до 126. Длина р не превышает длины t. Длина t не превышает 200 000. Обе строки непусты.

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

Первая строка выходного файла должна содержать к — количество потенциальных вхождений р в t. Вторая строка должна содержать к целых чисел — позиции потенциальных вхождений. Позиции в строке нумеруются, начиная с 1. Позиции следует перечислить в возрастающем порядке.

Примечание

За тесты в которых \(t \le 1000\) начисляется 50% баллов. За остальные тесты тоже 50%. Баллы начисляются только при прохождении всех тестов группы.

Примеры
Входные данные
abacabadabacaba
aba
Выходные данные
7
1 3 5 7 9 11 13 
Входные данные
abacabadabacaba
love
Выходные данные
0
Сдать: для сдачи задач необходимо войти в систему