11181. Шкідлива послідовність


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Степан розбирає різні числові послідовності і звернув увагу, що при роботі з деякими послідовностями у нього погіршується самопочуття. Такі послідовності він назвав 'шкідливими'. Тепер Степан займається пошуком цих 'шкідливих' послідовностей. Допоможіть йому швидко їх знаходити.

Отже, маємо послідовність цілих чисел від 1 до 88 довжиною \(N\). Шкідлива послідовність складається з \(C\) різних цілих чисел від 1 до 88. Але, якщо числа транспоновані (збільшені або зменшені на ту саму величину), або переупорядковані, то ця послідовність все одно залишається шкідливою.

Наприклад, якщо [4 6 7] - шкідлива послідовність чисел, то послідовності [3 5 6] (транспонована на -1), [6 8 9] (транспонована на +2), [6 4 7] (переупорядкована), [5 3 6] (транспонована та переупорядкована), також є шкідливими.

Завдання: знайдіть початкові положення всіх шкідливих послідовностей у заданій послідовності. Шкідливі послідовності можуть перекриватися.

Формат вхідних даних

У першому рядку вхідного потоку міститься ціле число \(N\) (\(1 \le N \le 20000\)).

Наступні \(N\) рядків містять цілі числа від заданої послідовності.

Далі у рядку містить ціле число \(C\) (\(1 \le C \le 10\))

Наступні \(C\) рядків містять числа шкідливої послідовностію

Формат вихідних даних

У першому рядку вихідного потоку виведіть кількість входжень шкідливої послідовності у задану.

У наступних рядках виведіть індекси початкових входжень шкідливої послідовності.

Рахунок ведеться від 1.

Примітка

Задана послідосність: [1,8,5,7,9,10]

Шкідлива послідовність: [4,6,7]

Дві шкідливі послідовності зустрілися в заданій.

Перша -- [8,5,7] (транспонована на 1 та переупорядкована), починається з позиції 2, а друга [7,9,10] (транспонована на 3) починається з позиції 4.

Приклад вхідних даних

6
1
8
5
7
9
10
3
4
6
7

Приклад вихідних даних

2
2
4

Коментарі

Ще немає коментарів.