#include<iostream>
using namespace std;
long long up(double x)
{
long long x0 = (long long)x;
if (x != (double)x0)
x0++;
return x0;
}
int main()
{
double r;
int n;
unsigned long long k;
cin >> n;
for (int i = 0; i < n; i++)
{
int ans = 0;
cin >> k;
if (k == 0)
{
cout << "NO!" << endl;
break;
}
r = k + 0.5;
while (r != (double)up(r))
{
r *= up(r);
ans++;
}
cout << ans << endl;
}
return 0;
}