#include <bits/stdc++.h>
using namespace std;
const int MAX = 100010;
set<int> st;
set<int>::iterator it;
int n, k;
int q[MAX];
void get(int x) {
  int M = pow(2, k) - 1;
  for (int i = 0; i < M; ++i) {
    if ((i & x) == 0) st.insert(i);
  }
}
bool solve() {
  if (n == 1 && q[1] == 0) return true;
  for (int i = 1; i <= n; ++i) {
    it = st.find(q[i]);
    if (it == st.end()) {
      get(q[i]);
    } else
      return true;
  }
  return false;
}
int main(void) {
  int x;
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= n; ++i) {
    int res = 0;
    for (int j = 1; j <= k; ++j) {
      scanf("%d", &x);
      res = res * 2 + x;
    }
    q[i] = res;
  }
  if (solve())
    printf("YES\n");
  else
    printf("NO\n");
  return 0;
}
