사원수(quaternion)는 복소수를 확장해 만든 수 체계다. i2=j2=k2=ijk=−1을 만족하는 세 허수 단위 i, j, k로 표현하며, 실수 성분을 네 개 가진다. 이 문제에서는 아래 집합에 속하는 사원수만 다루고, 이를 제한된 사원수라고 부른다.
a+bi+cj+dk(a,b,c,d는 0 이상 M 미만의 정수)
i, j, k 사이의 성질 때문에 보통의 사원수 두 개를 곱하면 아래 결과가 나온다.
(a1+b1i+c1j+d1k)(a2+b2i+c2j+d2k)=(a1a2−b1b2−c1c2−d1d2)+(a1b2+b1a2+c1d2−d1c2)i+(a1c2−b1d2+c1a2+d1b2)j+(a1d2+b1c2−c1b2+d1a2)k제한된 사원수 두 개의 곱은, 이 둘을 보통의 사원수로 보고 곱한 결과에서 각 정수 성분을 M으로 나눈 나머지로 바꾼 값으로 정의한다.
M과 제한된 사원수 A가 주어질 때, AB=1을 만족하는 제한된 사원수 B를 구하여라.
첫 줄에 자연수 M과 T (1≤T≤100000)가 공백으로 구분되어 주어진다. M은 소수이고, 즉 약수가 1과 자기 자신뿐이며, 2≤M≤100000이다.
이어지는 T개의 줄에는 각각 A를 나타내는 네 정수 a, b, c, d (0≤a,b,c,d<M)가 공백으로 구분되어 주어진다. 이때 A=a+bi+cj+dk이다.
A가 주어질 때마다 AB=1을 만족하는 제한된 사원수 B=a+bi+cj+dk의 네 정수 a, b, c, d를 공백으로 구분해 한 줄에 출력한다. 조건을 만족하는 B는 존재하면 하나뿐이므로 답은 유일하다. 그런 B가 없으면 0을 공백으로 구분해 네 번 출력한다.