AT_abc167_f [ABC167F] Bracket Sequencing
Description
[problemUrl]: https://atcoder.jp/contests/abc167/tasks/abc167_f
以下のいずれかの条件を満たす文字列を**括弧列**と定義します。
1. 空文字列
2. ある括弧列 $ A $ が存在して、`(`, $ A $, `)` をこの順に連結した文字列
3. ある空でない括弧列 $ A $, $ B $ が存在して、$ A $, $ B $ をこの順に連結した文字列
$ N $ 個の文字列 $ S_i $ が与えられます。$ S_i $ 全てを好きな順序で連結するとき、括弧列を構成することはできますか。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S_1 $ $ : $ $ S_N $
Output Format
$ S_i $ を任意の順序で連結するとき、括弧列を構成できるなら `Yes`、できないなら `No` を出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 10^6 $
- $ S_i $ の文字列長の合計は $ 10^6 $ 以下
- $ S_i $ は `(`, `)` のみからなる空でない文字列
### Sample Explanation 1
`(()`, `)` の順に連結すると括弧列になります。