Start: Jul, 06, 2018 00:00:00
2018年度暑期短学期第四天
End: Jul, 07, 2018 08:00:00
Time elapsed:
Time remaining:

WLX搬砖 1846

Time Limit:  5 s      Memory Limit:   128 MB
Submission:30     AC:23     Score:0

Description

WLX现在是人见人爱,花见花开的高富帅,左拥WJJ右抱电脑。但是人们有所不知,春风得意的他也曾有着一段艰苦的奋斗史。
那时,WLX为了给WJJ买生日礼物,在某建筑工地搬砖挣钱。工地上运来一卡车砖,包工头CYP让WLX把砖卸下,并把一块快分开(要求任何2块砖都要分开)。作为资深搬砖工,WLX总是每次将一堆砖分为两堆,这时候,所消耗的体力是分完之后两堆砖数目的差值。
已知卡车运来的砖数目,请计算出WLX完成任务所需的最小体力。(主函数代码部分已经固定,请按需写函数部分)

#include<stdio.h>
int fun(int n);
int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        int n;
scanf("%d", &n);
        printf("%d ", fun(n));
    }
    return 0;
}

Input

输入数据第一行是一个正整数T(T<=100),表示有T组测试数据。
接下来T行每行一个正整数N(N<=10000000),表示卡车运来的砖块数目。

Output

对于每组数据,请输出WLX完成任务所需的最少体力数。

Samples

input
3 3 7984715 6563104
output
1 1495412 2670304