#P16685. [Ctu2016]It’s Raining, Man

[Ctu2016]It’s Raining, Man

题目描述

Walter 正在曾祖父的农场度假。外面一直下着雨。

Walter 坐在一座老旧谷仓的阁楼里,在成堆的灰尘杂物中发现了一副旧扑克牌。这些牌看起来年代久远,又十分有趣。

他开始把扑克牌一张接一张地摆在地板上。很快,他注意到原来的牌序似乎存在某种规律:许多相邻的两张牌具有相同的点数或相同的花色。

Walter 想道:

也许可以重新排列这些牌,使任意两张相邻的牌都具有相同点数或相同花色。不过,这副牌似乎并不完整,这可能会严重限制排列方式。

请判断是否能够重新排列给定的所有扑克牌,使得排列中任意两张相邻的牌至少满足以下一个条件:

  • 点数相同;
  • 花色相同。

每张输入的牌必须且只能使用一次。

输入格式

输入包含多组测试数据,直到文件结束。

每组测试数据位于一行。

该行首先包含一个整数 LL

1L52,1\le L\le52,

表示牌的数量。

随后包含 LL 个牌面描述,相邻内容之间用空格分隔。

每张牌由一个长度为 22 的字符串表示:

点数

第一个字符表示点数:

  • A:Ace;
  • 29:对应数字;
  • X:10;
  • J:Jack;
  • Q:Queen;
  • K:King。

花色

第二个字符表示花色:

  • C:Clubs,梅花;
  • D:Diamonds,方片;
  • H:Hearts,红桃;
  • S:Spades,黑桃。

输入中的扑克牌互不相同。

输出格式

对于每组测试数据:

  • 如果存在满足要求的排列,输出:
YES
  • 否则输出:
NO

样例

输入

8 2C 2D 2H 2S XC JS QS KS
4 5C 4H AS 9D

输出

YES
NO