using System;
using System.Collections.Generic;
using System.Text;
public class Program {
    public static void Main() {
        int.TryParse(Console.ReadLine(), out int n);
        for (int i = 0; i < n; i++) {
            string input = Console.ReadLine();
            StringBuilder sb = new StringBuilder();
            bool IsPalindrome = true;

            //设置等价类
            HashSet<char> set1 = new HashSet<char> {'q', 'b', 'p', 'd'};
            HashSet<char> set2 = new HashSet<char> {'n', 'u'};

            //规范化字符串,把所有m变成nn,所有w变成vv
            foreach (var item in input) {
                if (item == 'm') {
                    sb.Append("nn");
                } else if (item == 'w') {
                    sb.Append("vv");
                } else {
                    sb.Append(item);
                }
            }

            string formatedStr = sb.ToString();

            //双指针遍历字符串
            int left = 0;
            int right = formatedStr.Length - 1;

            while (left < right) {
                char leftC = formatedStr[left];
                char rightC = formatedStr[right];
                if (leftC != rightC) {
                    if ((set1.Contains(leftC) && set1.Contains(rightC)) || set2.Contains(leftC) &&
                            set2.Contains(rightC) ) {
                        left++;
                        right--;
                        continue;
                    } else {
                        IsPalindrome = false;
                        break;
                    }
                } else {
                    left++;
                    right--;
                }
            }

            Console.WriteLine(IsPalindrome ? "YES" : "NO");

        }
    }
}