← К списку задач

Священное полотно

Странник из древней Берляндии уже две тысячи лет ищет ✝️ священное полотно размером n×mn \times m клеток. Каждая из клеток окрашена в какой-то цвет, условно обозначенный числом от 11 до 10910^9.

Старцы называют полотно ✝️ священным, если его можно разрезать несколькими взмахами священным мечом. При том, дабы не нарушать ритуал, должны выполняться три условия:

  • Разрез должен проходить через все полотно либо по горизонтали, либо по вертикали, и идти между клеток
  • Разрез не может продохить между двух клеток одного цвета
  • По результатам всех разрезов все куски полотна должны быть однотонными, т. е состоять ровно из одного цвета

Определите, является ли заданное полотно ✝️ священным.

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

В первой строке вам явятся nn и mm - высота и ширина полотна (1nm21051 \le n \cdot m \le 2 \cdot 10^5).

В следующих nn строках перед вами предстанут по mm чисел - элементы полотна.

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

В единственной строке представьте на суд жюри строку YES, если вы находите полотно ✝️ священным, и NO в противном случае.

Подзадачи

баллынеобх. подзадачиограничения
1

20

-

n,m4n, m \le 4

2

25

1

nm2000n \cdot m \le 2000

3

55

2

nm2105n \cdot m \le 2 \cdot 10^5

STDINSTDOUT
4 4
1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4
YES
4 4
1 2 2 1
1 2 2 1
1 2 2 1
1 2 2 1
YES
4 4
1 2 2 1
1 2 2 1
1 2 2 1
3 3 3 3
NO

Примечание

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