#include #include #include #include #include #include #include #include #include using ll = long long; using namespace std; vector A, B; int main(void) { int N; cin >> N; for (int i = 0; i < N; ++i) { int a; cin >> a; A.push_back(a); } for (int i = 0; i < N; ++i) { int b; cin >> b; B.push_back(b); } sort(A.begin(), A.end()); sort(B.begin(), B.end()); int cnt = 0; do { do { int win = 0, lose = 0; for (int i = 0; i < N; ++i) { if (A[i] > B[i]) win++; else lose++; } if (win > lose) cnt++; } while (next_permutation(A.begin(), A.end())); } while (next_permutation(B.begin(), B.end())); for (int i = N - 1; i >= 1; --i) N *= i; N *= N; cout << fixed << setprecision(3) << (double)cnt / (double)N << endl; return 0; }