У Little Cyan Fish є прямокутна сітка з $n$ рядків та $m$ стовпців. Він хоче поділити сітку на пентаміно. Пентаміно — це область, що складається рівно з п'яти клітинок, з'єднаних через спільні сторони.
Існує дванадцять форм пентаміно, позначених F, I, L, P, N, T, U, V, W, X, Y та Z, як показано нижче. Форму можна повертати або відображати.
Little Cyan Fish хоче, щоб кожна клітинка належала рівно одному пентаміно. Крім того, жодні два пентаміно однакової форми не можуть мати спільну сторону, навіть якщо вони мають різну орієнтацію. Торкатися лише кутом дозволено.
Знайдіть поділ, що задовольняє ці правила. Якщо це неможливо, повідомте про це.
Вхідні дані
Є декілька тестових випадків. Перший рядок вхідних даних містить одне ціле число $T$ ($1 \le T$), що позначає кількість тестових випадків.
Для кожного тестового випадку перший рядок містить два цілі числа $n$ та $m$ ($1 \le n, m \le 1000$), що позначають кількість рядків і стовпців відповідно. Гарантується, що $n \times m$ є кратним $5$.
Гарантується, що сума $n \times m$ за всіма тестовими випадками не перевищує $10^6$.
Вихідні дані
Для кожного тестового випадку, якщо жодного коректного поділу не існує, виведіть один рядок, що містить No. Інакше виведіть один рядок, що містить Yes, після якого виведіть $n$ рядків, кожен з яких містить рядок довжини $m$, що складається лише з дванадцяти великих літер FILPNTUVWXYZ.
Літера в рядку $i$ та стовпці $j$ повинна бути позначенням пентаміно, що містить цю клітинку. Кожна максимальна область однакових літер, з'єднаних через спільні сторони, повинна складатися рівно з п'яти клітинок і мати форму, позначену своєю літерою.
Слова Yes та No не чутливі до регістру. Якщо існує декілька коректних поділів, виведіть будь-який із них.
Приклади
Вхідні дані 1
4 1 5 1 10 3 5 2 10
Вихідні дані 1
Yes IIIII No Yes LLLLT LYTTT YYYYT Yes LLLLNNNPPP LIIIIINNPP