#P1082. Brainrot Memes 2

    ID: 146 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>图论专题2025暑假前集训

Brainrot Memes 2

tag

欧拉路径

Background

如果您对题目背景不感兴趣,可以阅读形式化题面,但还是建议简单浏览题目背景。如果您阅读了题目背景,也建议阅读形式化题面取得更准确的理解。

最近 xing4c 不满足于看简单的 Brainrot Meme 了,他开始寻求一些更刺激的东西。

比如,下面这个 brainrot animal 就很好玩:(警告:该图片可能包含令人不适的内容。

查看图片 《梦 魇 融 合 怪》 《梦 魇 融 合 怪》

它是由许多 brainrot animal 融合成的。因此,它的名字也非常有趣:

trippa troppa tralala lilirila tung tung sahur boneka tung tung tralalelo trippi troppa crocodina

不难看出,它的名字就是由组成它的 brainrot animal 的名字拼接组合而成。

xing4c 从某些禁忌知识中学习到了相关的方法,觉得研究这样的一种 brainrot animal 最好的方法就是把它的名字切分成若干部分,分别进行研究。于是,他决定进行这样的切分:对于一个 brainrot animal 的名字,每 33 个字符进行一次拆分,得到若干个字符串。所以,对于长度为 n+2n+2 的 brainrot animal 的名字,就可以分解为 nn 个长度为 33 的字符串。

比如,我们忽略这个融合怪名字中的空格,它的名字 trippatroppatralalalilirilatungtungsahurbonekatungtungtralalelotrippitroppacrocodina 就可以拆分成 tri, rip, ipp, ppa, \cdots, ina 之类的字符串。

xing4c 在拆分其名字时获得了巨大的满足,以至于他兴奋地晕了过去。醒来的时候,只剩下满脸的恍惚和眼前的残局:他切分出的 brainrot animal 的名字全都被打乱了,其中切分出的一些名字甚至可能发生了改变!

xing4c 非常悲伤,因为如果他不能将 brainrot animal 的名字拼回去,他就不能再观赏对应的 brainrot animal 了。于是他非常需要知道,对于现有的 nn 个长度为 33 的字符串,能否重新拼接为长度为 n+2n+2 的字符串,以恢复原本的 brainrot animal?当然,如果按照规则拼接后可以得到与原本 brainrot animal 名字不同的另一个满足规则的名字也是可以的。

不幸的是,由于看多了 brainrot meme,xing4c 的大脑已经腐烂了,加上他现在很悲伤,所以无法自己解决这个问题。你能帮帮他吗?

Description

给出 nn 个长度为 33 的字符串,判断这 nn 个字符串能否拼接为长度为 n+2n+2 的字符串。即,判断这 nn 个字符串是否为某个长度为 n+2n+2 的字符串的所有长度为 33 的子串。

一个字符串 ss 的子串是一个非空的字符串 $t = s_{a...b} = s_as_{a+1}\cdots s_b \ (1 \le a \le b \le |s|)$,比如,xinng4xing4c 的子串,而 x4c 不是。

Input

第一行包含一个整数 n (1n2105)n\ (1 \le n \le 2 \cdot 10^5),表示长度为 33 的字符串的数量。

之后 nn 行,每行一个长度为 33 的,只包含大小写英文字母和数字的字符串,表示 xing4c 切分得到的一个字符串。

Output

输出的第一行格式如下:如果最后能够拼接为一个长度为 n+2n+2 的字符串,输出字符串 YES,否则输出 NO

如果输出了 YES,则第二行应该输出拼接得到的长度为 n+2n+2 的字符串。如果有多个解,输出其中任意一个即可。

Samples

6
xin
ng4
Imx
g4c
mxi
ing
YES
Imxing4c
4
Tun
ung
Sah
hur
NO
4
aaa
aaa
aaa
aaa
YES
aaaaaa

Resources

2025 UESTC ICPC Training for Graph