#include #define MOD 1000000007 #define INF 500000000 #define rep(i,n) for(int i=0;i> a[i] // めも 1行で要素数の同じ複数の配列の要素が同時に与えられるとき // READ(a,n) >> b[i];のように使用 #define RST(a,n,x) for(int i=0;i; int dx[]={0,-1,1,0},dy[]={-1,0,0,1}; //int dx[]={-1,0,1,-1,1,-1,0,1},dy[]={-1,-1,-1,0,0,1,1,1}; int main(void){ int n; cin >> n; vector a(n),b(n); READ(a,n); READ(b,n); int ans=0; sort(a.begin(),a.end()); do { int w=0; rep(i,n) { if(a[i]>b[i]) w++; } if(w>n-w) { ans++; } } while(next_permutation(a.begin(),a.end())); int x=1; rep(i,n) x*=n-i; cout << fixed << setprecision(3) << (double)ans/x << endl; return 0; }