1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <bits/stdc++.h>

int n;
long long int akt[2]={1, 1};
char z;
long long int hasz[2][2];
long long int pot[]={331, 313};
long long int mod=1e9+9;


int main()
{
    scanf("%d", &n);
    while(scanf(" %c", &z)!=EOF)
    {
        for(int i=0; i<2; i++)
        {
            hasz[i][0]=(hasz[i][0]*pot[i]+z)%mod;
            hasz[i][1]=(hasz[i][1]+(long long int)z*akt[i])%mod;
            akt[i]=(akt[i]*pot[i])%mod;
        }
    }
    printf("%s", (hasz[0][0]==hasz[0][1] && hasz[1][0]==hasz[1][1]) ? "TAK\n" : "NIE\n");
}