#include <bits/stdc++.h>
#define INT long long int
#define MOD 998244353
#define oo 6*(1e18)
using namespace std;
string s;
INT n, ans = -oo, ANS = -oo, fmx(int, int), fmn(int, int), x;
INT dpM[250][250], dpm[250][250];
bool chkM[250][250], chkm[250][250];
INT fmx(int l, int r)
{
    if( l == r ) return s[l]-'0';
    if( chkM[l][r] ) return dpM[l][r];
    INT ret = -oo;
    INT&RET = dpM[l][r] = -oo;
    chkM[l][r] = true;
    for(int i = l+1 ; i <= r ; i+=2 )
    {
        ret = -oo;
        if( s[i] == '+' ) ret = fmx(l, i-1) + fmx(i+1, r);
        if( s[i] == '-' ) ret = fmx(l, i-1) - fmn(i+1, r);
        if( s[i] == '*' )
        {
            INT X, Y, x, y;
            X = fmx(l, i-1), Y = fmx(i+1, r);
            x = fmn(l, i-1), y = fmn(i+1, r);
            ret = max( X*Y, max( X*y, max(x*Y, x*y) ) );
        }
        if( s[i] == '/' )
        {
            INT X, Y, x, y;
            X = fmx(l, i-1), Y = fmx(i+1, r);
            x = fmn(l, i-1), y = fmn(i+1, r);
            if( Y ) ret = max(X/Y, x/Y);
            if( y ) ret = max( ans, max(x/y, X/y) );
        }
        RET = max( RET, ret );
    }
    return RET;
}
INT fmn(int l, int r)
{
    if( l == r ) return s[l]-'0';
    if( chkm[l][r] ) return dpm[l][r];
    INT ret = oo;
    INT &RET = dpm[l][r] = oo;
    chkm[l][r] = true;
    for(int i = l+1 ; i <= r ; i+=2 )
    {
        ret = oo;
        if( s[i] == '+' ) ret = fmn(l, i-1) + fmn(i+1, r);
        if( s[i] == '-' ) ret = fmn(l, i-1) - fmx(i+1, r);
        if( s[i] == '*' )
        {
            INT X, Y, x, y;
            X = fmx(l, i-1), Y = fmx(i+1, r);
            x = fmn(l, i-1), y = fmn(i+1, r);
            ret = min( X*Y, min( X*y, min(x*Y, x*y) ) );
        }
        if( s[i] == '/' )
        {
            INT X, Y, x, y;
            X = fmx(l, i-1), Y = fmx(i+1, r);
            x = fmn(l, i-1), y = fmn(i+1, r);
            if( Y ) ret = min(X/Y, x/Y);
            if( y ) ret = min( ret, min(x/y, X/y) );
        }
        RET = min( RET, ret );
    }
    return RET;
}
int main()
{
    freopen(".30.in","r",stdin);
    freopen(".30.out","w",stdout);
    ios::sync_with_stdio(false);
    cin>>s;
    n = s.size();
    for(int i = 1 ; i < n ; i+=2 )
    {
        ans = -oo;
        if( s[i] == '+' ) ans = max(ans, fmx(0, i-1) + fmx(i+1, n-1));
        if( s[i] == '-' ) ans = max(ans, fmx(0, i-1) - fmn(i+1, n-1));
        if( s[i] == '*' )
        {
            INT X, Y, x, y;
            X = fmx(0, i-1), Y = fmx(i+1, n-1);
            x = fmn(0, i-1), y = fmn(i+1, n-1);
            ans = max( ans, max( X*Y, max( X*y, max(x*Y, x*y) ) ) );
        }
        if( s[i] == '/' )
        {
            INT X, Y, x, y;
            X = fmx(0, i-1), Y = fmx(i+1, n-1);
            x = fmn(0, i-1), y = fmn(i+1, n-1);
            if( Y ) ans = max( ans, max(X/Y, x/Y) );
            if( y ) ans = max( ans, max(x/y, X/y) );
        }
        //cout<<i<<" "<<ans<<": mx(1..i)"<<fmx(0, i-1)<<", mn(1..i)"<<fmn(0, i-1)<<", mx(i+1..n-1)"<<fmx(i+1,n-1)<<", mn(i+1..n-1)"<<fmn(i+1,n-1)<<endl;
        ANS = max( ANS, ans );
    }
    cout<<ANS;
}

// 2+5*3-4/2*6+4-2
// 1+2*3-4/5*6+7-8*9+1-2*3/4+5+6*9/8/8*9+9
