#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e9 + 7;
vector<long long int> v;
long long int calcmulti(string s, long long int l, long long int r) {
  long long int ans = 1;
  string z = "";
  for (long long int i = l; i <= r; i++) {
    if (s[i] == '*') {
      ans *= stoll(z);
      z = "";
    } else
      z += s[i];
  }
  ans *= stoll(z);
  return ans;
}
long long int calc(string s, long long int ss, long long int st) {
  if (ss == st) return s[ss] - '0';
  long long int mid = (ss + st) / 2, mindist = MAXN;
  for (long long int i = mid; i <= st; i++) {
    if (s[i] == '+') {
      mindist = min(mindist, i);
      break;
    }
  }
  for (long long int i = mid; i >= ss; i--) {
    if (s[i] == '+') {
      mindist = min(mindist, i);
      break;
    }
  }
  if (mindist == MAXN) return calcmulti(s, ss, st);
  return calc(s, ss, mindist - 1) + calc(s, mindist + 1, st);
}
long long int change(string s, long long int ss, long long int st) {
  string z;
  long long int ans = calc(s, ss, st);
  for (long long int i = 0; i <= ss - 1; i++) z += s[i];
  z += to_string(ans);
  for (long long int i = st + 1; i <= (long long int)s.length() - 1; i++)
    z += s[i];
  return calc(z, 0, (long long int)z.length() - 1);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long int ans = 0;
  string s;
  cin >> s;
  for (long long int i = 0; i < s.length(); i++)
    if (s[i] == '*') v.push_back(i);
  if (v.size() == 0) {
    cout << calc(s, 0, (long long int)s.length() - 1);
    return 0;
  }
  if (v.size() == 1) {
    cout << max(change(s, 0, v[0] - 1),
                max(change(s, v[0] + 1, (long long int)s.length() - 1),
                    calc(s, 0, (long long int)s.length() - 1)));
    ;
    return 0;
  }
  ans = max(ans, calc(s, 0, (long long int)s.length() - 1));
  for (long long int i = 0; i < (long long int)v.size(); i++) {
    ans = max(ans, change(s, 0, v[i] - 1));
    ans = max(ans, change(s, v[i] + 1, (long long int)s.length() - 1));
    for (long long int j = i + 1; j < (long long int)v.size(); j++) {
      ans = max(ans, change(s, v[i] + 1, v[j] - 1));
    }
  }
  cout << ans;
}
