76 需要你构造一个长度为 的排列,并将其分割成 不多于 个 不相交的连续区间 ,使得每个区间的元素的 ,按位或起来等于整数 。 如果能构造,输出任意一种方案。 如果构造不了,输出 。
输入描述:
输入两个整数 ,代表排列的长度和目标整数 。


输出描述:
如果无法构造,直接输出 。否则,按以下格式输出:第一行输出一个长度为 的排列 。第二行输出你想划分的区间数量 。随后 行,每行输出两个整数 ,表示区间的左右端点。
示例1

输入

6 7

输出

6 5 4 3 2 1
4
1 1
2 3
4 5
6 6

说明

1 组,\gcd=6
2 组,\gcd=1
3 组,\gcd=1
4 组,\gcd=1
按位或起来,为 7
示例2

输入

3 2

输出

-1

说明

可以证明,无论怎样分组,都凑不出 2
此处证明略。
加载中...