给出 和 ,要求生成从 到 的一个序列,序列的第一项为 ,并且该序列满足以下三个条件:
- 序列长度为 ,保证 到 的每个数都用了且只用了一次。
- 序列中任意两相邻的数都是由前一个数在其二进制下,改变了具有相同值的若干个位而形成的,即把其中若干个 变为 ,或把其中若干个 变为 ,并且只能二选一。
- 当存在多个序列满足前两个条件的时候,要保证字典序最小,即由前一个数生成后一个数的时候,要挑值最小的数(当然是满足前两个条件的情况下)。
现问你这个序列前 项中的最大值是多少,输出其二进制形式,注意一定要输出 位,包括前导零。