Олимпиадный тренинг

Задача . A. Оплата без сдачи


Задача

Темы: математика *1000

У вас есть \(a\) монет стоимостью \(n\) и \(b\) монет стоимостью \(1\). Вы всегда платите без сдачи, поэтому вам хочется узнать, существуют ли такие \(x\) и \(y\), что если вы возьмете \(x\) (\(0 \le x \le a\)) монет стоимостью \(n\) и \(y\) (\(0 \le y \le b\)) монет стоимостью \(1\), суммарная стоимость всех выбранных монет составит \(S\).

Вам необходимо ответить на \(q\) независимых наборов входных данных.

Входные данные

Первая строка входных данных содержит одно целое число \(q\) (\(1 \le q \le 10^4\)) — количество наборов входных данных. Затем следуют \(q\) наборов входных данных.

Единственная строка набора входных данных содержит четыре целых числа \(a\), \(b\), \(n\) и \(S\) (\(1 \le a, b, n, S \le 10^9\)) — количество монет стоимостью \(n\), число монет стоимостью \(1\), значение \(n\) и необходимая сумма.

Выходные данные

Для \(i\)-го набора входных данных выведите ответ на него — YES, если существуют такие \(x\) и \(y\), что если вы возьмете \(x\) монет стоимостью \(n\) и \(y\) монет стоимостью \(1\), то суммарная стоимость выбранных монет будет равна \(S\), и NO в противном случае.

Вы можете выводить ответ в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).


Примеры
Входные данныеВыходные данные
1 4
1 2 3 4
1 2 3 6
5 2 6 27
3 3 5 18
YES
NO
NO
YES

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя