421_B. Start Up_36735
Recently, a start up by two students of a state university of city F gained incredible popularity. Now it's time to start a new company. But what do we call it?

The market analysts came up with a very smart plan: the name of the company should be identical to its reflection in a mirror! In other words, if we write out the name of the company on a piece of paper in a line (horizontally, from left to right) with large English letters, then put this piece of paper in front of the mirror, then the reflection of the name in the mirror should perfectly match the line written on the piece of paper.

There are many suggestions for the company name, so coming up to the mirror with a piece of paper for each name wouldn't be sensible. The founders of the company decided to automatize this process. They asked you to write a program that can, given a word, determine whether the word is a 'mirror' word or not.

Input

The first line contains a non-empty name that needs to be checked. The name contains at most 105 large English letters. The name will be written with the next sans serif font: 

<image>

Output

Print 'YES' (without the quotes), if the given name matches its mirror reflection. Otherwise, print 'NO' (without the quotes).

Examples

Input

AHA


Output

YES


Input

Z


Output

NO


Input

XO


Output

NO
import java.io.*;
import java.util.*;





/**
 *
 * @author ehab
 */

public class JavaApplication7 {
   

    public static void main(String[] args) throws Exception 
    {         long inf = 1000000000000000000l ;
        
              Reader.init(System.in);
              String s = Reader.next() ;
              String ch = "AHIMOTUVWXY" ;
              boolean isPal = true , isRf = true ;
              int n = s.length();
              for(int i = 0 ; i < n ; i++)
                  if(!ch.contains(s.charAt(i)+""))
                    isRf = false ;
              StringBuilder r = new StringBuilder(s) ;
              r = new StringBuilder (r.reverse() );
              for(int i = 0 ; i < n ; i++)
                  if(r.charAt(i) != s.charAt(i))
                      isPal = false ;
              if(isPal && isRf)
                  System.out.println("YES");
              else 
                  System.out.println("NO");
               
             
       
    }
    
    }
              
    
    
    

        
    
    
    class pair implements Comparable<pair>
    {
     int  i,j,d ; 
    pair( int  b  , int x)
    {
   
    
    
    i = b ;
    j = x ;
  
    }
    @Override
    public int compareTo(pair t) {
        if(t.d < d)
            return -1 ;
        else if(t.d > d) return 1 ;
        else return 0 ;
    }
    
    
    
    }
    
   
    
class Reader {
    static BufferedReader reader;
    static StringTokenizer tokenizer;

    
    static void init(InputStream input) {
        reader = new BufferedReader(
                     new InputStreamReader(input) );
        tokenizer = new StringTokenizer("");
    }

   
    static String next() throws IOException {
        while ( ! tokenizer.hasMoreTokens() ) {
            
            tokenizer = new StringTokenizer(
                   reader.readLine() );
        }
        return tokenizer.nextToken();
    }

    static int nextInt() throws IOException {
        return Integer.parseInt( next() );
    }
	
    static double nextDouble() throws IOException {
        return Double.parseDouble( next() );
    }
    static long nextLong() throws IOException{
    return Long.parseLong(next()) ;
    }
}


