B - BNF Backup Editorial /

Time Limit: 2 sec / Memory Limit: 2048 MiB

配点 : 100

どこかの国のプログラミングコンテストでは,木が複雑に出てくる数式を調べさせる問題が出題されたらしい.うさぎの国のプログラミングコンテストはもっと平和である.

問題文

0,二項演算 +,括弧 (, ) のみからなる数式を考える.正確には,本問において数式とは以下の BNF によって定義される <expression> とする:

<expression> ::= <term> | <expression> "+" <term>
<term> ::= "0" | "(" <expression> ")"

くろうさはある数式 s を隠し持っている.s の奇数文字目 (先頭を 1 文字目と数える) をすべて文字 _ で置き換えた文字列 T が与えられる.s としてあり得るものを 1 つ求めよ.

制約

  • T は長さ 1 以上 10^6 以下の文字列である.
  • ある数式 s が存在して,s の奇数文字目をすべて文字 _ で置き換えると T になる.

入力

入力は以下の形式で標準入力から与えられる.

T

出力

s としてあり得るものを 1 つ出力せよ.


入力例 1

_0_0_

出力例 1

(0+0)

(0+0) が数式であることは次のようにわかる.

  • 0<term> であるから,<expression> でもある.
  • 0<expression> であり,0<term> であるから,0+0<expression> である.
  • 0+0<expression> であるから,(0+0)<term> であり,よって <expression> でもある.

入力例 2

_(_(_)_)_

出力例 2

((((0))))