e-olymp
favorite We need a little bit of your help to keep things running, click on this banner to learn more

Food Collecting

As a serious strategy-games player, you know how important it is to gather enough food for your army before any invasion. Because of this, you decided to collect at least neededFood units of food for your soldiers.

At the beginning, you have n workers to help you. In a single round, each of your workers gathers one unit of food. At the end of each round, you can trade some of your food for new workers. Hiring a single new worker costs price units of food. You can purchase any amount of new workers as long as you have the food to pay for it.

Find the minimum number of rounds you need to gather at least neededFood units of food.

Input

Each line contains three integers: neededFood, n and price (1neededFood, n, price1000).

Output

For each test case print in a separate line the minimum number of rounds you need to gather at least neededFood units of food.

Time limit 1 second
Memory limit 128 MiB
Input example #1
10 2 1
22 4 1
60 5 6
Output example #1
4
4
11