#include #include #include #include #include #include #include #include #include #include // #define DEBUG using namespace std; // typedef pairP; // typedef complexP; typedef long long int ll; typedef unsigned long long int ull; const int INF = 1e9; const double EPS=1e-9; int calc(string str){ if(!isdigit(str[0]))return -INF; if(!isdigit(str[str.size()-1]))return -INF; vectorvec; vectorope; bool flag = false; stringstream s; s << str; while(!s.eof()){ if(flag){ char c; s >> c; ope.push_back(c); flag = false; } else { int num; s >> num; vec.push_back(num); flag = true; } } int ret = vec[0]; for(int i = 0 ; i < ope.size() ; i++){ if(ope[i] == '+')ret += vec[i+1]; else ret -= vec[i+1]; } return ret; } int main(int argc, char *argv[]) { string s; cin >> s; int res = -INF; for(int i = 0 ; i < s.size() ; i++){ string tmp; for(int j = i ; ; j = (j + 1)%s.size() ){ tmp += s[j]; if(j == (i + (int)s.size() -1)%s.size())break; } res = max(res,calc(tmp)); } cout << res << endl; return 0; }