Soñando

Time Limit:
1 Sec
Memory Limit:
128Mb
Enviados:
80
Resuelto:
21

Descripción

Miguel ha estado preparando muchos problemas toda la noche. Ahora tiene que dormir al menos $A$ minutos para sentirse renovado(full power).

Miguel solo puede despertarse escuchando el sonido de su alarma que kaylen puso para el. Así que acaba de quedarse dormido y suena su primera alarma en $B$ minutos.

Cada vez que Miguel se despierta, decide si quiere dormir un poco más o no. Si ha dormido al menos $A$ minutos se levanta de la cama y continua con su día de lo contrario si ha dormido menos de $A$ minutos en total, configura su alarma para que suene en $C$ minutos pero a Miguel le toma $D$ minutos para volver a dormir y seguir soñando. Si la alarma suena mientras Miguel esta por dormirse (en los $D$ minutos) entonces reinicia su alarma para que suene en otros $C$ minutos e intenta conciliar el sueño nuevamente durante otros $D$ minutos.

Se quiere saber cuándo se levantará Miguel de su cama o informar que nunca sucederá y siempre estara luchando con su alarma.

Entrada

La primer linea tendra un número $T$ ($1 \leq T \leq 1000$)que representa el número de casos de prueba.

Luego siguen $T$ lineas que contienen $A$,$B$,$C$,$D$ ($1 \leq A, B, C, D \leq 10^9$) que representan el tiempo que Miguel tiene que dormir para sentirse renovado, el tiempo que Miguel durmio antes de que suene la primera alarma, el tiempo que programa Miguel para su siguiente alarma y el tiempo que Miguel necesita para quedarse dormido

Salida

Para cada caso de prueba, imprima un número entero. Si Miguel nunca se levanta de la cama, imprima $-1$. De lo contrario, imprima el tiempo que tarda Miguel en levantarse de la cama.

Ejemplo Entrada

Copy icon
3
100 80 5 2
100 80 5 5
100 80 5 7

Ejemplo Salida

Copy icon
115
-1
-1

Ayuda