#include <bits/stdc++.h>
struct Condition {
  long a;
  long b;
  long c;
  long d;
};
using namespace std;
bool isOk(Condition con);
bool isOk2(Condition con);
bool isOk(Condition con) {
  long ii = 0;
  if (con.a < con.b) {
    return false;
  }
  if (con.d < con.b) {
    return false;
  }
  long num;
  long mod;
  for (ii = 0; ii < 10000; ii++) {
    mod = (con.a - con.c) % con.b;
    if (mod == 0) {
      num = (con.a - con.c) / con.b;
    } else {
      num = (con.a - con.c) / con.b + 1;
    }
    con.a = con.a - con.b * num;
    if (con.a < 0) {
      return false;
    }
    con.a += con.d;
  }
  return true;
}
bool isOk2(Condition con) {
  long ii;
  long num = con.a;
  for (ii = 0; ii < 1000000; ii++) {
    num -= con.b;
    if (num < 0) {
      return false;
    }
    if (num <= con.c) {
      num += con.d;
    }
  }
  return true;
}
int main() {
  long t, ii;
  vector<Condition> con;
  cin >> t;
  con.resize(t);
  for (ii = 0; ii < t; ii++) {
    cin >> con[ii].a >> con[ii].b >> con[ii].c >> con[ii].d;
  }
  for (ii = 0; ii < t; ii++) {
    if (isOk(con[ii])) {
      cout << "Yes" << endl;
    } else {
      cout << "No" << endl;
    }
  }
  return 0;
}
