题目描述
最近,蒟蒻小明的班上准备拍一次特殊的集体照,因为队形要求是要班上的所有 名同学全部站成一排。而好学的小明发现,在这种情况下,如果将男女生分别看成 和 ,照相的队形就能组成一个 位长的二进制数,而二进制又能转化成十进制,因此一个不同的队形就对应了一个不同的数字。
小明想考一考他的同桌,就想出了一个问题:给定原始队形 ,问如何重新排列队伍,才能得到第一个在数值上比原始队形大的数 呢。但其实身为蒟蒻的小明自己也不知道答案,所以就把计算答案这个任务委托给了聪明的你,请你写一个程序帮帮孩子。
提示: 是大于 的最小整数。比如对于 ,表示原本的队形为 ,则对应的 应为 ,表示新队形为 。
输入格式
输入包含若干行,每行一个整数 ,表示原本的队伍组合成的数值大小,以 表示输入结束。
输出格式
每行一个整数,表示每个 对应的 。
样例
1
2
3
4
5
0
2
4
5
8
6
数据范围