n, m = map(int, input().split()) assert 2 <= n <= 200000 assert 1 <= m <= 10 X = list(map(int, input().split())) assert all(0 <= x < (1 << 16) for x in X) C = [] T = [] for _ in range(n): C_ = list(map(int, input().split())) t = C_.pop() assert len(C_) == m assert 0 < t <= 100 assert all(0 <= c < (1 << 16) for c in C_) T.append(t) C.append(C_) inds = {} for i in range(n): if T[i] == 100: if C[i] == X: print("Yes") exit() D = tuple(T[i] * c for c in C[i]) inds.setdefault(D, []).append(i) X = [x * 10000 for x in X] for i in range(n): if T[i] == 100: continue D = [0] * m ok = True for j in range(m): D[j] = X[j] - 100 * T[i] * C[i][j] if D[j] % (100 - T[i]) != 0: ok = False break D[j] //= 100 - T[i] if ok: tup = tuple(D) if tup in inds and (len(inds[tup]) > 1 or inds[tup][0] != i): print("Yes") exit() print("No")