\problemname{Boiling Vegetables}

\illustration{.4}{vegetables}{Photo by
	\href{http://www.flickr.com/photos/suckamc/2488644619/}{Martin Cathrae}}

The trick to boiling vegetables is to make sure all pieces are about the same size. If they are not,
the small ones get too soft or the large ones get undercooked (or both). Fortunately, you have heard
of the kitchen knife, but your parents' warnings of using sharp instruments still echoes in your
head. Therefore you better use it as little as possible. You can take a piece of a vegetable of
weight $w$ and cut it arbitrarily in two pieces of weight $w_\text{left}$ and $w_\text{right}$, where
$w_\text{left}+w_\text{right}=w$. This operation constitutes a ``cut''. Given a set of pieces of vegetables,
determine the minimum number of cuts needed to make the ratio between the smallest and the largest
resulting piece go above a given threshold.

\section*{Input}
The input starts with a floating point number $T$ with 2 decimal digits, $0.5<T<1$, and a positive integer $N\le 1\,000$. Next
follow $N$ positive integer weights $w_1,w_2,...,w_N$. All weights are less than $10^6$.

\section*{Output}
Output the minimum number of cuts needed to make the ratio between the resulting minimum weight piece and
the resulting maximum weight piece be above $T$. You may assume that the number of cuts needed is
less than $500$.

To avoid issues with floating point numbers, you can assume that the optimal answer for ratio $T$ is
the same as for ratio $T + 0.0001$.
