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