[CTSC2006] 方块填数

题目描述

最近,一个方块填数的游戏风靡全球: 给定一个 $n\times m$ 的方块。$n$ 行从上到下标号为 $1$ 到 $n$,$m$ 列从左到右标号为 $1$ 到 $m$。如果一个方格所在的行的标号和所在的列的标号都是奇数,那么该方格就称为奇方格。游戏的开始所有的奇方格中都填上了数。你需要在其他的方格里填数,如果填完数后,方块满足下面条件,你就赢得了这个游戏: 1. 任意一个 $a_1\times b_1$ 的子方块中所有数的和大于 $0$; 2. 任意一个 $a_2\times b_2$ 的子方块中所有数的和小于 $0$; 其中,$a_1$、$b_1$、$a_2$、$b_2$ 都是在游戏的开始给定的。一个 $a\times b$ 的子方块是指行标号在 $i$($1\leq i\leq n-a+1$)到 $i+a-1$ 之间,列标号在 $j(1\leq j\leq m-b+1)$ 到 $j+b-1$ 之间的所有的方格的集合。 小 P 很喜欢这种游戏,他希望你帮助写一个程序给出一种填数的方案,或者告诉他这样的方案不存在。

输入输出格式

输入格式


第一行为用空格分开的 $6$ 个正整数 $n$, $m$, $a_1$, $b_1$, $a_2$, $b_2$。 从第 $2$ 行起到 $\lfloor \frac{n+1}{2} \rfloor+1$ 行,每一行有 $\lfloor \frac{m+1}{2} \rfloor$ 个整数,第 $i+1$ 行的第 $j(j=1,2,\ldots, \lfloor \frac{m+1}{2} \rfloor)$ 个数表示在游戏开始时方块的第 $2i-1$ 行,$2j-1$ 列的方格所填的整数。

输出格式


如果填数方案不存在,输出一行 `No`。 如果填数方案存在,第一行输出 `Yes`。 接下来的 $n$ 行,每一行有用空格分开的 $m$ 个整数,描述一个填数方案。输出的每一个整数必须在 $-10^9$ 到 $10^9$ 之间。

输入输出样例

输入样例 #1

3 3 2 2 3 3
1 1
1 1

输出样例 #1

Yes
1 -1 1
-4 5 -4
1 -1 1

说明

#### 样例说明 ![](https://cdn.luogu.com.cn/upload/image_hosting/genpecku.png) 填完数后,任意 $2\times 2$ 的方块中的数字之和是 $1$;$3\times 3$ 的方块中的数字之和是 $-1$。 #### 数据范围 对于 $100\%$ 的数据,$1\leq n, m, a_1, b_1, a_2, b_2 \leq 100$。方格里已经填的数都在 $-100$ 到 $100$ 之间。