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
#include <cstdio>
int main ()
{
  unsigned long long
    x[16]={0,0},
    y[16]={0,0},
    p[16]={636094623231363827,595056260442243529},
    r[16]={1,1};
  int c, d,
    q[16]={29,31};
  scanf ("%d ", &c);
  while (1)
  {
    c=getchar ();
    if (c<'a'||c>'z') break;
    c-='a';
    for (int i=0; i<2; i++)
    {
      x[i]*=q[i];        x[i]%=p[i]; x[i]+=c;    x[i]%=p[i];
      y[i]+=c*r[i]%p[i]; y[i]%=p[i]; r[i]*=q[i]; r[i]%=p[i];
    }
  }
  d=0;
  for (int i=0; i<2; i++) d+=x[i]!=y[i];
  puts (d? "NIE": "TAK");
  return 0;
}