#include <bits/stdc++.h>
const int INF = 0x3f3f3f3f;
using namespace std;
ostream &operator<<(ostream &os, const vector<int> &v) {
  for (auto i : v) os << ' ' << i;
  return os;
}
ostream &operator<<(ostream &os, const pair<int, int> &p) {
  return os << " (" << p.first << "," << p.second << ")";
}
int main() {
  int n, k;
  scanf(" %d %d", &n, &k);
  set<int> s;
  int x, a;
  for (int i = 0; i < n; i++) {
    x = 0;
    for (int j = 0; j < k; j++) {
      scanf(" %d", &a);
      if (a) x += 1 << j;
    }
    s.insert(x);
  }
  vector<int> v;
  for (auto i : s) v.push_back(i);
  for (int i = 0; i < v.size(); i++) {
    for (int j = i; j < v.size(); j++) {
      if ((v[i] & v[j]) == 0) {
        cout << "YES"
             << "\n";
        return 0;
      }
    }
  }
  cout << "NO"
       << "\n";
  return 0;
}
