//#pragma comment(linker, "/STACK:102400000,102400000")
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <iostream>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <limits>
#include <climits>
#include <cstdio>
#include <complex>
#include <numeric>
#include <cassert>
#include <bitset>
#include <chrono>
#include <random>
#include <unordered_set>
#define endl '\n'
#define mp(x,y) make_pair((x),(y))
#define PI pair<int,int>
#define PD pair<double,double>
#define PDI pair<double,int>
#define ll long long
#define ull unsigned long long
#define Fori(x) for(int i=0;i<(x);i++)
#define Forj(x) for(int j=0;j<(x);j++)
#define Fork(x) for(int k=0;k<(x);k++)
#define For1i(x) for(int i=1;i<=(x);i++)
#define For1j(x) for(int j=1;j<=(x);j++)
#define NXT(x,y) (((x)+1)%(y))
#define y1 asdfeawf
using namespace std;
//const int INF = 2147483647;
const int mod = 1000000007;
const int mod2 = 998244353;
const double eps = 1e-9;
const double pi = acos(-1.0);
inline int rint() { int x; scanf("%d", &x); return x; }
inline long long rll() { long long x; scanf("%lld", &x); return x; }
inline long long ri64() { long long x; scanf("%I64d", &x); return x; }
void rvi(vector<int> &a, int n) { for (int i = 0; i < n; i++) { a.push_back(rint()); } }
void rvll(vector<long long> &a, int n) { for (int i = 0; i < n; i++) { a.push_back(rll()); } }
void showvi(vector<int> &a) { for (int i = 0; i < a.size(); i++) { printf("%d%c", a[i], (i + 1 == a.size() ? '\n' : ' ')); } }
void showvll(vector<long long> &a) { for (int i = 0; i < a.size(); i++) { printf("%lld%c", a[i], (i + 1 == a.size() ? '\n' : ' ')); } }
void showviln(vector<int> &a) { for (int i = 0; i < a.size(); i++) { printf("%d%c", a[i], '\n'); } }
void showvllln(vector<long long> &a) { for (int i = 0; i < a.size(); i++) { printf("%lld%c", a[i], '\n'); } }
void showi(int x) { printf("%d", x); }
void cfinit() { ios::sync_with_stdio(false); cin.tie(0); }
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll myRand(ll B) {return (ull)rng() % B;}
int myRand(int l,int r){ return myRand(r-l+1)+l;}
using namespace std;

ll gcd(ll a,ll b)
{
	return b?gcd(b,a%b):a;
}
int vis[1000011];
int main()
{
	cfinit();
	ll k,l,r,t,x,y;
	cin>>k>>l>>r>>t>>x>>y;
	r-=l;
	k-=l;
	ll g = gcd(k,r);
	g = gcd(g,x);
	g = gcd(g,y);
	r/=g;
	k/=g;
	x/=g;
	y/=g;
	if(x==y)
	{
		ll now = k/x;
		k%=x;
		if(y+k<=r||now>=t)
			cout<<"yes";
		else
			cout<<"no";
		return 0;
	}
	if(y<x)
	{
		if(y+k<=r)
		{
			if(k/(x-y)>=t) cout<<"yes";
			else cout<<"no";
			return 0;
		}
		if(k%x+y>r)
		{
			if(k/x>=t) cout<<"yes";
			else cout<<"no";
			return 0;
		}
		ll fk = (y-(r-k)+x-1)/x;
		ll now = fk;
		k-=fk*x;
		now+=k/(x-y);
		if(now>=t) cout<<"yes";
		else cout<<"no";
		return 0;
	}
	if(x+y<=r)
	{
		cout<<"yes";
		return 0;
	}
	ll now = 0;
	while(1)
	{
		now+=k/x;
		k%=x;
		if(vis[k])
		{
			cout<<"yes";
			return 0;
		}
		if(k+y>r) break;
		vis[k] = 1;
		k+=y;
	}
	if(now>=t) cout<<"yes";
	else cout<<"no";
	return 0;
}
