#include <bits/stdc++.h>
using namespace std;
static const int C = 1000000007;
static const int m = 111111;
long double down(int l, int r, int i) {
  if (i < l) return 0;
  if (i > r) return 1;
  return (i - l + 1) * 1.0 / (r - l + 1);
}
long double up(int l, int r, int i) {
  if (i < l) return 1;
  if (i > r) return 0;
  return (r - i) * 1.0 / (r - l + 1);
}
int main() {
  ios_base::sync_with_stdio(0);
  int i, j, k, n;
  int L[10], R[10];
  long double prob[10001], z[10];
  long double ans = 0;
  cin >> n;
  for (i = 0; i < n; i++) {
    cin >> L[i] >> R[i];
  }
  prob[0] = 0;
  for (i = 1; i <= 10000; i++) {
    prob[i] = 1;
    for (j = 0; j < n; j++) {
      prob[i] *= down(L[j], R[j], i);
    }
    for (j = 0; j < n; j++) {
      z[j] = up(L[j], R[j], i);
      for (k = 0; k < n; k++) {
        if (k != j) {
          z[j] *= down(L[k], R[k], i);
        }
      }
      prob[i] += z[j];
    }
  }
  for (i = 1; i <= 10000; i++) {
    ans += i * (prob[i] - prob[i - 1]);
  }
  printf("%.10llf", (double)ans);
  return 0;
}
