Поместье

Ограничение по времени: 2.000 секунд

Ограничение по памяти: 500.000 мегабайт

Егор решил, что стал слишком стар и пора составить завещание. Он решил поделить между своими сыновьями поместье. Поместье расположено вдоль прямой дороги и имеет длину l километров, поэтому оно может быть представлено как отрезок длины l. Всего у Егора есть n сыновей и у каждого в поместье есть особняк. Особняк i-го сына расположен на расстоянии ai километров от начала поместья, представим его как точку на расстоянии ai от левого конца отрезка. Причем, никакие два особняка не находятся в одной точке. Егор решил разделить всё поместье на n непрерывных частей так, чтобы каждому сыну досталась часть, содержащая его особняк. Иными словами, Егор решил целиком разделить поместье на n отрезков так, чтобы существовал способ распределить отрезки между сыновьями, чтобы отрезок каждого сына содержал его особняк. Отрезок содержит особняк, если точка, соответствующая этому особняку, лежит внутри или на границе отрезка.

Чтобы дележ был наиболее честным, Егор решил, что длина самой большой части должна быть минимальна. Помогите ему определить эту длину при оптимальном разделении.

Формат входных данных

В первой строке даны два целых числа n и l - количество сыновей у Егора и длина поместья (2 ≤ n ≤ 100000, 1 ≤ l ≤ 109). В следующей строке даны n целых чисел ai - позиции особняков сыновей (0 ≤ ai ≤ l). Гарантируется, что все ai различны.

Формат выходных данных

Выведите одно вещественное число - длину самой большой части при оптимальном разделении. Ваш ответ будет считаться правильным, если его абсолютная или относительная погрешность не превышает 10−6.

Пример

input output
3 10
1 3 8
3.500000000000000
3 2
0 1 2
0.666666666666667
Войдите, что бы отправлять решения