EduBrick

I. Сама возрастающая

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

Последовательность задана той же формулой: ai+1=(k⋅ai+b) mod ma_{i+1} = (k \cdot a_i + b) \bmod m.

Найдите её наибольшую строго возрастающую подпоследовательность и выведите не только длину, но и саму подпоследовательность.

Их может быть несколько; выведите лексикографически наименьшую по значениям среди самых длинных. Сначала длина, потом алфавитный порядок — не наоборот.

Формат ввода

Одна строка содержит пять целых чисел: nn (1≤n≤50001 \le n \le 5000), a1a_1, kk, bb, mm.

Ограничения: 1≤m≤1041 \le m \le 10^4, 0≤k<m0 \le k < m, 0≤b<m0 \le b < m, 0≤a1<m0 \le a_1 < m.

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

В первой строке — длина найденной подпоследовательности.

Во второй строке — её элементы через пробел.

Примеры

ввод
5 41 2 1 100
вывод
3
41 67 71
ввод
7 1 2 1 10
вывод
4
1 3 5 7
Войдите, чтобы отправлять решения.