Kevin loves his Pokemon memes and he thinks he has come up with an especially good one. He posts it into his Pokemon Showdown discord server and adds a single eye emoji react to hopefully start the chain of reacts.
Due to the high volume of traffic in the server, the reacts to his posts only update at the end of the day and he finds that every night, the number of reacts on his post doubles. He can also add a react to his post every morning and it will update immediately since it is his own post. Kevin wants exactly $n$ reacts on his post and being a lazy competitive programmer, he wants to react to his own post as few times as possible and still get the exact number of $n$ reacts.
Help Kevin figure out the minimum number of times he must react to his own post (including the first time he reacts to his post when he posted the meme) in order to have exactly $n$ reacts.
There is only one line of input that contains a single integer $n$ where $1 <= n <= 10^9$.
Output a single integer, the minimum number of times Kevin must react to his own post (including the first time he reacts when he posts the meme).
In the first test case, on the first day it starts with $1$ react, it will have $2$ by the start of the second day, and $4$ by start of the third day at which point he can add one more react to get exactly $5$. Thus, he has reacted to his own post exactly twice.
In the second test case, Kevin only needs to react once at the start, and then it doubles every day to reach $8$ by the start of the fourth day without Kevin needing to react again so he reacted exactly once.
## Input
There is only one line of input that contains a single integer $n$ where $1 <= n <= 10^9$.
## Output
Output a single integer, the minimum number of times Kevin must react to his own post (including the first time he reacts when he posts the meme).
[samples]
## Note
In the first test case, on the first day it starts with $1$ react, it will have $2$ by the start of the second day, and $4$ by start of the third day at which point he can add one more react to get exactly $5$. Thus, he has reacted to his own post exactly twice.In the second test case, Kevin only needs to react once at the start, and then it doubles every day to reach $8$ by the start of the fourth day without Kevin needing to react again so he reacted exactly once.
**Definitions**
Let $ n \in \mathbb{Z} $ be the number of towers, $ L \in \mathbb{R} $ the destination coordinate $ (L, 0) $, and $ q \in \mathbb{Z} $ the number of queries.
Let $ T = \{ (x_i, y_i) \mid i \in \{1, \dots, n\} \} $ be the set of tower positions.
Let $ S = (0, 0) $ be the start point, $ D = (L, 0) $ the destination.
**Constraints**
1. $ 3 \leq n \leq 3 \times 10^3 $, $ 2 \leq L \leq 10^8 $, $ 1 \leq q \leq 3 \times 10^5 $
2. $ |x_i|, |y_i| \leq 10^8 $ for all $ i \in \{1, \dots, n\} $
3. For each query $ (u, v) $, $ 1 \leq u < v \leq n $, and the line segment $ \overline{T_u T_v} $ blocks at least one other tower.
4. No three towers, $ S $, or $ D $ are collinear.
5. The segment $ \overline{SD} $ is never fully enclosed by any wall.
**Objective**
For each query $ (u, v) $, let $ W = \overline{T_u T_v} $ be the visible wall. Let $ B = \{ T_i \in T \setminus \{T_u, T_v\} \mid T_i \text{ is occluded by } W \text{ from } S \} $ be the set of potentially hidden third towers.
The spiritual guy must choose a path from $ S $ to $ D $, possibly visiting intermediate points, such that **before reaching $ D $**, he can uniquely identify the hidden third tower $ t^* \in B $ (i.e., eliminate all ambiguity), under the **worst-case** choice of $ t^* \in B $.
The goal is to compute:
$$
\min_{\text{paths } P} \max_{t^* \in B} \text{length}(P \text{ under } t^*)
$$
where $ P $ is a polygonal path from $ S $ to $ D $, possibly passing through a point $ P^* $ such that viewing from $ P^* $, the three towers $ T_u, T_v, t^* $ are mutually visible, and no other tower in $ B \setminus \{t^*\} $ is visible from $ P^* $.
**Key Insight**
The minimal worst-case path corresponds to the shortest path from $ S $ to $ D $ that passes through **one** of the **visibility points** $ P^* $, where $ P^* $ lies on the **radial line** from $ S $ through the **intersection point** of the lines $ \overline{S T_u} $ and $ \overline{T_v t} $, or symmetrically, for each $ t \in B $, the point $ P^*_t $ is the intersection of $ \overline{S T_u} $ and $ \overline{T_v t} $, or $ \overline{S T_v} $ and $ \overline{T_u t} $, whichever yields the minimal detour.
Thus, for each $ t \in B $, define:
- $ P_t^1 $: intersection of $ \overline{S T_u} $ and $ \overline{T_v t} $
- $ P_t^2 $: intersection of $ \overline{S T_v} $ and $ \overline{T_u t} $
Then the minimal worst-case distance is:
$$
\min_{t \in B} \min \left( \text{dist}(S, P_t^1) + \text{dist}(P_t^1, D), \text{dist}(S, P_t^2) + \text{dist}(P_t^2, D) \right)
$$
**Note**: The point $ P_t^* $ must lie in the half-plane such that $ t $ becomes visible from it, and $ T_u, T_v $ remain visible.
**Final Output**
For each query $ (u, v) $, output:
$$
\min_{t \in B} \min \left( \|S - P_t^1\| + \|P_t^1 - D\|, \|S - P_t^2\| + \|P_t^2 - D\| \right)
$$