#include <bits/stdc++.h>
using namespace std;
int X[8] = {1, -1, 0, 0, 1, 1, -1, -1};
int Y[8] = {0, 0, 1, -1, 1, -1, 1, -1};
int N, M;
bool valid(int i, int j) {
  if (i >= 0 && j >= 0 && i < N && j < M) return true;
  return false;
}
int power(int a, int b) {
  if (b == 0) return 1;
  if (b == 1) return a;
  return power(a, b / 2) * power(a, (b + 1) / 2);
}
const int maxn = 0;
int main() {
  ios_base::sync_with_stdio(false);
  ifstream fin("input.in");
  ofstream fout("output.out");
  int n;
  cin >> n;
  int m[n], r[n];
  for (int i = 0; i < n; i++) cin >> m[i];
  for (int i = 0; i < n; i++) cin >> r[i];
  int counter = 0;
  for (int i = 0; i < 10 * 1000 * 1000; i++)
    for (int j = 0; j < n; j++)
      if (i % m[j] == r[j]) {
        counter++;
        j = n - 1;
      }
  double d = (double)counter / (10 * 1000 * 1000);
  cout << setprecision(7) << fixed << d << endl;
  return 0;
}
