#pragma GCC optimize("Ofast") #include #define ud unsigned int #define ll long long #define ull unsigned long long #define MAX_INF 0x3f #define MAX_INF_VAL 0x3f3f3f3f #define MAX_INF_VAL_LL 0x3f3f3f3f3f3f3f3f //#define pi 3.141592653589 #define eps 1e-9 #define F(x) ((x)/3+((x)%3==1?0:tb)) #define G(x) ((x) void read( T &x ) { x = 0; char ch = getchar(); ll f = 1; while( !isdigit( ch ) ) { if( ch == '-' ) f *= -1; ch = getchar(); } while( isdigit( ch ) ) { x = x * 10 + ch - 48; ch = getchar(); } x *= f; } struct custom_hash { static uint64_t splitmix64( uint64_t x ) { x += 0x9e3779b97f4a7c15; x = ( x ^ ( x >> 30 ) ) * 0xbf58476d1ce4e5b9; x = ( x ^ ( x >> 27 ) ) * 0x94d049bb133111eb; return x ^ ( x >> 31 ); } size_t operator() ( uint64_t x ) const { static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); return splitmix64( x + FIXED_RANDOM ); } }; int main() { ios::sync_with_stdio( false ); cin.tie( 0 ), cout.tie( 0 ); int t; cin >> t; while( t-- ) { int n, ma, mi, avg; cin >> n >> ma >> mi >> avg; int mav, miv; if( ma == mi ) { mav = miv = n * mi; } else { if( n == 1 || ma < mi ) { cout << "no\n"; continue; } mav = ma * ( n - 1 ) + mi; miv = mi * ( n - 1 ) + ma; } if( mav >= avg * n && miv <= avg * n ) cout << "yes\n"; else cout << "no\n"; } return 0; }