//1
#include<iostream>
using namespace std;

int main(){
    int n, num;
    while (cin >> n)
    {
        for (int i = 0; i<n; i++)
        {
            cin >> num;

            int ans = 0;
            int j=0;
            for (j = 1; j*j<num; j++)
            {
                if (num%j == 0)
                    ans += 2;
            }
            if (j*j == num) 
                ans++;

            cout << ans << endl;
        }
    }
    return 0;
}

//2 如果是外置函数,则会运行超时
#include<iostream>
using namespace std;

int numOfDivisor(int num){
    int ans = 0;
    int i;
    for (i = 1; i*i<num; i++){
        if (num%i == 0)
            ans += 2;
    }
    if (i*i == num) ans++;
    return ans;
}
int main(){
    int n, num;
    while (cin >> n)
    {
        for (int i = 0; i<n; i++)
        {
            cin >> num;
            cout << numOfDivisor(num) << endl;
        }
    }
    return 0;
}

//3
// #include <iostream>
// #include <cstdio>
// #include<math.h>
// using namespace std;
// int main() {
// 	int n;
// 	while (cin >> n) {
// 		int num;
// 		for (int i = 0; i < n; i++) {
// 			cin >> num;
// 			int sum = 0;
// 			int bound = sqrt(num);
// 			for (int j = 1; j <= bound; j++) {
// 				if (num % j == 0) {
// 					sum += 2;
// 				}
// 			}
// 			if (bound * bound == num)sum--;
// 			cout << sum << endl;
// 		}
// 	}
// 	return 0;
// }

//4
// #include <iostream>
// #include <set>
// using namespace std;

// // 计算约束个数
// int yueshu(int num)
// {
//     set<int> s;
//     for(int i=1; i*i<num; ++i)
//     {
//         if(num%i==0)
//         {
//             s.emplace(i);
//             s.emplace(num/i);
//         }
//     }

//     return s.size();
// }

// int main() {
//     int a;
//     cin>>a;
//     while (a--) { // 注意 while 处理多个 case
//         int num;
//         cin >> num;

//         cout << yueshu(num) << endl;
//     }
    
//     system("pause");
//     return 0;
// }
// // 64 位输出请用 printf("%lld")