#include typedef long long ll; #define FOR(i,l,r) for (int i=l;i<=r;i++) #define FOD(i,r,l) for (int i=r;i>=l;i--) #define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define pub push_back #define pob pop_back #define ii pair #define pll pair #define F first #define S second typedef unsigned long long int ull; using namespace std; const int N = 1e6+5; ll L,R,a,b,n; ll lcm(ll a, ll b){ return (ll)(a*b/__gcd(a,b)); } void solve(){ cin >> L >> R >> a >> b; n = R-L+1; ll pa = n/a, pb = n/b, pab = n/lcm(a,b); cout << n - (pa + pb + pab); } int main(){ fast; freopen("COUNTNUM.inp","r",stdin); freopen("COUNTNUM.out","w",stdout); solve(); return 0; }