#include <iostream>
#include <sstream>
#include <cmath>
#include <algorithm>
#include <string.h>
using namespace std;
string s;
int main(){
while(cin>>s){
if(s.length()>10){
cout<<"TAT"<<endl;
continue;
}
stringstream ss;
long long n;
ss<<s;
ss>>n;
if(n>=pow(2,32)){ //=
cout<<"TAT"<<endl;
continue;
}
if(n==0){
cout<<"TAT"<<endl;
continue;
}
if(n==1){
cout<<"0"<<endl;
continue;
}
int t=0;
while(true){
if((int)(sqrt(n))==1){
t++;
break;
}
n=sqrt(n);
t++;
}
cout<<t<<endl;
}
}
f(n)=1 n<2^2;
f2(n)=1 n<2^4;
f3(n)=1 n<2^8;
f4(n)=1 n<2^16;
f5(n)=1 n<2^32;
2^32大约是10位数,所以大于10位数就输出“TAT”;
把字符串转换为long long 类型整数 因为int可能会溢出;
考虑n=0 n=1时特殊情况 然后暴力开方输出即可;
注意循环判定;