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");
}
}
}