По одной туго натянутой шёлковой нити, пересекающей земли Фарлума, расселились $$$n$$$ маленьких жителей. Каждый житель сидит на своей точке нити с координатой $$$x_i$$$. Всех жителей надо разместить по коконам на этой нити, которые будут служить им убежищами.
При размещении коконов на нити, каждый житель выдвинется к ближайшему к нему убежищу. Иными словами, если коконы расположатся на координатах $$$a_1, \ldots, a_k$$$, то найдем для каждого $$$x_i$$$ такое $$$j_i$$$, что $$$|x_i - a_{j_i}|$$$ минимально. Тогда опасностью этого набора коконов назовем $$$D = \max\limits_{i=1}^n |x_i - a_{j_i}|$$$, то есть максимальное расстояние от жителя до ближайшего к нему кокона.
Хорнет получает $$$q$$$ независимых поручений. В каждом поручении ей указывают:
От нее только требуется добавить ещё $$$k-r$$$ убежищ в любые точки нити (координаты не обязаны быть целыми) так, чтобы минимизировать итоговую опасность набора.
Для каждого поручения найдите минимально достижимое значение опасности итогового набора убежищ. Все поручения независимы.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ — количество наборов входных данных ($$$1 \leq t \leq 5000$$$). Далее следует описание наборов входных данных.
Первая строка каждого набора содержит два целых числа $$$n$$$ и $$$q$$$ — количество жителей и количество поручений ($$$1 \le n, q \le 35\,000$$$).
Вторая строка каждого набора содержит $$$n$$$ целых чисел $$$x_i$$$ — координаты жителей ($$$|x_i| \le 10^8$$$).
Следующие $$$q$$$ строк описывают поручения. В каждой строке записаны подряд целые числа $$$k$$$, $$$r$$$ и $$$a_1, \ldots, a_r$$$ для соответствующего поручения. Здесь $$$k$$$ — общее число убежищ в итоге , $$$r$$$ — число уже зафиксированных убежищ, а $$$a_j$$$ — их координаты ($$$1 \le k \le 35\,000$$$; $$$0 \le r \le k$$$; $$$|a_j| \le 10^8$$$).
Гарантируется, что сумма $$$n \cdot q$$$ по всем наборам входных данных не превосходит $$$35\,000$$$ и сумма $$$r$$$ по всем наборам входных данных не превосходит $$$35\,000$$$.
Для каждого набора входных данных выведите строку из $$$q$$$ вещественных чисел — ответов на поручения. Ответ будет считаться правильным, если его абсолютная или относительная погрешность от ответа жюри не будет превышать $$$10^{-9}$$$.
26 60 11 -5 4 -1 101 02 03 010 02 1 03 1 44 50 0 100 1011 02 2 101 03 1 5010 02 1 100
8 3.5 2 0 5 2.550.5 1 0.5 0 1
В первом примере: