시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 256 MB111100.000%

문제

Недавно Боре приснился сон, в котором он ходил по очень длинной аллее. Вдоль нее были посажены деревья, причём расстояние между любыми двумя деревьями измеряется целым числом метров. В самом начале, и в самом конце аллеи росло по дереву.

Поскольку Боря очень любит математику, он решил придумать формулу, с помощью которой он сможет оценить красоту аллеи некоторым числом. В голову ему пришла такая идея. Посчитаем максимальное расстояние между двумя соседними деревьями. Это число будем называть неравномерностью аллеи. И чем оно меньше, тем красивее аллея по мнению Бори.

Поскольку аллея была очень длинной, прогулка Бори затянулась, и ему стало интересно, насколько красивой могла бы стать аллея, если бы вдоль нее посадили еще k деревьев? Заметим, что чтобы не нарушать гармонию, расстояние между каждой парой деревьев, измеренное в метрах, должно быть целым числом. При этом разрешается сажать несколько деревьев в одну точку, в том числе в точки, где уже растут деревья. Помогите Боре найти наименьшее значение неравномерности аллеи для различных k.

입력

Первая строка содержит три целых числа nm и len (2 ≤ nm ≤ 106, 1 ≤ len ≤ 109) — количество уже посаженных деревьев, количество значений k, которые интересуют Борю, а также длину аллеи. Вторая строка содержит n целых чисел a1, ..., an (0 = a1 < a2 < ... < an = len) — расстояния от начала аллеи до i-го дерева, измеренное в метрах. Третья строка содержит m целых чисел k1, ..., km (0 ≤ ki ≤ 109 для всех i от 1 до m) — вопросы Бори.

출력

Выведите m вещественных чисел — минимальные значения неравномерности аллеи, если будет посажено еще k1, ..., km деревьев. Выводите каждое из чисел в отдельной строке.

예제 입력 1

3 4 10
0 2 10
0 1 3 1000000000

예제 출력 1

8
4
2
1