73 lines
1.4 KiB
Python
73 lines
1.4 KiB
Python
import sys
|
|
|
|
sys.stdin = open('input.txt', 'r')
|
|
sys.stdout = open('output.txt', 'w')
|
|
|
|
n, m = list(map(int, input().split()))
|
|
a = []
|
|
for i in range(n):
|
|
a.append(list(map(int, input().split())))
|
|
|
|
#for i in range(len(a)):
|
|
# print(a[i])
|
|
|
|
def check(mas):
|
|
f = True
|
|
for i in range(len(mas)):
|
|
if mas[i] != mas[0]:
|
|
f = False
|
|
return f
|
|
|
|
for i in range(len(a)):
|
|
if not check(a[i]):
|
|
print('NO')
|
|
quit()
|
|
try:
|
|
slov = {}
|
|
pos = 0
|
|
last = a[pos][0]
|
|
slov[a[pos][0]] = 0
|
|
while a[pos][0] == last:
|
|
slov[a[pos][0]] += 1
|
|
last = a[pos][0]
|
|
pos += 1
|
|
last = a[pos][0]
|
|
###
|
|
try:
|
|
if slov[a[pos][0]]:
|
|
print('NO')
|
|
quit()
|
|
except Exception:
|
|
pass
|
|
slov[a[pos][0]] = 0
|
|
while a[pos][0] == last:
|
|
slov[a[pos][0]] += 1
|
|
last = a[pos][0]
|
|
pos += 1
|
|
last = a[pos][0]
|
|
###
|
|
try:
|
|
if slov[a[pos][0]]:
|
|
print('NO')
|
|
quit()
|
|
except Exception:
|
|
pass
|
|
slov[a[pos][0]] = 0
|
|
while len(a) != pos and a[pos][0] == last:
|
|
slov[a[pos][0]] += 1
|
|
last = a[pos][0]
|
|
pos += 1
|
|
|
|
#print(slov)
|
|
las = -1
|
|
for i in slov:
|
|
if las == -1:
|
|
las = slov[i]
|
|
elif las != slov[i]:
|
|
print('NO')
|
|
quit()
|
|
except Exception:
|
|
print('NO')
|
|
quit()
|
|
print('YES')
|