N, M = list(map(int, input().split())) A = [list(map(int, input().split())) for _ in range(M)] for i in range(M): for j in range(N): if i == 0: continue A[i][j] += A[i-1][j] for i in range(M): for j in range(N): if j == 0: continue A[i][j] += A[i][j-1] import bisect def index(a, x): 'Locate the leftmost value exactly equal to x' i = bisect.bisect_left(a, x) if i != len(a) and a[i] == x: return True return False for train_i in range(M): for carriage_i in range(N): target = A[train_i][carriage_i] - 777 if target == 0: print("YES") exit() elif target <= 0: continue if index(A[train_i], target): print("YES") exit() print("NO")