[BeiJing2009 WinterCamp]取石子游戏
小 H 和小 Z 正在玩取石子游戏。游戏中有 堆石子,每次操作可以从任意一堆石子中取出若干个石子,取出的数量必须是给定的 种数量之一。无法进行操作的人输掉游戏。
小 H 先手。请判断小 H 是否有必胜策略;如果有,请给出一种满足要求的第一次操作。
输入格式
第一行包含一个整数 ,表示石子堆数。
接下来 行,每行包含一个整数 ,表示第 堆石子的数量。
下一行包含一个整数 ,表示每次可以取出的石子数量的种类数。
接下来 行,每行包含一个整数 ,表示一次可以取出的石子数量。
输入保证 按递增顺序排列。
输出格式
第一行输出 YES 或 NO,表示小 H 是否有必胜策略。
如果输出 YES,则第二行输出两个整数:第一个整数表示从哪一堆石子中取,第二个整数表示取出多少个石子。
如果有多种可行方案,优先输出石子堆编号最小的方案;若仍有多种方案,则输出取出石子数量最小的方案。
样例输入
4
7
6
9
3
2
1
2
样例输出
YES
1 1
样例解释
共有 堆石子,石子数量依次为 。每次可以从任意一堆石子中取出 个或 个石子。小 H 有必胜策略,只需在第一次操作中从第 堆石子中取出 个石子。
数据范围
- ;
- ;
- ;
- 。
来源与许可
本题为 Beijing 2009 Winter Camp 试题「取石子游戏」,题面与测试数据整理自 BZOJ。
样例 1
输入
4
7
6
9
3
2
1
2
输出
YES
1 1