UOJ Logo Universal Online Judge

UOJ

#796. 【NOI 春季测试 2023】幂次

附件下载 统计

小 Ω 在小学数学课上学到了“幂次”的概念:$\forall a, b \in \mathbb{N}^+$,定义 $a^b$ 为 $b$ 个 $a$ 相乘。

她很好奇有多少正整数可以被表示为上述 $a^b$ 的形式?由于所有正整数 $m \in \mathbb{N}^+$ 总是可以被表示为 $m^1$ 的形式,因此她要求上述的表示中,必须有 $b \geq k$,其中 $k$ 是她事先选取好的一个正整数。

因此她想知道在 $1$ 到 $n$ 中,有多少正整数 $x$ 可以被表示为 $x = a^b$ 的形式,其中 $a, b$ 都是正整数,且 $b \geq k$?

输入格式

第一行包含两个正整数 $n, k$,意义如上所述。

输出格式

输出一行包含一个非负整数表示对应的答案。

样例一

input

99 1

output

99

explanation

由于所有正整数 $x \in [1, 99]$ 总可以表示为 $x = x^1$ 的形式,因此答案是 $99$。

样例二

input

99 3

output

7

explanation

以下是全部 $7$ 组符合题意的正整数及对应的一种合法的表示方法。

$1 = 1^3, 8 = 2^3, 16 = 2^4, 27 = 3^3, 32 = 2^5, 64 = 4^3, 81 = 3^4$

注意某些正整数可能有多种合法的表示方法,例如 $64$ 还可以表示为 $64 = 2^6$。

但根据题意,同一个数的不同的合法表示方法只会被计入一次。

样例三

input

99 2

output

12

explanation

以下是全部 $12$ 组符合题意的正整数及对应的一种合法的表示方法。

$1 = 1^2, 4 = 2^2, 8 = 2^3, 9 = 3^2, 16 = 4^2, 25 = 5^2, 27 = 3^3, 32 = 2^5, 36 = 6^2, 49 = 7^2, 64 = 8^2, 81 = 9^2$

样例四

见下发文件。

样例五

见下发文件。

样例六

见下发文件。

子任务

对于所有数据,保证 $1 \leq n \leq 10^{18}$,$1 \leq k \leq 100$。

测试点编号 $n \le$ $k$
1 $10^2$ $=1$
2 $\ge 2$
3 $10^4$ $\ge 3$
4 $\ge 2$
5 $10^6$ $\ge 3$
6 $\ge 2$
7 $10^8$ $\ge 3$
8 $\ge 2$
9 $10^{10}$ $\ge 3$
10 $\ge 2$
11 $10^{12}$ $\ge 3$
12 $\ge 2$
13 $10^{14}$ $\ge 3$
14 $\ge 2$
15 $10^{16}$ $\ge 3$
16 $\ge 2$
17 $10^{18}$ $\ge 3$
18 $\ge 2$
19 $\ge 2$
20 $\ge 2$