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
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
#include <iostream>
using namespace std;
long long hasze[32][32];
long long pot2[32];
long long Modulo=1e9+7;
long long fastPowModulo(long long a,long long n) {
  long long wynik = 1;
  while(n>0){
    if(n%2==1){
      wynik*=a;
      wynik%=Modulo;
    }
    n/=2;
    a*=a;
    a=a%Modulo;
  }
  return wynik;
}
long long zamienCharNaInt(char c) {
  long long a = c - 'a';
  a++;
  return a;
}
long long liczHasz(long long a,long long pot) {
  long long c = (a*fastPowModulo(37,pot))%Modulo;
  return c;
}
int main(){
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int n;
  cin >> n;
  for(int i=0;i<=30;i++){
    pot2[i]=fastPowModulo(2,i);
  }
  if(n!=0){
    if(n%2==0){
      long long haszL = 0;
      for(int i=1;i<=n/2;i++){
        char c;
        cin >> c;
        long long a = zamienCharNaInt(c);
        haszL+=liczHasz(a,i);
        haszL=haszL%Modulo;
      }
      long long haszP = 0;
      for(int i=n/2+1;i<=n;i++){
        char c;
        cin >> c;
        long long a = zamienCharNaInt(c);
        haszP+=liczHasz(a,n-i+1);
        haszP=haszP%Modulo;
      }
      if(haszP==haszL){
        printf("TAK");
        return 0;
      } else {
        printf("NIE");
        return 0;
      }
    } else {
      long long haszL = 0;
      for(int i=1;i<=n/2;i++){
        char c;
        cin >> c;
        long long a = zamienCharNaInt(c);
        haszL+=liczHasz(a,i);
        haszL=haszL%Modulo;
      }
      char o;
      cin >> o;
      long long haszP = 0;
      for(int i=n/2+2;i<=n;i++){
        char c;
        cin >> c;
        long long a = zamienCharNaInt(c);
        haszP+=liczHasz(a,n-i+1);
        haszP=haszP%Modulo;
      }
      if(haszP==haszL){
        cout << "TAK";
        return 0;
      } else {
        cout << "NIE";
        return 0;
      }
    }
  } else {
    string s;
    cin >> s;
    for(int i=0;i<s.size();i++){
      if(s[i]!=s[s.size()-i-1]){
        printf("NIE");
        return 0;
      }
    }
    printf("TAK");
    return 0;
  }
}