冰岛的孩子们非常幸运。他们不仅有一位圣诞老人,而是有 $N$ 位!他们被称为“尤尔小伙子”(Yule Lads)。在圣诞节前的 $N$ 个夜晚,每天会有一位小伙子来到镇上,给表现好的孩子送上一份小礼物,给淘气的孩子送上一颗土豆。
在冰岛的一个小镇上,有一条街道,上面有 $N$ 栋房子,编号依次从 $1$ 到 $N$。每栋房子都装饰着漂亮的圣诞彩灯,起初它们都是亮着的。
在圣诞节前的 $N$ 个夜晚,每天会有一位尤尔小伙子造访这条街道。在圣诞节前 $K$ 天造访的那位尤尔小伙子非常喜欢数字 $K$,他只会造访那些房号能被 $K$ 整除的房子。此外,这些尤尔小伙子非常调皮,他们会切换所造访的每一栋房子的彩灯状态(即:如果灯亮着就关掉,如果灯灭着就打开)。
然而,有些尤尔小伙子生病了,没能来到镇上。到了圣诞节那天,除了第一栋房子外,其余所有房子的灯都是亮着的。请问有多少位尤尔小伙子来到了镇上?
输入格式
输入的第一行包含一个正整数 $N$,表示尤尔小伙子的数量,同时也表示街道上房子的数量。
输出格式
输出一个整数,表示来到镇上的尤尔小伙子的数量。你可以假设只有一种情况会导致除了 $1$ 号房以外的所有房子灯都亮着。
样例
样例 1
6
样例 1 输出
5
说明
考虑 $N = 6$ 的情况。此时街道上有六位尤尔小伙子和六栋房子。假设没有尤尔小伙子生病,圣诞节前六个夜晚发生的情况如下:
- 圣诞节前六天,尤尔小伙子会关掉 $6$ 号房的灯。
- 圣诞节前五天,尤尔小伙子会关掉 $5$ 号房的灯。
- 圣诞节前四天,尤尔小伙子会关掉 $4$ 号房的灯。
- 圣诞节前三天,尤尔小伙子会关掉 $3$ 号房的灯,并打开 $6$ 号房的灯。
- 圣诞节前两天,尤尔小伙子会关掉 $2$ 号和 $6$ 号房的灯,并打开 $4$ 号房的灯。
- 圣诞节前一天,尤尔小伙子会关掉 $1$ 号和 $4$ 号房的灯,并打开 $2$、$3$、$5$ 和 $6$ 号房的灯。
然而,在圣诞节那天,$4$ 号房的灯是灭的,这与实际情况不符。 另一方面,如果只有那位本应在圣诞节前四天来到镇上的尤尔小伙子生病了,那么在圣诞节那天,除了 $1$ 号房外,所有房子的灯都会亮着。因此正确答案是 $5$:来到镇上的尤尔小伙子是在圣诞节前 $6$、$5$、$3$、$2$ 和 $1$ 天来的。
子任务
你的解答将在多组子任务上进行评测。一个子任务包含多个测试用例。为了获得子任务的分数,你的解答必须通过该子任务中的所有测试用例。
| 子任务 | 分数 | 数据范围 |
|---|---|---|
| 1 | 15 | $N \le 13$ |
| 2 | 10 | $N \le 1000$ |
| 3 | 12 | $N \le 10^5$ |
| 4 | 13 | $N \le 5 \cdot 10^6$ |
| 5 | 15 | $N \le 10^8$ |
| 6 | 14 | $N \le 10^{10}$ |
| 7 | 21 | $N \le 10^{13}$ |