void solve(){
}
void main(){
	int a, b, c, d;
	readf("%d %d %d %d\n", &a, &b, &c, &d);
	if( abs(a-c)<=d || ( abs(a-b)<=d && abs(b-c)<=d ) ){
		writeln("Yes");
	}else{
		writeln("No");
	}
}
     
import std.stdio, std.conv, std.algorithm, std.numeric, std.string, std.math, std.range;
const long mod = 10^^9+7;
alias instr = () => readln().chomp();
T inelm(T= int)(){ return to!(T)( readln().chomp() ); }
T[] inary(T = int)(){ return readln().chomp().split().to!(T[])(); }

