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
#include <cstdio>

unsigned long long int haszprzod[ 4 ];
unsigned long long int hasztyl[ 4 ];
unsigned long long int liczba[ 4 ];
unsigned long long int mnoz[] = { 5, 7, 26, 2137 };
unsigned long long int modulo[] = { 1000000007, 1000000009, 1000696969, 1000000933 };

int main()
{
	int n;
	scanf( "%d ", &n );
	char c = '0';
	for( int i = 0; i <  4; ++i ) liczba[ i ] = 1;
	while( true  )
	{
		c = getchar_unlocked();
		if( c == EOF ) break;
		if( c == 10 ) continue;
		for( int i = 0; i < 4; ++i )
		{
			haszprzod[ i ] *= mnoz[ i ];
			haszprzod[ i ] += c;
			haszprzod[ i ] %= modulo[ i ];

			unsigned long long int a = liczba[ i ] * c;
			a %= modulo[ i ];
			hasztyl[ i ] += a;
			hasztyl[ i ] %= modulo[ i ];
			liczba[ i ] *= mnoz[ i ];
			liczba[ i ] %= modulo[ i ];
		}
	}
	for( int i = 0; i < 4; ++i )
	{
		if( hasztyl[ i ] != haszprzod[ i ] )
		{
			puts("NIE");
			return 0;
		}
	}
	puts("TAK");
	return 0;
}