Problems

# Triple Jump

The triple jump works as follows. The athlete runs down a runway until he reaches a designated mark. He then makes three consecutive jumps and lands in a sand-filled box. The length of the triple jump is the sum of the lengths of the three consecutive jumps. The winner of the competition is the athlete with the longest triple jump.

You are taking part in the competition and jumping after all your opponents. Since you are the last to jump, you already know all your opponents' results.

You have already made the first of your three jumps, and it was first centimeters long. You ask yourself a question: "What is the probability that I will take first place? Second place? And all the other places?". You know that each of your two remaining jumps will be between lower and upper centimeters, inclusive, in length. The lengths will not necessarily be integers, and all possible lengths between lower and upper will be equally likely. Find the probability of you taking the i-th place. Note that your place number is equal to one plus the number of opponents who had longer triple jumps than you.

Input

Consists of multiple test cases. The first line of each test case contains the values of lower, upper, first (1 ≤lower≤ 1000, lowerupper1000, lowerfirstupper) and the number of your opponents n. The second line contains n (1 ≤n≤ 50) integer values from 1 to 3000 - the lengths of your opponents triple jumps.

Output

For each test case print in a separate line exactly n + 1 real numbers - the probabilities of you taking the first, second, third, ..., and the last place. Note that your place number is equal to one plus the number of opponents who had longer triple jumps than you. The probabilities must be printed with 4 digits after the decimal point.

Time limit 1 second
Memory limit 64 MiB
Input example #1
```1 2 1 4
1 2 3 4
1 10 5 8
1 2 3 5 10 11 12 19
```
Output example #1
```0.5000 0.5000 0.0000 0.0000 0.0000
0.2222 0.6235 0.0556 0.0432 0.0556 0.0000 0.0000 0.0000 0.0000
```