#include #include #include using namespace std; class CARD { public: char m_Rank; char m_Color; CARD(const char & rank, const char & color): m_Rank(rank),m_Color(color){} friend bool operator<(CARD x, CARD y) { if(x.m_Color == y.m_Color) return x.m_Rank < y.m_Rank; else return x.m_Color < y.m_Color; } friend bool operator ==(CARD x, CARD y) { return x.m_Color == y.m_Color or x.m_Rank == y.m_Rank; } }; int main(int argc, char** argv) { size_t cnt = 0; char color = 0; char rank = 0; bool isError = false; while(cin >> cnt) { set karty; for(size_t i = 0; i < cnt; i ++) { cin >> ws >> rank >> color; karty.insert(CARD(rank,color)); } for(set::iterator it = karty.begin(); it != karty.end(); it++) { if(*it == *(it++)) continue; isError = true; break; } if(isError) cout << "NO" << endl; else cout << "YES" << endl; isError = false; } return 0; }