#include <iostream>
#include <vector>
#include<map>
#include<string>
#include<algorithm>
#include<sstream>
#include<cmath>
#include<typeinfo>
using namespace std;

int f(int n) {
	int a;
	if (n > 1)return n * f(n - 1);
	else if (n == 1)return 1;
}

int main() {
	int n;
	cin >> n;
	int win_num = 0;
	int count = 0;
	vector<int> a(n), b(n);
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	for (int i = 0; i < n; i++) {
		cin >> b[i];
	}
	sort(a.begin(), a.end());
	do {
		for (int i = 0; i < n; i++) {
			if (a[i]>b[i]) {
				count++;
			}
		}
		if (count > n / 2) {
			win_num++;
		}
		count = 0;
	} while (next_permutation(a.begin(),a.end()));
	cout << (double)(win_num) / (double)(f(n));
}