Problem Description


f(n)=⌊n√⌋.

Bo wanted to know the minimum number  y which satisfies  fy(n)=1.

note: f1(n)=f(n),fy(n)=f(fy−1(n))

It is a pity that Bo can only use 1 unit of time to calculate this function each time.

And Bo is impatient, he cannot stand waiting for longer than 5 units of time.

So Bo wants to know if he can solve this problem in 5 units of time.


 



Input


120).

Each test case contains a non-negative integer  n(n<10100).


 



Output


y


 



Sample Input


233 233333333333333333333333333333333333333333333333333333333


 



Sample Output


3 TAT


简单题,一顿乱敲就过了,差一点一血诶。

#include<set>
#include<map>
#include<cmath>
#include<stack>
#include<queue>
#include<bitset>
#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>
#define rep(i,j,k) for (int i = j; i <= k; i++)
#define per(i,j,k) for (int i = j; i >= k; i--)
using namespace std;
typedef long long LL;
const int low(int x) { return x&-x; }
const int mod = 1e9 + 7;
const int N = 1e3 + 10;
const int INF = 0x7FFFFFFF;
int T, m;
char s[N];
LL n;

int main()
{
//scanf("%d", &T);
while (scanf("%s", s) != EOF)
{
if (strlen(s) > 18) printf("TAT\n");
else
{
sscanf(s, "%lld", &n);
int ans = 0;
for (ans = 0; ans < 6 && n != 1; ans++)
{
n = sqrt(1.0*n);
}
if (ans < 6)printf("%d\n", ans);
else printf("TAT\n");
}
}
return 0;
}