#D3296. Sum of Remainders

    ID: 2744 Type: Default 2000ms 256MiB

Sum of Remainders

Sum of Remainders

Calculate the value of the sum: n mod 1 + n mod 2 + n mod 3 + ... + n mod m. As the result can be very large, you should print the value modulo 109 + 7 (the remainder when divided by 109 + 7).

The modulo operator a mod b stands for the remainder after dividing a by b. For example 10 mod 3 = 1.

Input

The only line contains two integers n, m (1 ≤ n, m ≤ 1013) — the parameters of the sum.

Output

Print integer s — the value of the required sum modulo 109 + 7.

Examples

Input

3 4

Output

4

Input

4 4

Output

1

Input

1 1

Output

0

inputFormat

Input

The only line contains two integers n, m (1 ≤ n, m ≤ 1013) — the parameters of the sum.

outputFormat

Output

Print integer s — the value of the required sum modulo 109 + 7.

Examples

Input

3 4

Output

4

Input

4 4

Output

1

Input

1 1

Output

0

样例

3 4
4

</p>