该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

展板排布(display)

题目描述

某区域信息素养活动正在布置一条展示长廊。长廊中共有 nn 块展示板,每块展示板都有一个宽度,分别为:

a1,a2,,ana_1,a_2,\ldots,a_n

所有展示板的宽度两两不同。

工作人员需要将这 nn 块展示板从左到右依次摆放。由于长廊中有一处固定的检修口,检修口的位置距离起点恰好为 KK。为了不遮挡检修口,要求在摆放过程中,任意若干块已经摆好的展示板总宽度都不能恰好等于 KK

也就是说,若最终摆放顺序为:

p1,p2,,pnp_1,p_2,\ldots,p_n

则必须满足对于任意 1in1\le i\le n

j=1ipjK\sum_{j=1}^{i}p_j\ne K

现在请你重新安排展示板的摆放顺序。

如果存在多个满足条件的摆放方案,请输出字典序最小的一个;如果无论怎样摆放都无法满足要求,请输出 NO

输入格式

第一行包含两个整数 n,Kn,K,表示展示板数量和检修口距离起点的位置。

第二行包含 nn 个互不相同的正整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示每块展示板的宽度。

输出格式

如果不存在合法的摆放顺序,输出一行:

NO

否则,第一行输出:

YES

第二行输出 nn 个整数,表示字典序最小的合法摆放顺序。

样例

样例输入 #1

3 3
1 2 4

样例输出 #1

YES
1 4 2

样例解释 #1

如果按照 1,2,41,2,4 的顺序摆放,前两块展示板的总宽度为:

1+2=31+2=3

会恰好遮挡检修口,因此该顺序不合法。

按照 1,4,21,4,2 的顺序摆放时,前缀总宽度依次为:

1, 5, 71,\ 5,\ 7

均不等于 33,因此合法。

同时,在所有合法方案中,1,4,21,4,2 是字典序最小的一个。

样例输入 #2

3 6
1 2 3

样例输出 #2

NO

样例解释 #2

所有展示板的总宽度为:

1+2+3=61+2+3=6

无论怎样调整顺序,全部摆放完成后的总宽度都会等于 KK,因此不存在合法方案。

数据范围与约定

对于 100100% 的数据,保证:

1n1051\le n\le 10^5 1K10141\le K\le 10^{14} 1ai1091\le a_i\le 10^9

aia_i 两两不同。

测试点编号 分值 nn \le aia_i \le 特殊性质
131\sim3 1515 88 100100
464\sim6 100100 10410^4 特殊性质 A
797\sim9 10001000 10610^6 特殊性质 B
101210\sim12 50005000 10910^9
131413\sim14 1010 10510^5 特殊性质 C
152015\sim20 3030

特殊性质说明:

  • 特殊性质 A:保证所有 aia_i 的总和等于 KK
  • 特殊性质 B:保证将 aia_i 从小到大排序后,任意前缀和都不等于 KK
  • 特殊性质 C:保证 K<aiK<a_i 对所有 ii 均成立。