#P4562. Sum of Inspection Times

    ID: 17808 Type: Default 1000ms 256MiB

Sum of Inspection Times

Sum of Inspection Times

A boss started a company with n offices numbered from l to l+n-1. To ensure the employees are working hard, she inspects the offices in a predetermined order (i.e. a permutation of the offices). Initially, all employees are lazy. When she inspects an office with number \(i\), the employees in that office start working diligently. Moreover, these employees immediately notify every office whose number is a multiple of \(i\) (including \(i\) itself) so that those employees also begin to work diligently.

For a given inspection order \(p\) (a permutation of the offices), define \(t(p)\) as the smallest index such that after the first \(t(p)\) inspections, every office has been notified (i.e. for every office, at least one of its divisors that is among the offices has been inspected). The task is to compute the sum of \(t(p)\) over all possible permutations \(p\), modulo \(10^9+7\).

inputFormat

The input consists of two integers l and n on a single line (with constraints \(1 \le n \le 10\)). The offices are numbered from l to l+n-1.

outputFormat

Output a single integer: the sum of \(t(p)\) over all permutations of the offices, taken modulo \(10^9+7\).

sample

1 2
4

</p>