AT_past202212_e 括弧列
Description
`(`, `)` からなる文字列のうち、連続する `()` を消すことを $ 0 $ 回以上繰り返して空文字列にできる文字列を **正しい括弧列** と呼びます。
- 例えば `()`, `(())`, `(()())()` は正しい括弧列ですが、`)(`, `())`, `(()()))(()` は正しい括弧列ではありません。
`(`, `)` からなる文字列 $ S $ が与えられるので、 $ S $ が正しい括弧列であるか判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ S $
Output Format
$ S $ が正しい括弧列である場合は `Yes` を、そうでない場合は `No` を出力せよ。
Explanation/Hint
### Sample Explanation 1
$ S $ から連続する `()` を以下の操作のように取り除くと $ S $ を空文字列にすることができます。よって $ S $ は正しい括弧列です。
- 現在の $ 2 $ 文字目と $ 3 $ 文字目の `()` を取り除く。 $ S $ は `()` になる。
- 現在の $ 1 $ 文字目と $ 2 $ 文字目の `()` を取り除く。 $ S $ は空文字列になる。
### Constraints
- $ S $ は `(`, `)` からなる長さ $ 2 \times 10^5 $ 以下の空でない文字列