#include <bits/stdc++.h>
using namespace std;
double max(vector<int> n) {
  double max = n[0];
  for (int i = 1; i < n.size(); i++) {
    if (max < n[i]) max = n[i];
  }
  return max;
}
int main() {
  double l, d, ld, x;
  double r;
  vector<int> d_l, res;
  cin >> l >> d;
  for (int i = 0; i < l; i++) {
    cin >> ld;
    d_l.push_back(ld);
  }
  sort(d_l.begin(), d_l.end());
  for (int i = 0; i < d_l.size() - 1; i++) {
    x = d_l[i + 1] - d_l[i];
    res.push_back(x);
  }
  res.push_back(2 * d_l[0]);
  res.push_back(2 * d - 2 * d_l[l - 1]);
  r = max(res) / 2;
  printf("%lf\n", r);
}
