题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2601
//n+1=(i+1)(j+1)=i*j+i+j
#include <stdio.h>
#include <math.h>
int main()
{
int test,ans;
_int64 n,i,temp;
scanf("%d",&test);
while(test--)
{
ans=0;
scanf("%I64d",&n);
n++;
temp=(_int64)sqrt(n*1.0);
for(i=2;i<=temp;++i)
if(n%i==0)
ans++;
printf("%d\n",ans);
}
return 0;
}