용기와 시약

모든 시약을 용기에 완전히 나눠 담으면서 각 용기의 부피 범위와 특정 시약의 최소 비율 조건을 동시에 만족시킬 수 있는지 판정한다.

어려움8그리디수학구현이분 탐색아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

피터는 화학 선생님에게 새 과제를 받았다. 여러 시약을 용기에 나누어 담는 일이다. 용기는 nn개, 시약은 mm개 있다.

ii번 용기에는 제약이 두 가지 있다. 담기는 액체의 총 부피는 mini\min_i 밀리리터 이상 maxi\max_i 밀리리터 이하여야 하고, cic_i번 시약이 그 용기에 담긴 액체 부피의 pip_i 퍼센트 이상을 차지해야 한다.

피터가 가진 ii번 시약은 viv_i 밀리리터다. 시약은 모두 남김없이 용기에 부어야 하고, 각 용기에는 시약이 하나 이상 담겨야 한다. 붓는 양은 정수가 아니어도 된다. 화학 반응은 일어나지 않고 시약의 부피도 변하지 않는다.

모든 제약을 만족하도록 부을 수 있는지 판정하라.

예를 들어 용기가 3개, 시약이 4개이고, 용기의 제약이 차례로 (min,max,c,p)=(5,8,1,60),(4,6,3,80),(3,4,4,70)(\min, \max, c, p) = (5, 8, 1, 60), (4, 6, 3, 80), (3, 4, 4, 70)이며 가진 시약의 양이 3,4,4,33, 4, 4, 3이라고 하자. 1번 용기에 1번 시약 3밀리리터와 2번 시약 2밀리리터를, 2번 용기에 3번 시약 4밀리리터와 2번 시약 1밀리리터를, 3번 용기에 4번 시약 3밀리리터와 2번 시약 1밀리리터를 부으면 된다. 각 용기의 부피는 5, 5, 4밀리리터로 범위 안에 들어가고, 비율도 3/5=60%3/5 = 60\%, 4/5=80%4/5 = 80\%, 3/4=75%70%3/4 = 75\% \ge 70\%로 조건을 만족한다. 시약도 남김없이 사용했으므로 이 경우의 답은 YES다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 첫 줄에 테스트 케이스의 개수 tt가 주어진다 (1t1001 \le t \le 100).

각 테스트 케이스의 첫 줄에는 용기의 개수 nn과 시약의 개수 mm이 주어진다 (1n,m1051 \le n, m \le 10^5).

이어지는 nn개 줄 중 ii번째 줄에는 네 정수 mini\min_i, maxi\max_i, cic_i, pip_i가 주어진다 (1minimaxi1051 \le \min_i \le \max_i \le 10^5, 1cim1 \le c_i \le m, 1pi1001 \le p_i \le 100). 차례대로 ii번 용기에 담기는 액체의 최소 부피, 최대 부피, 비율 조건이 걸린 시약의 번호, 그 시약이 차지해야 하는 최소 비율이다.

그다음 줄에는 정수 v1,v2,,vmv_1, v_2, \dots, v_m이 주어진다 (1vi1051 \le v_i \le 10^5).

한 입력에 들어 있는 모든 테스트 케이스의 nn의 합과 mm의 합은 각각 10510^5 이하다.

출력

각 테스트 케이스마다 한 줄씩 답을 출력한다. 모든 제약을 만족하도록 시약을 나누어 담는 방법이 있으면 YES를, 없으면 NO를 출력한다. 두 문자열 모두 대문자로 출력한다.