Statement is not available in English language
C. 逃出生天
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

在一个 n 行 m 列的网格猪圈中,一只可怜的小猪被困在了右上角的位置 (1, m)。它的目标是到达左下角的出口 (n, 1),但网格中充满了危险,每一行都有一只凶猛的老虎在巡逻!

每时刻,小猪先执行移动,老虎后执行移动 ,移动方式如下:

  • 小猪移动时,可以选择 移动到相邻格子或停留在原地 。也就是说,如果小猪在当前时刻前处在 (x, y) ,则下一时刻小猪可以移动到网格范围内的 (x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1), (x, y) 其中之一。
  • 老虎移动时,只会尝试沿着当前方向移动:如果老虎前进方向的下一个格子在网格范围内,则朝当前方向前进一格;否则老虎将先把移动方向反向,然后再朝当前方向前进一格。

在任意时刻的小猪或老虎移动前或移动后,需要保证小猪不能移动到网格外,且不能与任何老虎处在同一格子中(包括移动到出口的时刻)。

保证初始时小猪与所有老虎不在同一格子 ,请你帮小猪判断它是否可以达成目标。

Input

第一行包含两个整数 n, m(2 ≤ n, m ≤ 100),表示网格的行数和列数。

接下来 n 行,第 i 行包含一个整数 ci(1 ≤ ci ≤ m)和一个字符 di()。

  • ci 表示第 i 行老虎的初始列位置。
  • di 表示老虎的初始移动方向,'L' 表示向左,'R' 表示向右。

保证 c1 ≠ m 。

Output

如果小猪能够到达出口,输出 "YES",否则输出 "NO" 。

你可以以任意大小写输出 "YES" 和 "NO"(例如,字符串 "yEs"、"yes"、"Yes" 和 "YES" 将被识别为肯定的回答)。

Examples
Input
2 2
1 R
1 R
Output
NO
Input
2 5
3 L
2 R
Output
YES
Input
5 4
3 R
2 L
3 L
4 R
3 R
Output
NO
Note

对于第一个测试样例,小猪无法到达出口:

  • 在第一个时刻,小猪只能移动到 (2, 2) 或停留在 (1, 2) 。
  • 无论它如何选择,老虎移动后都将与小猪处在同一格子中。

对于第二个测试样例,小猪可以按以下次序逐步移动到 (2, 1) :

  • 小猪移动到 (1, 4) ,然后两只老虎分别移动到 (1, 2) 和 (2, 3) 。
  • 小猪移动到 (1, 3) ,然后两只老虎分别移动到 (1, 1) 和 (2, 4) 。
  • 小猪移动到 (2, 3) ,然后两只老虎分别移动到 (1, 2) 和 (2, 5) 。
  • 小猪移动到 (2, 2) ,然后两只老虎分别移动到 (1, 3) 和 (2, 4) 。
  • 小猪移动到 (2, 1) ,然后两只老虎分别移动到 (1, 4) 和 (2, 3) 。