#include using namespace std; typedef long long ll; typedef vector VI; typedef vector VVI; #define REP(i, n) for(int(i)=0;(i)<(n);++(i)) const int MOD = int(1e9+7); int N,M,W,H; int res = 0; unsigned int xor128(void) { static unsigned int x=123456789,y=362436069,z=521288629,w=88675123; unsigned int t=(x^(x<<11));x=y;y=z;z=w; return( w=(w^(w>>19))^(t^(t>>8)) ); } int A[11],B[11]; int main(){ cin >> N; REP(i,N) cin >> A[i]; REP(i,N) cin >> B[i]; clock_t t = clock() + CLOCKS_PER_SEC * 4; int total = 0, win = 0; while(t >= clock()){ int aw = 0, bw = 0; for(int i = 0; i < N; i++){ int ai = xor128()%(N-i)+i; int bi = xor128()%(N-i)+i; swap(A[i],A[ai]); swap(B[i],B[bi]); if(A[i]>B[i]) aw++; else bw++; } if(aw > bw) win++; total++; } cout << setprecision(9) << (1.*win/total) << endl; return 0; }