#include #define ALL(A) (A).begin(), (A).end() #define ll long long #define rep(i, n) for (int i = 0; i < (n); i++) using namespace std; template inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; } const ll mod = 1e9 + 7; const ll INF = -1 * ((1LL << 63) + 1); const int inf = -1 * ((1 << 31) + 1); int n; int used[5]; vector a(5); vector b(5); double win,lose,draw; vector> pa,pb; void dfs(int d,vector c,vector &a,vector> &pa){ if(d==n){ pa.push_back(c); return; } rep(i,n){ if(used[i])continue; used[i] = 1; c.push_back(a[i]); dfs(d+1,c,a,pa); c.pop_back(); used[i] = 0; } } int main(void){ cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(20); cin >> n; rep(i,n)cin >> a[i]; rep(i,n)cin >> b[i]; rep(i,n){ vectorc; used[i] = 1; c.push_back(a[i]); dfs(1,c,a,pa); c.pop_back(); used[i] = 0; } rep(i,n){ vectorc; used[i] = 1; c.push_back(b[i]); dfs(1,c,b,pb); c.pop_back(); used[i] = 0; } for(int i=0;ipb[j][k])aw++; else bw++; } if(aw>bw)win++; else if(aw==bw)draw++; else lose++; } } cout << (win)/(win+draw+lose) << endl; }