CF437B The Child and Set

题目描述

给你两个整数 $n,m$,要求选若干个不大于 $m$ 的数,使得这几个数的 Lowbit 值和等于 $n$。

输入格式

两个数 $n, m$。

输出格式

第一行:选了几个数。 第二行:这几个数,用空格分开,有多解输出任意一解,无解输出 $-1$。 **样例 \#1 解释**:$\operatorname {lowbit}(4)=4,\operatorname {lowbit}(5)=1$,$4+1=5$。 **样例 \#2 解释**:$\operatorname {lowbit}(2)=2,\operatorname {lowbit}(1)=1,\operatorname {lowbit}(3)=1$,$2+1+1=4$。 由 @Hjl1777 提供翻译

说明/提示

In sample test 1: $ lowbit(4)=4,lowbit(5)=1,4+1=5 $ . In sample test 2: $ lowbit(1)=1,lowbit(2)=2,lowbit(3)=1,1+2+1=4 $ .