#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, k;
  cin >> n >> k;
  std::vector<long long int> a;
  for (int i = 0; i < n; i++) {
    int p;
    cin >> p;
    a.push_back(p);
  }
  set<long long int> s;
  int cnt = 2;
  s.insert(a[0] - k);
  s.insert(a[n - 1] + k);
  if (a[1] - (a[0] + k) > k || a[1] - (a[0] + k) == k) {
    cnt++;
    s.insert(a[0] + k);
  }
  if ((a[n - 1] - k) - a[n - 2] > k || (a[n - 1] - k) - a[n - 2] == k) {
    cnt++;
    s.insert(a[n - 1] - k);
  }
  for (long long int i = 1; i < n - 1; i++) {
    if ((a[i] - k) - a[i - 1] > k || (a[i] - k) - a[i - 1] == k) {
      cnt++;
      s.insert(a[i] - k);
    }
    if (a[i + 1] - (a[i] + k) > k || a[i + 1] - (a[i] + k) == k) {
      cnt++;
      s.insert(a[i] + k);
    }
  }
  std::cout << s.size() << std::endl;
  return 0;
}
