欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

A. Candies and Two Sisters

程序员文章站 2022-04-01 09:44:29
...

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

There are two sisters Alice and Betty. You have nn candies. You want to distribute these nn candies between two sisters in such a way that:

  • Alice will get aa (a>0a>0) candies;
  • Betty will get bb (b>0b>0) candies;
  • each sister will get some integer number of candies;
  • Alice will get a greater amount of candies than Betty (i.e. a>ba>b);
  • all the candies will be given to one of two sisters (i.e. a+b=na+b=n).

Your task is to calculate the number of ways to distribute exactly nn candies between sisters in a way described above. Candies are indistinguishable.

Formally, find the number of ways to represent nn as the sum of n=a+bn=a+b, where aa and bb are positive integers and a>ba>b.

You have to answer tt independent test cases.

Input

The first line of the input contains one integer tt (1≤t≤1041≤t≤104) — the number of test cases. Then tt test cases follow.

The only line of a test case contains one integer nn (1≤n≤2⋅1091≤n≤2⋅109) — the number of candies you have.

Output

For each test case, print the answer — the number of ways to distribute exactly nn candies between two sisters in a way described in the problem statement. If there is no way to satisfy all the conditions, print 00.

Example

input

Copy

6
7
1
2
3
2000000000
763243547

output

Copy

3
0
0
1
999999999
381621773

Note

For the test case of the example, the 33 possible ways to distribute candies are:

  • a=6a=6, b=1b=1;
  • a=5a=5, b=2b=2;
  • a=4a=4, b=3b=3.

 

解题说明:水题,n-1除以2即为分配的数目。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cmath>

using namespace std;

int main() 
{
	int i, t, n, res;
	scanf("%d", &t);
	for (i = 0; i<t; i++)
	{
		scanf("%d", &n);
		res = (n - 1) / 2;
		printf("%d\n", res);
	}
	return 0;
}

 

相关标签: AC路漫漫