const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // 验证指令是否合法
    function valid(cmd) {
        // 指令长度必须大于1
        if (cmd.length <= 1) return false;
        // 指令只能有一个字母
        if (cmd.match(/[a-z]/gi)?.length > 1) return false;
        // 第一个字符必须时A,D,W,S
        const directions = ["A", "D", "W", "S"];
        if (!directions.includes(cmd[0])) return false;
        // 后面数字必须是大于0,小于100
        const num = +line.substring(1);
        if (num <= 0 || num >= 100) return false;
        // 否则指令合法,返回true
        return true;
    }
    function move(cmd) {
        const direct = cmd[0];
        const num = +cmd.substring(1);
        if (direct === "A") {
            position[0] = position[0] - num;
        } else if (direct === "D") {
            position[0] = position[0] + num;
        } else if (direct === "W") {
            position[1] = position[1] + num;
        } else if (direct === "S") {
            position[1] = position[1] - num;
        }
    }
    // 小人位置
    const position = [0, 0];
    // Write your code here
    while ((line = await readline())) {
        // 拆分为单个指令集合
        const cmdArr = line.split(";").filter((item) => item);
        for (i = 0; i < cmdArr.length; i++) {
            const cmd = cmdArr[i];
            if (!valid(cmd)) continue;
            move(cmd);
        }
        console.log(position.toString());
    }
})();