#agc016c. [agc016_c]+/- Rectangle

[agc016_c]+/- Rectangle

题目描述

给定四个整数:HHWWhhww (1hH1 ≤ h ≤ H, 1wW1 ≤ w ≤ W)。确定是否存在一个矩阵,满足以下所有条件,并且如果答案为正,则构造出这样的矩阵:

  • 矩阵具有 HH 行和 WW 列。
  • 矩阵的每个元素是介于 109-10^910910^9 之间的整数(包含边界值)。
  • 矩阵所有元素的和为正。
  • 矩阵中每个 hhww 列的子矩阵内元素的和为负。

约束条件

  • 1hH5001 ≤ h ≤ H ≤ 500
  • 1wW5001 ≤ w ≤ W ≤ 500

输入

输入从标准输入读取,格式如下:

HH WW hh ww

输出

如果不存在满足所有条件的矩阵,则输出 No

否则,在第一行输出 Yes,随后在多行中按以下格式输出一个矩阵:

a11a_{11} ...... a1Wa_{1W} :: aH1a_{H1} ...... aHWa_{HW}

这里,aija_{ij} 表示矩阵的 (i,j)(i,\\ j) 位置的元素。

示例输入 1

3 3 2 2

示例输出 1

Yes
1 1 1
1 -4 1
1 1 1

这个矩阵中所有元素的和为 44,是正数。此外,在这个矩阵中,有四个 2222 列的子矩阵,如下所示。对于每个子矩阵,内部所有元素的和为负 \-1\-1

bbdb651fa1f05996886da9f0c4d8090a.png

示例输入 2

2 4 1 2

示例输出 2

No

示例输入 3

3 4 2 3

示例输出 3

Yes
2 -5 8 7
3 -5 -4 -5
2 1 -1 7