#abc025b. [abc025_b]双子とスイカ割り
[abc025_b]双子とスイカ割り
问题描述
直大和直子是一对双胞胎兄妹。今天他们决定在家的走廊上练习西瓜劈。
走廊无限长,沿东西方向延伸,直大的房间入口位于其中某处。一开始,直大和直子站在直大的房间前面。
在西瓜劈的练习中,他们按顺序执行以下 N 次移动:
- 第 i 次移动:直子指定一个方向和距离 (以米为单位)。方向可以是东或西, 是正整数。然后,直大朝指定的方向移动 米。
直大不擅长移动少于 A 米或多于 B 米的距离。因此,当目标移动距离为 米时,最终移动距离如下:
- 如果 ,直大向当前方向移动 A 米。
- 如果 ,直大向当前方向移动 米。
- 如果 ,直大向当前方向移动 B 米。
你的任务是找出直大完成 N 次移动后所处的位置。
输入
输入由标准输入给出,具体格式如下:
N A B s1 d1 s2 d2 : sN dN
- 第一行包含三个整数 N(1 ≤ N ≤ 100)、A 和 B(1 ≤ A ≤ B ≤ 100),以空格分隔。
- 接下来的 N 行描述移动信息。第 i 行(1 ≤ i ≤ N)包含字符串 si 和整数 di(1 ≤ di ≤ 100),以空格分隔。字符串 si 可以是 "East" 或 "West",表示直子指定的方向分别为东和西。
输出
- 如果直大最终位置在直大房间前方东 X 米处(1 ≤ X),则输出字符串 "East" 和 X,以空格分隔,放在一行上。
- 如果直大最终位置在直大房间前方西 X 米处(1 ≤ X),则输出字符串 "West" 和 X,以空格分隔,放在一行上。
- 如果直大最终位置与直大房间前方重合,则输出整数 0,放在一行上。
无论哪种情况,输出末尾都要换行。
示例1
3 5 10
East 7
West 3
West 11
输出示例1
West 8
- 在第一次移动中,直子指定向东移动 7 米。直大向东移动了 7 米,此时他距离直大房间前方东边 7 米的位置。
- 在第二次移动中,直子指定向西移动 3 米。直大向西移动了 5 米,此时他距离直大房间前方东边 2 米的位置。
- 在第三次移动中,直子指定向西移动 11 米。直大向西移动了 10 米,此时他距离直大房间前方西边 8 米的位置。
- 最终,直大位于直大房间前方西边 8 米的位置。
示例2
3 3 8
West 6
East 3
East 1
输出示例2
0
- 在这个例子中,直大最终位置与直大房间前方重合。
示例3
5 25 25
East 1
East 1
West 1
East 100
West 1
输出示例3
East 25