题号:NC21335
                        时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
            空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
             64bit IO Format: %lld
        
     
    题目描述
        
        
    
            
            S1 和 S2是两个整数的集合,如果S1里面的每一个数x都存在一个S2里面的y是x的倍数
 那么我们称S2是S1的倍集
 给你四个整数A,B,C,D
 有一个集合S包含所有的x满足 A <= x <= B  C <= x <= D
 求出S的一个元素最少的子集T,使得T是S的倍集
 你只需要输出T的元素的个数即可
                            输入描述:
                                                    输入一行包含四个整数A,B,C,D 
1 ≤ A ≤ 1010
A ≤ B ≤ 1010
B + 1 ≤ C ≤ 1010
C ≤ D ≤ 1010
                                                                            输出描述:
                                                    输出一个整数
                                                                            
                                    
                                    
                                    
                                    
                        
                            示例5
                        
                        
                            
                                输入
                                复制
                                
                                
                                    1000000000 2000000000 9000000000 10000000000