В день детей ребенок пришел домой к Пиксу и все перевернул вверх дном. Пикс на него разозлился. В бардаке потерялось много всего, включая любимое множество Пикса.
К счастью, Пикс помнит кое-что о своем множестве S:
- его элементами были различные целые числа от 1 до limit;
- значение
равнялось sum; функция lowbit(x) равна 2k, где k обозначает позицию первой единицы в двоичном представлении числа x. Например, lowbit(100102) = 102, lowbit(100012) = 12, lowbit(100002) = 100002 (числа записаны в двоичном представлении).
Помогите Пиксу. Найдите любое множество S, удовлетворяющее всем вышеперечисленным условиям?
Выходные данные
В первой строке выведите целое число n (1 ≤ n ≤ 105), обозначающее размер S. Затем выведите элементы множества S в любом порядке. Если есть несколько правильных ответов, выведите любой.
Если подходящего множества не существует, выведите -1.
Примечание
В примере 1: lowbit(4) = 4, lowbit(5) = 1, 4 + 1 = 5.
В примере 2: lowbit(1) = 1, lowbit(2) = 2, lowbit(3) = 1, 1 + 2 + 1 = 4.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 5
|
2
4 5
|
|
2
|
4 3
|
3
2 3 1
|
|
3
|
5 1
|
-1
|