Наибольшая возрастающая подпоследовательность за O(n*log(n))

Числовая последовательность задана рекуррентной формулой: $a_{i+1}$=($k$ $a_i$+$b$)mod $m$. Найдите длину её наибольшей возрастающей подпоследовательности.

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

Программа получает на вход пять целых чисел: длину последовательности $n$ (1≤$n$≤$10^5$), начальный элемент последовательности $a_1$, параметры $k$, $b$, $m$ для вычисления последующих членов последовательности (1≤$m$≤$10^4$, 0≤$k$<$m$, 0≤$b$<$m$, 0≤$a_1$<$m$).

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

Требуется вывести длину наибольшей возрастающей подпоследовательности данной последовательности.

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

Задача на informatics