CSES - Filling Trominos
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Your task is to fill an n \times m grid using L-trominos (three squares that have an L-shape). For example, here is one way to fill a 4 \times 6 grid:

Input

The first input line has an integer t: the number of tests.

After that, there are t lines that describe the tests. Each line has two integers n and m.

Output

For each test, print YES if there is a solution, and NO otherwise.

If there is a solution, also print n lines that each contain m letters between A–Z. Adjacent squares must have the same letter exactly when they belong to the same tromino. You can print any valid solution.

Constraints

  • 1 \le t \le 100
  • 1 \le n,m \le 100

Example

Input:

2
4 6
4 7

Output:

YES
AADDBB
ACCDEB
BCAEEC
BBAACC
NO