偶遇
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

一段漫长的旅途,总在期待着什么。
他和她来到了公园门口,发现门口摆着 n 盘鲜花。
每盘鲜花有一个漂亮值 a_i
最开始,这些花的摆放显得杂乱无章。
他们希望通过调整摆放顺序,让具有相同漂亮值的鲜花,成双成对。
如果能,请输出 YES ,并给出摆放方案。
如果不能,仅输出 NO 。
如果有多种方案合适,输出任意一种即可。

输入描述:

第一行输入一个整数 n\ (\ 1 \leq n \leq 10^5\ )
第二行输入 n 个整数 a_i\ (\ 1 \leq a_i \leq 10^9\ )

输出描述:

如果能,请输出 YES ,并给出摆放方案。
如果不能,仅输出 NO 。
示例1

输入

复制
8
1 2 3 4 1 3 2 4

输出

复制
YES
1 1 3 3 2 2 4 4
示例2

输入

复制
5
1 2 3 2 1

输出

复制
NO
示例3

输入

复制
8
1 2 3 3 3 2 2 1

输出

复制
NO

备注:

Chapter One

他:怎样成为人类?
她:**不知道哦。

无厘头的问题与答案,构成了新好友的新对话。
随后的一些夜晚,聊算法,聊人生,好像有说不完的话题。
神经而有趣,逐渐拉近了距离。
某次网友聚会,他和她见面了。
他很羞涩,任由她带着游玩。
时间过的太快,差点没赶上返程的高铁。
他和她,是否会再相见?