func_code_string: #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;   }   