Estás a punto de cruzar la carretera, pero un coche circula a gran velocidad por ella.
En el plano cartesiano, una carretera de anchura $w$ se extiende infinitamente en la dirección $x$ y ocupa la franja $0\le y\le w$. Quieres cruzarla desde el límite inferior $y=0$ hasta el límite superior $y=w$, evitando un coche que está en la carretera.
La carrocería del coche se representa mediante un polígono simple con $n$ vértices. En el instante $t=0$, sus vértices son $(x_1,y_1),(x_2,y_2),\ldots,(x_n,y_n)$, en orden antihorario a lo largo del contorno. El coche se mueve con velocidad horizontal constante $u$, por lo que, en el instante $t$, su $i$-ésimo vértice está en $(x_i+ut,y_i)$.
Puedes moverte en cualquier dirección o esperar, pero tu velocidad nunca debe superar $v$. Equivalentemente, para cualesquiera dos instantes $0\le t_1\le t_2$, la distancia euclídea entre tus posiciones en esos instantes debe ser como máximo $v(t_2-t_1)$. En ningún momento puedes estar estrictamente dentro de la carrocería del coche; se permite tocar su contorno.
Se te dan $q$ consultas independientes. En la $j$-ésima consulta, empiezas en $(s_j,0)$ en el instante $t=0$. Encuentra el tiempo mínimo necesario para llegar de forma segura a cualquier punto de $y=w$. En cada consulta, el coche vuelve a partir de la misma configuración dada en el instante $t=0$; las consultas no se afectan entre sí. Se puede demostrar que siempre existe una respuesta.
Entrada
La primera línea contiene un entero $T$ ($1\le T\le 5\times 10^4$), el número de casos de prueba.
Cada caso de prueba comienza con una línea que contiene cuatro enteros $n,w,u,v$ ($3\le n\le 5\times 10^5$, $1\le w,v\le 10^9$, $-10^9\le u\le 10^9$): el número de vértices del coche, la anchura de la carretera, la velocidad horizontal del coche y tu velocidad máxima, respectivamente.
Las siguientes $n$ líneas describen el coche en el instante $t=0$. La $i$-ésima línea contiene dos enteros $x_i,y_i$ ($-10^9\le x_i\le 10^9$, $0\le y_i\le w$), las coordenadas de su $i$-ésimo vértice. Los vértices se dan en orden antihorario a lo largo del contorno y forman un polígono simple: las aristas no adyacentes no tienen ningún punto en común, las aristas adyacentes solo se intersecan en su extremo común y no hay tres vértices consecutivos colineales.
La siguiente línea contiene un entero $q$ ($1\le q\le 5\times 10^5$), el número de consultas. Cada una de las siguientes $q$ líneas contiene un entero $s_j$ ($-10^9\le s_j\le 10^9$), que especifica el punto inicial $(s_j,0)$ de la $j$-ésima consulta.
Se garantiza que tanto la suma de $n$ como la suma de $q$ en todos los casos de prueba no superan $5\times 10^5$.
Salida
Para cada consulta, imprime un número real en una línea separada: el tiempo mínimo necesario para llegar de forma segura a $y=w$.
Tu respuesta se considera correcta si su error absoluto o relativo no supera $10^{-6}$. Más precisamente, para cada valor $a$ que imprimas y el valor de referencia correspondiente $b$, se exige $\frac{|a-b|}{\max(1,|b|)}\le 10^{-6}$.
Ejemplos
Entrada 1
3 6 10 1 3 -3 3 3 3 3 5 1 5 1 7 -3 7 3 0 6 -6 4 20 5 1 -12 2 2 2 2 10 -2 10 2 0 -12 4 8 2 5 -5 0 5 0 5 8 -5 8 2 -3 3
Salida 1
3.504497942940 3.333333333333 3.333333333333 20.211324865405 20.000000000000 1.885714285714 2.412409788555
Nota
La figura siguiente muestra el estado inicial ($t=0$) de la primera consulta del primer caso de prueba del ejemplo. El polígono naranja representa el coche, y el punto azul $S=(0,0)$ es tu punto inicial. La flecha indica la dirección de movimiento del coche, con $u=1$.