\begin{problem}{Антон купує кабанчика}{standard input}{standard output}{1 second}{256 megabytes}

Антон вирішив не закривати "хвости", а купити кабанчика. По допомогу з грошима він звернувся до знайомого чародія Козака Вуса. Так сталось, що Козак Вус був занадто зайнятий підготовкою особливих смузі марки "Б", тому він просто вирішив дати Антону дві магічні кнопки:
\begin{enumerate}
\item натискання на першу кнопку подвоїть суму його балансу;
\item натискання на другу кнопку додає до його балансу рівно $2^k$ монет.
\end{enumerate}
На підпільному аукціоні кабанчиків Антон побачив, що найдешевший красивий кабанчик коштує $x$ карбованців.

Він вже майже почав натискати на кнопки, але згадав що за такі махінації працівники "Полібанку" можуть подати на нього в суд. Тому він вирішив, що він спробує отримати \textbf{рівно} $x$ монет, після чого одразу купить Кабанчика і знову буде мати на своєму рахунку рівно $0$ карбованців.

Тепер вам потрібно допомогти Антону з планом дій, і в випадку можливості успіху махінацій сказати мінімальну кількість операцій, які потрібно виконати і вивести порядок операцій. За це Антон пообіцяв вам зіграти на його ноутбуці в гру "Calculator Online".


\InputFile
Перший рядок містить два цілі числа $k$ та $x$ ($0 \le k \le 10^5$, $1 \le x \le 10^{18}$).

\OutputFile
У першому рядку виведіть одне число $n$ ($1 \leq n \leq 1\,000$) --- мінімальну кількість операцій натискання на одну з кнопок, потрібну, щоб досягнути балансу $x$.

У другому рядку виведіть $n$ цілих чисел $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 2$) --- кнопки у порядку, у якому потрібно на них натискати.

Якщо ж неможливо, використовуючи дані кнопки, отримати баланс рівний рівно $x$ --- виведіть $-1$.

\Scoring
У цій задачі існують умовні блоки. Якщо ваше рішення буде працювати правильно для певних обмежень, то воно отримуватиме певну кількість балів. Зверніть увагу, що оцінювання й досі потестове.

\begin{enumerate}
\item ($33$ бали): $x \le 10^6$;
\item ($33$ бали): $x \le 10^9$;
\item ($34$ бали): без додаткових обмежень.
\end{enumerate}

\Examples

\begin{example}
\exmpfile{example.01}{example.01.a}%
\exmpfile{example.02}{example.02.a}%
\exmpfile{example.03}{example.03.a}%
\end{example}

\Note
У першому тесті ми можемо $3$ рази натиснути на другу кнопку, тоді баланс стане рівним $2^3+2^3+2^3=24$.

У другому тесті можна показати, що неможливо за допомогою даних кнопок отримати баланс рівний $3$.

У третьому тесті можна виконати такі операції:

\begin{enumerate}
\item натискання на $2$ кнопку, баланс рівний $1$;
\item натискання на $2$ кнопку, баланс рівний $2$;
\item натискання на $2$ кнопку, баланс рівний $3$;
\item натискання на $1$ кнопку, баланс рівний $6$;
\item натискання на $1$ кнопку, баланс рівний $12$;
\item натискання на $2$ кнопку, баланс рівний $13$.
\end{enumerate}

Можна показати що ці відповіді є мінімальними для кожного тесту.

\end{problem}

