Digital Speedometer

Problem ID: speedometer

A digital speedometer shows a vehicle’s speed as integer miles per hour. There are occasions when the sensed speed varies between two integer values, such as during cruise control. Using a single threshold to round between adjacent integers often makes the display toggle rapidly between the two integers, which is distracting to the driver.

Your team must implement a smoothing technique for the display using separate rising and falling thresholds ($t_ r$ and $t_ f$, $t_ r < t_ f$, respectively). See Figure 1 for a graphical depiction of the Sample Input for use with the following rules.

\includegraphics[width=0.9\textwidth ]{speedometer-Figure-1.png}

Each sensed speed, $s$, falls between two adjacent integers $i$ and $j$, $i \le s < j$, where $j = i + 1$. When displaying the sensed speed $s$ as an integer:

Input

The first line of input contains $t_ f$, the falling threshold. The second line of input contains $t_ r$, the rising threshold. The speed sensor reports $s$ in increments of $0.1$ mph. The thresholds are always set halfway between speed increments. All remaining lines until end-of-file are successive decimal speeds, $s$, in miles per hour, one speed per line. The third line of input, which is the first measured speed, will always be $0$.

\[ 0 < t_ f,t_ r < 1; \ \ \ \ t_ f < t_ r; \ \ \ \ 0 \le s \le 120 \]

Output

Output is the list of speeds, one speed per line, smoothed to integer values appropriate to $t_ f$ and $t_ r$.

Sample Explanation

Input

Output

Explanation

0.25

 

Value of $t_ f$.

0.75

 

Value of $t_ r$.

0

0

Initial input.

2.0

2

Input greater than $0$, below threshold of $2.25$.

5.7

5

Input greater than $2.0$, in threshold range.

5.8

6

Input greater than $2.0$, exceeds upper threshold of $5.75$.

5.7

6

Input less than $5.8$, in threshold range.

5.2

5

Input less than $5.8$, below threshold of $5.25$.

5.7

5

Input greater than $5.2$, in threshold range.

0.8

1

Input greater than $0$ and less than $1$.

0.2

1

Input greater than $0$ and less than $1$.

Sample Input 1 Sample Output 1
0.25
0.75
0
2.0
5.7
5.8
5.7
5.2
5.7
0.8
0.2
0
2
5
6
6
5
5
1
1