1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <bits/stdc++.h>                                                        
using namespace std;                                                            
const int maxn = 1000;                                                          
typedef long long ll;                                                           
typedef pair<int, int> Pii;                                                     
typedef vector<Pii> vpii;                                                       
typedef vector<int> vi;                                                         
typedef vector<ll> vll;                                                         
#define pb push_back                                                            
#define fst first                                                               
#define snd second
const ll p1 = 1e9 + 7;
const ll p2 = 1e9 + 9;
const ll k1 = 31;
const ll k2 = 61;
ll mn1 = 1;
ll mn2 = 1;
ll hasz11 = 0;
ll hasz12 = 0;
ll hasz21 = 0;
ll hasz22 = 0;
void feeduj(char c)
{
	ll b = c - 'a' + 1;
	hasz11 = (b * mn1 + hasz11) % p1;
	hasz21 = (b * mn2 + hasz21) % p2;
	hasz12 = (k1 * hasz12 + b) % p1;
	hasz22 = (k2 * hasz22 + b) % p2;
	mn1 = mn1 * k1 % p1;
	mn2 = mn2 * k2 % p2;
}                                                
bool let(char c)
{
	return c >= 'a' && c <= 'z';
}                  
int main()                                                                      
{               
	int val;
	while((val = getchar()) != EOF)
	{
		char c = val;
		if(let(c))
			feeduj(c);
	}
	if((hasz11 - hasz12) % p1 == 0 && (hasz21 - hasz22) % p2 == 0)
	{
		puts("TAK");
	}
	else
	{
		puts("NIE");
	}
}