咕咕嘎嘎!!!(easy)
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

企鹅喜欢收集石头,他有 n 个编号不同的石头,编号分别为 1n。现在企鹅想从这 n 个石头中选出 m 个石头带回家。但是,企鹅认为如果选出的 m 个石头的编号的最大公约数(\gcd)为 1,这些石头就会打架。为了防止石头打架,企鹅想知道有多少种选择石头的方案满足选出的 m 个石头的编号的 \gcd 不为 1。(假如选了 3 个石头,分别是 362,那么 \gcd(2, 3, 6) = 1。)由于方案数可能很大,请对 10^9 + 7 取模。(easy 版本和 hard 版本仅数据范围不同。)

注:只选定一个石头,则最大公约数视为这个石头的编号本身。

输入描述:

第一行包含两个整数 nm1 \leq m \leq n \leq 5000,且 n \times m \leq 5000)。

输出描述:

输出一个整数,表示满足条件的方案数,对 10^9 + 7 取模。
示例1

输入

复制
5 2

输出

复制
1

说明

只有选择(2,4)这一种方案
示例2

输入

复制
6 3

输出

复制
1

说明

只有(2,4,6)这一种方案
示例3

输入

复制
85 25

输出

复制
661928654