#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, l;
  cin >> n >> l;
  deque<int> v;
  while (n--) {
    int m;
    cin >> m;
    v.push_back(m);
  }
  sort(v.begin(), v.end());
  int a = v[0];
  int b = v[v.size() - 1];
  v.push_front(a * (-1));
  v.push_back(2 * l - b);
  int maxi = 0;
  for (int i = 1; i < v.size(); i++) {
    maxi = max(maxi, v[i] - v[i - 1]);
  }
  float maxi2 = maxi;
  cout << fixed << setprecision(10) << maxi2 / 2;
}
