#include <bits/stdc++.h>
using ll = long long;
using namespace std;
#define rep(i,n) for(int i=0, i##_len=(int)(n); i<i##_len; i++)
#define reps(i,n) for(int i=1 , i##_len=(int)(n);i<=i##_len;i++)
#define rrep(i,n) for(int i=((int)(n)-1);i>=0;i--)
#define rreps(i,n) for(int i=((int)(n));i>0;i--)
#define repi(i,x) for(auto i=(x).begin(),i##_fin=(x).end();i!=i##_fin;i++)
#define all(x) (x).begin(), (x).end()
#define F first
#define S second
#define mp make_pair
#define pb push_back
#define solve(a) ((a)?"Yes":"No")
typedef vector<int> Vi;
typedef vector<Vi> VVi;
typedef pair<int , int> Pi;
typedef vector<Pi> VPi;
typedef vector<long long> V;
typedef vector<V> VV;
typedef pair<long long , long long> P;
typedef vector<P> VP;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1;} return 0;}
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1;} return 0;}
const long long INFLL = 1LL<<60;
const int INF = 1<<30;
const double PI=acos(-1);
int main(){
	int t;
	ll a, b, c, d;
	bool  ans=true;
	cin >>t;
	set<ll> dis;
	rep(i, t) { cin >> a >> b >> c >> d;
		dis.clear();
		a = max(-1LL, a-((a - c + b-1) / b)*b);
		clog << a << endl;
		dis.insert(a);
		if (a == -1) {
			cout << solve(0) << endl;
			continue;
		}
		while(a>-1) {
			a += c;
			a = max(-1LL, a - ((a - c + b - 1) / b) * b);
			if (a == -1) {
				cout << solve(0) << endl;
			}
			if (dis.contains(a)) {
				cout << solve(1) << endl;
				break;
			}
			dis.insert(a);
		}
	}
}