You are given $n$ strings $\mathit{str}_1, \mathit{str}_2, \ldots, \mathit{str}_n$, each consisting of (
and )
. The objective is to determine whether it is possible to permute the $n$ strings so that the concatenation of the strings represents a valid string.
Validity of strings are defined as follows:
For example, "()()" and "(())" are valid, while "())" and "((()" are not valid.
The first line of the input contains an integer $n$ ($1 \leq n \leq 100$), representing the number of strings. Then $n$ lines follow, each of which contains $\mathit{str}_i$ ($1 \leq \lvert \mathit{str}_i \rvert \leq 100$). All characters in $\mathit{str}_i$ are (
or )
.
Output a line with "Yes" (without quotes) if you can make a valid string, or "No" otherwise.
3 ()(()(( ))()()(() )())(())
Yes
2 ))()(( ))((())(
No