Тріоміно
Фігурка тріоміно — це зв'язна фігура, що складається з трьох квадратів. Існує лише два різних типи таких фігурок, які зображені на рисунку. Інші відрізняються лише поворотами. Прямокутне поле розміром m рядків і n стовпців вважається заповненим фігурками тріоміно, якщо:
Кожна фігурка знаходиться в межах поля і покриває рівно три клітинки.
Фігурки не накладаються одна на одну.
Порожніх (не покритих фігуркою) клітинок не більше двох.
Заповнене фігурками поле можна представити у вигляді прямокутної таблиці. Значення 0 позначає незаповнену клітинку. Однакові натуральні значення позначають, що клітинки належать одній фігурці, різні — різним.
Напишіть програму, яка, проаналізувавши вміст кількох числових двовимірних таблиць, визначить для кожної з них, чи задає вона правильно заповнене фігурками тріоміно прямокутне поле.
Вхідні дані
Перша строка містить кількість прямокутних таблиць t (2 ≤ t ≤ 10). Далі йде t блоків такої структури. Перша строка блоку містить два цілих числа m і n (1 ≤ m ≤ 200, 1 ≤ n ≤ 200) — кількість рядків і кількість стовпців відповідної таблиці. Далі йде m рядків по n цілих чисел у кожній. Значення цих чисел від 0 до [m×n/3] включно. Розмір вхідних даних не перевищує 512 Kb.
Вихідні дані
Вивести t рядків, у кожній — слово YES або слово NO (великими латинськими літерами), позначаючи, чи задає відповідна таблиця правильно заповнене фігурками тріоміно поле.
Примітка: Рисунок до першого блоку: