天旋地转
题号:NC220555
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

二维平面上有一个点,假定你的位置在原点,面向 方向(右方是 )。

种操作,其中为参数,表示该操作重复的次数:

  1. r :整个世界的坐标系转 k 次,每次顺时针转 90 度。
  2. l :整个世界的坐标系转 k 次,每次逆时针转 90 度。 
  3. w :往前方走 k 个单位
  4. a :往左方走 k 个单位
  5. d :往右方走 k 个单位 
  6. s : 往后方走 k 个单位

注意,你面朝的方向始终没有发生改变,变化的是这个世界,请输出你最后的位置。

输入描述:

输入的第一行给出一个正整数 ,代表测试数据的组数。
每组测试数据的第一行有个正整数,代表操作的的次数。接下来有 行,每行有一个字母和一个整数 s_i, k_i,分别表示操作和该操作重复的次数。

s_i只会是其中之一。

输出描述:

对于每组测试数据在一行中输出两个数字。第一个数字为  的座标值,第二个为  的座标值,中间以一个空格隔开。
示例1

输入

复制
2
4
d 3
r 1
d 2
w 1
7
s 1
l 1
a 1
l 3
w 1
l 1
d 1

输出

复制
2 2
0 0

说明

第一组测试数据的移动路径为:
1. d \quad 3:\rightarrow (3,0)
2. r \quad 1:整个世界顺时针旋转90度,你目前面向 {x-}
3. d \quad 2: \rightarrow (3,2)
4. w \quad 1: \rightarrow (2,2)

第二组测试数据的移动路径为:
1. s \quad 1:\rightarrow (0,-1)
2. l \quad 1:整个世界逆时针旋转90度,你目前面向 {x+}
3. a \quad 1: \rightarrow (0,0)
4. l \quad 3:整个世界逆时针旋转90度3次,你目前面向 {y+}
5. w \quad 1:\rightarrow (0,1)
6. l \quad 1:整个世界逆时针旋转90度,你目前面向 {x+}
7. d \quad 1:\rightarrow (0,0)