#include using namespace std; #define ll long long const ll maxn=200005; const ll inf=1e18; const ll BASE=1000000000000000000; struct BigInt{ vector v; BigInt(ll n=0){if(n<0)return;v.push_back(n);norm();} void norm(){while(v.size()>1 and v.back()==0)v.pop_back();} bool operator<(const BigInt&o)const{if(v.size()!=o.v.size())return v.size()=0;i--)if(v[i]!=o.v[i])return v[i](const BigInt&o)const{return o<*this;} bool operator<=(const BigInt&o)const{return not(o<*this);} bool operator>=(const BigInt&o)const{return not(*this=0;i--){__int128 val=c*BASE+v[i];r.v[i]=val/n;c=val%n;}r.norm();return r;} void print(){if(v.empty()){printf("0\n");return;}printf("%lld",v.back());for(int i=v.size()-2;i>=0;i--)printf("%018lld",v[i]);printf("\n");} }; ll D,A,B,K; bool check(const BigInt& y){ BigInt n1=y*BigInt(B)+BigInt(B-1),q1=n1/D; BigInt n2=y*BigInt(A),q2=n2/B; if(q1=BigInt(K+1); } int main(){ int t;scanf("%d",&t); while(t--){ scanf("%lld%lld%lld%lld",&D,&A,&B,&K); __int128 d=D,a=A,b=B; if(b*b<=a*d){ __int128 req=(__int128)D*(K+1); if(req