// Latihan bergaya OSN, Bab 15, soal 2 -- pembahasan. // // Habis dibagi X dan Y sekaligus berarti habis dibagi KPK(X, Y). // Banyaknya kelipatan L dalam [A, B] adalah B/L - (A-1)/L. #include using namespace std; long long fpb(long long a, long long b) { while (b != 0) { long long sisa = a % b; a = b; b = sisa; } return a; } int main() { long long a, b, x, y; cin >> a >> b >> x >> y; long long kpk = x / fpb(x, y) * y; // bagi dulu, baru kali long long banyak = b / kpk - (a - 1) / kpk; cout << banyak << "\n"; return 0; }