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).
'''                      
   	
   			 ||Sri:||                 

                      __|
 ______________|_________________________
      |    |   ___|    |    |    ___|      |      |    |___
 /\  /\    |   |___    |    |   |___|      |      |    |___|
/  \/  \   |   ___|    |    |         |_/    |___|    |___

I am a beginner. Feel free to send tutorials/help to srinivasan1995@gmail.com.

Codeforces, SPOJ handle: desikachariar.
Hackerrank, Codechef handle: Prof_Calculus.

Advices/Help are welcome. You will definitely get a thanks in return. Comments to be avoided.

College: International Institute of Information Technology, Bangalore.

'''

import math

def fn(s):
	s = s.split('+')
	for i in range(len(s)):
		q = s[i].split('*')
		a = 1
		for k in q:
			a = a*int(k)
		s[i]=a
	p=0
	for i in s:
		p+=int(i)
	return p

x = "1*" + raw_input() + "*1"
v=[]
for i in range(len(x)):
	if x[i] == '*':
		v += [i]
ans = 0
for i in range(len(v)-1):
	for j in range(i+1, len(v)):
		t = fn( x[:v[i]] + "*" +  str(fn(x[v[i]+1 : v[j]])) + x[v[j]:])
		ans = max(ans, t)
print ans	
			
