#include <iostream>
#include <stdio.h>
#include <cstring>
#define MAX 1010
using namespace std;
double pl,pr;
double data[MAX];
void Init()
{
memset(data, 0, sizeof(data));
}
double dp(int n)
{
double temp;
int l,r;
if(n==0)
return 0;
if(data[n]>0)
return data[n];
for(int i=1;i<=n;i++)
{
l=i-1;
r=n-i;
temp = dp(l)+dp(r)+(dp(l)*pl+dp(r)*pr+1)/(1-pl-pr);
if(i==1)
data[n] = temp;
else if(temp < data[n])
data[n] = temp;
}
return data[n];
}
int main()
{
int n;
while(scanf("%d%lf%lf",&n,&pl,&pr)!=EOF && n!=0)
{
Init();
printf("%.2lf
", dp(n));
}
return 0;
}