Lo and Behold! For you may be surprised by what our chief chef Noodle has in mind for this season! Today, Noodle announced one of his most extra-ordinary ideas ever - Project Spoon. 
 Noodle plans to deploy large spoons in the atmosphere so that people all around the world can download food directly from his kitchen thereby saving him a lot of overhead cost. Yes, you read that right. Large spoons suspended in the atmosphere. 
 Noodle decides the following strategy to implement his idea. He will deploy exactly N spoons in the country. Every spoon can cater to as many cities as it wants. The only catch is that between every pair of  spoons A and B,  A must cater to at-least one city that B doesn't cater to, and  B  must cater to at-least one city that A doesn't cater to. 
 Noodle would like to know what is the minimum number of cities a country must have for his strategy to be successful. Since, he is not all that good with calculation, he asks you to help him with it. 

Input
 The first line contains an integer T denoting the number of test cases. Each of the next T lines contain an integer N, the number of spoons that Noodle plans to deploy in the country.

Output
 For every test case, print in a single line the number of minimum cities required.

Constraints

 1 ≤ T ≤   100000 
 2  ≤ N  ≤  10^18 


Example
Input:
2
2
3

Output:
2
3

Explanation
Example case 1.
Each spoon caters to a different city. Since there are two spoons, two cities are sufficient.
 
Example case 2.
Again, each spoon needs to cater to one city and there are three spoons. So, three cities are required at minimum.
#!/usr/bin/python

def factorial(a):
    res = 1
    for i in range(1, a+1):
        res *= i
    return res
# end of factorial

def perestanovki(a,b):
    return factorial(a)/(factorial(b)*factorial(a-b))
# end of perestanovki

def getIndex(start, end, a):
    ind = (start + end) / 2
    if mins[ind] == a:
        return ind
    elif end - start == 1:
        return end
    elif mins[ind] < a:
        return getIndex(ind, end, a)
    else :
        return getIndex(start, ind, a)
    #
# end of getIndex

mins = [0, 1, 2, 3, 6, 10, 20, 35, 70, 126, 252, 462, 924, 1716L, 3432L, 6435L, 12870L, 24310L, 48620L, 92378L, 184756L, 352716L, 705432L, 1352078L, 2704156L, 5200300L, 10400600L, 20058300L, 40116600L, 77558760L, 155117520L, 300540195L, 601080390L, 1166803110L, 2333606220L, 4537567650L, 9075135300L, 17672631900L, 35345263800L, 68923264410L, 137846528820L, 269128937220L, 538257874440L, 1052049481860L, 2104098963720L, 4116715363800L, 8233430727600L, 16123801841550L, 32247603683100L, 63205303218876L, 126410606437752L, 247959266474052L, 495918532948104L, 973469712824056L, 1946939425648112L, 3824345300380220L, 7648690600760440L, 15033633249770520L, 30067266499541040L, 59132290782430712L, 118264581564861424L, 232714176627630544L, 465428353255261088L, 916312070471295267L, 1832624140942590534L, 3609714217008132870L, 7219428434016265740L, 14226520737620288370L, 28453041475240576740L, 56093138908331422716L]

for t in range(0, int(raw_input())):
    spoon = int(raw_input())
    print getIndex(1, 64, spoon)
# end of t