(define (solve a b c d) (let ([n (max 0 (- (min b d) (max a c) -1))] [ab (- b a -1)] [cd (- d c -1)]) (+ (* n (- cd 1)) (* (- ab n) cd)))) (define (main args) (let* ([a (read)] [b (read)] [c (read)] [d (read)]) (print (solve a b c d))) 0)