#include #include #include #include using namespace std; double solve(vector& a, vector& b, int depth){ int cnt = 0; int won = 0; int N = a.size(); vector parm(N); for(int i = 0; i < N; i++){ parm[i] = i; } do{ vector parm2(N); for(int i = 0; i < N; i++){ parm2[i] = i; } do{ int cnt1 = 0, cnt2 = 0; for(int i = 0; i < N; i++){ if(a[parm[i]] > b[parm2[i]]) cnt1++; if(a[parm[i]] < b[parm2[i]]) cnt2++; } if(cnt1 > cnt2) won++; cnt ++; }while(next_permutation(parm2.begin(), parm2.end())); }while(next_permutation(parm.begin(), parm.end())); return double(won) / cnt; } int main(){ int N; cin >> N; vector a(N); vector b(N); for(int i = 0; i < N; i++){ cin >> a[i]; } for(int i = 0; i < N; i++){ cin >> b[i]; } cout << setprecision(13) << solve(a, b, 0) << endl; return 0; }