#D512. Bracket Sequencing
Bracket Sequencing
Bracket Sequencing
A bracket sequence is a string that is one of the following:
- An empty string;
- The concatenation of
(
, A, and)
in this order, for some bracket sequence A ; - The concatenation of A and B in this order, for some non-empty bracket sequences A and B /
Given are N strings S_i. Can a bracket sequence be formed by concatenating all the N strings in some order?
Constraints
- 1 \leq N \leq 10^6
- The total length of the strings S_i is at most 10^6.
- S_i is a non-empty string consisting of
(
and)
.
Input
Input is given from Standard Input in the following format:
N S_1 : S_N
Output
If a bracket sequence can be formed by concatenating all the N strings in some order, print Yes
; otherwise, print No
.
Examples
Input
2 ) (()
Output
Yes
Input
2 )( ()
Output
No
Input
4 ((())) (((((( )))))) ()()()
Output
Yes
Input
3 ((( ) )
Output
No
inputFormat
Input
Input is given from Standard Input in the following format:
N S_1 : S_N
outputFormat
Output
If a bracket sequence can be formed by concatenating all the N strings in some order, print Yes
; otherwise, print No
.
Examples
Input
2 ) (()
Output
Yes
Input
2 )( ()
Output
No
Input
4 ((())) (((((( )))))) ()()()
Output
Yes
Input
3 ((( ) )
Output
No
样例
3
(((
)
)
No