#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) for (int i=0;i<(n);i++) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) #define INF (1<<30) #define ALEN(ARR) (sizeof(ARR) / sizeof((ARR)[0])) #define MP make_pair #define mp make_pair #define pb push_back #define PB push_back #if DEBUG #define _DEBUG(x) cout<<#x<<": "< ostream& operator<< (ostream& out, const vector& v) { if ( !v.empty() ) { out << '['; copy (v.begin(), v.end(), ostream_iterator(out, ", ")); out << "\b\b]"; } return out; } /* template end */ int main(){ cin.tie(0); ios::sync_with_stdio(false); cout.precision(16); int n, m; cin >> n >> m; int c = 0, ct = 0; bool b = true; for(int i = 0; i < m; i++) { int t, p; cin >> t >> p; int d = t - ct; int max_ = c + d, min_ = c - d; bool f = p >= c ? p <= max_ : min_ <= p; if(f) { c = p, ct = t; } else { b = false; break; } } #if DEBUG cout << "** RESULT **" << endl; // debug #endif cout << (b ? "Yes" : "No") << endl; return 0; }