Задача из Златоуста
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дана матрица целых чисел, состоящая из $$$n$$$ строк и $$$m$$$ столбцов. Строки матрицы пронумерованы целыми числами от $$$1$$$ до $$$n$$$, столбцы целыми числами от $$$1$$$ до $$$m$$$. За одну операцию можно выбрать любую строку $$$i$$$ и любой столбец $$$j$$$ и удалить из матрицы все числа, находящиеся в $$$i$$$-й строке или $$$j$$$-м столбце. Все остальные элементы при этом сдвигаются, заполняя пропуски.

Более формально, если до операции число в $$$x$$$-й строке и $$$y$$$-м столбце было $$$a_{x,y}$$$, то после операции оно сдвинется в предыдущую строку, если $$$x > i$$$, сдвинется в предыдущий столбец, если $$$y > j$$$, а если $$$x = i$$$ или $$$y = j$$$, то будет удалено.

Операцию нельзя применять, если в матрице осталась всего одна строка или один столбец. Определите, можно ли этими операциями добиться того, чтобы в каждой строке и в каждом столбце матрицы числа шли по возрастанию.

Входные данные

В первой строке входных данных содержится два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 2 \cdot 10^6$$$, $$$n \cdot m \le 2 \cdot 10^6$$$) — размеры матрицы.

В следующих $$$n$$$ строках входных данных содержится по $$$m$$$ целых чисел: $$$j$$$-е число в $$$i$$$-й строке — это $$$a_{i, j}$$$ ($$$0 \le a_{i, j} \le 10^9$$$), число, изначально записанное в $$$i$$$-й строке и в $$$j$$$-м столбце матрицы.

Выходные данные

Выведите «Yes», если можно добиться того, чтобы в каждой строке и в каждом столбце числа шли по возрастанию, и «No» иначе.

Вы можете вывести ответ в любом регистре (верхнем или нижнем). Например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительные ответы.

Примеры

Входные данные
2 4
1 15 20 10
33 27 6 18
Выходные данные
Yes
Входные данные
1 1
1000000000
Выходные данные
Yes
Входные данные
2 5
0 0 0 1 2
6 7 8 2 3
Выходные данные
No

Примечание

В первом примере из условия можно применить операцию для второй строки и четвёртого столбца. В результате в матрице останется одна строка с числами $$$1$$$, $$$15$$$, $$$20$$$.

Во втором примере из условия в матрице всего одно число, поэтому можно сказать, что в каждом столбце и в каждой строке числа уже возрастают.

В третьем примере из условия добиться желаемого невозможно вне зависимости от того, как применять операции. Обратите внимание, что числа в итоговой матрице обязаны возрастать строго, равные числа в одной строке или в одном столбце не допускаются.