func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int power(long long int a, long long int b) {     if (b == 0) return 1;     if (b == 1) return a;     long long int r = power(a, b / 2) % 1000000007;     if (b % 2 == 0)       return (r * r) % 1000000007;     else       return (((r * r) % 1000000007) * a) % 1000000007;   }   int prime[1000009];   int sumprime[1000009];   void sieve(int n) {     prime[0] = prime[1] = 1;     for (int i = 2; i <= sqrt(n); i++) {       if (!prime[i]) {         for (int j = 2 * i; j <= n; j = j + i) {           prime[j]++;         }       }     }     for (int i = 1; i <= n; i++) {       if (!prime[i]) {         sumprime[i] = sumprime[i - 1] + 1;       } else {         sumprime[i] = sumprime[i - 1];       }     }   }   bool comp(const pair<long long int, long long int> &a,             const pair<long long int, long long int> &b) {     return (a.second < b.second);   }   const int N = 5 * 1e5 + 9;   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     string s;     cin >> s;     int n = s.length();     int flag = 0;     map<char, int> mp;     mp[ A ]++;     mp[ H ]++;     mp[ I ]++;     mp[ M ]++;     mp[ O ]++;     mp[ o ]++;     mp[ T ]++;     mp[ U ]++;     mp[ V ]++;     mp[ v ]++;     mp[ W ]++;     mp[ w ]++;     mp[ X ]++;     mp[ x ]++;     mp[ Y ]++;     mp[ b ]++;     mp[ d ]++;     mp[ p ]++;     mp[ q ]++;     if (n % 2) {       char c = s[n / 2];       if (c ==  p  || c ==  q  || c ==  d  || c ==  b ) {         flag++;       }     }     for (int i = 0; i < n; i++) {       if (mp.find(s[i]) == mp.end()) {         flag++;         break;       }       if (s[i] ==  b ) {         if (s[n - i - 1] !=  d ) {           flag++;           break;         }         continue;       }       if (s[i] ==  d ) {         if (s[n - i - 1] !=  b ) {           flag++;           break;         }         continue;       }       if (s[i] ==  p ) {         if (s[n - i - 1] !=  q ) {           flag++;           break;         }         continue;       }       if (s[i] ==  q ) {         if (s[n - i - 1] !=  p ) {           flag++;           break;         }         continue;       }       if (s[i] != s[n - i - 1]) {         flag++;         break;       }     }     if (flag) {       cout <<  NIE n ;       return 0;     }     cout <<  TAK n ;     return 0;   }   