奶龙大战贝利亚
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

奶龙和贝利亚在玩一个游戏,给出一个 n \times m 大小的棋盘,棋盘上摆满了黑白棋,其中有若干个是黑面朝上,若干白面朝上。对于每一轮,玩家可以执行如下操作:
  • 选择其中一行,该行至少存在一个黑面朝上的棋子;
  • 从该行选择至少一个棋子,且选择的棋子中最左边的那个棋子必须为黑面朝上;
  • 将选择的棋子依次翻转(若原先是白面朝上,则翻转后为黑面朝上;若原先是黑面朝上,则翻转后为白面朝上);
两人轮流依次进行操作,奶龙先开始,如果轮到某人时不能进行任何操作,则该人输掉了游戏。给定起始盘面,W 表示该格棋子是白面朝上,B 表示该格棋子是黑面朝上,奶龙想知道在两人都足够聪明的情况下,它是否有必胜法。

输入描述:

    第一行输入两个正整数n,m(1 \leq n \times m \leq 10^6),代表棋盘大小。
    随后n行,每行输入一个由BW组成长m的字符串,表示每行棋子分布。

输出描述:

    对于每一组测试数据,如果奶龙赢输出Yes,贝利亚会赢输出输出No
示例1

输入

复制
6 8
BBBWWBWB
BWBWWBWB
BWBBWBBW
BBBWBWWB
BWBBBBBW
BWWBBWWB

输出

复制
Yes
示例2

输入

复制
2 3
BBB
WWW

输出

复制
Yes