#include using namespace std; #define st first #define nd second #define pb push_back using ll = long long; using db = double; using ldb = long double; using pii = pair; using pll = pair; void solve(){ ll yp, lp, ys, ls; cin >> yp >> lp >> ys >> ls; if(ys <= ls || lp >= yp){ cout << min(yp * ys, lp * ls) << "\n"; return; } ll dif = abs(yp - lp); ll predkosc = ys + ls; ll meet = yp - ((ls * dif) / (predkosc)); ll best = yp * ys; for(ll i=meet-5;i<=meet+5;i++){ if(i <= 0) continue; ll jaDif = abs(yp - i); ll wDif = abs(lp - i); ll czas = 0; czas += max(jaDif * ys, wDif * ls); czas += ls * i; best = min(best, czas); } cout << best << "\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int t; cin >> t; while(t--) solve(); return 0; }