ll@t; rep(t){ ll@n; double@x,@h[n],@a[n]; double z=1e99; rep(i,n){ double w=0,p=0; rep(j,i){ double r=a[i]/a[j]; if(r>=1){ break_continue; } double t=r/sqrt(1-r*r); p+=t*h[j]; w+=hypot(t,1)*h[j]*a[j]; } if(x/2<=p) continue; w+=(x/2-p)*a[i]; z