Vanya is doing his maths homework. He has an expression of form <image>, where x1, x2, ..., xn are digits from 1 to 9, and sign <image> represents either a plus '+' or the multiplication sign '*'. Vanya needs to add one pair of brackets in this expression so that to maximize the value of the resulting expression.

Input

The first line contains expression s (1 ≤ |s| ≤ 5001, |s| is odd), its odd positions only contain digits from 1 to 9, and even positions only contain signs  +  and  * . 

The number of signs  *  doesn't exceed 15.

Output

In the first line print the maximum possible value of an expression.

Examples

Input

3+5*7+8*4


Output

303


Input

2+3*5


Output

25


Input

3*4*5


Output

60

Note

Note to the first sample test. 3 + 5 * (7 + 8) * 4 = 303.

Note to the second sample test. (2 + 3) * 5 = 25.

Note to the third sample test. (3 * 4) * 5 = 60 (also many other variants are valid, for instance, (3) * 4 * 5 = 60).
s = input()
exec("ans = " + s)
"""
A = [0] * (s.count('*') + 1)
k = 0
for elem in s:
	if elem == '+':
		pass
	elif elem == '*':
		k += 1
	else:
		if A[k] == 0:
			A[k] = [int(elem)]
		else:
			A[k] += [int(elem)]
print(A)
S = [sum(elem) for elem in A]
print(S)
print(ans)
"""
n = s.count('*')
last_s = s
for i in range(n + 1):
	for j in range(i + 1, n + 2):
		new_s = ""
		if i == 0:
			new_s += "("
		k = 1
		for elem in s:
			if elem == "*":
				if i == k:
					new_s += "*("
				elif j == k:
					new_s += ")*"
				else:
					new_s += "*"
				k += 1
			else:
				new_s += elem
		if j == n + 1:
			new_s += ")"
		exec("_ans = " + new_s)
		if _ans > ans:
			ans = _ans
			last_s = new_s
		#print(new_s)
print(ans)

#print()
#print(last_s)
