#!/usr/bin/python
# -*- coding: utf8 -*-
#
# Задача "Шоколад"
# XVIII командный чемпионат школьников Санкт-Петербурга по программированию
# Автор задачи: Виталий Аксенов
# Автор решения: Владимир Ульянцев, ulyantsev@rain.ifmo.ru

with open('chocolate.in') as inf:
    n, m = [int(s) for s in inf.readline().split()]
    a = [[int(i) for i in s.split()] for s in inf.readlines()]

cant_x = set()
cant_y = set()
for i in xrange(n):
    cant_x.update([j for j in xrange(m) if j > 0 and a[i][j] == a[i][j - 1]])
    cant_y.update([i for j in xrange(m) if i > 0 and a[i - 1][j] == a[i][j]])

print >>open('chocolate.out', 'w'), 'No' if len(cant_y) == n - 1 and len(cant_x) == m - 1 else 'Yes'
