#############################################################

import sys
sys.setrecursionlimit(10**7)

from heapq import heappop,heappush
from collections import deque,defaultdict,Counter
from bisect import bisect_left, bisect_right
from itertools import product,combinations,permutations

ipt = sys.stdin.readline

def iin():
    return int(ipt())
def lmin():
    return list(map(int,ipt().split()))

MOD = 998244353
#############################################################

N,M = lmin()
X = lmin()

C = []
T = []
for i in range(N):
    L = lmin()
    C.append(tuple(L[:-1]))
    T.append(L[-1])


S = set()
for i in range(N):

    tpl = []
    for j in range(M):
        u = 10000*X[j]-100*T[i]*C[i][j]
        d = 100-T[i]
        if d == 0:
            break
        if u%d != 0:
            break
        tpl.append(u//d)
    else:
        tpl = tuple(tpl)
        if tpl in S:
            print("Yes")
            exit()

    S.add(tuple(C[i][j]*T[i] for j in range(M)))

C.reverse()
T.reverse()
S = set()
for i in range(N):

    tpl = []
    for j in range(M):
        u = 10000*X[j]-100*T[i]*C[i][j]
        d = 100-T[i]
        if d == 0:
            break
        if u%d != 0:
            break
        tpl.append(u//d)
    else:
        tpl = tuple(tpl)
        if tpl in S:
            print("Yes")
            exit()
            
    S.add(tuple(C[i][j]*T[i] for j in range(M)))

print("No")