#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int i,n,cas;
double f;
cin>>cas;
while(cas--)
{
f=0.0;
cin>>n;
for(i=2;i<=n;i++)
f+=log10(i*1.0);
int ans=f+1;
cout<<ans<<endl;
}
return 0;
}
/******还是比较有意思的一道题目,比如123456=10^5+1.23456,取对数后为5+log10(1.23456)所以位数为取对数后的小数取整
再加1,不过算阶乘时要注意,当n很大时可能会溢出,所以还是得转换为对数,只需要进行n次加法和乘法就行了,
再次体会到了对数的神奇,记得加头文件cmath***/