CF439E Devu and Birthday Celebration

题目描述

今天是 Devu 的生日。为了庆祝这个日子,他从附近的市场买了 $n$ 个糖果。他邀请了 $f$ 个朋友。他希望把糖果分给这些朋友。因为他是个好人,这个节日也很重要,所以他希望每个朋友至少能分到一个糖果。 他希望以一种独特的方式庆祝,因此对分糖果有以下要求。假设他将 $n$ 个糖果分发给朋友,使得第 $i$ 个朋友分到 $a_{i}$ 个糖果。他想确保不存在大于 $1$ 的正整数 $x$,可以整除每个 $a_{i}$。 请你计算满足要求的分法有多少种。注意分配的顺序很重要,例如 $[1, 2]$ 和 $[2, 1]$ 被认为是不同的分法。由于答案可能非常大,请输出对 $1000000007$($10^{9}+7$)取模后的结果。 为了让问题更有趣,你会被给出 $q$ 组询问。每次询问包含一对 $n, f$。请你对每组询问输出所需方案数,答案对 $1000000007$ 取模。

输入格式

第一行包含一个整数 $q$,表示询问的数量($1 \leq q \leq 10^{5}$)。接下来的 $q$ 行,每行包含两个用空格分隔的整数 $n$ 和 $f$($1 \leq f \leq n \leq 10^{5}$)。

输出格式

对于每组询问,输出一行一个整数,表示每组询问对应的答案。

说明/提示

对于第一组样例:$n=6, f=2$。可能的分配有 $[1, 5]$ 和 $[5, 1]$。 对于第二组样例:$n=7, f=2$。可能的分配有 $[1, 6]$、$[2, 5]$、$[3, 4]$、$[4, 3]$、$[5, 2]$ 和 $[6, 1]$。一共 $6$ 种可能的分法。 由 ChatGPT 5 翻译