Example

Input

3
()(()((
))()()(()
)())(())


Output

Yes
#include <bits/stdc++.h>
using namespace std;

using VI = vector<int>;
using VVI = vector<VI>;
using PII = pair<int, int>;
using LL = long long;
using VL = vector<LL>;
using VVL = vector<VL>;
using PLL = pair<LL, LL>;
using VS = vector<string>;

#define ALL(a)  begin((a)),end((a))
#define RALL(a) (a).rbegin(), (a).rend()
#define PB push_back
#define EB emplace_back
#define MP make_pair
#define SZ(a) int((a).size())
#define SORT(c) sort(ALL((c)))
#define RSORT(c) sort(RALL((c)))
#define UNIQ(c) (c).erase(unique(ALL((c))), end((c)))

#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)

#define FF first
#define SS second
template<class S, class T>
istream& operator>>(istream& is, pair<S,T>& p){
  return is >> p.FF >> p.SS;
}
template<class S, class T>
ostream& operator<<(ostream& os, const pair<S,T>& p){
  return os << p.FF << " " << p.SS;
}
template<class T>
void maxi(T& x, T y){
  if(x < y) x = y;
}
template<class T>
void mini(T& x, T y){
  if(x > y) x = y;
}


const double EPS = 1e-10;
const double PI  = acos(-1.0);
const LL MOD = 1e9+7;

int main(){
  cin.tie(0);
  ios_base::sync_with_stdio(false);

  int N;
  cin >> N;
  vector<PII> xs;
  int K = 0;
  REP(i,N){
	string S;
	cin >> S;
	PII p(0,0);
	REP(i,SZ(S)){
	  p.FF += (S[i] == '('? 1: -1);
	  maxi(p.SS, -p.FF);
	}
	K += p.FF;
	xs.emplace_back(p);
  }
  if(K != 0){
	cout << "No" << endl;
	return 0;
  }
  
  SORT(xs);
  int mid = 0;
  for(;mid<N;++mid) if(xs[mid].FF >= 0) break;

  K = 0;
  vector<bool> used(N);
  bool up = true;
  while(up){
	up = false;
	FOR(i,mid,N){
	  if(used[i]) continue;
	  if(K >= xs[i].SS){
		K += xs[i].FF;
		used[i] = true;
		up = true;
	  }
	}
  }
  FOR(i,mid,N)
	if(!used[i]){
	  cout << "No" << endl;
	  return 0;
	}

  up = true;
  K = 0;
  while(up){
	up = false;
	REP(i,mid){
	  if(used[i]) continue;
	  if(-xs[i].FF + K >= xs[i].SS){
		K += -xs[i].FF;
		used[i] = true;
		up = true;
	  }
	}
  }
  REP(i,N)
	if(!used[i]){
	  cout << "No" << endl;
	  return 0;
	}
  cout << "Yes" << endl;

  return 0;
}