Problem: Today Oz is playing with his game-board. He has N coins of type-1 and M coins of type-2. Also the game-board has N squares of type-1 and M squares of type-2. In this game Oz must place one coin into each square. After placing all coins Oz will get a score based on his coin placement strategy . 

His score calculation is like this : If type-1 square contains a type-1 coin then he will get A points, if type-2 square contains a type-2 coin then he will get B points and in all other cases, he will get C points.
Oz's total game score will be sum of scores of all squares. Help Oz to earn maximum game points with his game-board.

Input :

The first line contains the number of test cases T . 

Each test case consists of five space separated integers - N, M, A, B and C. 

Output :

For each test case output maximum game points that Oz can earn.

Constraints :

1 ≤  T ≤ 100

1 ≤ N, M ≤ 10^9

-10^4  ≤ A, B, C ≤ 10^4

SAMPLE INPUT
2
3 4 500 800 600
1 5 10 -20 -30

SAMPLE OUTPUT
4700
-90

Explanation

For first sample :

With optimal strategy Oz will place 3 coins of type-1 into 3 squares of type-1 getting score =500+500+500 = 1500
and he will place 4 coins of type-2 into 4 squares of type-2 getting score = 800+800+800+800 = 3200
so total score will be 1500+3200 =4700
He cannot get better then this in any other coin placement strategy.

Solution (in PYTHON):

Solution:
'''
# Read input from stdin and provide input before running code

name = raw_input('What is your name?\n')
print 'Hi, %s.' % name
print 'Hello World!'
'''
t=input()
max = 0
while t>0:
	n=raw_input()
	q = n.split(' ')
	n=int(q[0])
	m=int(q[1])
	a=int(q[2])
	b=int(q[3])
	c=int(q[4])
	r=a+b
	if n>m:
		dif=n-m
		if r>(2*c):
			max = m*r+dif*a
		else:
			max = 2*m*c+dif*a
		#max = ((a+b)>c?((2m*(a+b))+dif*a):((2m*(c))+dif*a))
	else:
		dif=m-n
		if r>(2*c):
			max = n*r+dif*b
		else:
			max = 2*n*c+dif*b
		#max = ((a+b)>c?((2m*(a+b))+dif*a):((2m*(c))+dif*a))
	t-=1
	print max