#include #include using namespace std; int decode(char c){ if(c=='A') return 1; if(c=='X') return 10; if(c=='J') return 11; if(c=='Q') return 12; if(c=='K') return 13; if(c=='C') return 14; if(c=='D') return 15; if(c=='H') return 16; if(c=='S') return 17; return c-'0'; } int visited[20]; list data[20]; void dfs(int i){ //cout << "DFS " << i << endl; if(visited[i] != 0) return; visited[i] = 1; for(int j : data[i]) dfs(j); } int main() { int N; while(cin >> N){ for(int i=0; i<20; i++){ data[i].clear(); visited[i] = -1; } for(int i=0; i> s; int a = decode(s[0]); int b = decode(s[1]); //cout << s << ' '<< a << ' '<< b << endl; data[a].push_back(b); data[b].push_back(a); visited[a] = visited[b] = 0; } for(int i=0; i<20; i++){ if(visited[i] == 0){ dfs(i); break; } } bool ok = true; for(int i=0; i<20; i++){ if(visited[i] == 0) { ok = false; break; } } cout << (ok ? "YES" : "NO") << endl; } return 0; }