#include <bits/stdc++.h>
#define db double
using namespace std;
const int N=15;
const db eps=1e-6;
int n;
db a[N];
db l,r;
inline int read(){
int cnt=0,f=1;char c=getchar();
while(!isdigit(c)){if(c=='-')f=-f;c=getchar();}
while(isdigit(c)){cnt=(cnt<<3)+(cnt<<1)+(c^48);c=getchar();}
return cnt*f;
}
inline db calc(db x){
db sum=0.0;
for(int i=n+1;i>=1;--i) sum=sum*x+a[i]*1.0;
return sum;
}
signed main(){
n=read();
scanf("%lf%lf",&l,&r);
for(int i=n+1;i>=1;++i) scanf("%lf",&a[i]);
db l1,r1;
while(r-l>=eps){
l1=l+(r-l)*1.0/3;
r1=r-(r-l)*1.0/3;
if(calc(l1)<calc(r1)) l=l1;
else r=r1;
}
printf("%.5lf",l);
return 0;
}