#include <bits/stdc++.h>
// #include <boost/multiprecision/cpp_ll.hpp>

#define rep(i,a,b) for(ll i=a;i<b;i++)
#define rrep(i,b,a) for(ll i=b;i>=a;i--)
#define fori(a) for(auto i : a )
#define all(a) begin(a), end(a)
#define set(a,b) memset(a,b,sizeof(a))
#define sz(a) a.size()
double pi=acos(-1);
#define ll long long
#define ull unsigned long long
#define pb push_back
#define PF push_front //deque
// #define mp make_pair
#define pq priority_queue
const ll mod=1000000007;
#define f first
#define s second
#define pii pair< ll, ll >
#define vi vector<ll>
#define vpii vector<pii>
#define debug(v) for(auto i:v) cout<<i<<" ";
#define tc ll t; cin >> t; while(t--)

// using namespace boost::multiprecision;
using namespace std;
void optimizeIO(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
}
ll Z=10000;
ll get_floor(ll num){
  return num-(num%Z+Z)%Z;
}
ll get_ceil(ll num){
  return -get_floor(-num);
}
template <typename I, typename P> I binarysearch(const P &predicate, I l, I r) {
    l--;
    while (r - l > 1) {
        auto mid = l + (r - l) / 2;
        if (predicate(mid))
            r = mid;
        else
            l = mid;
    }
    return r;
}
void solve(){
  cout<<fixed<<setprecision(12);
  double x1,y1,r1;
  cin>>x1>>y1>>r1;
  ll ans=0,x=round(x1*Z),y=round(y1*Z),r=round(r1*Z);
  for(ll i=get_floor(x-r);i<=get_ceil(x+r);i+=Z){
    ll rem=r*r-(i-x)*(i-x);
    if(rem<0) continue;
    ll delta_y = -1 + binarysearch<ll>([&](ll u) { return u * u > rem; }, 0, r + 1);
    ll low=get_ceil(y-delta_y);
    ll high=get_floor(y+delta_y);
    ans+= (high-low)/Z+1;
  }
  cout<<ans<<endl;
}

int32_t main(){
    optimizeIO();
    ll r=1;
    {solve();}
}

//#include <atcoder/all>
//using namespace atcoder;
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define REP(i, n) for(int i=0; i<n; i++)
#define REPR(i, n) for(int i=n-1; i>=0; i--)
#define FOR(i, m, n) for(int i=m; i<n; i++)
#define ALL(v) v.begin(), v.end()
#define bit(n) (1LL<<(n))
#define FIX(d) fixed << setprecision(d)
using P = pair<int, int>;
using vvi = vector<vector<int>>;
using vvl = vector<vector<ll>>;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
const int INF = 2e9;
const ll LINF = (1LL<<60);

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  ll n,m,t;
  cin >> n >> m >> t;
  vector<ll> a(m), b(m);
  REP(i,m) cin >> a[i] >> b[i];

  ll mx = n;
  ll tm = 0;
  REP(i,m){ 
    n -= a[i]-tm;
    if(n<=0){
      cout << "No\n";
      return 0;
    }
    n += min(b[i]-a[i], mx-n);
    tm = b[i];
  }
  n -= t-tm;
  cout << (n>0 ? "Yes\n" : "No\n");

  return 0;
}
