#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;
}