#include <bits/stdc++.h>
using namespace std;
struct my {
  int a, b;
};
bool com(my ob, my ob1) {
  if (ob.a < ob1.a)
    return true;
  else
    return false;
}
int main() {
  long long int n, n1;
  int a, b;
  int f = 1;
  cin >> n >> n1;
  my ob[n1];
  for (int i = 0; i < n1; i++) {
    cin >> ob[i].a >> ob[i].b;
  }
  sort(ob, ob + n1, com);
  for (int i = 0; i < n1; i++) {
    if (n > ob[i].a) {
      n = n + ob[i].b;
    } else {
      f = 0;
      break;
    }
  }
  if (f == 1)
    cout << "YES";
  else
    cout << "NO";
  return 0;
}
