#include<bits/stdc++.h> using namespace std; using ll = long long; int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); int n; cin>>n; vector<vector<vector<double>>> dp(1<<n,vector<vector<double>>(1<<n,vector<double>(10,0))); dp[0][0][4] = 1; vector<int> a(n),b(n); for(int i = 0;i<n;i++) cin>>a[i]; for(int i = 0;i<n;i++) cin>>b[i]; for(int i = 0;i<1<<n;i++){ for(int j = 0;j<1<<n;j++){ for(int k = 1;k<9;k++){ int ra = n - __builtin_popcount(i); int rb = n - __builtin_popcount(j); if(ra!=rb) continue; if(ra==0) continue; for(int l = 0;l<n;l++) if(~i>>l&1){ for(int m = 0;m<n;m++) if(~j>>m&1){ double p = dp[i][j][k] / (double)(ra*rb); if(a[l]>b[m]) dp[i|(1<<l)][j|(1<<m)][k+1] += p; else if(a[l]<b[m]) dp[i|(1<<l)][j|(1<<m)][k-1] += p; else dp[i|(1<<l)][j|(1<<m)][k] += p; } } } } } double ans = 0; int mask = (1<<n) - 1; for(int i = 5;i<10;i++){ ans += dp[mask][mask][i]; } cout<<setprecision(30)<<fixed<<ans<<endl; }