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