#include <bits/stdc++.h>
using namespace std;
string compute(string s){
if (s.length() <= 1) {
return s;
}
stack<int> t;
int global = 1;
int start = 0;
if (s[0] == '(') {
t.push(1);
start = 1;
}
for (int i=start; i < s.length() ; i++) {
if (s[i] == ')') {
if (t.top() == 0){
global = !global;
}
t.pop();
} else if (s[i]=='-' || s[i]=='+') {
if (s[i+1] == '(') {
if (s[i] == '-') {
t.push(0);
global = !global;
}
i++;
if (global == 0)
cout << '-';
else
cout << '+';
} else {
if (global == 1) {
cout<<s[i];
} else {
if (s[i] == '-') {
cout<<'+';
} else {
cout << '-';
}
}
}
} else {
cout << s[i];
}
}
}
int main() {
string s = "-(a-(b+c)-d";
cout<<compute(s);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cmluZyBjb21wdXRlKHN0cmluZyBzKXsKCWlmIChzLmxlbmd0aCgpIDw9IDEpIHsKCQlyZXR1cm4gczsKCX0KCXN0YWNrPGludD4gdDsKCWludCBnbG9iYWwgPSAxOwoJaW50IHN0YXJ0ID0gMDsKCWlmIChzWzBdID09ICcoJykgewoJCXQucHVzaCgxKTsKCQlzdGFydCA9IDE7Cgl9Cglmb3IgKGludCBpPXN0YXJ0OyBpIDwgcy5sZW5ndGgoKSA7IGkrKykgewoJCWlmIChzW2ldID09ICcpJykgewoJCQlpZiAodC50b3AoKSA9PSAwKXsKCQkJCWdsb2JhbCA9ICFnbG9iYWw7CgkJCX0KCQkJdC5wb3AoKTsKCQl9IGVsc2UgaWYgKHNbaV09PSctJyB8fCBzW2ldPT0nKycpIHsKCQkJaWYgKHNbaSsxXSA9PSAnKCcpIHsKCQkJCWlmIChzW2ldID09ICctJykgewoJCQkJCXQucHVzaCgwKTsKCQkJCQlnbG9iYWwgPSAhZ2xvYmFsOwoJCQkJfQoJCQkJaSsrOwoJCQkJaWYgKGdsb2JhbCA9PSAwKQoJCQkJCWNvdXQgPDwgJy0nOwoJCQkJZWxzZSAKCQkJCQljb3V0IDw8ICcrJzsKCQkJfSBlbHNlIHsKCQkJCWlmIChnbG9iYWwgPT0gMSkgewoJCQkJCWNvdXQ8PHNbaV07CgkJCQl9IGVsc2UgewoJCQkJCWlmIChzW2ldID09ICctJykgewoJCQkJCQljb3V0PDwnKyc7CgkJCQkJfSBlbHNlIHsKCQkJCQkJY291dCA8PCAnLSc7CgkJCQkJfQoJCQkJfSAgCgkJCX0KCQl9IGVsc2UgewoJCQljb3V0IDw8IHNbaV07CgkJfQoJfQp9CmludCBtYWluKCkgewoJc3RyaW5nIHMgPSAiLShhLShiK2MpLWQiOwoJY291dDw8Y29tcHV0ZShzKTsKCXJldHVybiAwOwp9