Juraj Jánošík(1688–1713)是斯洛伐克传说中的侠盗,据说他劫富济贫。根据我们的文献记载,他在一个网格状的乡村里行侠仗义。该网格由 $(N + 1) \times (M + 1)$ 个交叉路口组成,每对相邻的交叉路口之间都由一条道路连接。每条道路旁都有一户人家,他们要么富有,要么贫穷。由 4 条道路围成的每个区域被称为一块田地。
现在,Jánošík 以一种非常特殊的方式工作。每天,他会选择一条沿着道路的路径,并拜访这些道路上的所有人家。如果这户人家是富有的,他当然会抢夺他们,使他们变穷。另一方面,如果这户人家是贫穷的,他会给予他们,使他们变富。Jánošík 随身携带了足够的钱,可以让任意数量的人家变富。同样,Jánošík 的口袋足够大,可以抢劫任意数量的人家。
此外,Jánošík 选择的路径总是具有特定的性质。Jánošík 要么:
- 沿直线行驶,从国家的一侧边界走到对侧边界,沿着这条直线恰好拜访每户人家一次;
- 或者选择一个由田地组成的连通区域,并沿着该区域周边的道路行走,恰好拜访每户人家一次。
最近,历史学家们发现了记录,显示了 1687 年哪些人家富有、哪些人家贫穷,以及 1714 年的另一份记录,两者来自同一个国家。他们希望你找出财富的重新分配是否可能完全是由 Jánošík 造成的。Jánošík 可能已经进行了任意多次的财富重新分配。
图 1:Jánošík 沿直线行驶的示例。被拜访的人家被阴影标出。
图 2:Jánošík 沿着田地连通区域的周长行走的示例。田地区域呈浅色阴影,被拜访的人家被阴影标出。
输入格式
第一行包含两个整数 $N, M$($1 \le N \cdot M \le 100$),分别表示每列和每行的田地数量。
接下来有 $2N + 1$ 行,描述网格中对应行的人家的初始状态。每行由一串由 0 和 1 组成的序列,其中 0 表示贫穷的人家,1 表示富有的人家。第一行包含 $M$ 个数字,第二行包含 $M + 1$ 个数字,第三行包含 $M$ 个数字,第四行包含 $M + 1$ 个数字,依此类推。
接下来的 $2N + 1$ 行以相同的格式描述人家的最终状态。
输出格式
输出单行 Yes 或 No,表示最终的人家状态是否可以通过对初始状态进行 Jánošík 的操作来得到。
样例
输入样例 1
3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
输出样例 1
Yes
输入样例 2
3 3 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
输出样例 2
Yes
输入样例 3
2 2 0 0 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 1
输出样例 3
No