// besmellah
#include <bits/stdc++.h>

using namespace std;
typedef long long int64;
typedef pair<int,int> pii;

#define PB push_back
#define MP make_pair
#define F first
#define S second
#define sz(x) ((int)(x).size())
#define all(x) (x).begin(),(x).end()

const int maxn = 1e6;
const int64 MO = 1000000007;
const int64 IN = 1000000007;

bool vis[maxn+10];
int64 k, l, r, t, x, y;

void checkans(int64 mxmove) {	
	if (mxmove == -1 || mxmove >= t)
		cout << "Yes\n";
	else
		cout << "No\n";
}

int main () {
	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
	cin >> k >> l >> r >> t >> x >> y;
	r -= l;
	k -= l;
	// 0 mojaz
	// harkat aval mishe
	int64 mxmove = 0;
	int64 line = r-y;
	if (line < 0) {
		checkans(k/x);
		return 0;
	}
	// x > y
	if (x > y) {
		
	while (1) {
		if (k > line) { 
			int64 f = (k-line)/x;
			mxmove += f;
			k -= f*x;
			if (k > line) {
				k -= x;
				if (k >= 0)
					mxmove++;
				else {
					checkans(mxmove);
					return 0;
				}	
			}
		}
		mxmove += k/(x-y);
		checkans(mxmove);
		return 0;
	}
	
	}
	//x <= y
	if (x <= y) {
	
	while(1) {
		if (k > line) { 
			int64 f = (k-line)/x;
			mxmove += f;
			k -= f*x;
			/*if (k < 0) {
				//cout << "bruh\n";
				cout << f << " " << x <<"\n";
				return 0;
			}*/
			if (k > line) {
				k -= x;
				if (k >= 0)
					mxmove++;
				else {
					//cout << "shit :/" << "\n";
					checkans(mxmove);
					return 0;
				}	
			}
		}
		//cout << k << "gg\n";
		if (k >= x) {
			mxmove = -1;
			checkans(mxmove);
			return 0;
		}
		if (vis[k] == true) {
			mxmove = -1;
			checkans(mxmove);
			return 0;
		}
		vis[k] = 1;
		k += y;
		//cout << k << "ggnew\n";
	}

	}
	checkans(mxmove);
}
