Mohammed tiene un arreglo a_1,a_2,\ldots,a_n de números enteros en el que eligió sus números favoritos entre los enteros positivos. Si Mohammed repitió un número más de una vez, eso significa que lo quiere más que a los que aparecen menos veces. Sin embargo, Mohanad decidió arruinar el momento a propósito: quería que Mohammed mejorara su capacidad de resolución de problemas, así que Mohanad borró todo el arreglo y le dijo a Mohammed únicamente y que originalmente \sum\limits_{i=1}^n \sum\limits_{j=i}^n a_j=k. ¿Podrías determinar el máximo valor posible de a_n ?
La primera línea contiene un único entero (1 \le t \le 10^4) – el número de casos de prueba.
La única línea de cada caso de prueba contiene dos enteros y (1 \le n \le 10^9 \, , \, 1 \le k \le 10^{18}).
Se garantiza que existe al menos un arreglo válido.
Para cada caso de prueba, muestra un único entero – el máximo valor posible de a_n.
¡Ten en cuenta! que los valores no caben en un tipo entero de 32 bits, por lo que debes usar al menos un tipo entero de 64 bits en tu lenguaje de programación (como long long en C++).
Ejemplo 1
En el primer caso de prueba, el arreglo es , y \sum\limits_{i=1}^{1}\sum\limits_{j=i}^{1} a_j=a_1=5, por lo que a_1=5.
En el segundo caso de prueba, el arreglo maximiza a_2, tenemos
i=1 : 1+7=8.
i=2 : .
por lo tanto la suma es 8+7=15, y a_2=8 es imposible, ya que 8+8=16>15 de por sí.
En el tercer caso de prueba, el arreglo [3,1,3] maximiza a_3, tenemos
i=1 : 3+1+3=7.
i=2 : 1+3=4.
i=3 : .
por lo tanto la suma es 7+4+3=14, y a_3=4 es imposible, ya que incluso [1,1,4] da 6+5+4=15>14.
Subtarea ( puntos) : (n=1)
Subtarea ( puntos) : (\sum n \le 1000 \, , \, k \le 10^6)
Subtarea ( puntos) : Sin restricciones adicionales.