#ACM0018. 石子游戏

石子游戏

题目描述

HH 和 SS 两个人玩取石子游戏。

地上有 nn 堆石子,每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。假如 HH 是先手,且告诉你这 nn 堆石子的数量。现在 HH 首先行动,请判断 HH 是否先手必胜,如果先手必胜请输出 Yes,下一行再输出 HH 的先手策略,如果必败请输出 No

输入格式

共两行。

第一行一个整数 nn1n1041 \le n\le10^4),表示有 nn 堆石子。

第二行有 nn 个数,表示每一堆石子的数量 aia_i1ai1041 \le a_i\le10^4)。

输出格式

如果先手必胜请输出 Yes,下一行再输出 HH 的先手策略。(拿第 pp 堆的 ww 个石子)

如果先手必败请输出 No

样例 #1

样例输入 #1

2
2 3

样例输出 #1

Yes
2 1

样例 #2

样例输入 #2

4
11 7 5 12

样例输出 #2

Yes
2 5

样例 #3

样例输入 #3

4
11 2 5 12

样例输出 #3

No

提示

样例一解释:

HH 首先丢掉第二堆石子的 11 个,还剩下 2,22,2

若 SS 拿第一堆 22 个,HH 拿第二堆 22 个,没石子了,HH 赢。

若 SS 拿第一堆 11 个,HH 拿第二堆 11 个, SS拿第一堆 11 个,HH 拿第二堆 11 个,没石子了,HH 赢。

样例三解释:

HH 没有先手获胜策略。