#https://i...content-available-to-author-only...e.com/jmqqe3
domy = [int(_) for _ in input().split()] #pozicie domov
vzd = int(input()) #maximalna vzdialenost domu od zastavky
pocet = 0
posl = -2*vzd # predchadzajuca/ostatna zastavka;aby prvy dom bol dost vzdialeny
for dom in domy: #pre vsetky domy
#ak dom je uz mimo dosahu poslednej zastavky;potrebujeme dalsiu zastavku
if dom > posl+vzd:
posl = dom+vzd #pridame zastavku na vzd od domu ; najdalej ako sa da
pocet += 1 #zvysime pocet zastavok
print(pocet)
I2h0dHBzOi8vaS4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vam1xcWUzCgpkb215ID0gW2ludChfKSBmb3IgXyBpbiBpbnB1dCgpLnNwbGl0KCldICNwb3ppY2llIGRvbW92CnZ6ZCA9IGludChpbnB1dCgpKSAjbWF4aW1hbG5hIHZ6ZGlhbGVub3N0IGRvbXUgb2QgemFzdGF2a3kKCnBvY2V0ID0gMApwb3NsID0gLTIqdnpkICMgcHJlZGNoYWR6YWp1Y2Evb3N0YXRuYSB6YXN0YXZrYTthYnkgcHJ2eSBkb20gYm9sIGRvc3QgdnpkaWFsZW55IApmb3IgZG9tIGluIGRvbXk6ICNwcmUgdnNldGt5IGRvbXkKCSNhayBkb20gamUgdXogbWltbyBkb3NhaHUgcG9zbGVkbmVqIHphc3Rhdmt5O3BvdHJlYnVqZW1lIGRhbHNpdSB6YXN0YXZrdQoJaWYgZG9tID4gcG9zbCt2emQ6CgkJcG9zbCA9IGRvbSt2emQgI3ByaWRhbWUgemFzdGF2a3UgbmEgdnpkIG9kIGRvbXUgOyBuYWpkYWxlaiBha28gc2EgZGEKCQlwb2NldCArPSAxICN6dnlzaW1lIHBvY2V0IHphc3Rhdm9rCnByaW50KHBvY2V0KQo=