#include <bits/stdc++.h> #include <climits> #include <cmath> #include <unordered_set> //#define local #ifdef local #include "dbg-macro/dbg.h" #endif #define p std::pair #define ll long long #define ull unsigned long long #define pi (acos(-1)) #define all(x) (x).begin(), (x).end() #define rep(i, n) for (unsigned long long i = 0; i < (unsigned long long)(n); ++i) #define vec std::vector using namespace std; std::vector<unsigned ll> genprimevec(const unsigned ll N); int main() { int n, m; cin >> n >> m; vec<p<ll, ll>> v(m); rep(i, m) { cin >> v[i].first >> v[i].second; } sort(all(v), [](p<ll, ll> lhs, p<ll, ll> rhs) { return lhs.first < rhs.first; }); int curpos = 0,curtime=0; rep(i, m) { if (abs(curtime- v[i].first) >= abs(v[i].second - curpos)) { // ok] curtime=v[i].first; curpos = v[i].second; }else{ cout<<"No"<<endl;return 0; } } cout<<"Yes"<<endl; return 0; } ll extgcd(ll a, ll b, ll &x, ll &y) { if (b == 0) { x = 1, y = 0; return a; } ll d = extgcd(b, a % b, y, x); y -= a / b * x; return d; } std::vector<unsigned ll> genprimevec(const unsigned ll N) { std::vector<bool> is_prime(N + 1); for (unsigned ll i = 0; i <= N; i++) { is_prime[i] = true; } std::vector<unsigned ll> P; for (unsigned ll i = 2; i <= N; i++) { if (is_prime[i]) { for (unsigned ll j = 2 * i; j <= N; j += i) { is_prime[j] = false; } P.emplace_back(i); } } return P; }