#include<bits/stdc++.h>
#include<iomanip>
#define FOR(a,b,c) for(int i=(a);i<(b);i+=(c))
using namespace std;
int bs(int arr[],int lo,int high,int t){
	//printf("lo :%d\t hi: %d\t t:%d\n",lo,high,t);
	if(lo>high && arr[high]<=t)
		return high;
	if(lo>high)
		return 0;
	if(lo==high && arr[lo]<t)
		return lo;
	int mid=lo+(high-lo)/2;
	if(arr[mid]<t && arr[mid+1]>t)
		return mid;
	else if(arr[mid]>t)
		return bs(arr,lo,mid-1,t);
	else
		return bs(arr,mid+1,high,t);
}
int main(){
	int n;
	long l,d1;
	cin>>n>>l;
	long arr[n];
	for(auto &x:arr)
		cin>>x;
	sort(arr,arr+n);
	d1=max(arr[0],l-arr[n-1])*2;
	FOR(0,n-1,1){
		d1=max(d1,(arr[i+1]-arr[i]));}
	cout<<setprecision(10)<<fixed<<double(d1)/2;

}