Операції зі стовпцями та літерою Г
Limits: 1 sec., 512 MiB
Задано матрицю \(a\) з \(n\) рядків та \(m\) стовпців, що складається з нулів та одиниць.
З матрицею можна виконувати такі операції будь-яку, можливо нульову, кількість разів.
Вибрати число \(j\) (\(1 \le j \le m\)) та змінити значення всіх елементів в \(j\)-ому стовпці на протилежні (нулі на одиниці, а одиниці — на нулі).
Вибрати числа \(i\) та \(j\) (\(1 \le i \le n - 1, 1 \le j \le m - 1\)), та замінити на протилежні значення трьох елементів \(a_{i, j}, a_{i + 1, j}, a_{i, j + 1}\), які розташовані літерою Г.
Визначте, чи можна перетворити \(a\) на нульову матрицю за будь-яку кількість операцій.
Розв’яжіть цю задачу для \(t\) матриць.
Input
У першому рядку задано ціле число \(t\) — кількість матриць, для яких потрібно розв’язати задачу.
У наступних \(t\) блоках задано описи матриць.
У першому рядку кожного блоку задано два цілих числа \(n\) і \(m\) — кількість рядків та стовпців матриці.
У наступних \(n\) рядках блоку задано матрицю, що складається з нулів та одиниць, розділених пропусками.
Output
У \(t\) рядках виведіть відповіді
для кожної матриці. Якщо матрицю можна перетворити на нульову, виведіть
у відповідному рядку Yes
, інакше — No
.
Constraints
\(1 \le t \le 100\),
\(1 \le n, m \le 1000\),
Сума \(n\) та \(m\) по всіх тестах не перевищує \(2000\),
\(a_{i, j} \in \{\verb|0|, \verb|1|\}\).
Samples
Input (stdin) | Output (stdout) |
---|---|
2 2 2 0 1 1 0 3 4 0 1 1 1 1 0 0 1 1 0 0 1 | No Yes |
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|