#include <bits/stdc++.h>
using namespace std;
const int MAXN = int(1e5) + 10;
const int MOD = int(1e9) + 7;
const int oo = INT_MAX;
int n, k;
bool check(const vector<int>& all, int mask) {
  int t = __builtin_popcount(mask);
  for (int i = 0; i < k; ++i) {
    int cnt = 0;
    for (int j = 0; j < int((all).size()); ++j) {
      if ((mask >> j) & 1) {
        cnt += ((all[j] >> i) & 1);
      }
    }
    if (cnt * 2 > t) return false;
  }
  return true;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  while (cin >> n >> k) {
    vector<int> all;
    for (int i = 0; i < n; ++i) {
      int mask = 0;
      for (int j = 0; j < k; ++j) {
        int x;
        cin >> x;
        mask |= (x << j);
      }
      all.push_back(mask);
    }
    sort((all).begin(), (all).end());
    all.resize(unique((all).begin(), (all).end()) - all.begin());
    bool can = false;
    int sz = int((all).size());
    for (int i = 1; i < (1 << sz); ++i) {
      can |= check(all, i);
    }
    cout << (can ? "YES" : "NO") << '\n';
  }
  return 0;
}
