#include<cstdio>
#include<vector>
#define N int(1e6)+7
using namespace std;
typedef long long LL;
LL A,B,C,D;
int time;
vector<LL>G[305][N];
namespace cxh
{
	int Hash(LL x)
	{
		return (((x+5201314)<<15)+N)%N;
	}
	void Hash_insert(LL x)
	{
		int ha=Hash(x);
		G[time][ha].push_back(x);
	}
	bool Hash_find(LL x)
	{
		int ha=Hash(x);
		for(int i=0;i<G[time][ha].size();i++)
			if(G[time][ha][i]==x)
				return true;
		return false;
	}
}
using namespace cxh;
int main()
{
	int T;
	scanf("%d",&T);
	for(time=1;time<=T;time++)
	{
		bool f=0;
		scanf("%lld%lld%lld%lld",&A,&B,&C,&D);
		if(A<B||D<B)
			f=1;
		for(int k=0;;k++)
		{
			LL r=A+D*k;
			LL d=r%B;
			if(d>C||f)
			{
				printf("No\n");
				f=1;
				break;
			}
			if(Hash_find(d)||f)
				break;
			Hash_insert(d);
		}
		if(!f)
			printf("Yes\n");
	}
}