CF976A Minimum Binary Number

Description

String can be called correct if it consists of characters "0" and "1" and there are no redundant leading zeroes. Here are some examples: "0", "10", "1001". You are given a correct string $ s $ . You can perform two different operations on this string: 1. swap any pair of adjacent characters (for example, "101" ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF976A/5a518872d8942914aef6c33d251688a64a8d6d74.png) "110"); 2. replace "11" with "1" (for example, "110" ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF976A/5a518872d8942914aef6c33d251688a64a8d6d74.png) "10"). Let $ val(s) $ be such a number that $ s $ is its binary representation. Correct string $ a $ is less than some other correct string $ b $ iff $ val(a)

Input Format

The first line contains integer number $ n $ ( $ 1

Output Format

Print one string — the minimum correct string that you can obtain from the given one.

Explanation/Hint

In the first example you can obtain the answer by the following sequence of operations: "1001" ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF976A/5a518872d8942914aef6c33d251688a64a8d6d74.png) "1010" ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF976A/5a518872d8942914aef6c33d251688a64a8d6d74.png) "1100" ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF976A/5a518872d8942914aef6c33d251688a64a8d6d74.png) "100". In the second example you can't obtain smaller answer no matter what operations you use.