2510. Bitwise Kingdom

单点时限: 10.0 sec

内存限制: 256 MB

In the Bitwise Kingdom, located somewhere in the universe, there are exactly 2N citizens living and each of them has a unique identification string that represents his or her class in the society. An identification string is a binary string of length N which consists of characters ‘0’ or ‘1’. The order of classes is defined among the citizens by the following criteria:

  1. Citizens identified by a string containing a greater number of ones are ranked higher. For example, “011” indicates a higher class than “100”.
  2. Among those who have identification strings with the same number of ones, citizens identified by a lexicographically greater identification string are ranked higher. For example, “110” indicates a higher class than “101”.

For example, if N = 3, there are 8 (= 23) people in the country, and their identification strings are “000”, “001”, “010”, “100”, “011”, “101”, “110”, and “111” (from the lowest class to the highest).

You are given two numbers N (1 ≤ N ≤ 60) and M (1 ≤ M ≤ 2N), and you want to resolve the identification string of the person of the M-th lowest class among 2N citizens. Can you write a program to solve this problem?

输入格式

The input consists of multiple datasets.

Each dataset consists of a line which contains two integers N and M in this order, separated with a single space. The input does not contain any other extra characters such as leading or trailing spaces.

The end of input is indicated by a line with two zeros. This line is not part of any datasets.

输出格式

For each dataset, print the identification string of the person of the M-th lowest class in one line. Your program may not omit any leading zeros in the answer.

样例

Input
3 3
3 5
0 0
Output
010
011

1 人解决,8 人已尝试。

1 份提交通过,共有 9 份提交。

9.9 EMB 奖励。

创建: 15 年,8 月前.

修改: 7 年,2 月前.

最后提交: 1 年,4 月前.

来源: N/A

题目标签