#include<bits/stdc++.h>
using namespace std;
int x,y,z,k;
long long dmg(long long a,long long b){
long long c=min(a/k,b);
return k*(c*(c+1))/2+(b-c)*a;
}
long long cst(long long a,long long b){
return 1ll*a*x+b*y;
}
int bsa(int b){
int l=0,r=z+1;
while(l+1<r){
int mid=(l+r)/2;
if(dmg(mid,b)>=z)r=mid;
else l=mid;
}
return r;
}
int bsb(int a){
int l=0,r=z+1;
while(l+1<r){
int mid=(l+r)/2;
if(dmg(a,mid)>=z)r=mid;
else l=mid;
}
return r;
}
void solve(){
cin>>x>>y>>z>>k;
int l=1,r=z+1;
while(l+1<r){
int mid=(l+r)/2;
if(bsb(mid)<=mid)r=mid;
else l=mid;
}
long long ans=0x3f3f3f3f3f3f3f3f;
for(int a=1;a<=l;a++){
int b=bsb(a);
if(b<=z)ans=min(ans,cst(a,b));
}
l=bsb(l);
for(int b=1;b<=l;b++){
int a=bsa(b);
if(a<=z)ans=min(ans,cst(a,b));
}
cout<<ans<<"\n";
return;
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int T;
cin>>T;
while(T--){
solve();
}
return 0;
}