#pragma GCC optimize ("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
string reverseParentheses( string s) {
int i;
int j;
int k;
int fg;
k = 0 ;
for ( ;; ) {
fg = 0 ;
for ( i= 0 ; i< ( s.size ( ) ) ; i++ ) {
if ( s[ i] == '(' ) {
j = i;
}
if ( s[ i] == ')' ) {
k = i;
fg = 1 ;
reverse( s.begin ( ) + j + 1 , s.begin ( ) + k) ;
s = s.substr ( 0 ,j) + s.substr ( j+ 1 , k- j- 1 ) + s.substr ( k+ 1 ) ;
break ;
}
}
if ( ! fg) {
break ;
}
}
return s;
}
}
;
// cLay varsion 20190914-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// string reverseParentheses(string s) {
// int i, j, k, fg;
// k = 0;
// for(;;){
// fg = 0;
// rep(i,s.size()){
// if(s[i]=='(') j = i;
// if(s[i]==')'){
// k = i;
// fg = 1;
// reverse(s.begin() + j + 1, s.begin() + k);
// s = s.substr(0,j) + s.substr(j+1, k-j-1) + s.substr(k+1);
// break;
// }
// }
// if(!fg) break;
// }
// return s;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUgKCJPZmFzdCIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbWFpbiBkdW1teV9tYWluCmludCBtYWluKCl7CiAgcmV0dXJuIDA7Cn0KI3VuZGVmIG1haW4KY2xhc3MgU29sdXRpb257CiAgcHVibGljOgogIHN0cmluZyByZXZlcnNlUGFyZW50aGVzZXMoc3RyaW5nIHMpewogICAgaW50IGk7CiAgICBpbnQgajsKICAgIGludCBrOwogICAgaW50IGZnOwogICAgayA9IDA7CiAgICBmb3IoOzspewogICAgICBmZyA9IDA7CiAgICAgIGZvcihpPTA7aTwocy5zaXplKCkpO2krKyl7CiAgICAgICAgaWYoc1tpXT09JygnKXsKICAgICAgICAgIGogPSBpOwogICAgICAgIH0KICAgICAgICBpZihzW2ldPT0nKScpewogICAgICAgICAgayA9IGk7CiAgICAgICAgICBmZyA9IDE7CiAgICAgICAgICByZXZlcnNlKHMuYmVnaW4oKSArIGogKyAxLCBzLmJlZ2luKCkgKyBrKTsKICAgICAgICAgIHMgPSBzLnN1YnN0cigwLGopICsgcy5zdWJzdHIoaisxLCBrLWotMSkgKyBzLnN1YnN0cihrKzEpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICB9CiAgICAgIGlmKCFmZyl7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBzOwogIH0KfQo7Ci8vIGNMYXkgdmFyc2lvbiAyMDE5MDkxNC0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIFNvbHV0aW9uIHsKLy8gcHVibGljOgovLyAgIHN0cmluZyByZXZlcnNlUGFyZW50aGVzZXMoc3RyaW5nIHMpIHsKLy8gICAgIGludCBpLCBqLCBrLCBmZzsKLy8gICAgIGsgPSAwOwovLyAgICAgZm9yKDs7KXsKLy8gICAgICAgZmcgPSAwOwovLyAgICAgICByZXAoaSxzLnNpemUoKSl7Ci8vICAgICAgICAgaWYoc1tpXT09JygnKSBqID0gaTsKLy8gICAgICAgICBpZihzW2ldPT0nKScpewovLyAgICAgICAgICAgayA9IGk7Ci8vICAgICAgICAgICBmZyA9IDE7Ci8vICAgICAgICAgICByZXZlcnNlKHMuYmVnaW4oKSArIGogKyAxLCBzLmJlZ2luKCkgKyBrKTsKLy8gICAgICAgICAgIHMgPSBzLnN1YnN0cigwLGopICsgcy5zdWJzdHIoaisxLCBrLWotMSkgKyBzLnN1YnN0cihrKzEpOwovLyAgICAgICAgICAgYnJlYWs7Ci8vICAgICAgICAgfQovLyAgICAgICB9Ci8vICAgICAgIGlmKCFmZykgYnJlYWs7Ci8vICAgICB9Ci8vICAgICByZXR1cm4gczsKLy8gICB9Ci8vIH07Cg==