#include #include #include #include #include char line[260]; int len; //char f[1000000]; //int fi, fo; int Go(int i) { int a, b, x, y; int pl, mi, kr, de, i2; int ac = 1; int bc; pl = mi = kr = de = 0; while(line[i - ac] == '(') ac++; x = i; while(line[++i] != ')') { if(line[i] == '(') { i = Go(i); } switch(line[i]) { case '+': pl = 1; break; case '-': mi = 1; break; case '*': kr = 1; break; case '/': de = 1; break; } } y = i; bc = 1; while(line[i+bc] == ')') bc++; int z = bc < ac ? bc : ac; a = line[x - z]; b = line[y + z]; bool ods = true; if(a == '-' && ((pl || mi))) { ods = false; } if(a == '*' && ((pl || mi))) { ods = false; } if(a == '/' && (kr || pl || mi || de)) { ods = false; } if(b == '/' && ((pl || mi))) { ods = false; } if(b == '*' && ((pl || mi))) { ods = false; } if(ods) { line[x] = ' '; line[y] = ' '; } return i; } void OneTask() { //fi = fo = 0; gets(line + 1); line[0] = 0; len = strlen(line + 1); int i = 1; while(i <= len) { if(line[i] == '(') { //if(line[i-1] != '(') f[fi++] = line[i-1]; i = Go(i); } else i++; } for(i = 1; i <= len; i++) if(line[i] != ' ') putchar(line[i]); putchar('\n'); } int main(void) { int T; scanf("%d", &T); while(getchar() != '\n') ; while(T--) { OneTask(); } return 0; }