#include<iostream> #include<cstdio> #include<vector> using namespace std; const int MAXN=1000; const int MAXNum=4e4; bool IsPrime[MAXNum]; vector<int> Prime; void Select(){ for(int i=0;i<MAXNum;++i){ IsPrime[i]=true; } IsPrime[0]=IsPrime[1]=false; for(int i=2;i<MAXNum;++i){ if(IsPrime[i]){ Prime.push_back(i); for(int j=i*i;j<MAXNum;j+=i){ IsPrime[j]=false; } } } } int Num_Divisor(int &n){ int number=1; int temp=n; for(int i=0;i<Prime.size()&&Prime[i]<temp;++i){ int num_prime=0; while(n%Prime[i]==0){ ++num_prime; n/=Prime[i]; } number*=(num_prime+1); } return n==1?number:2*number; } int main(){ int n; int array[MAXN]; Select(); while(scanf("%d",&n)!=EOF){ for(int i=0;i<n;++i){ scanf("%d",&array[i]); } for(int i=0;i<n;++i){ printf("%d\n",Num_Divisor(array[i])); } } return 0; }