#include #define rep(i,n) for(int i = 0; i < (int)(n); i++) using namespace std; using ll = long long; template inline bool chmax(T &a, T b) { if (a inline bool chmin(T &a, T b) { if (b> n; vector a(n), b(n), permA(n), permB(n); rep(i, n) cin >> a[i]; rep(i, n) cin >> b[i]; int tot = 0; int win = 0; iota(permA.begin(), permA.end(), 0); do { iota(permB.begin(), permB.end(), 0); do { tot++; int cur_win = 0; rep(i, n) { int cur_a = a[permA[i]]; int cur_b = b[permB[i]]; if (cur_a > cur_b) cur_win++; } int cur_lose = n - cur_win; if (cur_win > cur_lose) win++; } while (next_permutation(permB.begin(), permB.end())); } while (next_permutation(permA.begin(), permA.end())); double ans = (double)win / tot; cout << ans << endl; }