Bài tập về nhà

View as PDF



Problem types
Points: 1600 (p) Time limit: 1.0s Memory limit: 1023M Input: stdin Output: stdout

Sau một ngày ăn chơi sa đọa, Huy quên mất mình cần phải làm bài tập về nhà của thầy Small. Bài tập đó như sau

\(“\) Gọi \(F_i\) là tổng các ước nguyên dương của \(i\). Cho hai số \(L\), \(R\) hãy tính \(S= F_L + F_{L+1} + F_{L+2} +…+ F_R ”\).

Vì không muốn phải nộp phạt, nên Huy đã nhờ bạn giải quyết bài tập trên.

Input

  • Một dòng duy nhất gồm 2 số nguyên dương \(L\)\(R\) \((L \leq R \leq 10^{12})\)

Output

  • Gồm 1 dòng duy nhất là kết quả được tính theo modulo \(10^9 + 7\).

Scoring

  • Subtask \(1\) (\(60\%\) số điểm): \(L \leq R \leq 10^6\)
  • Subtask \(2\) (\(20\%\) số điểm): \(L \leq R \leq 10^{12} ; R-L \leq 10^6\)
  • Subtask \(3\) (\(20\%\) số điểm): \(L \leq R \leq 10^{12}\)

Example

Test 1

Input
101 101 
Output
102

Test 1

Input
1 10 
Output
87

Test 1

Input
987654456799 987654456799 
Output
654449891

Comments

There are no comments at the moment.