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

typedef long long ll;

int main(){

    ll N, W;
    cin >> N >> W;
    vector<ll> C(200000);
    ll total = 0;
    int flag = 0;

    for(ll i = 0; i < 200000; i++){
        C.at(i) = 0;
    }

    ll S, T, P;

    for(ll i = 0; i < N; i++){
        cin >> S >> T >> P;
        C.at(S) += P;
        if(T < 200000){
            C.at(T) -= P;
        }
    }

    for(ll i = 0; i < 200000; i++){
        total += C.at(i);
        if(total > W){
            flag = 1;
            break;
        }
    }

    if(flag == 1){
        cout << "No" << endl;
    }else{
        cout << "Yes" << endl;
    }

}
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF = 1e18;
const ll MOD = 1e9 + 7;
#define all(v) v.begin(), v.end()
#define repi(i, n, init) for (ll i = init; i < (n); i++)
#define repd(i, n, init) for (ll i = (n); i >= init; i--)
#define repm(i, m) for (auto i = m.begin(); i != m.end(); i++)

int main()
{
    ll N, K, M, tmp, sum = 0., ans;
    cin >> N >> K >> M;
    repi(i, N-1, 0)
    {
        cin >> tmp;
        sum += tmp;
    }
    ans = max(0LL,M * N - sum);
    if (ans <= K)
    {
        cout << ans << endl;
    }
    else
    {
        cout << -1 << endl;
    }
    return 0;
}