#958. 前缀不等

前缀不等

前缀不等

内存限制: 256 Mb 时间限制: 1000 ms

题目描述

小象拿到了一个序列a a,其中每个数都不相同。它想把这个序列重排之后拿给它的朋友炫耀。

它的朋友习惯观察一个序列的每一个前缀。但是它的朋友非常不喜欢一个数x x,如果一个序列有一个前缀的和为x x,它的朋友看了就会不高兴。

小象当然不希望它的朋友生气,所以它希望重排之后的序列没有前缀满足和为x x。同时小象为了省事,它希望找到一个字典序最小的重排。请告诉它方案,或者告诉它这样的方案不存在。

输入格式

第一行两个整数n,x n,x

第二行共n n 个整数a1,a2,,an a_1,a_2,\cdots,a_n,表示小象初始得到的序列a a,满足互不相同。

输出格式

第一行输出一个字符串 YesNo,表示是否存在这样的重排方案。

第一行的输出若为 Yes,则第二行n n 个整数,表示字典序最小的重排方案。

数据范围

  • 对于 60% 的数据,n10n \leq 10
  • 对于 100% 的数据,n1000n \leq 1000
  • 对于所有数据,1n1031 \leq n \leq 10^31ai1051 \leq a_i \leq 10^51x1081 \leq x \leq 10^8,且ai a_i 互不相同。

样例数据

输入:

3 2
3 2 1

输出:

Yes
1 2 3