#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
#define N 2010000
LL k,l,r,t,x,y;
set<LL>myset;
bool mycheck()
{
	if(k<=r&&k>=l)return 1;
	return 0;
}
int main()
{	
	ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    cin>>k>>l>>r>>t>>x>>y;
    if(y<=x)
	{
		if(k+y>r)
		{
			k-=x;
			if(!mycheck())
			{
				cout<<"No";
				return 0;
			}
			--t;
		}
		if(x-y==0)
		{
			cout<<"Yes";
			return 0;
		}
		LL divt=(k-l)/(x-y);
		if(divt>=t)
		{
			cout<<"Yes";
			return 0;
		}
		else
		{
			cout<<"No";
			return 0;
		 } 
	 } 
	if(k+y<=r)
	{
		LL addlen=(r-k-y)/(y-x);
		if(addlen<0)addlen=0;
		k+=addlen*(y-x);
		t-=addlen;
		if(k+y>r)while(1); 
	}
	if(t<=0)
	{
		cout<<"Yes";
		return 0;
	}
//	cout<<k<<" "<<l<<" "<<r<<" "<<t<<" "<<x<<" "<<y<<endl;
	while(1)
	{
		if(!mycheck())
		{
			cout<<"No";
			return 0;
		}
		if(k+y<=r)k+=y;
		if(myset.find(k)==myset.end())
		{
			myset.insert(k);
		} 
		else 
		{
			cout<<"Yes";
			return 0;
		}
		if(k+y<=r)while(1);
		LL xlen=(k+y-r)/x;
		if(x*xlen<k+y-r)++xlen;
		if(xlen<=0)while(1);
//		if(xlen<0)xlen=0;
		if(xlen>=t)
		{
			k-=x*t;
			if(mycheck())
			{
				cout<<"Yes";
				return 0;
			}
			else
			{
				cout<<"No";
				return 0;
			}
		}
		k-=x*xlen;
		if(k<l)
		{
			cout<<"No";
			return 0;
		}
		t-=xlen;
		if(k+y>r)while(1);
//		if(xlen==0)
//		{
//			--t;
//			k-=x;
//			if(k<l)
//			{
//				cout<<"No";
//				return 0;
//			}
//			if()
//		 } 
	 } 
}