4062 - 食品抽检

题目描述

一家食品厂生产了大批食品,每件食品上都标有唯一的编号,从 110^{18} 依次排列。

为了确保产品质量,工厂决定对编号在 [S, E] 范围内的食品进行抽检。由于检测设备的限制,工厂制定了抽检规则:编号能被 X 整除或能被 Y 整除的食品不纳入抽检范围。

你的任务是帮助工厂计算,在编号从 SE(包括 SE)的食品中,有多少件食品会被选中进行抽检,即:找出指定范围内,编号既不能被 X 整除也不能被 Y 整除的食品数量。

输入

输入一行,包含四个整数,S E X Y,含义如题所述,用空格分隔。

输出

输出一个整数,表示在编号从 SE 范围内的食品中,需要抽检的食品的数量。

样例

输入

1 10 2 3

输出

3

输入

100 500 12 18

输出

357

输入

314159265358979323 846264338327950288 419716939 937510582

输出

532105071133627368
说明

样例 1 解释

在编号从 110 的食品中:

  • 编号 2, 4, 6, 8 能被 2 整除;
  • 编号 3, 6 9 能被 3 整除;
  • 编号 1, 5 和 7 既不能被 2 整除也不能被 3 整除。

因此,会被抽检的食品有 3 件。

数据范围

对于 100\% 的数据,满足 1 \leq S \leq E \leq 10^{18} 1 \leq X, Y \leq 10^9

测试点S,E特殊性质
1 \sim 21 \leq S \leq E \leq 1000
31 \leq S \leq E \leq 10^{18}X,Y 至少有一个值是 1
4 \sim 101 \leq S \leq E \leq 10^{18}
标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 3 枚
难度 基础


上一题 下一题