You are given two integers x and y. You can perform two types of operations: 

  1. Pay a dollars and increase or decrease any of these integers by 1. For example, if x = 0 and y = 7 there are four possible outcomes after this operation: 
    * x = 0, y = 6; 
    * x = 0, y = 8; 
    * x = -1, y = 7; 
    * x = 1, y = 7. 

  2. Pay b dollars and increase or decrease both integers by 1. For example, if x = 0 and y = 7 there are two possible outcomes after this operation: 
    * x = -1, y = 6; 
    * x = 1, y = 8. 



Your goal is to make both given integers equal zero simultaneously, i.e. x = y = 0. There are no other requirements. In particular, it is possible to move from x=1, y=0 to x=y=0.

Calculate the minimum amount of dollars you have to spend on it.

Input

The first line contains one integer t (1 ≤ t ≤ 100) — the number of testcases.

The first line of each test case contains two integers x and y (0 ≤ x, y ≤ 10^9).

The second line of each test case contains two integers a and b (1 ≤ a, b ≤ 10^9).

Output

For each test case print one integer — the minimum amount of dollars you have to spend.

Example

Input


2
1 3
391 555
0 0
9 4


Output


1337
0

Note

In the first test case you can perform the following sequence of operations: first, second, first. This way you spend 391 + 555 + 391 = 1337 dollars.

In the second test case both integers are equal to zero initially, so you dont' have to spend money.
# t = int(input())
# while(t):
#     t -= 1
#     x, y = list(map(int, input().split()))
#     a, b = list(map(int, input().split()))

#     ans=0

#     while(x!=0 and y!=0):
#         if (x>0 and y>0):
#             if (b<2*a):
#                 if (x>y):
#                     ans += b*y
#                     x = x - y
#                     y = 0
#                     # print("here:", x, y)
#                 else:
#                     ans += b*x
#                     y = y - x
#                     x = 0
#                     # print("here2:", x, y)
#             else:
#                 ans += a*(y+x)
#                 x = 0
#                 y = 0
#                 # print("here:", x, y)
        
#         if (x<0 and y<0):
#             if (b<2*a):
#                 if (x>y):
#                     ans += b*abs(x)
#                     y = y - x
#                     x = 0
#                     # print("here3:", x, y)
#                 else:
#                     ans += b*abs(y)
#                     x = x - y
#                     y = 0
#                     # print("here4:", x, y)
#             else:
#                 ans += a*abs(y+x)
#                 x = 0
#                 y = 0
#                 # print("here:", x, y)

#         if (x<=0 and y>=0):
#             ans += a*(abs(x) + abs(y))
#             x = 0
#             y = 0
#             # print("here5:", x, y)

#         if (x>=0 and y<=0):
#             ans += a*(abs(x) + abs(y))
#             x = 0
#             y = 0
#             # print("here6:", x, y)

#     print(ans)

t=int(input())
while(t):
    x, y = list(map(int, input().split()))
    a, b = list(map(int, input().split()))
    print (abs(x-y)*a + min(2*min(x,y)*a , min(x,y)*b))
    t = t-1