小i不喜欢军训,尤其是练队列。
在军训时,小i发现教官喜欢将n个人排成一个矩阵,记矩阵的长和宽为a和b,满足n=ab,1≤a≤b,教官会选择(b−a)最小的方案。
然而有时候n的值很尴尬,例如n=52时,(b−a)的最小值为(13−4)=9,这个差值太大,队列就会显得不美观。
于是小i想到了一个解决方法,将n个人分成两个矩阵,这两个矩阵的长宽记为a,b,c,d,满足n=ab+cd,1≤a≤b,1≤c≤d,然后令(b−a)+(d−c)最小,记这个最小值为f(n)。当n=52时,a=4,b=4,c=6,d=6,得f(52)=0。
然而当n很大时,小i就算不动了,于是这个问题就交给了你。给定n的值,求f(n)。
第一行一个正整数T表示数据组数。
对于每组数据,第一行输入一个正整数n。
T≤200,2≤n≤109
5
52
13
17
63
81
0
0
0
3
1