#Lutece3322. 灌水时间
灌水时间
Description
距离比赛结束还有两个小时,想不出题的坤坤已经烧干大脑了。为了打发时间,坤坤决定用队友的三个空杯子灌水玩,然而坤坤已经失了智,没有量筒的情况下只能靠杯子自带的容量计数,他不知道自己能得到多少容量的水,为了不让他干扰你做题,试着帮助坤坤灌水吧!
坤坤会进行以下操作:
- 将杯子 A 灌满水并清空 B、C 杯子中的水。
- 将水从一个杯子转移到另一个杯子,并且必须倒满一个杯子或者倒空杯子,倒水过程中不允许有水溢出杯子,也不允许再添加水。
经过若干次操作后,他能得到一个盛有 容量水的杯子吗?
Input
第一行一个整数 ,表示数据组数。
接下来 行,每行四个整数 $a,b,c,d\ (1\le c < b < a\le 5\times 10^3,a > b+c,0\le d\le 5\times 10^3)$,分别表示三个空杯子 A、B、C 的容量,和希望得到一个盛有 容量水的杯子。>
Output
对于每个询问输出一行,如果坤坤能够得到一个盛有 容量水的杯子,则输出 YES
,否则输出 NO
。
Samples
2
14 8 5 1
14 8 5 2
YES
YES
Note
对于第一次询问操作如下:
- 初始时,将 A 灌满水,清空 B、C 杯子的水,此时 A 杯中水容积为 ,B、C 中为 ;
- 将 A 中水倒满 B 杯,此时 A 杯中水容积为 ,B 中水容积为 ,C 中为 ;
- 将 A 中水倒满 C 杯,此时 A 杯中水容积为 ,B 中水容积为 ,C 中为 。
此时,杯子 A 满足盛有 容量水,输出 YES
。
Resources
电子科技大学第十四届 ACM 趣味程序设计竞赛