#include<iostream>
#include<cmath>
#include<map>
using namespace std;

map<long long, int> myMap;

long long numYueshu(long long n){
    long long answer = 0;
    for(int i = 1; i < sqrt(n); i++){
        if(n%i==0){
            answer++;
            answer++;
        }
    }
    if(sqrt(n)==int(sqrt(n))) answer++;
    return answer;
}

int main(){
    long long n;
    int N;
    cin>>N;
    for(int i = 0; i < N; i++){
        cin>>n;
        cout<<numYueshu(n)<<endl;
    }
    return 0;
}

直接暴力会超时,注意到每个数字如果有小于sqrt(n)的约数则必有一个大于sqrt(n)的约数,最后再判断sqrt(n)能否整除,能整除则+1。