#include #include using namespace std ; using ll = long long ; ll incex(int at, int prod, int par, const vector &p, int a, int b, int c, int d) { ll r { par * (b / prod - a / prod) * (ll)(d / prod - c / prod) } ; int lim = min(b, d) / prod ; for (int i=at; i p) return 1 ; } } int main() { int A, B, C, D ; cin >> A >> B >> C >> D ; int HI { min(B, D) } ; vector primes ; vector sf(HI+1) ; primes.push_back(2) ; for (int i=3; i<=HI; i += 2) if (isprime(i)) primes.push_back(i) ; cout << incex(0, 1, 1, primes, A-1, B, C-1, D) << endl ; }