#include <bits/stdc++.h>
using namespace std;
string convert(long long mylong) {
  string mystring;
  stringstream mystream;
  mystream << mylong;
  mystring = mystream.str();
  return mystring;
}
int main() {
  int n;
  long long l;
  cin >> n >> l;
  vector<long long> v;
  for (int i = 0; i < n; i++) {
    long long x;
    cin >> x;
    v.push_back(x);
  }
  sort(v.begin(), v.end());
  long long max1 = -1000000000;
  long long k = -100000000000, m = -10000000000;
  if (v[0] != 0) {
    k = v[0];
  }
  if (v[n - 1] != n) {
    m = l - v[n - 1];
  }
  for (int i = 1; i < v.size(); i++) {
    max1 = max(max1, v[i] - v[i - 1]);
  }
  long long z = max(m, k);
  if (max1 / 2 > z) {
    if (max1 == 1)
      cout << "0.5" << endl;
    else if (max1 % 2 != 0) {
      string s = convert(max1 / 2);
      cout << s << ".5" << endl;
    } else
      cout << max1 / 2;
  } else {
    if (z == 0) {
      string s = convert(z);
      cout << s << ".5" << endl;
    } else
      cout << z << endl;
  }
}
