Тріоміно — це зв'язна фігура, що складається з трьох квадратів. Існують лише два різних типи таких фігур, як показано на малюнку. Усі інші тріоміно — це просто обертання цих двох.
Прямокутне поле з рядками і стовпцями вважається заповненим тріоміно, якщо:
Кожне тріоміно повністю розташоване в межах поля та покриває рівно три клітинки.
Тріоміно не перетинаються між собою.
Не більше двох клітин залишаються порожніми (не покриті тріоміно).
Поле, заповнене тріоміно, можна уявити у вигляді прямокутної таблиці. Значення позначає порожню (незаповнену) клітинку. Однакові натуральні числа вказують, що клітинки належать до одного й того ж тріоміно, а різні значення — до різних тріоміно.
Напишіть програму, яка, проаналізувавши вміст декількох числових двовимірних таблиць, визначає для кожної з них, чи є вона правильно заповненим прямокутним полем тріоміно.
У першому рядку міститься кількість прямокутних таблиць (2 \le t \le 10). Далі йдуть блоків такої структури. У першому рядку кожного блоку записано два цілі числа і (1 \le m \le 200, 1 \le n \le 200) — кількість рядків та стовпців відповідної таблиці. Потім йдуть рядків по цілих чисел у кожному. Значення цих чисел лежать у межах від до \left\lfloor \frac{mn}{3} \right\rfloor включно. Обсяг вхідних даних не перевищує Кб.
Виведіть рядків, у кожному з яких повинно міститися слово YES або NO (великими латинськими літерами), що вказує, чи є відповідна таблиця коректно заповненим прямокутним полем тріоміно.
Примітка: зображення для першого блоку:

Приклад 1