func_code_string: #include<bits/stdc++.h>   using namespace std;   inline int read()   {       int x=0,f=1;       char ch = 0;       while(!isdigit(ch)) {if(ch== - ) f=-1; ch = getchar();}       while(isdigit(ch)) {x = x*10+ch- 0 ; ch = getchar();}       return x*f;   }   typedef long long ll;   const int maxn = 2e5+100;   const double eps = 1e-13;   int T,n;   /*   double c,m,p,v,_v;   double ans;   map<pair<double,double>,double> mp;   double dfs(double a,double b, double c,double nw,int tt)   {       //cout << a <<     << b <<     << c << endl;       if(mp.find(make_pair(a,b))!=mp.end())       {           ans += mp[make_pair(a,b)];           return mp[make_pair(a,b)];       }       double hv = c*nw;       if(a>v)       {           if(b>eps) hv += dfs(a-v,b+_v,c+_v,nw*a,tt+1);           else hv += dfs(a-v,0,c+v,nw*a,tt+1);       }       else if(a>eps)       {           if(b>eps) hv += dfs(0,b+a/2,c+a/2,nw*a,tt+1);           else hv += a*nw*(tt+1);       }       if(b>v)       {           if(a>eps) hv += dfs(a+_v,b-v,c+_v,nw*b,tt+1);           else hv += dfs(0,b-v,c+v,nw*b,tt+1);       }       else if(b>eps)       {           if(a>eps) hv += dfs(a+b/2,0,c+b/2,nw*b,tt+1);           else hv += b*nw*(tt+1);       }       ans += tt*hv;       return mp[make_pair(a,b)] = mp[make_pair(b,a)] = hv;   }   int main()   {       T = read();       while(T--)       {           scanf( %lf%lf%lf%lf ,&c,&m,&p,&v);           _v = v/2;           mp.clear();           ans = 0;           printf( %.13f n ,dfs(c,m,p,1));           cout <<  ---  << ans << endl;       }       return 0;   }   */   int main()   {       T = read();       int s;       while(T--)       {//(1+x*2-1)*x / 2 = s           s = read();           int x = sqrt(s);           printf( %d n ,x+(x*x!=s));       }   }   