B. Сережа и анаграммы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

У Сережи есть две последовательности 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. Во вторую строку выведите сами подходящие значения в возрастающем порядке.

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