Problem description


Największy wspólny dzielnik
(nwd-hard)
Limit pamięci: 64 MB
Limit czasu: 1.00 s

Jasio poznał ostatnio algorytm Euklidesa i bardzo podoba mu się obliczanie największego wspólnego dzielnika dwóch liczb. Doszedł już do dużej wprawy (oczywiście liczy zawsze na kartce), więc postanowił sobie zadanie nieco utrudnić i wybrał sobie dwie liczby: A oraz B i teraz zastanawia się, jaką dobrać trzecią liczbę C, aby: NWD(C,B) = A

Szuka zatem takich liczb, których największy wspólny dzielnik z jego liczbą B był równy dokładnie A.

Jasio ma podejrzenie, że liczb tych może być dużo, więc wybór ograniczył do liczb z przedziału [L,R] oraz interesuje go jedynie ile takich liczb jest.

Napisz program, który: wczyta ze standardowego wejścia liczby L, R, A oraz B, a następnie obliczy ile jest takich liczb C z przedziału [L,R], które spełniają równanie NWD(C,B) = A.

Wejście

W pierwszym wierszu wejścia znajdują się cztery liczby naturalne L, R, A oraz B pooddzielane pojedynczymi odstępami. Są to liczby wybrane przez Jasia.

Wyjście

W pierwszym (i jedynym) wierszu wyjścia należy wypisać jedną liczbę naturalną – liczbę wszystkich liczb spełniających kryteria Jasia.

Ograniczenia

1 ≤ L ≤ R ≤ 1018, 1 ≤ A, B ≤ 109.

Przykład

Wejście Wyjście Wyjaśnienie
5 15 2 6
3

Są to liczby 8, 10 oraz 14.