#include using namespace std; #ifdef LOCAL #include #define OUT(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else #define OUT(...) (static_cast(0)) #endif int main(){ int N, M; cin >> N >> M; assert(2 <= N && N <= 2e5); assert(1 <= M && M <= 10); vector X(M); for(int i = 0; i < M; i++){ cin >> X[i]; assert(0 <= X[i] && X[i] < (1 << 16)); } vector C(N, vector(M, 0)); vector T(N); set> cst; for(int i = 0; i < N; i++){ for(int j = 0; j < M; j++){ cin >> C[i][j]; assert(0 <= C[i][j] && C[i][j] < (1 << 16)); } cst.insert(C[i]); cin >> T[i]; assert(0 < T[i] && T[i] <= 100); } assert(cst.size() == N); set> ctst; for(int i = 0; i < N; i++){ vector ct(M); for(int j = 0; j < M; j++){ ct[j] = C[i][j] * T[i]; } ctst.insert(ct); } bool ans = false; for(int i = 0; i < N; i++){ vector ct(M, -1); for(int j = 0; j < M; j++){ ct[j] = 10000 * X[j] - 100 * T[i] * C[i][j]; if(ct[j] % (100 - T[i]) != 0){ ct[j] = -1; } else{ ct[j] /= (100 - T[i]); } } if(ctst.count(ct)){ ans = true; } } if(ans){ cout << "Yes" << endl; } else{ cout << "No" << endl; } }