import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		int t=scanner.nextInt();
		while(t-->0) {
			String string=scanner.next();
//			首先要明确,bdpq这四个字母是可以相互转换的,也就是同一等价类,那么我们就可以把这些字母统一一下
//			nu同理
//			然后就是m可以拆成nn,w可以拆成vv,我们索性全部都拆
			string=string.replace('d', 'b').replace('p', 'b').replace('q', 'b');
			string=string.replace("m", "nn").replace("w", "vv").replace('n', 'u');
			
			if(huiwen(string)) {
				System.out.println("YES");
			}else {
				System.out.println("NO");
			}
			
		}

	}
	public static boolean huiwen(String string) {
		StringBuilder sBuilder=new StringBuilder(string).reverse();
		
		if(string.equals(sBuilder.toString())) {
			return true;
		}
		return false;
	}
	

}

这题看起来很复杂,但是说白了,题目说了一堆,就是想告诉我们bdpq、nu是等价的,然后m和w可以拆分,既然要判断能不能变成回文,那么就干脆全部标准化,把同一类的统一为同一个字母,但是这里又有一个问题,就是如果我在拆分m前把n和u标准化,那么后面又会出现n,导致没有彻底标准化,所以n和u应该放在最后进行标准化