Pintura Rupestre


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Prolog, Swift, VB

Iván está viendo un documental sobre pintura rupestre. Algunos números, tallados en orden caótico, inmediatamente atrajeron su atención. Iván propuso rápidamente una suposición de que son el resto de la división de un número n por todos los enteros i de 1 a k. Desafortunadamente, hay demasiados enteros para analizar para Iván.

Iván quiere que compruebes si todos estos restos son distintos. Formalmente, él quiere verificar, si todo n mod i, 1 \leq i \leq k, son distintos. Esto es si no hay un par (i, j) tal que:

  • 1 \leq i < j \leq k,
  • n mod i = n mod j, donde x mod y es el resto de la división x entre y.

Entrada

La primera línea de la entrada contiene un número entero t, indicando la cantidad de casos de prueba (1 \leq t \leq 10). Cada caso de prueba es descrito mediante dos enteros n, k (1 \leq n, k \leq 10^18).

Salida

Para cada caso de prueba imprima "YES", si todos los restos son distintos, y "NO" de lo contrario.

Ejemplo de Entrada

2
4 4
5 3

Ejemplo de Salida

NO
YES

Explicación

En el primer caso de prueba los restos módulo 1 y 4 coinciden. En el segundo caso de prueba 5 mod 1, 5 mod 2 y 5 mod 3 son todos distintos.


Comments


  • 1
    linkyless  commented on Aug. 27, 2022, 12:59 a.m.

    ¿Este problema es simplemente comprobar si todos los restos del número A % (todos los numeros hasta B) son distintos? ¿No bastaría con meter todos los resultados del mod en un vector y luego comprobar si hay alguno duplicado? Si es así, por favor, comprueben mi código y coméntenme qué podría estar mal.


    • 3
      josue  commented on Aug. 27, 2022, 8:31 a.m.

      un numero hasta 10^18 no cabe en un entero


      • 1
        linkyless  commented on Aug. 31, 2022, 2:38 a.m.

        Muchas gracias por la ayuda!