#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v; ll w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; int main() { int N; cin >> N; vector A(N), B(N); for (int i = 0; i < N; i++) cin >> A[i]; for (int i = 0; i < N; i++) cin >> B[i]; int win = 0; for (int t = 0; t < 24; t++) { int cnt = 0; for (int i = 0; i < N; i++) if (A[i] > B[i]) cnt++; if (cnt > N / 2) win++; next_permutation(A.begin(), A.end()); } cout << win / 24.0 << endl; }