시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB94450.000%

## 문제

You have a food processor with a variety of blades that can be attached to it, as well as some food you would like to process into smaller pieces.

The food processor can have one blade attached at any time. Each blade processes food by reducing its average piece size at a particular exponential rate, but it also has a maximum average piece size requirement; if the average piece size of the food is too big for the blade, the food processor will get stuck. Given a starting average food piece size, a target average piece size, and a set of blades for your food processor, determine the minimum amount of processing time needed to process your food into the target average piece size.

## 입력

The first line of input contains three integers $s$, $t$, and $n$ ($1 \le t < s \le 10^6, 1 \le n \le 10^5$), where $s$ is the starting average piece size, $t$ is the target average piece size, and $n$ is the number of blades.

Each of the next $n$ lines contains two integers $m$ and $h$ ($1 \le m, h \le 10^6$). These are the blades, where $m$ is the maximum average piece size of the blade and $h$ is the number of seconds the blade needs to halve the average piece size.

## 출력

Output a single number, which is the minimum amount of time in seconds needed to process the food to the target average piece size. If it is not possible to reach the target, output $-1$. Your answer should have a relative error of at most $10^{-5}$.

## 예제 입력 1

10 1 2
10 10
4 5


## 예제 출력 1

23.219281


## 예제 입력 2

10000 9999 1
10000 1


## 예제 출력 2

1.4427671804501932E-4


## 출처 • 문제를 만든 사람: Andy Nguyen