#include <stdio.h>
#include <vector>
using namespace std;
int getYueshu(int n) {
int counts = 0;
for (int i = 1; i * i <= n; i++) {
if (n % i == 0 && i * i != n) {
counts += 2;
} else if (i * i == n) {
counts++;
}
}
return counts;
}
int main() {
int n;
scanf("%d", &n);
vector<int> vec;
for (int i = 0; i < n; i++) {
int a;
scanf("%d", &a);
vec.push_back(a);
}
printf("%d", getYueshu(*vec.begin()));
for (vector<int>::iterator it = vec.begin() + 1; it != vec.end(); it++) {
printf("\n%d", getYueshu(*it));
}
return 0;
}