#line 1 "B.cpp"
#include <bits/stdc++.h>
using namespace std::literals::string_literals;
using i64 = std::int_fast64_t;
using std::cout;
using std::cerr;
using std::endl;
using std::cin;

template<typename T> std::vector<T> make_v(size_t a, T b){return std::vector<T>(a, b);}
template<typename... Ts> auto make_v(size_t a, Ts... ts){
  return std::vector<decltype(make_v(ts...))>(a, make_v(ts...));
}
template<typename T> std::vector<T> make_v(size_t a){return std::vector<T>(a);}
template<typename T, typename... Ts> auto make_v(size_t a, Ts... ts){
  return std::vector<decltype(make_v<T>(ts...))>(a, make_v<T>(ts...));
}

int main() {
  int n, m, t; scanf("%d%d%d", &n, &m, &t);

  int now = 0;
  const int N = n;
  while(m--) {
    int a, b; scanf("%d%d", &a, &b);
    n -= (a - now);
    if(n <= 0) {
      printf("No\n");
      return 0;
    }
    n = std::min(N, n + (b - a));
    now = b;
  }
  n -= (t - now);
  if(n <= 0) {
    printf("No\n");
    return 0;
  }
  printf("Yes\n");
	return 0;
}

#include <bits/stdc++.h>
using namespace std;

#define FOR(x, a, b) for (int x = a; x <= b; x++)
#define FOD(x, a, b) for (int x = a; x >= b; x--)
#define REP(x, a, b) for (int x = a; x < b; x++)
#define RED(x, a, b) for (int x = a; x > b; x--)

void solve() {
    int n, m, t, s, e = 0;

    cin >> n >> m >> t;

    int p = n;

    REP(i, 0, m) {
        cin >> s;
        p = max(p - s + e, 0);

        if (p == 0) {
            cout << "No"; return;
        }

        cin >> e;
        p = min(p + e - s, n);
    }

    p = max(p - t + e, 0); 
    if (p == 0) {
        cout << "No"; return;
    }
    
    cout << "Yes";
}

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

//    cin >> tests;
//    while (tests--) {
//        solve();
//    }

    solve();
}
