1808: 奶牛的寿命

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:6 解决:3

题目描述

上帝养了一头奶牛,但是有一天奶牛偷吃了上帝草药,上帝十分生气于是奶牛必须要去地狱接受惩罚,上帝给了奶牛一个长达n的刑期但是同样允许奶牛对刑期进行最多操作log2(n)+1次,每次操作可以交换刑期的二进制形式下任意的两个位置上的数字,但是不能改变原来的二进制数的位数(不能有前导零),奶牛自然希望可以尽可能多的减刑,请问出奶牛最多可以减少多少刑期?


输入

一个正整数n表示奶牛当前刑期。

(n<2^31)


输出

一个整数表示奶牛最多可以减少的刑期。

样例输入 复制

14

样例输出 复制

3

提示

只需要交换第1位和第3位,14(1110)-->11(1011),14-11=3。