CSES - Filling Trominos | Lấp đầy tromino

View as PDF

Points: 1800 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

Nhiệm vụ của bạn là lấp đầy một lưới \(n \times m\) bằng cách sử dụng L-tromino (ba ô vuông có hình chữ L). Ví dụ: đây là một cách để lấp đầy lưới \(4 \times 6\):

Input

  • Dòng đầu vào đầu tiên chứa một số nguyên \(t\): số lượng test.
  • Sau đó, có \(t\) dòng mô tả các test. Mỗi dòng chứa hai số nguyên \(n\)\(m\).

Output

  • Đối với mỗi test, hãy in YES nếu có giải pháp và NO nếu ngược lại.
  • Nếu có một giải pháp, cũng in \(n\) dòng mà mỗi dòng chứa \(m\) chữ cái giữa A-Z. Các ô vuông liền kề phải có chính xác cùng một chữ cái khi chúng thuộc cùng một tromino. Bạn có thể in bất kì giải pháp hợp lệ nào.

Constraints

  • \(1 \leq t \leq 100\)
  • \(1 \leq n \leq m \leq 100\)

Example

Sample input:

2  
4 6  
4 7

Sample output:

YES  
AADDBB  
ACCDEB  
BCAEEC  
BBAACC  
NO


Comments

There are no comments at the moment.