#include using namespace std; typedef long long int ll; typedef long double ld; typedef pair ii; typedef vector vi; typedef vector vii; #define PB push_back #define FOR(prom,a,b) for( ll prom = (a); prom < (ll)(b); ++prom ) #define F(a) FOR(i,0,a) #define FF(a) FOR(j,0,a) #define EPS (1e-10) #define INF ((1<<30)-1) #define EQ(a,b) (fabs(a-b)/fabs(a+b) < EPS) struct Edge; typedef list::iterator iter; struct Edge{ int next_vertex; iter reverse_edge; Edge(int next_vertex):next_vertex(next_vertex){} }; const int max_vertices=52; int num_vertiecs; list adj[max_vertices]; vector path; void find_path(int v){ while(adj[v].size()>0){ int vn=adj[v].front().next_vertex; adj[vn].erase(adj[v].front().reverse_edge); adj[v].pop_front(); find_path(vn); } path.push_back(v); } void add_edge(int a, int b){ adj[a].push_front(Edge(b)); iter ita=adj[a].begin(); adj[b].push_front(Edge(a)); iter itb=adj[b].begin(); ita->reverse_edge =itb; itb->reverse_edge=ita; } string arr[55]; int main () { ios::sync_with_stdio(false); int N; while(cin>>N){ F(55) arr[i]=""; F(N){ cin>>arr[i]; } F(N){ for(int j=i+1;j=N){ OK=true; break; } } cout<<(OK?"YES":"NO")<