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
#include <bits/stdc++.h>

using namespace std;

using i64 = long long;

const int m1 = 1897412383, m2 = 1283918299;
const int base = 2333;

int p1, q1, w1, p2, q2, w2;

int main(){
	char c;
	do c = getchar(); while (c > 'z' || c < 'a');
	w1 = w2 = 1;
	for (; c <= 'z' && c >= 'a'; c = getchar()) {
		p1 = (p1 + (i64)w1 * c) % m1;
		q1 = ((i64)q1 * base + c) % m1;
		w1 = (i64)w1 * base % m1;
		p2 = (p2 + (i64)w2 * c) % m2;
		q2 = ((i64)q2 * base + c) % m2;
		w2 = (i64)w2 * base % m2;
	}
	if (p1 == q1 && p2 == q2) puts("TAK");
	else puts("NIE");
}