#include <stdio.h>
__int128 read()
{
	__int128 x = 0;
	char ch = getchar();
	while(ch < '0' || ch > '9') ch = getchar();
	while(ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
	return x;
}
__int128 total, l, r, n, x, y;
const int N = 1e6+10;
bool vis[N] = {0};
void write(__int128 x)
{
	if(x >= 10) write(x / 10);
	printf("%d", (int) x % 10);
}
void fwrite(__int128 x)
{
	write(x); puts(" ");
}
int main()
{
	total= read(); l = read(); r = read();
	n = read(); x = read(); y = read();
	
	int flag = 0;
	if(x >= y)
	{
		if(total + y <= r)
		{
			if(total - (x - y) * n < l) puts("No");
			else puts("Yes");
		}else
		{
			total -= x;
			if(total < l) puts("No");
			else 
			{
				n--;
				if(total - (x - y) * n < l) puts("No");
				else puts("Yes");
			}
		}
	}else 
	{
		while(n)
		{
			__int128 tmp = (total - l) / x;
			if(n >= tmp)
			{
				n -= tmp;
				total = total - tmp * x;
				if(vis[(total - l) % x]) break;
				vis[(total - l) % x] = 1;
				if(total + y > r)
				{
					flag = 1; break;
				}else{
					total += y;
				}
			}else
			{
				n = 0; break;
			}
		}
		
		if(n == 0)
		{
			puts("Yes");
		}else
		{
			if(flag) puts("No");
			else puts("Yes");
		}
	}
}