Problem
Imagine you have
n
n
n light bulbs numbered
1
,
2
,
…
,
n
1, 2, \ldots, n
1,2,…,n. Initially, all bulbs are on. To flip the state of a bulb means to turn it off if it used to be on, and to turn it on otherwise.
Next, you do the following:- for each
i
=
1
,
2
,
…
,
n
i = 1, 2, \ldots, n
i=1,2,…,n, flip the state of all bulbs
j
j
j such that
j
j
j is divisible by
i
†
i^\dagger
i†.After performing all operations, there will be several bulbs that are still on. Your goal is to make this number exactly
k
k
k.Find the smallest suitable
n
n
n such that after performing the operations there will be exactly
k
k
k bulbs on. We can show that an answer always exists.
†
^\dagger
† An integer
x
x
x is divisible by
y
y
y if there exists an integer
z
z
z such that
x
=
y
⋅
z
x = y\cdot z
x=y⋅z.
Input
Each test contains multiple test cases. The first line contains the number of test cases t t t ( 1 ≤ t ≤ 1 0 4 1 \le t \le 10^4 1≤t≤104). The description of the test cases follows.The only line of each test case contains a single integer k k k ( 1 ≤ k ≤ 1 0 18 1 \le k \le 10^{18} 1≤k≤1018).
Output
For each test case, output n n n — the minimum number of bulbs.
Example
input
3
1
3
8
output
2
5
1
1
Note
In the first test case, the minimum number of bulbs is 2 2 2. Let’s denote the state of all bulbs with an array, where 1 1 1 corresponds to a turned on bulb, and 0 0 0 corresponds to a turned off bulb. Initially, the array is [ 1 , 1 ] [1, 1] [1,1].- After performing the operation with i = 1 i = 1 i=1, the array becomes [ 0 ‾ , 0 ‾ ] [\underline{0}, \underline{0}] [0,0].- After performing the operation with i = 2 i = 2 i=2, the array becomes [ 0 , 1 ‾ ] [0, \underline{1}] [0,1].In the end, there are k = 1 k = 1 k=1 bulbs on. We can also show that the answer cannot be less than 2 2 2.In the second test case, the minimum number of bulbs is 5 5 5. Initially, the array is [ 1 , 1 , 1 , 1 , 1 ] [1, 1, 1, 1, 1] [1,1,1,1,1].- After performing the operation with i = 1 i = 1 i=1, the array becomes [ 0 ‾ , 0 ‾ , 0 ‾ , 0 ‾ , 0 ‾ ] [\underline{0}, \underline{0}, \underline{0}, \underline{0}, \underline{0}] [0,0,0,0,0].- After performing the operation with i = 2 i = 2 i=2, the array becomes [ 0 , 1 ‾ , 0 , 1 ‾ , 0 ] [0, \underline{1}, 0, \underline{1}, 0] [0,1,0,1,0].- After performing the operation with i = 3 i = 3 i=3, the array becomes [ 0 , 1 , 1 ‾ , 1 , 0 ] [0, 1, \underline{1}, 1, 0] [0,1,1,1,0].- After performing the operation with i = 4 i = 4 i=4, the array becomes [ 0 , 1 , 1 , 0 ‾ , 0 ] [0, 1, 1, \underline{0}, 0] [0,1,1,0,0].- After performing the operation with i = 5 i = 5 i=5, the array becomes [ 0 , 1 , 1 , 0 , 1 ‾ ] [0, 1, 1, 0, \underline{1}] [0,1,1,0,1].In the end, there are k = 3 k = 3 k=3 bulbs on. We can also show that the answer cannot be smaller than 5 5 5.
Code
// #include <iostream>
// #include <algorithm>
// #include <cstring>
// #include <stack>//栈
// #include <deque>//队列
// #include <queue>//堆/优先队列
// #include <map>//映射
// #include <unordered_map>//哈希表
// #include <vector>//容器,存数组的数,表数组的长度
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll t;
cin>>t;
while(t--)
{
ll k;
cin>>k;
cout<<k+ll(sqrt(k)+0.5)<<endl;
}
return 0;
}