Tanish is the president of the chemistry club at his school. He considers everyone who doesn't like chemistry as his enemy. After years of research, he has invented a lethal poison, which he named success. Now Tanish plans to kill all his enemies with his success. Success is extremely deadly and is untraceable in small concentrations.
Tanish has $\text{N}$ flasks lying on the shelf of his lab. All of these flasks contain the same volume of poison solution. The concentration of poison in the $\text{ith}$ flask is $\mathbf{a_i}$. In one move - Tanish picks up any two flasks, pours half of the contents of each of these flasks into a third initially empty flask, discards the two flasks and places the third flask (which now has the same volume of solution as all other flasks) on the shelf. He performs N-1 such moves to end up with only one flask of poison on the shelf. He wishes to perform these moves such that the concentration of poison in this flask is the minimum possible. What is the minimum concentration of poison that he can achieve?

-----Input-----
First line of the input contains a single integer $\text{T}$ - the number of test cases. 
For each test case,
The first line contains a single integer $\text{N}$, the number of bottles. 
The second line contains N space-separated integers, the concentrations. 

-----Output-----
For each test case, print one line containing the lowest final concentration. The output will be accepted if the absolute error is $\leq 10^{-6}$.

-----Constraints-----
$1 \leq \text{T} \leq 10$
$2 \leq \text{N} \leq 10^4$
$0 \leq \mathbf{a_i} \leq 10^9$

-----Sample Input-----
2
2
9 3
3
3 2 9

-----Sample Output-----
6.00000000
4.00000000

-----Explanation-----
In test 1, Tanish mixes flasks 1 and 2. In test 2, he first mixes flasks 1 and 3 to get a flask of concentration 6 and then mixes this flask with flask 2 to get a flask of poison concentration 4.    

-----Note-----
The concentration is given in the unit ppb i.e. parts per billion.
1 gram poison in $10^9$ ml solution is 1 ppb.
Concentration in ppb = (Number of grams of poison / Volume of solution in ml) x $10^9$

Difficulty: interview

Starter code:

Solutions:
t=int(input())
for i in range(t):
 n=int(input())
 N=list(map(int,input().split()))
 N.sort()
 
 k=n-1
 ave=N[k]
 for j in range(n-1):
  ave=(ave+N[k-1])/2
  k=k-1
  
 print(ave)

test=int(input())
for i in range(test):
 N=int(input())
 n=input()
 a=list(n.split(' '))
 for k in range(N):
  a[k]=int(a[k])
 a.sort(reverse=True)
 sum= a[0]/(2**(N-1))
 for j in range(1,N):
  sum+= a[j]/(2**(N-j))
 print(sum)
 


# cook your dish here
t=int(input())
for i in range(t):
 n=int(input())
 N=list(map(int,input().split()))
 N.sort()
 
 k=n-1
 ave=N[k]
 for j in range(n-1):
  ave=(ave+N[k-1])/2
  k=k-1
  
 print(ave)

# cook your dish here
for t in range(int(input())):
 n=int(input())
 lis=list(map(int,input().split()))
 for i in range(n-1):
  lis.sort() 
  
  a=lis.pop(len(lis)-1)
  b=lis.pop(len(lis)-1) 
  
  lis.append((a+b)/2)
 print(lis[0]) 


for t in range(int(input())):
 n=int(input())
 lis=list(map(int,input().split()))
 for i in range(n-1):
  lis.sort() 
  
  a=lis.pop(len(lis)-1)
  b=lis.pop(len(lis)-1) 
  
  lis.append((a+b)/2)
 print(lis[0]) 


#!/usr/bin/python3

ns = lambda: input()
ni = lambda: int(input())
nm = lambda: map(int, input().split())
nl = lambda: list(map(int, input().split()))

for _ in range(ni()):
 n=ni()
 a=nl()
 a.sort()
 ans=a[-1]
 for i in range(1,n):
  ans=(ans+a[n-1-i])/2
 print(ans)

for _ in range(int(input())):
 n=int(input())
 l=[int(x) for x in input().split()]
 l.sort(reverse=True)
 c=l[0]+l[1]
 for i in range(2,n):
  c+=l[i]*(2**(i-1))
 c/=(2**(n-1))
 print(format(c,".8f"))

# cook your dish here
# cook your code here
try:
 
 T = int(input())
 for i in range(T):
  n = int(input())
  path = [int(i) for i in input().strip().split(" ")]
  path.sort(reverse = True)
  count = 0
  for i in range(n-1):
   res = (path[i]+path[i+1])/2
   count = count + res
   path[i+1] = res
  print("%.8f" %res)
except EOFError:
 pass

  
 
 
    



def Average(A,B):
 return (A+B)/2

T=int(input())

for _ in range(T):
 N=int(input())
 A=list(map(int,input().split()))
 A.sort(reverse=True)
 while(len(A)!=1):
  A.insert(0,Average(A.pop(0),A.pop(0)))
 print(A[0])



