// CERC 2012 // Problem C: Chemist's vows // O(n) solution // Author: Lech Duraj import java.util.Scanner; public class C { public static String E[] = {"H","He","Li","Be","B","C","N","O","F","Ne","Na","Mg","Al","Si","P","S","Cl","Ar","K","Ca","Sc","Ti","V","Cr","Mn","Fe","Co","Ni","Cu","Zn","Ga","Ge","As","Se","Br","Kr","Rb","Sr","Y","Zr","Nb","Mo","Tc","Ru","Rh","Pd","Ag","Cd","In","Sn","Sb","Te","I","Xe","Cs","Ba","Hf","Ta","W","Re","Os","Ir","Pt","Au","Hg","Tl","Pb","Bi","Po","At","Rn","Fr","Ra","Rf","Db","Sg","Bh","Hs","Mt","Ds","Rg","Cn","Fl","Lv","La","Ce","Pr","Nd","Pm","Sm","Eu","Gd","Tb","Dy","Ho","Er","Tm","Yb","Lu","Ac","Th","Pa","U","Np","Pu","Am","Cm","Bk","Cf","Es","Fm","Md","No","Lr"}; public static void main(String args[]) { Scanner in = new Scanner(System.in); int TT = in.nextInt(); in.nextLine(); while(TT>0) { TT--; String s = in.nextLine(); Boolean [] A; A = new Boolean[s.length()+1]; A[0] = true; for(int q=0; q<114; q++) E[q] = E[q].toLowerCase(); for(int i=1; i<=s.length(); i++) { A[i] = false; for(int q=0; q<114; q++) { int k = E[q].length(); if (i>=k && A[i-k].equals(true) && s.substring(i-k,i).equals(E[q])) A[i] = true; } } if (A[s.length()]) System.out.println("YES"); else System.out.println("NO"); } } }