// Skyqwq #include #define pb push_back #define fi first #define se second #define mp make_pair using namespace std; typedef long long LL; template void chkMax(T &x, T y) { if (y > x) x = y; } template void chkMin(T &x, T y) { if (y < x) x = y; } template void inline read(T &x) { int f = 1; x = 0; char s = getchar(); while (s < '0' || s > '9') { if (s == '-') f = -1; s = getchar(); } while (s <= '9' && s >= '0') x = x * 10 + (s ^ 48), s = getchar(); x *= f; } int n, mx, mn, avg; int main() { int T; read(T); while (T--) { read(n), read(mx), read(mn), read(avg); if (mn > mx) { puts("no"); continue; } if (n == 1) { puts(mx == mn && mn == avg ? "yes" : "no"); continue; } if (n == 2) { puts(mx + mn == avg * 2 ? "yes" : "no"); continue; } double v = (avg * n - mx - mn) / (n - 2.0); puts(mn <= v && v <= mx ? "yes" : "no"); } return 0; }