/*
मनस्वी म्रियते कामं कार्पण्यं न तु गच्छति ।
अपि निर्वाणमायाति नानलो याति शीतताम् ॥
*/

#include <bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp> 
// #include <ext/pb_ds/tree_policy.hpp> 
// using namespace __gnu_pbds;
using namespace std;

#define mod 1000000007
#define pb push_back
#define ll long long int
#define ull unsigned ll
#define ld long double
#define vi vector<int>
#define vl vector<ll>
#define v2i vector<vector<int>>
#define v2l vector<vector<ll>>
#define ppi pair<int,int>
#define ppl pair<ll,ll>
#define vpi vector<ppi>
#define vpl vector<ppl>
#define all(x) x.begin(),x.end()
#define ff first    
#define ss second
#define forn(i,a,b) for(int i=a;i<b;i++)
#define forr(i,a,b) for(int i=a;i>=b;i--)
#define forv(i,m) for(auto i : m)
#define p2d(v) for(auto a:v){for(auto b:a)cout<<b<<" ";cout<<endl;}
#define p1d(v) for(auto a:v)cout<<a<<" ";cout<<endl;
#define ppd(v) for(auto a:v)cout<<a.ff<<" "<<a.ss<<endl;
#define imx INT_MAX
#define imn INT_MIN
#define inf 9000000000000000000
#define minf -inf
#define endl "\n"
#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);
#define sze size()
#define rvs reverse 
#define itr iterator 
#define pre cout<<fixed<<setprecision(10);
#define umap unordered_map
#define uset unordered_set
#define pi 3.141592653589793
#define MAXN 100005
#define test1(x) cout << #x " = " << x << endl;
#define test2(x,y) cout << #x " = " << x << " " << #y " = " << y << endl;
#define test3(x,y,z) cout << #x " = " << x << " " << #y " = " << y << " " << #z " = " << z << endl;
#define test4(w,x,y,z) cout << #w " = " << w << " " << #x " = " << x << " " << #y " = " << y << " " << #z " = " << z << endl;
#define oset tree<ll, null_type,less<ll>, rb_tree_tag,tree_order_statistics_node_update>

/*
const ll infinity = 9e18;

bool compare(ll a,ll b) {return a > b;}
bool compare1(ppl a,ppl b) {return a.ff > b.ff;}
bool compare2(ppl a,ppl b) {return a.ss < b.ss;}
bool isprime(ll n){if(n < 2) return 0; ll i = 2; while(i*i <= n){if(n%i == 0) return 0; i++;} return 1;}

ll Npower(ll a,ll b) {ll product = 1; while(b){if(b&1){product = product*a;}a = a*a;b = b>>1;} return product;}
ll power(ll a,ll b,ll md = mod) {ll product = 1; while(b){if(b&1){product = (product*a)%md;}a = (a*a)%md;b = b>>1;} return product%md;}
ll GCD(ll a,ll b) {return b==0 ? a:GCD(b,a%b);}
ll LCM(ll a,ll b) {return (a/GCD(a,b))*b; }
*/




int main()
{
    fast

/*
    #ifndef ONLINE_JUDGE
        freopen("input.txt",  "r",  stdin);
        freopen("output.txt", "w", stdout);
    #endif
//*/

        
    ll n,m,t;
    cin>>n>>m>>t;

    vpl vp(m);
    cin>>vp[0].ff>>vp[0].ss;

    ll total = n-vp[0].ff;

    bool val = 1;

    if(total <= 0)
    {
        val = 0;
    }

    forn(i,1,m)
    {
        if(total <= 0)
        {
            val = 0;
        }
        cin>>vp[i].ff>>vp[i].ss;
        total = total+(vp[i-1].ss-vp[i-1].ff);
        total = min(total,n);
        if(total <= 0)
        {
            val = 0;
        }
        total -= (vp[i].ff - vp[i-1].ss);
        if(total <= 0)
        {
            val = 0;
        }
    }
    total += (vp[m-1].ss-vp[m-1].ff);
    total = min(total,n);
    total -= (t-vp[m-1].ss);

    if(total <= 0)
    {
        val = 0;
    }

    if(val)
    {
        cout<<"Yes";
    } 
    else
    {
        cout<<"No";
    } 
        












    return 0;
}

/*
#pragma GCC optimize("Ofast")
#pragma GCC optimize ("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
*/

#include <bits/stdc++.h>
#include <set>
#include <queue>

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>

using namespace std;
using namespace __gnu_pbds;

template<typename T> using oset = 
tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

template<typename Key, typename T> using omap =
tree<Key, T, less<Key>, rb_tree_tag, tree_order_statistics_node_update>;

#define pb push_back
#define rb pop_back
#define pf push_front
#define rf pop_front

#define heap priority_queue
#define mpr make_pair

#define fi first
#define se second
#define endl "\n"

#define pii pair<int, int>

#define int long long
#define float long double
#define multiTest cin >> t; for(test = 0; test < t; test++)
#define toFile freopen("a.inp", "r", stdin); freopen("a.out", "w", stdout);
#define speed ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);

const int inf = 9e18;
const int mod = 1e9 + 7;

int t;
int test;

void solve() {
	int n, m, t;
	cin >> n >> m >> t;
	
	int bat = n;
	int tim = 0;
	bool failed = false;
	
	int a, b;
	for(int i = 0; i < m; i++) {
		cin >> a >> b;
		bat -= (a - tim);
		if(bat <= 0) {
			failed = true;
			break;
		}
		bat += b - a;
		if(bat > n) bat = n;
		
		tim = b;
	}
	
	bat -= (t - tim);
	if(bat <= 0) {
		failed = true;
	}
	if(failed) cout << "No";
	else cout << "Yes";
}

signed main() {
	speed;
	
	//toFile
	
	//multiTest
	solve();
	
	return 0;
}