题目描述
小 Y 和小 C 在玩一个游戏。
定义正分数为分子、分母都为正整数的既约分数。
定义 完美正分数集合 S 为满足以下五条性质的正分数集合:
- 21∈S;
- 对于 21<x<2,x∈S;
- 对于所有 x∈S,x1∈S;
- 对于所有 x∈S,x+2∈S;
- 对于所有 x∈S 且 x>2,x−2∈S。
可以证明,上述五条性质确定了唯一的完美正分数集合 S。
所有完美正分数集合 S 中的正分数被称为 完美正分数。记 f(i,j) 表示 ji 是否为完美正分数,即 f(i,j)=1 当且仅当 i 与 j 互素且 ji∈S,否则 f(i,j)=0。
小 C 问小 Y:给定 n,m,求所有分子不超过 n,分母不超过 m 的完美正分数的个数,即求 ∑i=1n∑j=1mf(i,j)。
时光走过,小 C 和小 Y 会再遇见。回首往事,大家都过上了各自想要的生活。
输入格式
从文件 fraction.in
中读入数据。
输入的第一行包含两个正整数 n 和 m,分别表示分子和分母的范围。
输出格式
输出到文件 fraction.out
中。
输出一行包含一个非负整数,表示对应的答案。
10 10
16
样例 1 解释
可以证明,分子分母均不超过 10 的完美正分数共有 16 个,其中小于 1 的 8 个如下:
- $\frac{1}{2}, \frac{1}{4}, \frac{1}{6}, \frac{1}{8}, \frac{1}{10}, \frac{2}{5}, \frac{2}{9}, \frac{4}{9}$。
大于 1 的 8 个完美正分数分别为上述 8 个小于 1 的完美正分数的倒数。
- 可以按照如下方式验证 92 是否为完美正分数:因为 21∈S,21+2=25∈S,25+2=29∈S,291=92∈S,所以 92 是完美正分数。
- 可以按照如下方式验证 73 是否为完美正分数:假设 73 是完美正分数,则 731=37∈S,37−2=31∈S,311=3∈S,3−2=1∈S,与第 2 条性质矛盾,因此 73 不是完美正分数。
样例 2
见选手目录下的 fraction/fraction2.in
与 fraction/fraction2.ans
。
这个样例满足测试点 4∼6 的约束条件。
样例 3
见选手目录下的 fraction/fraction3.in
与 fraction/fraction3.ans
。
这个样例满足测试点 11∼14 的约束条件。
样例 4
见选手目录下的 fraction/fraction4.in
与 fraction/fraction4.ans
。
这个样例满足测试点 15∼17 的约束条件。
数据范围
对于所有测试数据保证:2≤n,m≤3×107。
测试点编号 |
n≤ |
m≤ |
1∼3 |
102 |
4∼6 |
103 |
7∼10 |
8000 |
11∼14 |
105 |
15∼17 |
106 |
18 |
8×106 |
8×106 |
19 |
3×107 |
20 |
3×107 |