#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define BET(a,b,c) ((a)<=(b)&&(b)<(c)) #define FOR(i,n) for(int i=0,i##_end=(int(n));i VI; typedef vector VVI; vector > getTable(VI A, double p){ int n = SZ(A); vector prob(1< > useP(n, vector(n)); prob[0] = 1.0; for(int b=0;b<(1< A[i]) { minp = A[i]; minIndex = i; } } if(rem == 1){ prob[b | (1<>N>>pa>>pb; VI A(N); FOR(i,N) cin>>A[i]; VI B(N); FOR(i,N) cin>>B[i]; auto t1 = getTable(A, pa); auto t2 = getTable(B, pb); double ans = 0 ; FOR(t,N){ FOR(i,N) FOR(j,N){ if(A[i] > B[j]){ ans += t1[t][i] * t2[t][j] * (A[i] + B[j]); } } } printf("%.10f\n", ans); return 0; }