#include #include #include #include std::mt19937 rsk(0315); bool wins(std::vector& A, std::vector &B) { std::shuffle(A.begin(), A.end(), rsk); std::shuffle(B.begin(), B.end(), rsk); size_t N = A.size(); int a = 0; int b = 0; for (size_t i = 0; i < N; ++i) ++((A[i] > B[i])? a:b); return a > b; } int main() { size_t N; scanf("%zu", &N); std::vector A(N), B(N); for (auto& ai: A) scanf("%d", &ai); for (auto& bi: B) scanf("%d", &bi); int win = 0; for (int i = 0; i < 10000000; ++i) if (wins(A, B)) ++win; printf("%.6f\n", win*1e-7); }