给你一个大小为 $n \times m$ 的 01 矩阵 $A$。简单来说,它是一个 $n$ 行 $m$ 列的表格,每个单元格的值为 $0$ 或 $1$。
在一次操作中,你可以选择该矩阵中的一个单元格 $(i, j)$,并翻转该单元格以及所有与其共享一条边的单元格中的值。形式化地,对于每个满足 $1 \le s \le n$ 且 $1 \le t \le m$ 且 $|s - i| + |t - j| \le 1$ 的单元格 $(s, t)$,应用变换 $A_{s,t} \leftarrow 1 - A_{s,t}$。
请找到一种操作方案,使得矩阵中的所有元素都变为 $0$,或者说明这是不可能的。
输入格式
第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 500$),表示矩阵的大小。
接下来的 $n$ 行中,第 $i$ 行包含一个长度为 $m$ 的二进制字符串,对应矩阵的第 $i$ 行。
输出格式
如果无解,请在单行中输出单词 NO。
否则,在第一行输出单词 YES。在接下来的 $n$ 行中,每行输出一个长度为 $m$ 的二进制字符串。这些字符串构成一个大小为 $n \times m$ 的矩阵。当且仅当你打算对对应的单元格进行操作时,该位置的元素才为 $1$。
当然,所有选择的操作组合在一起,必须能够将初始矩阵转换为全零矩阵。
如果存在多种解决方案,输出其中任意一种即可。
你可以输出任意大小写的单词(例如 YES、yes、No 等)。
样例
输入样例 1
3 4 1000 0001 0100
输出样例 1
YES 0100 0110 1100