HSHW - Highschool Homework


Hugo had quite a bad day today. His favourite high school subject, mathematics, was taught by his least liked substitute teacher - he always gave out an abnormally large amount of homework. Today was no different.

The teacher wrote N numbers on the board, and after a long thoughtful pause he told the class with a grin: "Well then, kids. For today's homework you will do this harmless exercise. As you can see, I've written quite a few numbers on the board, and your task is to find which two of them have the greatest product. Hm, now that I think about it, that would be too trivial. So you will also have to find which pair of numbers has the greatest quotient. Well, and now that we're at it, why don't you find the pair with the smallest quotient, too. And at that point you might as well find the pair with the smallest product. That should keep you busy for today's evening!".

Sigh.

How could someone even come up with such a boring, time-consuming and impractical task. If only there was someone who would help Hugo and do it for him.

Input

The first line of input contains the number 1 ≤ T ≤ 15: the number of test cases. T cases follow. The first line of each case contains the number 2 ≤ N ≤ 105: how many numbers the teacher wrote on the board. The second line contains N integers; their absolute value will be in the range [1, 106] (inclusive). In particular, notice that none of them are equal to zero. You may assume that in any input file, the sum of N across all test cases does not exceed 3*105.

Output

For each case, output five lines. The first one contains the number of the case x in the format "Case x:", starting at 1.

Then output four lines, each containing two integers from the input (let's call them x and y). They need to have the following properties (in this order):

x * y is the greatest possible
x * y is the lowest possible
x / y is the greatest possible
x / y is the lowest possible

If there are multiple pairs of integers which fulfil the criteria, output the one with the lowest x. x, y may be equal, but in that case their value has to appear at least twice in the input. All four lines are independent, that is the same integer from the input may be used across multiple lines. A number A is said to be greater than B if A > B and lower than B if A < B.

Example

Input:
1
3
5 -7 10

Output:
Case 1:
5 10
-7 10
10 5
10 -7

hide comments
Vipul Srivastava: 2017-04-18 16:03:25

So the answer for minimum x/y should be -7 5?

RE: -7/5 = -1.4,10/-7 = -1.42857... so (10,-7) have lowest x/y

Last edit: 2017-04-18 16:06:05
Vipul Srivastava: 2017-04-18 15:45:00

does x and y have to follow some order like x<y or x>y?

RE: No, it only has to have the wanted result (e.g. greatest product), and out of all (x,y) which have it choose the one with lowest x

Last edit: 2017-04-18 16:03:37

Added by:Hodobox
Date:2017-04-14
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All
Resource:own problem