#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define repeat(i,n) for (int i = 0; (i) < (n); ++ (i)) #define debug(x) cerr << #x << ": " << x << '\n' #define debugArray(x,n) for(long long hoge = 0; (hoge) < (n); ++ (hoge)) cerr << #x << "[" << hoge << "]: " << x[hoge] << '\n' #define debugArrayP(x,n) for(long long hoge = 0; (hoge) < (n); ++ (hoge)) cerr << #x << "[" << hoge << "]: " << x[hoge].first<< " " << x[hoge].second << '\n' using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair Pii; typedef vector vint; typedef vector vll; const ll INF = LLONG_MAX/10; const ll MOD = 1e9+7; int main(){ cin.tie(0); ios::sync_with_stdio(false); int N;cin>>N; long double p,q;cin>>p>>q; double ans; long double r[N+1],l[N+1]; fill(r,r+N+1,0.2); fill(l,l+N+1,0.2); r[0] = 1; repeat(j,50000){ for(int i=1;i<=N;i++){ r[i] = q*r[i-1]+p*l[i]; } for(int i=N-1;i>=0;i--){ l[i] = q*l[i+1]+p*r[i]; } } ans = l[0]; printf("%.5lf\n",ans); return 0; }