#R2024A0103. Memory in High School(Hard Version)

Memory in High School(Hard Version)

Memory in High School(Hard Version)

时间限制:1s

空间限制:256MB

Description

​ 高中曾经的课堂上,有一种叫做互批的操作。通常在一次默写或者课堂测验之后,老师会把学生的卷子收起来,并随机下发,通过同学间的协调互换试卷,确保没有同学拿到自己的卷子。随后,老师会开始现场讲解,并且让同学批改手中的试卷。

​ 不同的是,为了避免这一过程过于混乱与费时,自由雨老师选择将试卷按小组收齐,以小组为单位打乱后再将试卷分发,确保每个小组拿不到自己组对应的试卷。每一列为一个小组。

​ 在一次互批之后,原力清理大师又想当一回好人,在找回自己卷子的同时把一部分别人的卷子也送还,具体操作如下:

​ 原力清理大师会拿着自己手中的试卷找到对应的同学,并查看该同学手中的试卷是否是自己的。如果是,原力清理大师会立刻停止寻找(绝对不是他懒得再帮别人了);如果不是,原力清理大师会把手中的试卷还给该同学,并获得该同学所负责的那位同学的试卷,继续用新拿来的卷子找到对应同学。原力清理大师将重复以上流程,直到找到自己的卷子为止。

​ 现在,已知班级中座位为 nnmm 列,每个座位都有一位对应的同学。原力清理大师在传递试卷时偶然想到,能不能求出他重复该操作的次数的期望呢?他怎么都想不明白,于是向你来寻求帮助。

Input Format

​ 一行两个整数,分别为班级座位行数 nn 与班级座位列数 mm

Output Format

​ 输出一行 11 个数字,代表原力清理大师进行试卷传递操作的次数的期望。由于结果可能较大,请输出答案关于1e9+7取模后的结果。

Data Range

  • 1n1e51 \leq n \leq 1e52m1e52 \leq m \leq 1e5nm>=2n*m>=2

Input Example #1:

1 2

Output Example #1:

1

Explanation

除了原力清理大师之外,只有一位同学,当然是一次就找到啦~