4158: 级别生成

内存限制:256 MB 时间限制:1 S
题面:传统 评测方式:文本比较 上传者:
提交:7 通过:6

题目描述

伊万正在开发自己的电脑游戏。现在他试图为自己的比赛创造一些水平。但首先,对于每个级别,他需要绘制一个表示级别结构的图。


伊万决定在表示级别i的图中应该正好有ni个顶点,并且边必须是双向的。
在构建图时,伊万对称为桥的特殊边感兴趣。如果两个顶点u和v之间的边属于u和v间的每条路径,则该边称为桥(如果删除该边,这些顶点将属于不同的连接组件)。
对于每个级别,伊万都希望构建一个图,其中至少一半的边是桥。他还希望最大化每个构建的图中的边数。


所以伊万给你的任务是:给定q个数字n1,n2, ...   nq
如果至少有一半的边是桥,那么对于每一个,我都会告诉具有ni个顶点的图中的最大边数。请注意,图形不能包含重边或自环。

输入格式

第一行包含一个正整数q(1≤q≤100000)-伊万需要构建的图的数量。
接着是q行,第i行包含一个正整数ni(1≤ni≤2·109)-第i个图中的顶点数。

输出格式

输出q个数,其中第i个数等于第i个图中的最大边数。

输入样例 复制

3
3
4
6

输出样例 复制

2
3
6

数据范围与提示

  1. 1 - 2, 1 - 3;
  2. 1 - 2, 1 - 3, 2 - 4;
  3. 1 - 2, 1 - 3, 2 - 3, 1 - 4, 2 - 5, 3 - 6.