import std.stdio, std.algorithm, std.string, std.conv, std.array, std.range, std.math;
int readint() { return readln.chomp.to!int; }
int[] readints() { return readln.split.to!(int[]); }

void main() {
    int a,b,c,d; readf("%d %d %d %d\n", &a,&b,&c,&d);
    writeln(can(a,b,c,d) ? "Yes" : "No");
    string _ = readln;
}

bool can(int a, int b, int c, int d) {
    if (abs(a-c) <= d) return true;
    if (abs(a-b) <= d && abs(b-c) <= d) return true;
    return false;
}