6. Модульная рекурентная последовательность

Не решаласьСложная

Простой старшеклассник японской школы по имени Фибоначчи придумал рекуррентную последовательность {fi}\{f_i\}, у которой f0=0f_0 = 0, f1=1f_1 = 1, а fn=(afn1+bfn2)mod  pf_n = (af_{n-1} + bf_{n-2}) \mod p, где pp - простое число и 1a,b<p1 \leq a, b < p. Он изучил очень много ее свойств и решил выступить с докладом на фестивале школьных кружков. Но, к сожалению, на эту выставку приехала делегация 9 «В» класса школы имени Валентина Стрыкало, и девочка из этого класса по имени Альбина задала ему вопросы вида: «А есть ли такая позиция ii, что fi=xf_i = x, а fi+1=yf_{i+1} = y»? Фибоначчи, безусловно, знает свою последовательность наизусть и легко может ответить на все ее вопросы, но у него есть более интересные варианты досуга. Поэтому он просит вас ему помочь и написать программу, которая ответит на все вопросы Альбины.

Формат ввода

В первой строке входных данных заданы 3 целых числа p,a,bp, a, b (0<a,b<p1060 < a, b < p \leq 10^6), а во второй - одно целое число 1q1061 \le q \le 10^6 - количество запросов. В последующих qq строках представлены вопросы Альбины, каждый из которых представляется парой чисел xx и yy (0x,y<p0 \leq x, y < p).

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

Выведите отверы на запросы в порядке, в котором запросы заданы во входных данных. Ответом на запрос является число 1-1, если пара (x,y)(x,y) не встречается подряд в последовательности, или единственное натуральное число tit_i - ответ на вопрос Альбины, если подходящих чисел несколько, то выведите минимальное.

Ограничения

Ограничение времени

3 с

Ограничение памяти

512 МБ

Пример 1

Ввод
5 1 1
3
0 1
1 1
3 3
Вывод
20
1
6

Пример 2

Ввод
5 3 2
3
0 1
1 3
3 1
Вывод
24
1
2

Теги

Нужно войти, чтобы отправить решение.Войти