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