ll@T;REP(T){cpp_int D,A,B,K,n,a,b,c,d,m,x,g,r,l=0,h,q,s,v;cin>>D>>A>>B>>K;g=gcd(D,A);if(A*B%D<1&&D*K+g>=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;}cout<