#include <bits/stdc++.h>
using namespace std;
struct node {
  int p, q;
} a[1009];
bool cmp(node a, node b) {
  if (a.p != b.p) return a.p < b.p;
  if (a.p == b.p) return a.q > b.q;
}
int main() {
  int m, n, i;
  scanf("%d%d", &m, &n);
  for (i = 1; i <= n; i++) {
    scanf("%d%d", &a[i].p, &a[i].q);
  }
  sort(a + 1, a + 1 + n, cmp);
  int sum = m;
  for (i = 1; i <= n; i++) {
    if (sum > a[i].p)
      sum += a[i].q;
    else
      break;
  }
  if (i == n + 1)
    printf("YES\n");
  else
    printf("NO\n");
  return 0;
}
