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

int main(void){
    int a[4], sum = 0;
    bool flag = false;
    for(int i = 0; i < 4; i++) cin >> a[i];
    for(int i : a) sum += i;
    for(int i = 0; i < (1<<4); i++){
        int n = 0, m = sum;
        for(int j = 0; j < 4; j++){
            if((i>>j)%2==1){
                n += a[j];
                m -= a[j];
            }
        }
        if(n == m){
            flag = true;
            break;
        }
    }
    if(flag) cout << "Yes" << endl;
    else cout << "No" << endl;
    return 0;
}

#include <bits/stdc++.h>
#define REP(i, nn ) for(int i = 0 ; i < (int) nn; i++)
#define REPS(i, ss, nn ) for(int i = ss ; i < (int) nn; i++)
#define REV(i, ss, nn ) for(int i = ss ; i >= nn; i--)
#define deb(x) std::cout << #x << " " << x << endl;
#define debl(x) std::cout << #x << " " << x << " ";
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
namespace std{
    template<class Fun>
    class y_combinator_result{
        Fun fun_;
        public:
            template<class T>
            explicit y_combinator_result(T &&fun) : fun_(std::forward<T>(fun)){}
            template<class ...Args>
            decltype(auto) operator()(Args&&...args){
                return fun_(std::ref(*this), std::forward<Args>(args)...);
            }
    };
    template<class Fun>
    decltype(auto) y_combinator(Fun && fun){
        return y_combinator_result<std::decay_t<Fun>>(std::forward<Fun>(fun));
    }
};
template<typename T>
bool u_max(T& a, T b){
    if( a < b){
        a = b;
        return true;
    }
    return false;
}
template<typename T>
bool u_min(T& a, T b){
    if( a > b){
        a = b;
        return true;
    }
    return false;
}
// struct edge{
//     int to, from;
//     ll cost;
//     edge(){ edge(0,0);}
//     edge(int to_, ll cost_){ edge(0, -1, 0);}
//     edge(int to_, int from_, ll cost_) : to(to_), from(from_), cost(cost_){}
// };

template<typename... T>
void read(T& ... a){
    ((cin >> a),...);
}

void solve(){
    ll n, m , T;
    read(n, m, T);
    ll cur = n;
    ll last = 0;
    REP(i, m){
        ll a, b;
        read(a, b);
        cur -=  (a - last); 
        // debl(i) deb(cur)
        if(cur <= 0){
            // deb(i)
            cout << "No\n";
            return;
        }else{
            cur += (b - a);
            // deb(cur)
            if( cur >= n) cur = n;
            last = b;
        }
    }
    cur -= (T - last);
    if( cur <= 0){
        cout << "No\n";
    }else{
        cout << "Yes\n";
    }
}

int main()
{
    //making data IO Fast
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(NULL);
    /****************************/
    solve();
    return 0;
}

