Stones

Time Limit: 1000ms
Memory Limit: 32768KB
This problem will be judged on HDU. Original ID: 3815
64-bit integer IO format: %I64d      Java class name: Main

Description

There are N piles of stones on the desk at the beginning and N -1 rounds follows. For each round, two piles are chosen at random and we merge them into a new pile. If the new pile has K stones, then we will get K*K points.
For example, there are three piles of stones and they have 2, 5 and 4 stones respectively. If in the first round we merge the first pile and the third pile, a new pile with 6 stones are created and we will get 6*6=36 points. The second round we will create a new pile with 11 stones and get 121 points. Now we get 157 points in total. Similarly, we will get 170 points if we merge the first pile and the second pile and will get 202 points if we merge the second pile and third pile. The expected points we will get is (157+170+202)/3 = 176.333333.
Your task it to compute the expected points we will get after N-1 rounds.

Input

The first line contains an integer T indicating the number of test cases.
The first line of each test case contains an integer N indicating the number of piles. The second line contains N integers Ai indicating the size of each pile.

Technical Specification
1. 1<=T<=50
2. 1<=N <=100
3. 1<=Ai<=1000

Output

For each test case, output the case number first, then the expected points we will get
rounded to 2 digits after the decimal point..

Sample Input

3
1
100
2
3 4
3
2 5 4

Sample Output

Case 1: 0.00
Case 2: 49.00
Case 3: 176.33

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .