Вы — университетский тренер. Всего в университете \(n\) студентов под Вашим надзором, умение программировать \(i\)-го студента равно \(a_i\).
Вы хотите составить \(k\) команд для другого нового соревнования по программированию. Как Вы знаете, чем больше студентов на соревновании — тем больше шансов победить! Поэтому Вы хотите составить не более \(k\) непустых команд (и хотя бы одну) таким образом, чтобы суммарное число студентов в них было максимально возможно. Но Вы также знаете, что каждая команда должна быть сбалансированной. Это означает, что умение программировать каждой пары студентов в каждой команде должно отличаться не более, чем на \(5\). Команды являются независимыми друг от друга (это означает, что разница в умении программировать двух студентов из двух разных команд не имеет значения).
Возможно, что некоторые студенты не будут включены ни в какие команды вообще.
Ваша задача — найти максимально возможное суммарное число студентов в не более, чем \(k\) (и хотя бы одной) непустых сбалансированных командах.
Если Вы программируете на Python, рассмотрите возможность отправки решения на PyPy, а не на Python, когда будете отправлять свой код.