Tickets

As we all know well, the World Cup is currently ongoing. In a few days, the Second Stage of a cup will begin. But the organizers forgot to print the tickets. In order to print the tickets, only one machine is used, and tickets are printed one by one. Using the standard method, the tickets are enumerated from 1 to N, and printed in order. However, since there is not enough time for that, the IT department proposed another solution: print the tickets in an order such that numbers on tickets represent the Gray code, because in that case changing the state of the printer from one ticket to the next one requires only one bit to be changed, and therefore the process of printing the tickets can be hugely improved.

The Gray code is a binary system where consecutive values differ in only one bit. For example, 1001 and 1011 differ in only 1 bit, but 1101 and 1011 differ in 2 bits and hence can't be consecutive in gray code. One way to construct a gray code from all numbers containing exactly n bits is the following method:

1. If n = 1, then the gray code is [0, 1]

2. Else let L1 be the gray code of numbers containing exactly n − 1 bits, L1 = [s1, s2, ..., s2n-1], and let L2 be the reversed L1, that is L2 = reverse(L1) = [s2n-1, s2n-1-1, ..., s2, s1].

Now let L1' be constructed from L1 by prefixing each element of L1 with 0, and L2' be constructed from L2 by prefixing each element of L2 with 1.

L1' = [0s1, 0s2, ..., 0s2n-1]
L2' = [1s2n-1, 1s2n-1-1, ..., 1s2, 1s1]

Finally, the gray code of all numbers consisting of n bits, L, is constructed by appending L2' to L1', that is L = L1' + L2' = [0s1, 0s2, ..., 0s2n-1, 1s2n-1, 2s2n-1-1, ..., 1s2, 1s1].


This indeed speeds up the process of printing the tickets by a large factor, but in order to use this method we need a safety method as well. This is needed, because the printer used is not perfect and can sometimes print with a flaw (e.g. can wrongly print some bits in input). However, the printer works correctly in 99% of cases, and therefore only a small number of tickets won't be printed correctly and those tickets will need to be printed again. For this, we need your help.

Given an number n, the number of bits in numbers, and a number K that represents the index in the gray code constructed using above method, print the K-th string in this gray code sequence.



Input

First and only line of the input contains two integers n (1 <= n <= 62) and K (1 <= K <= 2n), representing the number of bits in numbers and index in gray code sequence, respectively.

In 30% of test cases n <= 20.



Output

First and only line of the output should contain a string of n bits, representing the K-th string in gray code constructed using method described in the problem statement.



Constraints

Time limit: 500 milliseconds
Memory limit: 64 megabytes



Examples


input
3 5
output
110


Gray code of numbers consisting of 3 bits constructed using the method described in problem statement is: [000, 001, 011, 010, 110, 111, 101, 100], and the 5-th in this sequence is 110. Note that the sequence is indexed from 1.



 Submit your code