Suma en Rango.


Submit solution

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

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python, VB

Dado un número entero n, definimos \sigma(n) como la suma de los divisores de n. Por ejemplo, \sigma(12)=1+2+3+4+6+12=28.

Tu tarea es calcular \sum_{i=l}^n \sigma(i) módulo 10^9+7.

Entrada

La entrada consiste en dos números enteros l y r (1 \leq l \leq r \leq 10^{14}).

Salida

Imprime la suma de \sigma(i) para todos los i desde l hasta r. Como el resultado puede ser muy grande, imprime el resultado módulo 10^9+7.

Subtareas

  • Subtarea 1 (15 puntos): (1 \leq l \leq r \leq 10^5) para (l=r)
  • Subtarea 2 (25 puntos): (r-l \leq 10^3) & (1 \leq l \leq r \leq 10^8)
  • Subtarea 3 (30 puntos): (1 \leq l \leq r \leq 10^7)
  • Subtarea 4 (30 puntos): Sin restricciones adicionales.

Ejemplo de Entrada

1 5

Ejemplo de Salida

21

Explicación: Los divisores de 1 son {1}, de 2 son {1,2}, de 3 son {1,3}, de 4 son {1,2,4} y de 5 son {1,5}. Por lo tanto, la suma de los divisores es 1+3+4+7+6=21. Como se pide el resultado módulo (10^9+7), la respuesta es 21.


Comments

There are no comments at the moment.