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

int main() {
    long long a, b, c, x, k;
    cin >> a >> b >> c >> x >> k;
    if (k == 1) {                         // 只有一个新盒子,直接看唯一最大
        long long mx = max({a, b, c, x});
        int cnt = (a == mx) + (b == mx) + (c == mx) + (x == mx);
        cout << (cnt == 1 ? "YES" : "NO") << '\n';
        return 0;
    }
    long long ub = x - k + 1;             // 新盒单盒能达到的最大值
    // 原三盒的最大与次大
    long long m1 = max({a, b, c});
    long long m2 = a + b + c - m1 - min({a, b, c}); // 次大(也可手写排序)
    // 必须:原最大 > 次大,且原最大 > 新盒上界
    cout << ((m1 > m2 && m1 > ub) ? "YES" : "NO") << '\n';
    return 0;
}