// 想定TLE解法

#include <bits/stdc++.h>
using namespace std;

int main() {
  int n, m;
  cin >> n >> m;
  vector<int> x(m);
  for (int i = 0; i < m; i++) cin >> x[i];
  vector<vector<int>> a(n, vector<int>(m + 1));
  for (int i = 0; i < n; i++) {
    for (int j = 0; j <= m; j++) cin >> a[i][j];
  }

  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (i == j) continue;
      bool flg = true;
      for (int k = 0; k < m; k++) {
        if (x[k] * 10000 != a[i][m] * a[i][k] * 100 + (100 - a[i][m]) * a[j][m] * a[j][k]) {
          flg = false;
          break;
        }
      }
      if (flg) {
        cout << "Yes" << endl;
        return 0;
      }
    }
  }
  cout << "No" << endl;
}