pythondef solve(S):
N = len(S)
cur = 0
ret = []
def parse_palen():
nonlocal cur
cur += 1
ret = []
while cur < N:
c = S[cur]
if c == ")":
s = "".join(ret)
s2 = "".join(reversed(s))
return s + s2
elif c == "(":
ret.append(parse_palen())
else:
ret.append(c)
cur += 1
while cur < N:
c = S[cur]
if c == "(":
ret.append(parse_palen())
else:
ret.append(c)
cur += 1
return "".join(ret)