# 何行のテストケースが来る? T = int(input()) # テストケースを取得。イキって generator で格納する。 test_cases = ( tuple(map(int, input().split())) for i in range(T) ) for test_case in test_cases: # 最小の引数, 最大の引数, Linear Function の構成要素。 L, R, A, B = test_case # まあ……シンプルに最小と最大、それぞれの値を比べればいいんじゃない? # 大きいほうが答え。 print(max(A * L + B, A * R + B))