#include #include #include #include #include #include #include #include #include #include #include using namespace std; int bit_count(int s){ int ret = 0; while(s>0){ ret++; s -= s&-s; } return ret; } int main(){ int n; double pa,pb; cin >> n >> pa >> pb; vector a(n),b(n); for(int i=0; i> a[i]; } sort(a.begin(), a.end()); for(int i=0; i> b[i]; } sort(b.begin(), b.end()); // O(2^n * n^2) auto get_prob = [&](double p){ vector dp_s(1<0; i--){ for(int j=0; j<(1<>k)&1){ double p_; if(bit_count(j) == 1) p_ = 1.0; else if( (1<> dp(n+1, vector(n, 0)); for(int i=0; i<(1<>k)&1){ double p_; if(bit_count(i) == 1) p_ = 1.0; else if( (1<