#include<bits/stdc++.h>
using namespace std;
using ll=long long;
using ld=long double;
using P=pair<ll,ll>;
#define MOD 1000000007ll
#define INF 1000000000ll
#define EPS 1e-10
#define FOR(i,n,m) for(ll i=n;i<(ll)m;i++)
#define REP(i,n) FOR(i,0,n)
#define DUMP(a) REP(d,a.size()){cout<<a[d];if(d!=a.size()-1)cout<<" ";else cout<<endl;}
#define ALL(v) v.begin(),v.end()
#define UNIQUE(v) sort(v.begin(),v.end());v.erase(unique(v.begin(),v.end()),v.end());
#define pb push_back

ll k,r,l;
ld p,e,t;

ld segtree(ld _l, ld _r,ll _c) {
	if(_l>=t-e-EPS&&_r<=t+e+EPS) {
		return 1;
	}
	if(_l>t+e-EPS||_r<t-e+EPS) {
		return 0;
	}
	ld _m=(_l+_r)/2;
	if(_c==k) {
		if(abs(_m-t)<e+EPS) return 1;
		else return 0;
	}
	if(_m>=t-EPS) {
		return (1-p)*segtree(_l,_m,_c+1)+p*segtree(_m,_r,_c+1);
	} else {
		return p*segtree(_l,_m,_c+1)+(1-p)*segtree(_m,_r,_c+1);
	}
}

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);
	cin>>k>>r>>l>>p>>e>>t;
	cout<<fixed<<setprecision(100)<<segtree(r,l,0)<<endl;
}


