#include <bits/stdc++.h>
using namespace std;
const int VM = 16;
bitset<VM> c;
int p[VM];
int main() {
  int n, e;
  cin >> n >> e;
  for (int i = 0; i < n; i++) {
    int cod = 0;
    for (int j = 0; j < e; j++) {
      int x;
      cin >> x;
      if (x == 1) {
        cod += (1 << j);
      }
    }
    c[cod] = 1;
  }
  int np = 0;
  for (int i = 0; i < VM; i++) {
    if (c[i]) {
      p[np++] = i;
    }
  }
  bool exista = false;
  int nr[e];
  for (int i = 1; i < (1 << np); i++) {
    int nrprob = 0;
    for (int k = 0; k < e; k++) {
      nr[k] = 0;
    }
    for (int j = 0; j < np; j++) {
      if (i & (1 << j)) {
        nrprob++;
        for (int k = 0; k < e; k++) {
          if (p[j] & (1 << k)) {
            nr[k]++;
          }
        }
      }
    }
    bool probleme_ok = true;
    for (int k = 0; k < e; k++) {
      if (nr[k] > nrprob / 2) {
        probleme_ok = false;
      }
    }
    if (probleme_ok) {
      exista = true;
    }
  }
  if (exista) {
    cout << "YES";
  } else {
    cout << "NO";
  }
  return 0;
}
