Как вы знаете, соревнования по программированию бывают не только личными, но и командными. Впереди — как раз такое соревнование, и Максу поручили сформировать из перспективных студентов $$$K$$$ команд по три человека (при этом один студент может быть членом не более чем одной команды).
Всего в соревновании хотят участвовать $$$N$$$ студентов. У каждого из них есть личный рейтинг, для $$$i$$$-го студента он равен $$$R_i$$$. Макс считает, что команду нужно составлять из людей с как можно более близким рейтингом.
Более формально, назовём разбросом рейтинга в команде разность максимального и минимального из рейтингов её участников. Далее, критическим разбросом рейтинга назовём максимальный разброс рейтинга среди всех $$$K$$$ команд. Макс хочет составить команды таким образом, чтобы критический разброс рейтинга оказался как можно меньше.
Помогите Максу оптимально сформировать команды.