
L = 10**6

fact = [1]*(L+1)
primes = [True]*(L + 1)

for j in range(2,L+1):
    if primes[j]:
        fact[j] = j
        indeks = j*j
        while indeks< L+1:
            fact[indeks] = j
            primes[indeks] = False
            indeks += j

#print(primes)

cubes = set(i**3 for i in range(1, 105))

def valid(N):
    kub = False
    if N in cubes:
        kub = True
    primes = dict()
    while N > 1:
        pras = fact[N]
        if pras not in primes:
            primes[pras] = 0
        primes[pras] += 1
        N = N//pras

    vse = 1
    slabe = 1
    for key, value in primes.items():
        vse = vse * (((value+1)*(value+2))//2)
        slabe = slabe * ((value+2)//2)
    if kub:
        slabe -= 1
        res = (vse - slabe*3 + 1)//6
    else:
        res = (vse - slabe*3) //6
    return res

acc = [0]*(L+1)
tr = 0
for i in range(5, L + 1):
    tr += valid(i)
    acc[i] = tr

T = int(input())

for i in range(T):
    N = int(input())
    print(acc[N])
