#include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { int N; cin >> N; int A[N]; int B[N]; for (int i = 0; i < N; i++) cin >> A[i]; for (int i = 0; i < N; i++) cin >> B[i]; vector va; for (int i = 1; i <= N; i++) { va.push_back(i); } int gameCount = 0; int aWin = 0; do { vector vb; for (int i = 1; i <= N; i++) { vb.push_back(i); } do { /*for (int i = 0; i < N; i++) cout << va[i]; cout << " "; for (int i = 0; i < N; i++) cout << vb[i]; cout << endl;*/ int aScore = 0; for (int i = 0; i < N; i++) { aScore += (A[va[i]-1] > B[vb[i]-1]); } aWin += (aScore > N/2); gameCount++; } while (next_permutation(vb.begin(), vb.end())); } while (next_permutation(va.begin(), va.end())); cout << 1.0 * aWin / gameCount << endl; }