题目描述
最近,一个方块填数的游戏风靡全球:
给定一个 n×m 的方块。n 行从上到下标号为 1 到 n,m 列从左到右标号为 1 到 m。如果一个方格所在的行的标号和所在的列的标号都是奇数,那么该方格就称为奇方格。游戏的开始所有的奇方格中都填上了数。你需要在其他的方格里填数,如果填完数后,方块满足下面条件,你就赢得了这个游戏:
- 任意一个 a1×b1 的子方块中所有数的和大于 0;
- 任意一个 a2×b2 的子方块中所有数的和小于 0。
其中,a1,b1,a2,b2 都是在游戏的开始给定的。一个 a×b 的子方块是指行标号在 i (1≤i≤n−a+1) 到 i+a−1 之间,列标号在 j (1≤j≤m−b+1) 到 j+b−1 之间的所有的方格的集合。
小 P 很喜欢这种游戏,他希望你帮助写一个程序给出一种填数的方案,或者告诉他这样的方案不存在。
输入格式
第一行为用空格分开的 6 个正整数 n,m,a1,b1,a2,b2。
接下来 ⌊2n+1⌋ 行,每一行有 ⌊2m+1⌋ 个整数,第 i+1 行的第 j (j=1,2,…,⌊2m+1⌋) 个数表示在游戏开始时方块的第 2i−1 行,第 2j−1 列的方格所填的整数。
输出格式
如果填数方案不存在,仅输出一行 No
。
如果填数方案存在,先输出一行 Yes
。接下来 n 行,每一行为用空格分开的 m 个整数,描述一个填数方案。输出的每一个整数必须在 −109 到 109 之间。
3 3 2 2 3 3
1 1
1 1
Yes
1 -1 1
-4 5 -4
1 -1 1
提示
样例说明

填完数后,任意 2×2 的方块中的数字之和是 1;3×3 的方块中的数字之和是 −1。
数据范围
对于 100% 的数据,1≤n,m,a1,b1,a2,b2≤100。方格里已经填的数都在 −100 到 100 之间。