鸭鸭
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述


    鸭鸭是一位 Newbie ,他立志要成为 Legendary Grandmaster ,但是现在他遇到了一个问题,学过《高级语言程序设计》的你,作为C语言糕手,你能帮他解决这个问题吗?( Newbie 为 codeforces 网站最低等级,Legendary Grandmaster 则为最高等级)

    给你一个 int 类型的数  ,对于这个数的原码的每一个比特位,你可以花费一个脑细胞将它变为 或 。我们知道 int 类型的数在计算机中是以补码形式存储的,但是现在你想让  原码表示全部变为 0 或 1 ,由于你的脑细胞很珍贵,请计算将  原码表示全部变为 0 或 1 所需要花费的脑细胞的最小数量。

注:正数的原码、反码、补码相同
       负数的补码原码除符号位外所有比特位取反再 +1
一个 int 类型占四个字节,每个字节占 个 bit,最高位为符号位
正数的原码的符号位为 0 ,负数的原码的符号位为 1


输入描述:

第一行包含一个整数 ), 表示测试用例数。
接下来  行,每一行包含一个  (-2^{31}+1\leq n\leq 2^{31}-1) , 为题目中所描述的数。

输出描述:

输出  行,第  行表示第  个  根据题意计算所得到的答案。
示例1

输入

复制
5
1
3
114514
-2023
-20231126

输出

复制
1
2
11
10
15