eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Ski Jumping

Ski Jumping

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

Ski jumping is one of the most popular winter sport competitions. In the chase of records, ski jumping hills become larger and larger. To ensure the safety of the competitors, landing speed and angle must not exceed critical margins de_ned by the FIS. Today, it's your task to assess these values for a newly constructed ski jumping arena shown in the figure.

Instead of doing measurements in the field, you can use a little math to solve your problem, since the hill has the following shape:

where l is the position on the x-axis with its origin in the beginning of the hill. H is the height and L is the width of the hill; j is the maximum starting height of the ski-jump and p is the height difference between the end of the (ski-jump) approach and the top of the hill. Assuming that friction plays no important role and since the critical margins are defined for a ight without any inuence of wind, you may utilize the following ight curve:

where v_0 is the speed gained in the approach. You can obtain this value from the law of energy conservation. Potential and kinetic energy are defined as follows:

In all equations, g is the gravitational constant (g9.81 ms^{-2}).

Hints:

The inner product of two wector and is different as:

Вхідні дані

Input starts with the number of test cases t on a single line (0 < t < 160000).

Every test case consists of a single line containing four positive integers j, p, H, and L as defined in the problem statement (0 < j, p, H, L500). The unit of all values is meter.

Вихідні дані

For every test case, print one line containing

  • the landing position l on the x-axis,

  • the landing speed |v_l| of the jumper (in meters per second), and

  • the speed-angle α (in degree) with respect to the hill (see the figure).

The values must be separated by a single blank. An absolute or relative error of 10^{-4} is tolerated.

Приклад

Вхідні дані #1
3
50 5 10 100
50 5 30 100
50 5 50 100
Вихідні дані #1
40.82482905 33.83045965 12.93315449
81.04978134 40.31656580 26.21334827
104.8808848 45.38832449 46.36470132
Джерело ACM ICPC German Collegiate Programming Contest 2012