const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
// Write your code here
await readline();
const map1 = {
b: "dpq",
d: "bpq",
p: "bdq",
q: "bdp",
u: "n",
n: "u",
};
const map2 = {
w: "vv",
m: "nn",
};
const map3 = {
m: "uu",
};
while ((line = await readline())) {
let l = line.length;
for (let i = 0; i < l; i++) {
if (l - i <= i) {
console.log("YES");
break;
} else {
const c1 = line[i];
const c2 = line[l - i - 1];
if (c1 === c2 || map1[c1]?.includes(c2)) {
continue;
} else if (map2[c1] && map2[c1].includes(c2)) {
line = line.slice(0, i) + map2[c1] + line.slice(i + 1);
l = l + 1;
} else if (map2[c2] && map2[c2].includes(c1)) {
line =
line.slice(0, l - i - 1) + map2[c2] + line.slice(l - i);
l = l + 1;
} else if (map3[c1] && map3[c1].includes(c2)) {
line = line.slice(0, i) + map3[c1] + line.slice(i + 1);
l = l + 1;
} else if (map3[c2] && map3[c2].includes(c1)) {
line =
line.slice(0, l - i - 1) + map3[c2] + line.slice(l - i);
l = l + 1;
} else {
console.log("NO");
break;
}
}
}
}
})();