import java.util.Scanner;
import java.util.ArrayList;
public class Main{

public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    //接收数据
    while(sc.hasNext()){
        String str=sc.next();
        System.out.println(getPosition(str));
    }
}
//定义移动的方法
public  static String getPosition(String str){
    //定义坐标,初始值为0
    int x=0;
    int y=0;
    //长度异常得(其实可以改为length<=1,毕竟方向加数字,起码两个吧)直接返回
    if(str.length()==0||str==null){
        return x+","+y;
    }
    //按;分割字符串
    String[] strs=str.split(";");
    //guo'lü'sh建立集合接收过滤后的值
    ArrayList<String> step=filterData(strs);
    //循环按规则移动
    for(String ele:step){
        //方向
        char direction=ele.charAt(0);
        //移动距离
        int distance=Integer.parseInt(ele.substring(1));
        //那就按规则移动得了
        switch (direction){
            case 'A':
                x-=distance;
                break;
            case 'D':
                x+=distance;
                break;
            case 'S':
                y-=distance;
                break;
            case 'W':
                y+=distance;
                break;
        }
    }
    return x+","+y;

}
//过滤数据得方法
public static ArrayList<String> filterData(String[] strs){
    ArrayList<String> returnData=new ArrayList<>();
    //第一个字母可能性的字符集合,为什么不用数组?集合可以用contains啊!
    ArrayList<String> first=new ArrayList<>();
    first.add("A");
    first.add("W");
    first.add("S");
    first.add("D");
    //第二个之后的数字可以存在的集合(1-99)
    ArrayList<String> rest=new ArrayList<>();
    for(int i=1;i<=99;i++){
        rest.add(""+i);
    }
    //过滤数据
    for(int i=0;i<strs.length;i++){
        if(strs[i].length()>1){ //方向加数据,起码得两个吧
            if(first.contains(strs[i].charAt(0)+"")){ //字母集合中存在再进入下一组判断。你看用集合多简单
            String temp=strs[i].substring(1); //截取数字部分
            if(rest.contains(temp)){ //是数字就把他放在集合里面
                returnData.add(strs[i]);
            }
        }
        }

    }
    //返回筛选过得数据
    return returnData;
}

}