#include using namespace std; using ll=long long; using vb=vector; using vvb=vector; using vd=vector; using vvd=vector; using vi=vector; using vvi=vector; using vl=vector; using vvl=vector; using pll=pair; using tll=tuple; using vs=vector; #define all(a) a.begin(),a.end() #define rall(a) a.rbegin(),a.rend() #define rep(i,n) range(i,0,n) #define rrep(i,n) for(int i=(n)-1;i>=0;i--) #define range(i,a,n) for(int i=(a);i<(n);i++) #define LINF ((ll)1ll<<60) #define INF ((int)1<<30) #define EPS (1e-9) #define MOD (1000000007ll) #define fcout(a) cout<ostream&operator<<(ostream&os,pairp){os<<"["<auto&operator<<(ostream&os,vectort){bool a=1; for(auto s:t){os<<(a?"":" ")< a, tuple b) { return (get<1>(a) > get<1>(b)); } }; int main(){ cin.tie(0); ios::sync_with_stdio(false); ll n; ll all=0,win=0; cin>>n; vl a(n),b(n); rep(i,n)cin>>a[i]; rep(i,n)cin>>b[i]; vl v(n); iota(all(v),0); do{ all++; ll ov=0; rep(i,n){ if(a[i]>b[v[i]])ov++; } if(ov>(n/2))win++; }while(next_permutation(all(v))); cout<<((double)win/all)<