#agc021c. [agc021_c]Tiling

[agc021_c]Tiling

题目描述

Takahashi 有一个 N×MN \times M 的网格,其中有 NN 行和 MM 列。判断是否可以满足以下条件放置 AA1×21 \times 2 砖块(11 纵向,22 横向)和 BB2×12 \times 1 砖块(22 纵向,11 横向),并构造出一种砖块的摆放方式:

  • 所有砖块必须放置在网格上。
  • 砖块不能超出网格,并且任意两个不同的砖块不能相交。
  • 网格和砖块都不能旋转。
  • 每个砖块完全覆盖两个方格。

约束条件

  • 1N,M10001 \leq N,M \leq 1000
  • 0A,B5000000 \leq A,B \leq 500000
  • NNMMAABB 都是整数。

输入

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

NN MM AA BB

输出

如果无法放置所有砖块,输出 NO。否则,输出如下内容:

YES c11...c1Mc_{11}...c_{1M} : cN1...cNMc_{N1}...c_{NM}

这里,cijc_{ij} 必须是以下字符之一:.<>^v。根据下面的规则使用每个字符来表示砖块的摆放方式:

  • cijc_{ij}. 时,表示第 ii 行和第 jj 列的方格为空;
  • cijc_{ij}< 时,表示第 ii 行和第 jj 列的方格被 1×21 \times 2 砖块的左半部分覆盖;
  • cijc_{ij}> 时,表示第 ii 行和第 jj 列的方格被 1×21 \times 2 砖块的右半部分覆盖;
  • cijc_{ij}^ 时,表示第 ii 行和第 jj 列的方格被 2×12 \times 1 砖块的上半部分覆盖;
  • cijc_{ij}v 时,表示第 ii 行和第 jj 列的方格被 2×12 \times 1 砖块的下半部分覆盖。

示例输入 1

3 4 4 2

示例输出 1

YES
<><>
^<>^
v<>v

这是一种在 3×43 \times 4 的网格上放置四个 1×21 \times 2 砖块和三个 2×12 \times 1 砖块的摆放方式。


示例输入 2

4 5 5 3

示例输出 2

YES
<>..^
^.<>v
v<>.^
<><>v

示例输入 3

7 9 20 20

示例输出 3

NO