You surely have never heard of this new planet surface exploration scheme, as it is being carried out in a project with utmost secrecy. The scheme is expected to cut costs of conventional rovertype mobile explorers considerably, using projected-type equipment nicknamed "observation bullets".
Bullets do not have any active mobile abilities of their own, which is the main reason of their cost-efficiency. Each of the bullets, after being shot out on a launcher given its initial velocity, makes a parabolic trajectory until it touches down. It bounces on the surface and makes another parabolic trajectory. This will be repeated virtually infinitely.
We want each of the bullets to bounce precisely at the respective spot of interest on the planet surface, adjusting its initial velocity. A variety of sensors in the bullet can gather valuable data at this instant of bounce, and send them to the observation base. Although this may sound like a conventional target shooting practice, there are several issues that make the problem more difficult.
You are summoned engineering assistance to this project to author a smart program that tells the minimum required initial speed of the bullet to accomplish the mission.
Figure D.1 gives a sketch of a situation, roughly corresponding to the situation of the Sample Input 4 given below.
Figure D.1. A sample situation
You can assume the following.
These mean that the bullets fly along a perfect parabolic trajectory.
You can also assume the following.
You, a programming genius, may not be an expert in physics. Let us review basics of rigid-body dynamics.
We will describe here the velocity of the bullet v with its horizontal and vertical components vx and vy (positive meaning upward). The initial velocity has the components vix and viy, that is, immediately after the launch of the bullet, vx=vix and vy=viy hold. We denote the horizontal distance of the bullet from the launcher as x and its altitude as y at time t.
For ease of computation, a special unit system is used in this project, according to which the gravity acceleration g of the planet is exactly 1.0.
The input consists of a single test case with the following format.
d n b
p_1 h_1
p_2 h_2
.
.
.
p_n h_n
The first line contains three integers, d, n, and b. Here, d is the distance from the launcher
to the target spot (1 \leq d \leq 10000), n is the number of obstacles (1 \leq n \leq 10), and b is the maximum number of bounces allowed, not including the bounce at the target spot (0 \leq b \leq 15).
Each of the following n lines has two integers. In the k-th line, p_k is the position of the k-th obstacle, its distance from the launcher, and h_k is its height from the ground level. You can assume that 0 < p_1, p_k < p_{k+1} for k = 1, . . . , n − 1, and p_n < d. You can also assume that 1 \leq h_k \leq 10000 for k = 1, . . . , n.
Output the smallest possible initial speed v_i that makes the bullet reach the target. The initial speed v_i of the bullet is defined as follows. v_i = \sqrt{v_{ix}^2 + v_{iy}^2} The output should not contain an error greater than 0.0001
100 1 0 50 100
14.57738
10 1 0 4 2
3.16228
100 4 3 20 10 30 10 40 10 50 10
7.78175
343 3 2 56 42 190 27 286 34
11.08710