EduBrick

O. Поиск с точностью до порядка

1000 мс · 256 МБ · всё или ничего

Дана перестановка-образец: она описывает, в каком порядке идут элементы по величине. Найдите все места в массиве, где подряд идущие элементы расположены в том же относительном порядке.

Например, последовательность 5,10,45, 10, 4 соответствует образцу (3,1,2)(3, 1, 2): третий элемент наименьший, первый - следующий, второй - наибольший.

Формат ввода

В первой строке - числа nn и mm (2≤n≤m≤3⋅1052 \le n \le m \le 3 \cdot 10^5).

Во второй строке - перестановка s1,…,sns_1, \ldots, s_n чисел от 1 до nn: sis_i - номер позиции, которая стоит на ii-м месте по возрастанию.

В третьей строке - mm различных чисел hih_i (1≤hi≤1091 \le h_i \le 10^9).

Формат вывода

В первой строке выведите число найденных мест kk.

Во второй строке - их начальные позиции в возрастающем порядке (нумерация с единицы). Если k=0k = 0, вторую строку оставьте пустой.

Примеры

ввод
5 10
2 1 5 3 4
5 6 3 8 12 7 1 10 11 9
вывод
2
2 6
ввод
2 3
2 1
5 7 9
вывод
0

Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.