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

using namespace std;
long long hasz1,hasz2,hasz3,hasz4,hasz5,hasz6,n,pot,pot1,pot2;
const long long mod=1E9+103,mod1=1E9+223,mod2=1E9+321,prw=29,prw1=31;
char a;
int main()
{
    ios_base::sync_with_stdio(0);
    cin>>n;
    pot=1;
    pot1=1;
    pot2=1;
    while(cin>>a)
    {
        hasz1=(hasz1+a*pot)%mod;
        hasz2=(hasz2*prw+a)%mod;
        pot=(pot*prw)%mod;

        hasz3=(hasz3+a*pot1)%mod1;
        hasz4=(hasz4*prw+a)%mod1;
        pot1=(pot1*prw)%mod1;

        hasz5=(hasz5+a*pot2)%mod2;
        hasz6=(hasz6*prw1+a)%mod2;
        pot2=(pot2*prw1)%mod2;
    }
    if(hasz1==hasz2&&hasz3==hasz4&&hasz5==hasz6)cout<<"TAK";
    else cout<<"NIE";
}