#include<bits/stdc++.h>
using namespace std;
using ll=long long int;
ll sieve_size;
bitset<10000010>bs;
vector<ll>primes;
void Sieve(ll x){
sieve_size=x;
ll count=0;
bs.set();
bs[0]=bs[1]=false;
for(ll i=2;i<=sieve_size;i++){
if(bs[i]){
for(ll j=i*i;j<=sieve_size;j+=i){
bs[j]=false;
}
primes.emplace_back(i);
count++;
}
}
}
ll CountDivisors(ll x){
ll i=0,PF=primes[i],ans=1;
while(PF*PF<=x){
ll power=0;
while(x%PF==0){
x/=PF;
power++;
}
ans*=power+1;
PF=primes[i++];
}
if(x!=1) ans*=2; // Last factor has pow=1,we add 1 to it
return ans;
}
int main(){
ll n;
cin>>n;
while(n--){
ll x;
cin>>x;
Sieve(x);
cout<<CountDivisors(x)<<"\n";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbGw9bG9uZyBsb25nIGludDsKbGwgc2lldmVfc2l6ZTsKYml0c2V0PDEwMDAwMDEwPmJzOwp2ZWN0b3I8bGw+cHJpbWVzOwp2b2lkIFNpZXZlKGxsIHgpewogICAgc2lldmVfc2l6ZT14OwogICAgbGwgY291bnQ9MDsKICAgIGJzLnNldCgpOwogICAgYnNbMF09YnNbMV09ZmFsc2U7CiAgICBmb3IobGwgaT0yO2k8PXNpZXZlX3NpemU7aSsrKXsKICAgICAgICBpZihic1tpXSl7CiAgICAgICAgICAgIGZvcihsbCBqPWkqaTtqPD1zaWV2ZV9zaXplO2orPWkpewogICAgICAgICAgICAgICAgYnNbal09ZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcHJpbWVzLmVtcGxhY2VfYmFjayhpKTsKICAgICAgICAgICAgY291bnQrKzsKICAgICAgICB9CiAgICB9Cn0KbGwgQ291bnREaXZpc29ycyhsbCB4KXsKICAgIGxsIGk9MCxQRj1wcmltZXNbaV0sYW5zPTE7CiAgICB3aGlsZShQRipQRjw9eCl7CiAgICAgICAgbGwgcG93ZXI9MDsKICAgICAgICB3aGlsZSh4JVBGPT0wKXsKICAgICAgICAgICAgeC89UEY7CiAgICAgICAgICAgIHBvd2VyKys7CiAgICAgICAgfQogICAgICAgIGFucyo9cG93ZXIrMTsKICAgICAgICBQRj1wcmltZXNbaSsrXTsKICAgIH0KICAgIGlmKHghPTEpIGFucyo9MjsgLy8gTGFzdCBmYWN0b3IgaGFzIHBvdz0xLHdlIGFkZCAxIHRvIGl0CiAgICByZXR1cm4gYW5zOwp9CmludCBtYWluKCl7CiAgICBsbCBuOwogICAgY2luPj5uOwogICAgd2hpbGUobi0tKXsKICAgICAgICBsbCB4OwogICAgICAgIGNpbj4+eDsKICAgICAgICBTaWV2ZSh4KTsKICAgICAgICBjb3V0PDxDb3VudERpdmlzb3JzKHgpPDwiXG4iOwogICAgfQogICAgcmV0dXJuIDA7Cn0=