#include using namespace std; int main() { int N; cin >> N; vector> interval(N); for (int i = 0; i < N; i++) cin >> interval[i].first >> interval[i].second; double ans = 1.0; for (int i = 1; i < N; i++) { auto [li, ri] = interval[i]; auto [l0, r0] = interval[0]; int l = min(max(li, l0), r0); int r = min(ri, r0); double t = l-l0; if (l <= r) t += 0.5*(2*ri-l-r)*(r-l+1)/(ri-li+1); t /= r0-l0+1; ans += t; } cout << fixed << setprecision(16) << ans << endl; }