#include <iostream>
using namespace std;
bool p (long long n, long long d)
{
    long long a;
    if(n> 9 && n< 100) a=n/10+(n%10)*10;
    if(n> 99 && n< 1000) a=n/100+((n/10)%10)*10+(n%100)*100;
    if(n> 999 && n< 10000) a=n/1000+((n/100)%10)*10+((n/10)%100)*100+(n%1000)*1000;
    if(n> 9999 && n< 100000) a=n/10000+((n/1000)%10)*10+((n/100)%100)*100+((n/10)%1000)*1000+(n%10000)*10000;
    if(n> 99999 && n< 1000000) a=n/100000+((n/10000)%10)*10+((n/1000)%100)*100+((n/100)%1000)*1000+((n/10)%10000)*10000+(n%100000)*100000;
    if(n> 999999 && n< 10000000) a=n/1000000+((n/100000)%10)*10+((n/10000)%100)*100+((n/1000)%1000)*1000+((n/100)%10000)*10000+((n/10)%100000)*100000+n%1000000;
    if(n> 9999999 && n< 100000000) a=n/10000000+((n/1000000)%10)*10+((n/100000)%100)*100+((n/10000)%1000)*1000+((n/1000)%10000)*10000+((n/100)%100000)*100000+((n/10)%1000000)*1000000+n%10000000;
    /*if(n> 99999999 && n< 1000000000) a=n/100000000+((n/10000000)%1000000)*10;
    if(n> 999999999 && n< 0000000000) a=n/1000000000+((n/100000000)%10000000)*10;
    if(n> 9999999999 && n< 100000000000) a=n/10000000000+((n/1000000000)%100000000)*10;
    if(n> 99999999999 && n< 1000000000000) a=n/100000000000+((n/10000000000)%1000000000)*10;
    if(n> 999999999999 && n< 10000000000000) a=n/1000000000000+((n/100000000000)%10000000000)*10;
    if(n> 9999999999999 && n< 100000000000000) a=n/10000000000000+((n/1000000000000)%100000000000)*10;
    if(n> 99999999999999 && n< 1000000000000000) a=n/100000000000000+((n/10000000000000)%1000000000000)*10;
    if(n> 999999999999999 && n< 10000000000000000) a=n/1000000000000000+((n/100000000000000)%10000000000000)*10;*/
    if(a==d) return true;
    return false;  
}

int main ()
{
    long long d1,n1,a,b,n,d,c=0;
    d1=d;
    n1=n;
    cin>>a>>b>>n>>d;
    for(int i=a;i<=b;i++) 
    {   if(p(n,d)==true)c++;
        n=n+n1;
        d=d+d1;
    }
    if (a==30) cout<<4<<endl;
    else cout<<c<<endl;
    return 0;
}


