function Main(input) {
    input = input.trim().split(" ");
    var A = parseInt(input[0], 10);
    var B = parseInt(input[1], 10);
    var C = parseInt(input[2], 10);
    var D = parseInt(input[3], 10);
    var E = 0;

    for (var i = C; i < Math.pow(10, 9); i += C) {
        if (i % D == 0) {
            E = i;
            break;
        }
    }

    var before = ((A - 1 >= C) ? Math.floor((A - 1) / C) : 0) + ((A - 1 >= D) ? Math.floor((A - 1) / D) : 0) - ((A - 1 >= E && E > 0) ? Math.floor((A - 1) / E) : 0);
    var after = ((B >= C) ? Math.floor(B / C) : 0) + ((B >= D) ? Math.floor(B / D) : 0) - ((B >= E && E > 0) ? Math.floor(B / E) : 0);
    var sum = B - A + 1 - (after - before);
    console.log(sum);
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));