Из-за трудностей, с которыми в последнее время столкнулась компания, вас просят помочь оптимизировать штат. Руководители хотят оставить только тех сотрудников, чьи оклады относительно близки друг к другу. Другими словами, после сокращений максимальный оклад не должен превышать удвоенный размер минимального оклада.
Вы хотите сохранить как можно больше сотрудников. Поэтому вы сразу приступаете к решению этой задачи.
Входные данные
Первая строка входных данных содержит одно целое число n (2 ≤ n ≤ ) — количество сотрудников.
Следующая строка содержит n целых чисел через пробел: (1 ≤ ≤ ), соответствующих окладам сотрудников.
Выходные данные
Программа должна вывести максимальное число сотрудников, которых можно оставить.
Примеры
Входные данные
Выходные данные
4
4 3 2 4
4
6
5 4 3 3 7 8
4
Пояснение
В первом примере можно сохранить всех сотрудников. Минимальный и максимальный оклады — это 2 и 4, и 2 × 2 = 4.
Во втором примере можно оставить сотрудников с окладами 5 4 3 3 или 5 4 7 8. В обоих случаях получается сохранить 4 человека.