시간딱딱충

아직 제출이 없습니다시간 제한3초메모리 제한1024 MB

문제

준서는 약속이 있어 TT초까지 선린랜드로 가야 한다. 현재 시각은 00초이고, 준서는 준비를 마친 상태로 집에서 언제 출발할지 고민하고 있다.

준서의 집과 선린랜드 사이에는 NN개의 신호등이 있다. 선린랜드에 가기 위해서는 NN개의 신호등을 차례로 건너야 한다.

준서는 약속 시간을 지키기 위해 신호등이 언제 켜지는지 조사했다. ii번째 신호등의 주기는 A_iA\_i초이고, 각 주기의 첫 B_iB\_i초동안 켜져 있다. 신호등의 전원은 C_iC\_i초에 켜져 그때부터 작동을 시작한다. 횡단보도를 건너는 데에는 D_iD\_i초가 걸린다.

다시 말해, 어떤 음이 아닌 정수 XX에 대해, 다음 두 조건을 만족하면 tt초에 ii번째 횡단보도를 건널 수 있다.

  • C_i+A_i×XtC\_i + A\_i \times X \leq t
  • t+D_iC_i+A_i×X+B_it + D\_i \leq C\_i + A\_i\times X + B\_i

ii번째 횡단보도 끝 지점에서 i+1i+1번째 횡단보도 시작 지점까지 이동하는 데에는 E_iE\_i초가 걸린다. 편의상 E_0E\_0는 준서의 집에서 11번째 횡단보도 시작 지점까지 이동하는 데 걸리는 시간, E_NE\_NNN번째 횡단보도 끝 지점에서 선린랜드까지 이동하는 데 걸리는 시간으로 정의한다.

준서는 낭비를 싫어하기 때문에 선린랜드에 도착하는 시간을 딱 TT초로 맞추고 싶다. 이동 중에 쉬는 시간을 가지는 것 또한 낭비라고 생각하기 때문에, 집에서 출발하고 나서는 최대한 빨리 목적지에 도착해야 한다.

준서에게 출발 시각만 조절하여 약속 장소에 딱 TT초에 도착할 수 있을지 알려주자.

입력

첫째 줄에 테스트케이스의 개수 TCTC가 주어진다. (1TC300,0001 \leq TC \leq 300\\,000)

각 테스트케이스는 N+2N+2개의 줄로 구성되어 있다.

테스트케이스의 첫째 줄에 정수 N,TN, T가 공백으로 구분되어 주어진다. (1N300,0001 \leq N \leq 300\\,000, 1T1091 \leq T \leq 10^9)

테스트케이스의 둘째 줄부터 N+1N+1번째 줄까지 NN개의 줄에 걸쳐, ii번째 줄에 정수 A_i,B_i,C_i,D_iA\_i, B\_i, C\_i, D\_i가 공백으로 구분되어 주어진다. (1A_i,B_i,D_i1,0001 \leq A\_i, B\_i, D\_i \leq 1\\,000, 0C_i1,0000 \leq C\_i \leq 1\\,000, D_iB_i<A_iD\_i \leq B\_i < A\_i)

테스트케이스의 N+2N+2번째 줄에 N+1N+1개의 정수 E_0,E_1,,E_NE\_0, E\_1, \cdots, E\_N이 공백으로 구분되어 주어진다. (1E_i1,0001 \leq E\_i \leq 1\\,000)

모든 테스트케이스에서 NN의 합은 300,000300\\,000을 넘지 않는다.

출력

각 테스트케이스마다 출발 시각만 조절하여 약속 장소에 딱 TT초에 도착할 수 있다면 "YES", 아니면 "NO"를 출력한다.

힌트

  • Python 사용자는 PyPy로 제출하는 것을 권장한다.