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.*;
public class CF691A {
	public static boolean useLoop(char s[],char a){
		for(int i=0;i<s.length;i++)
			if(a==s[i])
				return true;
		return false;
	}
	
	public static void main(String args[]){
		Scanner sc=new Scanner(System.in);
		char ar[]={'A','H','I','M','O','T','U','V','W','X','Y','o','v','w','x'};
		String s=sc.next();
		int len=s.length();
		int flag=1;
		if(len%2==0){
			for(int i=0;i<len/2;i++){
				if(!(useLoop(ar, s.charAt(i))&&s.charAt(i)==s.charAt(len-1-i))){
					if((s.charAt(i)=='b'&&s.charAt(len-1-i)=='d')||(s.charAt(i)=='d'&&s.charAt(len-1-i)=='b')||(s.charAt(i)=='p'&&s.charAt(len-1-i)=='q')||(s.charAt(i)=='q'&&s.charAt(len-1-i)=='p'))
					{
						
					}
					else{
						System.out.println("NIE");
						return;
					}
				}
			}
			System.out.println("TAK");
		}
		else
		{
			if(useLoop(ar, s.charAt(len/2))){
				for(int i=0;i<len/2;i++){
					if(!(useLoop(ar, s.charAt(i))&&s.charAt(i)==s.charAt(len-1-i))){
						if((s.charAt(i)=='b'&&s.charAt(len-1-i)=='d')||(s.charAt(i)=='d'&&s.charAt(len-1-i)=='b')||(s.charAt(i)=='p'&&s.charAt(len-1-i)=='q')||(s.charAt(i)=='q'&&s.charAt(len-1-i)=='p'))
						{
							
						}
						else{
							System.out.println("NIE");
							return;
						}
					}
				}
				System.out.println("TAK");
			}
			else
			{
				System.out.println("NIE");
			}
		}
	}

	
}