#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;
}