#P1062. 异或配平
异或配平
题目描述
给定两个非负整数 和 。现在你需要构造一个长度尽可能短的正整数序列,使得这个序列同时满足以下两个条件:
- 序列中所有数的按位异或结果等于 ;
- 序列中所有数的总和等于 。
如果不存在这样的序列,则需要输出 。
如果存在多种长度最短的合法序列,输出任意一种即可。
特别地,长度为 的空序列是允许的,此时它的元素和为 ,按位异或结果也视为 。
输入格式
输入一行,包含两个整数 。
输出格式
如果不存在合法序列,输出一行一个整数 。
否则,第一行输出一个整数 ,表示构造出的序列长度。
若 ,第二行输出 个正整数,表示这个序列。
如果有多组合法答案,输出任意一组均可。
样例
2 4
2
3 1
1 3
3
1 1 1
8 5
-1
0 0
0
样例说明
对于第 个样例,,且 ,并且不存在长度更短的合法序列。
对于第 个样例,可以选择空序列。
数据范围
- 对于 的数据:。