一世纪一度的银河系乒乓球大赛即将在月球举办,对于每个存在智慧生物的星球,都需要派出一个该星球最厉害的选手来月球参加比赛。对于每个星球,他们会选择统一的选拔制度来决出最厉害选手。选拔分为若干轮,刚开始该星球所有人都要参与选拔,假设n为当前未被淘汰的人数,选拔按以下流程进行:
i) 如果n<=1,选拔结束;
ii) 把这n个人依次标号为0,1,2,3,…,(n-1);(程序猿数数都是从0开始的);
iii) 把他们按两人一组进行分组,分为n/2组,其中i和i XOR 1分在同一组(XOR就是程序猿经常使用的异或);如果n为奇数,则标号最大的人在这轮比赛轮空,不参加比赛,直接晋级下一轮;
iv) 每组通过一局比赛淘汰一个人,回到步骤i);
现在告诉你X星球有n个人,请你计算出X星球要通过多少场比赛来选拔选手。
输入描述:
输入包含多个测试数据,每个测试数据占一行,为一个合法的十进制非负整数n,它的长度不超过100000。测试数据到文件尾。
输出描述:
对于每个输入测试数据,输出相应的答案。
2
3
1
2