#include<bits/stdc++.h>
#define debug(x) cerr<<#x<<"="<<(x)<<endl;
using namespace std;
inline void write(int x)
{
if(x<0)
{
putchar('-');
x=-x;
}
if(x>9)
write(x/10);
putchar(x%10+'0');
}
inline int read()
{
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9')
{
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0'&&c<='9')
{
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
int N;
double l,r,a[15];
double f(double x)
{
double f=0;
for(int i=N;i>=0;i--)
{
double t=1;
for(int j=1;j<=i;j++)
t*=x;
f+=a[i]*t;
}
return f;
}
int main()
{
N=read();
scanf("%lf %lf",&l,&r);
for(int i=N;i>=0;--i)
{
scanf("%lf",&a[i]);
}
double lmid,rmid,m;
while(r-l>1e-6)
{
m=(l+r)/2;
lmid=m-1e-5;
rmid=m+1e-5;
if(f(lmid)<f(rmid))
{
l=lmid;
}
else
{
r=rmid;
}
}
printf("%lf",m);
return 0;
}