AT_ttpc2024_1_j Grid Construction

Description

正整数 $ H,W $ が与えられます。あなたは座標平面にいくつかの「コの字」を用いて $ H $ 行 $ W $ 列のグリッドを描こうとしています。 $ 1 $ つのコの字を描くには、次の操作を行います。 - $ 1\le x\le H, 1\le y\le W $ なる整数 $ x,y $ を選ぶ。 - 次の $ 4 $ 本の線分のうち、異なる $ 3 $ 本を選ぶ。 - $ (x-1,y-1) $ と $ (x-1,y) $ を端点に持つ線分 - $ (x-1,y-1) $ と $ (x,y-1) $ を端点に持つ線分 - $ (x,y) $ と $ (x-1,y) $ を端点に持つ線分 - $ (x,y) $ と $ (x,y-1) $ を端点に持つ線分 - 選んだ $ 3 $ 本の線分を座標平面に描く。 ただし、描いた線分は、それまでに描いた線分と端点以外で共有点を持ってはいけません。 $ 0 \le x \le H, 0 \le y \le W $ の範囲にある格子点同士を結ぶ長さ $ 1 $ の線分すべてを、この操作を繰り返すことで描くことは可能でしょうか?可能である場合は一例を示してください。

Input Format

入力は以下の形式で与えられる。 > $ H $ $ W $

Output Format

操作を繰り返してグリッドを描くことが不可能である場合は、`No` を出力せよ。 操作を繰り返してグリッドを描くことが可能である場合は、そのような操作列を以下の形式で出力せよ。 > Yes $ S_1 $ $ \vdots $ $ S_H $ ここで、 $ S_1, \dots, S_H $ はそれぞれ長さ $ W $ の文字列であり、 $ S_i $ の $ j $ 文字目 ( $ 1

Explanation/Hint

### 部分点 追加の制約 $ H, W \le 5 $ を満たすデータセットに正解した場合は $ 10 $ 点が与えられる。 ### ビジュアライザ 以下のリンクからビジュアライザを利用できます。 [https://img.atcoder.jp/ttpc2024\_1/grid\_construction\_visualizer\_9cdb863ae8b195d0a47d8d6e2c9e05cd.html](https://img.atcoder.jp/ttpc2024_1/grid_construction_visualizer_9cdb863ae8b195d0a47d8d6e2c9e05cd.html) ### Sample Explanation 1 図のようにコの字を描くことで、 $ 3 \times 3 $ のグリッドを描くことができます。中央のマスに対応する場所にはコの字を描いていないことに注意してください。(見やすさのため、コの字に色をつけていますが、問題には関係ありません。) ![](https://cdn.luogu.com.cn/upload/vjudge_pic/AT_ttpc2024_1_j/cd57bff5e2d7b09fa0ab1af82578cb8a3d80af6e2c6f62a3e4c2fc1a3295e98b.svg) ### Constraints - 入力はすべて整数 - $ 1\le H,W\le 1000 $