逃出生天
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
Special Judge, 64bit IO Format: %lld

题目描述

在一个 n+2m 列的网格世界中,一只可怜的小猪被困在了右上角的位置 (1, m)。它的目标是到达左下角的出口 (n+2, 1),但网格中充满了危险,除了第 1 行和第 n+2 行,每一行都有一只石像在发射激光!



如图所示,所有石像有且仅有左和右两种朝向,每只石像会朝其正前方发射一道激光,被激光照射到的区域均无法通行。


每时刻,小猪可以选择移动到相邻格子。也就是说,如果小猪在当前时刻前处在 (x,y) ,则下一时刻小猪可以移动到网格范围内的 (x-1,y), (x+1,y), (x,y-1), (x,y+1) 其中之一。


任意时刻 ,小猪不能移动到网格之外,不能与石像或处在同一格子,也不能进入被激光照射到的区域中。


请判断小猪是否可以达成目标。

输入描述:

第一行包含两个整数 n, m1 \le n, m \le 1000),含义如题面所示。


接下来 n 行,第 i 行包含一个整数 c_i1 \le c_i \le m)和一个字符 d_id_i \in \{L, R\})。


  • c_i 表示第 i+1 行石像的初始列位置。


  • d_i 表示第 i+1 行石像的方向,’L’ 表示向左,’R’ 表示向右。



输出描述:

输出一行字符串,如果小猪能够到达出口,输出 “YES”,否则输出 “NO” 。


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

示例1

输入

复制
2 2
2 R
1 R

输出

复制
NO
示例2

输入

复制
4 6
2 L
4 R
6 R
4 L

输出

复制
YES