#include <stdio.h>
#include <string.h>

// 多行注释 ctrl+/
/*char *token
 token = strtok(str, 分割符);
  while( token != NULL ) {
     printf( "%s\n", token );
     token = strtok(NULL, 分割符);
   }
 */
//原字符串str的改动是分割符原位置均更改为 '\0',内容还在,可以通过逐个字符打印检验。
//但输出 %s str 是第一个子字符串
//理解strtok将str分割符原位置均更改为 '\0' token指向第一个子字符串  
//剩余存入NULL 所以会有循环取用

//分割+合格的被存储
//计算坐标

//警告 定义字符串要char num[] 或者 *num 不能char num (这只有一个字符)
//警告 判断相等 ==
int islegal(char *str);
int main()
{
	char str[10001] = {0};
	char *temp;
	int A = 0, W = 0, S = 0, D = 0;
	int tnum = 0;
    int num;
    //gets(str);
    scanf("%s",str);
	temp = strtok(str, ";");
	while (temp != NULL)
	{
		tnum = islegal(temp);
		if (tnum)
		{   num = temp[1]-'0';
			if(tnum == 3)
            num =num*10+ temp[2]-'0';
			if (temp[0] == 'A')
				A += num;
			else if (temp[0] == 'W')
				W += num;
			else if (temp[0] == 'S')
				S += num;
			else if (temp[0] == 'D')
				D += num;
		}
		temp = strtok(NULL, ";");
	}
	int x = 0, y = 0;
	x = x + D - A, y = y + W - S;
	printf("%d,%d", x, y);

	return 0;
}

int islegal(char *str)
{
	int ret = strlen(str);
	if (strlen(str) != 2 && strlen(str) != 3)
		ret = 0;
	else if (str[0] != 'A' && str[0] != 'W' && str[0] != 'S' && str[0] != 'D')
		ret = 0;
	else
	{
		if (str[1] > '9' || str[0] < '0')
			ret = 0;
		if (str[2] != '\0' && (str[2] > '9' || str[2] < '0'))
			ret = 0;
	}

	return ret;
}