Олимпиадный тренинг

Задача . B. Сережа и анаграммы


У Сережи есть две последовательности a и b, a также число p. Последовательность a состоит из n целых чисел a1, a2, ..., an. Аналогично, последовательность b состоит из m целых чисел b1, b2, ..., bm. Как обычно, Сережа изучает имеющиеся у него последовательности. Сегодня он хочет найти количество позиций q (q + (m - 1)·p ≤ nq ≥ 1) таких, что последовательность b можно получить из последовательности aq, aq + p, aq + 2p, ..., aq + (m - 1)p перестановкой ее элементов.

Сереже нужно бежать в тренажерный зал, поэтому он попросил вас найти все описанные позиции q.

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

В первой строке содержатся три целых числа n, m и p (1 ≤ n, m ≤ 2·105, 1 ≤ p ≤ 2·105). В следующей строке содержатся n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 109). В следующей строке содержатся m целых чисел b1, b2, ..., bm (1 ≤ bi ≤ 109).

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

В первой строке выведите количество подходящих q. Во вторую строку выведите сами подходящие значения в возрастающем порядке.


Примеры
Входные данныеВыходные данные
1 5 3 1
1 2 3 2 1
1 2 3
2
1 3
2 6 3 2
1 3 2 2 3 1
1 2 3
2
1 2

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя