#include<bits/stdc++.h>
#define ll long long
using namespace std;
//花a的钱可以让x或y加1或减1,花b的钱可以让x和y同时加1或减1,求使a=b=0所花最少的钱
int main( )
{
ll t,k=0,x,y,a,b,s1,s2;
cin>>t;
ll m[t];
for(int i=0; i<t; i++)
{
cin>>x>>y;
cin>>a>>b;
s1=a*(x+y);//a,b差值很大时可能的情况
s2=b*min(x,y)+a*(max(x,y)-min(x,y));//a,b差值小的时候可能的情况
m[k]=min(s1,s2);//求两种可能的最小值
k++;
}
for(int i=0; i<t; i++)
{
cout<<m[i]<<endl;
}
#define ll long long
using namespace std;
//花a的钱可以让x或y加1或减1,花b的钱可以让x和y同时加1或减1,求使a=b=0所花最少的钱
int main( )
{
ll t,k=0,x,y,a,b,s1,s2;
cin>>t;
ll m[t];
for(int i=0; i<t; i++)
{
cin>>x>>y;
cin>>a>>b;
s1=a*(x+y);//a,b差值很大时可能的情况
s2=b*min(x,y)+a*(max(x,y)-min(x,y));//a,b差值小的时候可能的情况
m[k]=min(s1,s2);//求两种可能的最小值
k++;
}
for(int i=0; i<t; i++)
{
cout<<m[i]<<endl;
}
return 0;
}
}