XO
 Z
 AHA
 WYYW
 Q
 R
 A
 Y
 OVWIHIWVYXMVAAAATOXWOIUUHYXHIHHVUIOOXWHOXTUUMUUVHVWWYUTIAUAITAOMHXWMTTOIVMIVOTHOVOIOHYHAOXWAUVWAVIVM
 C
 QDPINBMCRFWXPDBFGOZVVOCEMJRUCTOADEWEGTVBVBFWWRPGYEEYGPRWWFBVBVTGEWEDAOTCURJMECOVVZOGFBDPXWFRCMBNIPDQ
 ZZ
 JL
 S
 V
 MITIM
 E
 ABA
 I
 HNCMEEMCNH
 H
 YYHUIUGYI
 OMMMAAMMMO
 AABAA
 K
 AAAAAABAAAAAA
 AAAKTAAA
 W
 AAJAA
 AEEA
 D
 VO
 F
 AZA
 SSS
 TT
 X
 LAL
 VIYMAXXAVM
 UUU
 T
 U
 NNN
 AAA
 AHHA
 J
 QOQ
 BAB
 L
 SS
 G
 N
 AKA
 O
 WWS
 B
 CC
 M
 OQQQO
 ADA
 P
 WZYW
 YY
 OVWIHIWVYXMVAAAATOXWOVUUHYXHIHHVUIOOXWHOXTUUMUUVHVWWYUTIAUAITAOMHXWMTTOIVMIVOTHOVOIOHYHAOXWAUVWAVIIM
 QDPINBMCRFWXPDBFGOZVVOCEMJRUCTOADEWEETVBVBFWWRPGYEGYGPRWWFBVBVTGEWEDAOTCURJMECOVVZOGFBDPXWFRCMBNIPDQ
 YZ
 LJ
 ABB
 HNCLEEMCNH
 YYHUITGYI
 PMMMAAMMMO
 AAABA
 @AAAAABAAAAAA
 BAAKTAAA
 AAJ@A
 ADEA
 OV
 STS
 TS
 LLA
 MVAXXAMYIV
 MNN
 AHGA
 QOR
 BBB
 SR
 BKA
 WXS
 CD
 QOQQO
 AAD
 YO
 AHB
 WZXW
 OVWIHIWVYXMVAAAATOXWOVUUHYXHIHHVUIOOXWHOXTUUMUVVHVWWYUTIAUAITAOMHXWMTTOIVMIVOTHOVOIOHYHAOXWAUVWAVIIM
 QDPINBMCRFWXPDBFGOZVVOCEMJRUCTOADEWEETVBVBFWWRPGYEGYGPRWWFBVBVTGEWEDAOTCUQJMECOVVZOGFBDPXWFRCMBNIPDQ
 MJ
 ACB
 HNCLEEMDNH
 YYHUITGYJ
 PMMMAAMMMN
 ABABA
 @AAAAABAAAAAB
 BAALTAAA
 AA@JA
 ADEB
 PV
 TSS
 US
 LLB
 MXAXVAMYIV
 NMN
 @HGA
 POQ
 BCB
 TR
 KBA
 WYS
 CB
 QNQQO
 BAD
 OY
 BHA
 WXZW
 OVWIHIWVYXMVAAAATOXWOVUUHYXIIHHVUIOOXWHOXTUUMUVVHVWWYUTIAUAITAOMHXWMTTOIVMIVOTHOVOIOHYHAOXWAUVWAVIIM
 QDPINBMCRFWXPDBFGOZVVOCEMJRUCTOADEWEETVBVBFWWRPGYEGYGPRWWFBVBVTGEWEDAOTCUQJMECOVV[OGFBDPXWFRCMBNIPDQ
 Y[
 NJ
 CAB
 HNDMEELCNH
 YYHUHTGYJ
 PMMMAAMMLN
 ABABB
 @AAAAABAABAAB
 B@ALTAAA
 AAAJA
 @DEB
 QV
 TRS
 SU
 LKB
 MXAXVAMXIV
 NLN
 AGH@
 PQO
 CBB
 RT
 BK@
 YWS
 BC
 QNQPO
 DAA
 YP
 HBA
 WXYW
 OWWIHIWVYXMVAAAATOXWOVUUHYXIIHHVUIOOXWHOXTUUMUVVHVVWYUTIAUAITAOMHXWMTTOIVMIVOTHOVOIOHYHAOXWAUVWAVIIM
 QDPINBMCRFWXPDBFGOZVVOCEMJRUCTOADEWEETVBVBFWWRPGYEGYGPRWWFBVBVTGEWEDAOTCUQJMECOVV[OGFCDPXWFRCMBNIPDQ
 [Y
 NI
 BBA
 HNCLEFMDNH

NO
 NO
 YES
 YES
 NO
 NO
 YES
 YES
 NO
 NO
 NO
 NO
 NO
 NO
 YES
 YES
 NO
 NO
 YES
 NO
 YES
 NO
 YES
 NO
 NO
 NO
 NO
 YES
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 YES
 YES
 NO
 NO
 YES
 YES
 YES
 NO
 YES
 YES
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 YES
 NO
 NO
 NO
 YES
 NO
 NO
 NO
 NO
 YES
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
 NO
