p,_=map(int,input().split()) f=lambda a:pow(a,p-1>>1,p)!=p-1 def h(a): if a%p==0:return 0 b=2 while f(b*b-a):b+=1 h=lambda u,v:((u[0]*v[0]+u[1]*v[1]*(b*b-a))%p,(u[0]*v[1]+u[1]*v[0])%p) e=p+1>>1 r=1,0 v=b,1 while e: if e&1:r=h(r,v) v=h(v,v) e>>=1 return r[0] for _ in range(int(input())): a,b,c=map(int,input().split()) d=b*b-4*a*c a=pow(2*a,p-2,p) D=h(d) if f(d):print(*sorted(set(((D-b)*a%p,(-b-D)*a%p)))) else:print(-1)