// Arup Guha
// 2/8/2013
// Solution to 2013 HS Online Problem: Umbrella

import java.util.*;

public class umbrella {

	public static void main(String[] args) {

		Scanner stdin = new Scanner(System.in);
		int numCases = stdin.nextInt();

		// Go through all the cases.
		for (int loop=1; loop<=numCases; loop++) {
			
			// Read in all the spokes.
			int n = stdin.nextInt();
			int[] spokes = new int[n];
			for (int i=0; i<n; i++)
				spokes[i] = stdin.nextInt();

			// Set up for permutation algorithm.
			int[] perm = new int[n];
			for (int i=0; i<n; i++)
				perm[i] = i;

			double maxarea = 0;

			// Iterate through each permutation.
			do {

				// Get this area.
				double area = 0;
				for (int i=0; i<n; i++) {
					area += (.5*spokes[perm[i]]*spokes[perm[(i+1)%n]]*Math.sin(2*Math.PI/n));
				}
				
				// Update best, if necessary.
				if (area > maxarea)
					maxarea = area;
			} while (nextPerm(perm));

			// Output result.
			System.out.printf("Umbrella #"+loop+": %.3f\n", maxarea);
		}
	}

	// Changes perm to be the next lexicographical permutation. Returns false if
	// no such permutation exists.
	public static boolean nextPerm(int[] perm) {

		// Find spot to switch digit.
		int n = perm.length;
		int i = n-1;
		while (i>0 && perm[i-1] > perm[i]) i--;

		// This is when everythign is in reverse.
		if (i == 0) return false;
		
		// Find the spot with which we'll swap spot i.
		i--;
		int j = i+1;
		while (j < perm.length && perm[j] > perm[i]) j++;
		j--;

		// Do the swap.
		int temp = perm[i];
		perm[i] = perm[j];
		perm[j] = temp;

		// Reverse the rest.
		for (int a=i+1, b=n-1; a<b; a++,b--) {
			temp = perm[a];
			perm[a] = perm[b];
			perm[b] = temp;
		}

		return true;
	}
}