/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
StringBuilder str = new StringBuilder( s) ;
if ( s.contains ( "(" ) ) {
while ( str.indexOf ( "(" ) != ( - 1 ) ) {
int begin = str.lastIndexOf ( "(" ) ;
int end = str.indexOf ( ")" ) ;
String t
= reverse
( str.
substring ( begin
+ 1 , end
) ) ; int count = 0 ;
for ( int i = begin + 1 ; i < end; i++ ) {
str.setCharAt ( i, t.charAt ( count++ ) ) ;
}
str.setCharAt ( begin,' ' ) ;
str.setCharAt ( end, ' ' ) ;
}
return str.toString ( ) .replaceAll ( " " , "" ) ;
} else {
return reverse( s) ;
}
}
}
{
System .
out .
println ( reverseParentheses
( "a(ab)(dc)" ) ) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgU3RyaW5nIHJldmVyc2VQYXJlbnRoZXNlcyhTdHJpbmcgcykgewogICAgICAgIFN0cmluZ0J1aWxkZXIgc3RyID0gbmV3IFN0cmluZ0J1aWxkZXIocyk7CiAgICAgICAgaWYocy5jb250YWlucygiKCIpKXsKICAgICAgICAgICAgd2hpbGUoc3RyLmluZGV4T2YoIigiKSAhPSAoLTEpKXsKICAgICAgICAgICAgICAgIGludCBiZWdpbiA9IHN0ci5sYXN0SW5kZXhPZigiKCIpOwogICAgICAgICAgICAgICAgaW50IGVuZCA9IHN0ci5pbmRleE9mKCIpIik7CiAgICAgICAgICAgICAgICBTdHJpbmcgdCA9IHJldmVyc2Uoc3RyLnN1YnN0cmluZyhiZWdpbiArIDEsIGVuZCkpOwogICAgICAgICAgICAgICAgaW50IGNvdW50ID0gMDsKICAgICAgICAgICAgICAgIGZvcihpbnQgaSA9IGJlZ2luICsgMTsgaSA8IGVuZDtpKyspewogICAgICAgICAgICAgICAgICAgIHN0ci5zZXRDaGFyQXQoaSwgdC5jaGFyQXQoY291bnQrKykpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc3RyLnNldENoYXJBdChiZWdpbiwnICcpOwogICAgICAgICAgICAgICAgc3RyLnNldENoYXJBdChlbmQsICcgJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHN0cik7CiAgICAgICAgICAgIHJldHVybiBzdHIudG9TdHJpbmcoKS5yZXBsYWNlQWxsKCIgIiwgIiIpOwogICAgICAgIH1lbHNlewogICAgICAgICAgICByZXR1cm4gcmV2ZXJzZShzKTsKICAgICAgICB9CiAgICAgICAgCiAgICB9CiAgICBwdWJsaWMgc3RhdGljIFN0cmluZyByZXZlcnNlKFN0cmluZyBzKXsKICAgICAgICByZXR1cm4gbmV3IFN0cmluZ0J1ZmZlcihzKS5yZXZlcnNlKCkudG9TdHJpbmcoKTsKICAgIH0KCQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJU3lzdGVtLm91dC5wcmludGxuKHJldmVyc2VQYXJlbnRoZXNlcygiYShhYikoZGMpIikpOwoJfQp9