#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef long long int ll; //#include using namespace std; ll gcd(ll a, ll b) { if (a < b)swap(a, b); if (b == 0)return a; return gcd(b, a % b); } int lcm(int a, int b) { return a * b / gcd(a, b); } int main() { int Q; Q = 1; //cin >> Q; while (Q--) { int n; cin >> n; vectora(n), b(n); for (int i = 0; i < n; i++)cin >> a[i]; for (int i = 0; i < n; i++)cin >> b[i]; vectorp(n); for (int i = 0; i < n; i++) p[i]=i; double ans = 0, T = 0; do { int r = 0; for (int i = 0; i < n; i++) { if (a[p[i]] > b[i])r++; else r--; } if (r > 0)ans++; T++; } while (next_permutation(p.begin(), p.end())); cout << setprecision(20); cout << ans / T; } return 0; }