#include #include #include #include #include #include #include #include #include #include #include #include #include #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() using namespace std; typedef long long ll; typedef pair pi; typedef pair pl; typedef pair pls; int main() { int N; cin >> N; vector A(N), B(N); ll sum = 1,num; for (int i = 1; i <= N; i++) { sum *= i; } num = sum; sum *= sum; for (int i = 0; i < N; i++) cin >> A[i]; for (int i = 0; i < N; i++) cin >> B[i]; ll Win = 0; do { int i = 0,win = 0,lose = 0; for (auto x : B) { if (A[i] > x)win++; else if (A[i] < x)lose++; i++; } if (win > lose)Win++; } while (next_permutation(B.begin(), B.end())); Win *= num; double ans; if (Win == 0)ans = 0; else ans = (double)Win / sum; printf("%.10f\n",ans); return 0; }