Уджан решил сделать новую крышу для своего дома. У него есть \(n\) прямоугольных досок, пронумерованных числами \(1\) до \(n\). У \(i\)-й доски размеры \(a_i \times 1\) (то есть ширина равна \(1\), а высота равна \(a_i\)).
В данный момент Уджан хочет сделать квадратную крышу. Сначала он выберет некоторые доски и расположит их одну за другой в каком-то порядке. Затем он склеит все эти доски по их вертикальным сторонам. Наконец, он вырежет квадрат из получившейся фигуры таким образом, что стороны квадрата горизонтальны и вертикальны.
Например, если у Уджана есть доски с длинами \(4\), \(3\), \(1\), \(4\) и \(5\), он может выбрать доски с длинами \(4\), \(3\) и \(5\). Тогда он может вырезать квадрат размером \(3 \times 3\), который является наибольшим возможным. Учтите, что в данном случае это не единственный способ получить квадрат размером \(3 \times 3\).
Чему равняется наибольшая длина стороны квадрата, который может получить Уджан?
Примечание
Первый набор входных данных примера соответствует примеру из условия.
Во втором наборе входных данных примера, склеив все \(4\) доски, получается квадрат размером \(4 \times 4\).
В третьем наборе входных данных примера наибольший квадрат имеет размер \(1 \times 1\) и такой можно получить, просто взяв любую из досок.