Problem: Let's call a string "s-palindrome" if it is symmetric about the middle of the string. For example, the string "oHo" is "s-palindrome", but the string "aa" is not. The string "aa" is not "s-palindrome", because the second half of it is not a mirror reflection of the first half.

<image> English alphabet

You are given a string s. Check if the string is "s-palindrome".

Input

The only line contains the string s (1 ≤ |s| ≤ 1000) which consists of only English letters.

Output

Print "TAK" if the string s is "s-palindrome" and "NIE" otherwise.

Examples

Input

oXoxoXo


Output

TAK


Input

bod


Output

TAK


Input

ER


Output

NIE

Solution (in JAVA):

Solution:
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;

/**
 * Created by pavelgulaev on 18.07.16.
 */
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.next();
        int n = input.length();
        List<Character> temp = Arrays.asList('A', 'I', 'Y', 'X', 'x', 'W', 'w', 'V', 'v', 'U', 'T', 'O', 'o', 'M', 'H');
        HashSet<Character> mirr = new HashSet<>(temp);
        boolean correct = true;
        for (int i = 0; i < n/2; i++) {
            char left = input.charAt(i);
            char right = input.charAt(n-1-i);
            if (left == right && mirr.contains(left)) {

            } else {
                if ((left=='p' && right == 'q') || ((left=='q' && right == 'p')) || (left=='d' && right == 'b') || (left=='b' && right == 'd')) {

                } else {
                    correct = false;
                    break;
                }
            }
        }
        if (n%2==1 && correct) {
            if (mirr.contains(input.charAt(n/2))) {
                correct=true;
            } else {
                correct = false;
            }
        }
        if (correct) {
            System.out.println("TAK");
        } else {
            System.out.println("NIE");
        }
    }
}