#include <bits/stdc++.h>
#define sz(v)   ((int)(v).size())
#define  all(v)    ((v).begin()),((v).end())
#define  allr(v)    ((v).rbegin()),((v).rend())
#define   pb         push_back
#define   mp         make_pair
#define   Y            imag()
#define   X            real()
#define    clr(v,d)      memset( v, d ,sizeof(v))
#define   angle(n)      atan2((n.imag()),(n.real()))
#define   vec(a,b)       ((b)-(a))
#define   length(a)      hypot( (a.imag()),(a.real()) )
#define   normalize(a)      (a)/(length(a))
#define    dp(a,b)          (((conj(a))*(b)).real())
#define    cp(a,b)          (((conj(a))*(b)).imag())
#define    lengthsqrt(a)       dp(a,a)
#define    rotate0( a,ang)    ((a)*exp( point(0,ang) ))
#define    rotateA(about,p,ang)   (rotate0(vec(about,p),ang)+about)
#define    lcm(a,b)                ((a*b)/(__gcd(a,b)))
#define    reflection0(m,v)         (conj((v)/(m))*(m))
#define     reflectionA(m,v,p0)     (conj( (vec(p0,v))/(vec(p0,m)) ) * (vec(p0,m)) ) + p0
#define     same(p1,p2)               ( dp(  vec(p1,p2),vec(p1,p2)) < eps )
#define     point                    complex<long double>
#define     PI                       acos(-1)
typedef  long long     ll ;
typedef  unsigned long long ull;
const double eps= (1e-15);
using namespace std;
int dcmp(double a,double b){   return fabs(a-b)<=eps ? 0: (a>b)? 1:-1  ;}
int getBit(ll num, int idx) {return ((num >> idx) & 1ll) == 1;}
int setBit1(int num, int idx) {return num | (1<<idx);}
ll setBit0(ll num, int idx) {return num & ~(1ll<<idx);}
ll flipBit(ll num, int idx) {return num ^ (1ll<<idx);}
void GO(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);}
int countNumBit1(int mask) {int ret=0; while (mask) 	{mask &= (mask-1);++ret;	}return ret;}
const ll N=2000+9,mod=998244353,sh=1000000,inf=100000;
int a[N],b[N];
int main(){
    GO();

    int T=1;
    //cin>>T;
    while(T--){
        ll n,m,t;
        cin>>n>>m>>t;
        for(int i=0;i<m;i++) cin>>a[i]>>b[i];
        ll pre=n;
        ll pre_t=0,bal=0;
        for(int i=0;i<m;i++){
            int l,r;
            l=a[i];
            r=b[i];
            ll add= r-l;
            //cout<<pre<<" "<<l<<" "<<pre_t<<"\n";
            if(pre-(l-pre_t)<=0){
                cout<<"No\n";
                return 0;
            }
            bal= min(n,pre-(l-pre_t)+add);
            pre=bal;
            pre_t=r;
        }

        if(pre-(t-pre_t)<=0){
            cout<<"No\n";
            return 0;
        }

        cout<<"Yes\n";


    }

}












#include <iostream>
#include <map>
#include <string>
#include <utility>
#include <list>
#include <math.h>
#include <vector>
#include <algorithm>
#include<iomanip>
#include <unordered_map> 
#include <queue>
#include <set>
 
using namespace std;
typedef long long ll;
typedef pair<int, int> pp;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define rep2(i,s,n) for(int i=(s);i<(int)(n);i++)
 
#define MOD 1e9+7
 
 
int main() {
  int A, B, C;

  cin >> A >> B >> C;
  
  if( A >= 0 && B >= 0) {
    if(A > B) {cout << ">"; return 0;}
    if(A < B) {cout << "<"; return 0;}
    if(A == B) {cout << "="; return 0;}
  }
  if( A >= 0 && B < 0) {
    if(C%2==0) {
      if(A > abs(B)) {cout << ">"; return 0;}
      if(A < abs(B)) {cout << "<"; return 0;}
      if(A == abs(B)) {cout << "="; return 0;}
    }
    else {
      cout << ">"; return 0;
    }
  }
  if( A < 0 && B >= 0) {
    if(C%2==0) {
      if(abs(A) > abs(B)) {cout << ">"; return 0;}
      if(abs(A) < abs(B)) {cout << "<"; return 0;}
      if(abs(A) == abs(B)) {cout << "="; return 0;}
    }
    else {
      cout << "<"; return 0;
    }
  }
  if( A < 0 && B < 0) {
    if(C%2==0) {
      if(abs(A) > abs(B)) {cout << ">"; return 0;}
      if(abs(A) < abs(B)) {cout << "<"; return 0;}
      if(abs(A) == abs(B)) {cout << "="; return 0;}
    }
    else {
      if(abs(A) > abs(B)) {cout << "<"; return 0;}
      if(abs(A) < abs(B)) {cout << ">"; return 0;}
      if(abs(A) == abs(B)) {cout << "="; return 0;}
    }
  }

  //for float, double precision
  cout << std::fixed << setprecision(15);
  return 0;
}

