BILLIARD - Billiard

In a billiard table with horizontal side a inches and vertical side b inches, a ball is launched from the middle of the table. After s > 0 seconds the ball returns to the point from which it was launched, after having made m bounces off the vertical sides and n bounces off the horizontal sides of the table. Find the launching angle A (measured from the horizontal), which will be between 0 and 90 degrees inclusive, and the initial velocity of the ball.

Assume that the collisions with a side are elastic (no energy loss), and thus the velocity component of the ball parallel to each side remains unchanged. Also, assume the ball has a radius of zero. Remember that, unlike pool tables, billiard tables have no pockets.

Input

Input consists of a sequence of lines, each containing five nonnegative integers separated by whitespace. The five numbers are: a, b, s, m, and n, respectively. All numbers are positive integers not greater than 10000.

Input is terminated by a line containing five zeroes.

Output

For each input line except the last, output a line containing two real numbers (accurate to two decimal places) separated by a single space. The first number is the measure of the angle A in degrees and the second is the velocity of the ball measured in inches per second, according to the description above.

Example

Input:
100 100 1 1 1
200 100 5 3 4
201 132 48 1900 156
0 0 0 0 0

Output:
45.00 141.42
33.69 144.22
3.09 7967.81

Added by:Adrian Kuegel
Date:2005-07-04
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All
Resource:University of Waterloo Local Contest (Spring 1999)

hide comments
2019-10-23 18:35:41
Nice hints.
2012-07-28 07:19:12 Fish3R
@Sandeep Singh Jakhar
I had the same problem.. My error was due to typecasting.. int/int gives int.. (double) (int / int) also gives the same int value..
2012-07-27 18:49:36 ɥsǝןǝǝu
i got wrong answer with float but accepted by changing it to double....
2012-06-11 10:33:51 Adrian Kuegel
@sanctity: sorry, but the problem tells you exactly what you should print. If you don't do it, its your fault.
2012-05-21 16:44:07 NOODLES
WTF.......a new line feed costed me 5 wrong answers.....idiotic....
2012-05-21 15:18:31 NOODLES
are there any tricky cases.......i have checked my o/p is correctfor all possible cases but still getting a WA :( somebody help plzzzzzzzzzzzzzzzz
2012-05-15 14:58:13 Sandeep Singh Jakhar
i'm getting incorrect o/p for 3rd testcase..help..:P
2012-01-06 08:23:22 Parth Tripathi
more test cases please
2011-12-17 18:39:47 Aquid Shahwar
my all the ans are comng correct,then also it is giving wa,,can anyone help me.
2011-03-23 14:00:33 Alejandro Hitti
Took me a while to get this one... It was easy after I realized the ball doesn't stop when it gets to the middle again, it just goes by :p

Last edit: 2011-03-23 17:10:15
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.