You are given n strings str1,str2,…,strn, each consisting of ( and ) only. Decide whether the n strings can be arranged in some order so that their concatenation is a valid parenthesis string. You may reorder the strings, but the contents of each string stay as they are.
A valid parenthesis string is defined as follows.
For example, ()() and (()) are valid, while ()) and ((() are not.
The first line contains the number of strings n (1≤n≤100). Each of the next n lines contains one string stri (1≤∣stri∣≤100). Every character of stri is ( or ).
Print Yes on the first line if a valid parenthesis string can be built, and No otherwise. Do not print the quotes.