#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for (int i = 0; i < (n); i++)
#define rrep(i,n) for (int i = 1; i <= (n); i++)
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define vi vector<int>
template<class T> inline bool chmin(T& a, T b) {if (a > b) {a = b;return true;}return false;}
template<class T> inline bool chmax(T& a, T b) {if (a < b) {a = b;return true;}return false;}
using ll = long long;
using Graph = vector<vector<int>>;
using P = pair<int,int>;
using Pl = pair<ll,ll>;
const long long INF = 1LL << 60;
const int dx[4] = {1,-1,0,0};
const int dy[4] = {0,0,1,-1};
const int dx8[8]={ 0, 1, 0,-1, 1, 1,-1,-1};
const int dy8[8]={ 1, 0,-1, 0, 1,-1, 1,-1};
const int MOD = 1e9 + 7;
void add(ll &a, ll b) {a = (a+b) % MOD;}
#define fast  \
  cin.tie(0); \
  ios::sync_with_stdio(false);

int main() {
  ll N,M,T; cin >> N >> M >> T;
  vector<ll> A(M),B(M);
  rep(i,M) cin >> A.at(i) >> B.at(i);

  bool ok = true;
  ll start = 0;
  ll total = N;
  rep(i,M) {
    total -= A[i] - start;
    if (total <= 0) ok = false;
    start = B[i];
    total += B[i] - A[i];
    if (total > N) total = N;
  }

  total -= T - B[B.size()-1];
  if (total > 0 && ok) cout << "Yes" << endl;
  else cout << "No" << endl;
}

#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
int main()
{
	ll n,m,t;
	cin>>n>>m>>t;
	ll batt=n;
	ll a[1001]={0},b[1001]={0};
	for(int i=1;i<=m;i++)
	{
		cin>>a[i]>>b[i];
	}
	a[0]=0;
	b[0]=0;
	batt-=(a[1]);
	if(batt<=0)
	{
		cout<<"No"<<endl;
		return 0;
	}
	for(int i=1;i<m;i++)
	{
		batt+=(b[i]-a[i]);
		if(batt>n)
		{
			batt=n;
		}
		batt-=(a[i+1]-b[i]);
		if(batt<=0)
		{
			cout<<"No"<<endl;
			return 0;
		}
	}
	batt+=(b[m]-a[m]);
	if(batt>n)
	{
		batt=n;
	}
	batt-=(t-b[m]);
	if(batt<=0)
	{
		cout<<"No"<<endl;
		return 0;
	}
	cout<<"Yes"<<endl;
	return 0;
}