#include <bits/stdc++.h>
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<deque>
#include<stack>
#include<string>
#include<string.h>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#include<stdlib.h>
#include<cassert>
#include<time.h>
#include<bitset>
using namespace std;

typedef long long ll;
#define rep(i,n) for(int i = 0 ; i < n ; i++)
#define Rep(i,n) for(int i = 1 ; i <= n ; i++)
const int maxn=2e5+5;
const bool DEBUG = 0;

int main() 
{
    ios_base::sync_with_stdio(0); cin.tie(0);


    int n,m,t;
	int a,b;
	int left,time;
	string ans = "Yes";
    
    cin >> n >> m >> t;
    left = n;
	time = 0;
	rep(i,m){
		cin >> a >> b;
		if(left - (a-time) <= 0){
			ans = "No";
			break;
		}else{
			left += b - 2*a + time;
			if(left > n){
				left = n;
			}
		}
		time = b;
	}

	if(left - (t-time) <= 0){
		ans = "No";
	}

    cout << ans << endl;

    return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define mod 1000000007

/*ll fact[1001];
ll binpow(ll a, ll b) {
 
    ll res=1;
    while (b > 0) {
        if (b & 1)
            res = (res * a)%mod;
        a = (a*a)%mod;
        b >>= 1;
    }
    return res;
}


ll cal(ll c,ll k)
{
    ll res=fact[c];
  
    ll res1=((fact[k]%mod)*(fact[(c-k)]%mod))%mod;
    

    ll res0;
    res0=binpow(res1,mod-2);
    return ((res*res0)%mod);
}*/

/*bool cmp(const pair<int,int> &a, 
              const pair<int,int> &b) 
{ 
    if(a.first==b.first)
    {
        return(a.second<b.second);
    }
    else
    {
        return (a.first<b.first);
    }
}*/


int main() {
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    ll n,m,t;
    cin>>n>>m>>t;
    
    vector<pair<ll,ll>>v;
    
    for(ll i=0;i<m;i++)
    {
        ll x,y;
        cin>>x>>y;
        v.push_back({x,y});
    }
    ll f=0;
    ll ans=n;
  
    ans-=(v[0].first);
    if(ans<=0)
    {
        f=-1;
    }
    for(ll i=0;i<m-1;i++)
    {
        ans+=((v[i].second-v[i].first));
        if(ans>n)
        {
            ans=n;
        }
        ans-=((v[i+1].first-v[i].second));
        //cout<<"A"<<ans<<endl;
        if(ans<=0)
        {
            f=-1;
            break;
        }
    }
    ans+=((v[m-1].second-v[m-1].first));
     if(ans>n)
        {
            ans=n;
        }
    if(((t-v[m-1].second)>=ans))
    {
        f=-1;
    }
    if(f==-1)
    {
        cout<<"No"<<endl;
    }
    else
    {
        cout<<"Yes"<<endl;
    }
    
	return 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Read questions carefully.