from math import ceil, floor

n = int(input())
for lol in range(n):
    nums = input().strip().split()
    for i in range(len(nums)):
        nums[i] = int(nums[i])
    if nums[0] < nums[1]:
        print(min(nums[0]*nums[2], nums[1]*nums[3]))
    elif nums[2] <= nums[3]:
        print(nums[0]*nums[2])
    else:
        flor = (nums[1]*nums[3] + nums[0]*nums[2]) / (nums[3] + nums[2])
        one = max((ceil(flor) - nums[1]) * nums[3], (nums[0] - ceil(flor))*nums[2])
        two = max((floor(flor) - nums[1])*nums[3], (nums[0] - floor(flor))*nums[2])
        result1 = one + ceil(flor) * nums[3]
        result2 = two + floor(flor) * nums[3]
        print(min(result1, result2))