最大2^32,分段查询即可,0特判
#include <iostream>
#include <cstring>
using namespace std;
char s[110];
int main()
{
while(cin>>s)
{
int len=strlen(s);
int n;
if(len>10)
{
cout<<"TAT"<<endl;
continue;
}
long long ans=0;
for(int i=0; i<len; i++)
{
ans+=(s[i]-'0');
if(i!=len-1)
ans*=10;
}
if(ans==0)
{
cout<<"TAT"<<endl;
continue;
}
else if(ans>=1&&ans<=3)
n=1;
else if(ans>=4&&ans<=15)
n=2;
else if(ans>=16&&ans<=255)
n=3;
else if(ans>=256&&ans<=65535)
n=4;
else if(ans>=65536&&ans<=4294967295)
n=5;
else
{
cout<<"TAT"<<endl;
continue;
}
cout<<n<<endl;
}
return 0;
}