# cook your dish here
for _ in range(int(input())):
 n = int(input())
 a = [int(i) for i in input().split()]
 a.sort(reverse = True)
 k = (a[0] + a[1])/2
 for i in range(2,n):
  k = (k + a[i])/2
 print(k)

# cook your dish here

"""

The first thing that comes to my mind is

while(len(arr)! = 2)
{
    sort(arr)
    last_two_average = (arr[-1]+arr[-2])/2
    arr = arr[:-3].append(last_two_average)
}
print((arr[0] + arr[1])/2)

This solution will mostly timed out because of the sorting in reach step

"""

testcase = int(input())
for z in range(testcase):
 N = int(input())
 arr = [int(d) for d in input().split()]
 while(N>2):
  arr = sorted(arr)
  last_two_average = (arr[-1]+arr[-2])/2
  arr = arr[:-2]
  arr.append(last_two_average)
  N = N - 1
 print("{0:.8f}".format((arr[0] + arr[1])/2)) 
  


t=int(input())
for i in range(t):
 n=input()
 arr=[int(i) for i in input().split()]
 arr.sort()
 while(len(arr)!=1):
  w=arr[-1]
  arr.pop() 
  e=arr[-1]
  arr.pop()
  arr.append((w+e)/2) 
 print('%.6f'%arr[0])

# cook your dish here
for _ in range(int(input())):
 n=int(input())
 a=[int(x) for x in input().split()]
 a.sort()
 while(len(a)!=1):
  t=a[-1]
  a.pop()
  l=a[-1]
  a.pop()
  a.append((t+l)/2)
 print('%.6f'%a[0]) 

# cook your dish here
def poison(n,concentration):
 
 concentration=sorted(concentration)
 for i in range(n-1,0,-1):
  replaced=(concentration[i]+concentration[i-1])/2
  concentration.pop()
  concentration.pop()
  concentration.append(replaced)
  
 return concentration[0]



t=int(input())
for i in range(t):
 n=int(input())
 concentration=[int(x) for x in input().split()]
 ans=poison(n,concentration)
 print('%.6f'%ans)

t=int(input())
while t>0:
 n=int(input())
 li=input().split()
 for i in range(n):
  li[i]=int(li[i])
 n-=1
 li.sort()
 while n>0:
  li[n-1]=(li[n]+li[n-1])/2
  n-=1
 print(li[0])
 t-=1

t=int(input())
for _ in range(t):
 n=int(input())
 l=list(map(int,input().split()))
 l.sort(reverse=True)
 ans = l[0]
 for i in range(1,n):
  ans = (ans+l[i])/2
 print(ans)


# cook your dish here
#from decimal import Decimal
t=int(input())
while(t>0):
 n=int(input())
 ar=[int(i) for i in input().split()]
 while(len(ar)!=1):
  ar.sort(reverse=True)
  a=ar.pop(0)
  b=ar.pop(0)
  c=(a+b)/2
  ar.append(c)
 a=('%.6f'%ar[0])
 print(a)
 t=t-1


for i in range(int(input())):
 n=int(input())
 A=list(map(int,input().split()))
 A=sorted(A)
 A=A[::-1]
 x=(A[0]+A[1])/2
 if len(A)>2:
  for i in range(2,len(A)):
   x=(A[i]+x)/2
 print('%.6f' % x)


for i in range(int(input())):
 n = int(input())
 arr = list(map(int, input().split()))
 arr.sort()
 for j in range(n-1, 0, -1):
  arr[j-1] = (arr[j] + arr[j-1])/2
 print(arr[0])

# cook your dish here
t=int(input())
for i in range(t):
 n=int(input())
 a=list(map(int,input().split(" ")))
 a.sort(reverse=True)
 sum=(a[0]+a[1])/2
 #print(sum,a)
 for i in range(2,n) :
  sum=(sum+a[i])/2
  # print(sum)
 print(sum)


# cook your dish here
try:
 t=int(input())
 for i in range(t):
  l=int(input())
  a=[int(i) for i in input().split()]
  a.sort()
  if (len(a)>2):
   for i in range(l-1):
    p=len(a)
    d=(a[p-2]+a[p-1])/2
    del a[p-2]
    del a[p-2]
    a.append(d)
   print(a[0])
  else:
   t=sum(a)
   avg=t/len(a)
   print(avg)
except EOFError:
 pass
  
  


for _ in range(int(input())) :
 n = int(input())
 nums = list(map(int,input().split()))
 nums.sort()
 ans = nums[n-1]
 for i in range(2,n+1):
  ans += nums[n-i]
  ans /= 2
 print(ans)

# cook your dish here
for i in range(int(input())):
 n = int(input())
 a = list(map(int,input().split()))
 a.sort()
 s= a[n-1]
 for i in range(n-1,0,-1):
  s= (s+a[i-1])/2 
 print(s)