//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")