围棋中分黑棋和白棋,现在把数量随机的两种棋子分开放置,黑白各为一堆。 两个人A和B轮流从这两堆棋子中拿走棋子。有两种拿法:1、从黑棋堆和白棋堆中各拿走相同数量的棋子;2、从黑棋堆或白棋堆之一中拿走任意数量的棋子; 胜负判定方式为,当棋子被拿光时,最后一个拿棋子的人为胜者。 游戏开始时,由A先拿,而A、B两人都很聪明,每次都会用最优策略去拿棋子。 现在告诉你黑白棋子的初始数量,请告诉大家:A最后能赢吗?如果能的话,他第一步应该怎么操作呢?
输入描述:
每组用例包含两个正整数X和Y,分别代表黑棋和白棋的数量,数量少的在前面输入。


输出描述:
如果最后A能赢则输出Yes,再输出A走完第一步之后两堆棋子的数量,数量少的在前面输出;如果用两种拿法(从两堆中拿走、从一堆拿走)都有办法取胜,则先输出拿走两组相同数量的情况,再输出后者。如果最后A必败,则输出No。
示例1

输入

1 2

输出

No
示例2

输入

5 8

输出

Yes
4 7
3 5
示例3

输入

4 7

输出

No
示例4

输入

2 2

输出

Yes
0 0
1 2
加载中...