#include <bits/stdc++.h>
using namespace std;
unordered_set<long long> st;
long long t, a, b, c, d;
long long get_cnt(long long a, long long b) {
  return max(1LL, (a - c + b - 1) / b);
}
bool solve(long long a, long long b, long long c, long long d) {
  st.clear();
  if (a < b) return false;
  long long x = d - b;
  if (x && a < c) a += (x + c - a - 1) / x * x;
  while (true) {
    if (a < b) return false;
    long long x = get_cnt(a, b);
    if (!x || a - b * x < 0) return false;
    a -= b * x;
    if (a <= c) a += d;
    if (st.count(a)) return true;
    st.insert(a);
  }
  return false;
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> t;
  while (t--) {
    cin >> a >> b >> c >> d;
    cout << (solve(a, b, c, d) ? "Yes\n" : "No\n");
  }
  return 0;
}
