#icpc2014springe. [icpc2014spring_e]Parentheses

[icpc2014spring_e]Parentheses

问题描述

给定nn个字符串$\\mathit{str}\_1, \\mathit{str}\_2, \\ldots, \\mathit{str}\_n$,每个字符串由()组成。目标是确定是否可以对这nn个字符串进行排列,使得字符串的连接表示一个_有效的_字符串。

字符串的有效性定义如下:

  • 空字符串是有效的。
  • 如果AABB是有效的,则AABB的连接是有效的。
  • 如果AA是有效的,则将AA放在一对配对的括号中所得到的字符串是有效的。
  • 任何其他字符串都无效。

例如,"()()"和"(())"是有效的,而"())"和"((()"是无效的。


输入

输入的第一行包含一个整数nn1n1001 \leq n \leq 100),表示字符串的数量。接下来的nn行中,每行包含一个字符串mathitstr_i\\mathit{str}\_i1mathitstr_i1001 \leq \lvert \\mathit{str}\_i \rvert \leq 100)。mathitstr_i\\mathit{str}\_i中的所有字符都是()

输出

如果可以得到一个有效的字符串,则输出一行"Yes"(不带引号),否则输出"No"。


样例输入1

3
()(()((
))()()(()
)())(())```

#### 样例输出1

```plain
Yes```

---

#### 样例输入2

```plain
2
))()((
))((())(```

#### 样例输出2

```plain
No```

---

#### 来源

[日本校友团春季比赛2014](http://acm-icpc.aitea.net/index.php?2013%2FPractice%2F%BD%D5%A5%B3%A5%F3%A5%C6%A5%B9%A5%C8%2F%B0%C6%C6%E2)