编程题
### 问题描述
多米诺骨牌是一种玩具和游戏,由一组长方形的小方块组成,每个方块可分为两个部分,并在每个部分上标有从零到六或更多个点数。多米诺骨牌的长度通常是宽度的两倍。在游戏中,玩家将多米诺骨牌竖立并排成一行或一列,使相邻的骨牌的点数匹配。一旦某个骨牌被推倒,它会触发连锁反应,将相邻的骨牌推倒。
蓝蓝是一个有严重强迫症的大学生,是个完美主义者。他喜欢对称的形状,比如一个完美的圆形。他的手上有一副私人定制版多米诺骨牌,上面刻的不完全是数字,还有各种字符。这天,他突发奇想,如果严格按照多米诺骨牌的排放规则(相邻两骨牌只有一半相同的图案),能不能把它们放置成一个完整的首尾相接的圆形?

### 输入格式
第 $1$ 行:一个整数 $N$,代表骨牌的总数。
第 $2$ 到 $N+1$ 行:每行有两个长度不超过 $3$ 的字符串,代表骨牌上的刻的信息,字符串仅包含小写字母和标准数字键对应的可见字符。
### 输出格式
如果能产生一个符合题目要求的序列,则输出 $YES$,不能则输出 $NO$,对于无法预测的结果则输出 $UNKOWN$。
### 样例输入1
```text
3
a b
b c
c a
```
### 样例输出1
```text
YES
```
### 样例输入2
```text
3
aa b
b cc
cc z
```
### 样例输出2
```text
NO
```
### 说明
骨牌的信息顺序不考虑。
在样例 $1$ 中, `(a,b)`,`(b,c)`,`(c,a)` 可以互相相邻摆放,并符合题目要求围成一圈。
在样例 $2$ 中, `(aa,b)`,`(b,cc)`,`(cc,z)` 无论如何互相摆放,都不符合题目要求围成一圈。
### 评测数据规模
对于 $30$% 的数据,保证 $3\leq N \leq 50$,且保证对于每个骨牌的信息为两个不超过 $3$ 位的整形形式,保证同一种骨牌最多只出现一次。
对于 $100$% 的数据,保证 $3\leq N \leq 2\times 10^5$,且保证每个骨牌的两个信息不超过 $3$ 位,保证同一种骨牌最多只出现一次。