Jeffery знайшов дивовижну послідовність трійок $\{(a_k,b_k,c_k)\}_{k=0}^{\infty}$:
$(a_0,b_0,c_0)=(2,1,0)$; і
для кожного невід'ємного цілого числа $k$ виконується $(a_{k+1},b_{k+1},c_{k+1})=(a_k^2+b_k^2,a_kb_k+b_kc_k,b_k^2+c_k^2)$.
Наприклад, $(a_1,b_1,c_1)=(5,2,1)$ та $(a_2,b_2,c_2)=(29,12,5)$.
Якщо розглядати послідовність за модулем цілого числа $p$, деякі трійки ніколи не з'являться в цій послідовності, деякі з'являтимуться періодично, а інші з'являться лише один раз.
Jeffery цікавиться, чи можете ви допомогти йому знайти першу появу деяких трійок, починаючи із заданих позицій. Чи могли б ви йому допомогти?
Вхідні дані
Перший рядок містить два цілі числа $n$ і $p$ ($1 \le n \le 5000$, $1 \le p \le 2^{30}$), де $n$ позначає кількість запитань, а $p$ означає, що всі наступні запитання розглядаються за модулем $p$.
Кожен із наступних $n$ рядків містить чотири цілі числа $x$, $y$, $z$ і $m$ ($0 \le x,y,z < p$, $0 \le m \le 10^{18}$), що задають запитання, у якому потрібно знайти найменше ціле число $k$, таке що $k \ge m$ і $(a_k,b_k,c_k)\equiv(x,y,z)\pmod p$.
Вихідні дані
Для кожного запитання виведіть в окремому рядку ціле число, яке є відповіддю на це запитання. Якщо такого цілого числа $k$ немає, виведіть замість нього $-1$.
Приклади
Вхідні дані 1
5 11 6 1 4 10 4 10 6 3 7 1 5 0 2 1 0 1 2 1 0 0
Вихідні дані 1
11 4 2 -1 0
Вхідні дані 2
5 10 5 8 9 5 0 2 6 0 9 2 5 6 5 5 5 7 5 2 1 2
Вихідні дані 2
5 -1 6 -1 -1
Примітка
У першому прикладі $(a_0,b_0,c_0)\equiv(2,1,0)$, $(a_1,b_1,c_1)\equiv(5,2,1)$, $(a_2,b_2,c_2)\equiv(7,1,5)$, $(a_{2T+3},b_{2T+3},c_{2T+3})\equiv(6,1,4)$, $(a_{2T+4},b_{2T+4},c_{2T+4})\equiv(4,10,6)\pmod{11}$ де $T=0,1,2,\ldots$
У другому прикладі $(a_0,b_0,c_0)\equiv(2,1,0)$, $(a_1,b_1,c_1)\equiv(5,2,1)$, $(a_{2T+2},b_{2T+2},c_{2T+2})\equiv(9,2,5)$, $(a_{2T+3},b_{2T+3},c_{2T+3})\equiv(5,8,9)\pmod{10}$ де $T=0,1,2,\ldots$