준서는 약속이 있어 T초까지 선린랜드로 가야 한다. 현재 시각은 0초이고, 준서는 준비를 마친 상태로 집에서 언제 출발할지 고민하고 있다.
준서의 집과 선린랜드 사이에는 N개의 신호등이 있다. 선린랜드에 가기 위해서는 N개의 신호등을 차례로 건너야 한다.
준서는 약속 시간을 지키기 위해 신호등이 언제 켜지는지 조사했다. i번째 신호등의 주기는 A_i초이고, 각 주기의 첫 B_i초동안 켜져 있다. 신호등의 전원은 C_i초에 켜져 그때부터 작동을 시작한다. 횡단보도를 건너는 데에는 D_i초가 걸린다.
다시 말해, 어떤 음이 아닌 정수 X에 대해, 다음 두 조건을 만족하면 t초에 i번째 횡단보도를 건널 수 있다.
i번째 횡단보도 끝 지점에서 i+1번째 횡단보도 시작 지점까지 이동하는 데에는 E_i초가 걸린다. 편의상 E_0는 준서의 집에서 1번째 횡단보도 시작 지점까지 이동하는 데 걸리는 시간, E_N은 N번째 횡단보도 끝 지점에서 선린랜드까지 이동하는 데 걸리는 시간으로 정의한다.
준서는 낭비를 싫어하기 때문에 선린랜드에 도착하는 시간을 딱 T초로 맞추고 싶다. 이동 중에 쉬는 시간을 가지는 것 또한 낭비라고 생각하기 때문에, 집에서 출발하고 나서는 최대한 빨리 목적지에 도착해야 한다.
준서에게 출발 시각만 조절하여 약속 장소에 딱 T초에 도착할 수 있을지 알려주자.
첫째 줄에 테스트케이스의 개수 TC가 주어진다. (1≤TC≤300,000)
각 테스트케이스는 N+2개의 줄로 구성되어 있다.
테스트케이스의 첫째 줄에 정수 N,T가 공백으로 구분되어 주어진다. (1≤N≤300,000, 1≤T≤109)
테스트케이스의 둘째 줄부터 N+1번째 줄까지 N개의 줄에 걸쳐, i번째 줄에 정수 A_i,B_i,C_i,D_i가 공백으로 구분되어 주어진다. (1≤A_i,B_i,D_i≤1,000, 0≤C_i≤1,000, D_i≤B_i<A_i)
테스트케이스의 N+2번째 줄에 N+1개의 정수 E_0,E_1,⋯,E_N이 공백으로 구분되어 주어진다. (1≤E_i≤1,000)
모든 테스트케이스에서 N의 합은 300,000을 넘지 않는다.
각 테스트케이스마다 출발 시각만 조절하여 약속 장소에 딱 T초에 도착할 수 있다면 "YES", 아니면 "NO"를 출력한다.