output_description: If A and C can communicate, print `Yes`; if they cannot, print `No`.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      a b c d
attempt: #include <algorithm>
  #include <iostream>
  #include <cstdlib>
  #include <limits.h>
  #include <math.h>
  #include <stdio.h>
  #include <string>
  #include <typeinfo>
  #include <random>
  #include <vector>
  //#include <bits/stdc++.h>
  
  using namespace std;
  typedef long long ll;
  typedef vector<bool> vb;
  typedef vector<char> vc;
  typedef vector<int> vi;
  typedef vector<long long> vll;
  typedef vector<string> vs;
  typedef vector<vector<bool>> vvb;
  typedef vector<vector<int>> vvi;
  
  #define rep(i, n) for (int(i) = 0; (i) < (n); (i)++)
  #define all(a) (a).begin(), (a).end()
  
  int main()
  {
    int a, b, c, d;
    cin >> a >> b >> c >> d;
    if (abs(a - c) <= d || (abs(a - b) < d && abs(c - c) < d))
    {
      cout << "Yes" << endl;
    }else{
      cout << "No" << endl;
    }
    return 0;
  }
problem_description: Statement
  
  Three people, A, B and C, are trying to communicate using transceivers. They
  are standing along a number line, and the coordinates of A, B and C are a, b
  and c (in meters), respectively. Two people can directly communicate when the
  distance between them is at most d meters. Determine if A and C can
  communicate, either directly or indirectly. Here, A and C can indirectly
  communicate when A and B can directly communicate and also B and C can
  directly communicate.
samples: [{"input": "4 7 9 3", "output": "Yes\n    \n\nA and B can directly communicate, and also B and C can directly communicate,\nso we should print `Yes`.\n\n* * *"}, {"input": "100 10 1 2", "output": "No\n    \n\nThey cannot communicate in this case.\n\n* * *"}, {"input": "10 10 10 1", "output": "Yes\n    \n\nThere can be multiple people at the same position.\n\n* * *"}, {"input": "1 100 2 10", "output": "Yes"}]