#include<iostream> 
 #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***/









