ll@T;REP(T){ll@(f,i,j,k);cpp_int D=f,A=i,B=j,K=k,n,a,b,c,d,m,x,g,r,l=0,h,q,s,v;D/=g=gcd(D,A);A/=g;if(A*B%D<1&&D*K+2>A){wt(-1);}else{h=A*B*K+2;while(l+1?=s,v>?=s+a*~-n+b*(q=(c*~-n+d)/m),n=q){s+=(a+b)*(a<0);d=m+~d;swap(a,b);swap(c,m);}(v<=B*K?l:h)=x;}l*=g*D;wt(to_string(l));}}