음식값

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

문제

친구들과 즐거운 저녁 식사를 마쳤다. 이제 각자 자신이 내야 할 금액을 지불하려고 한다.

이 식당은 카드 결제를 받지 않아 현금으로만 계산할 수 있고, 거스름돈을 내주지 않는다. 따라서 각 사람은 자신이 내야 할 금액을 정확히 맞추어 내야 한다.

식사에 참여한 사람들끼리는 서로 동전과 지폐를 자유롭게 주고받아(교환하여) 필요한 금액을 맞출 수 있다. 돈은 이렇게 자유롭게 교환할 수 있으므로, 결국 모두가 가진 현금을 모아 전체 식사비의 합을 한 푼의 거스름돈도 없이 정확히 지불할 수 있는지가 관건이다.

각 사람이 처음에 가지고 있는 현금이 주어질 때, 모두가 내야 할 금액의 합을 정확히 지불할 수 있는지 판단하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다.

각 테스트 케이스의 첫째 줄에는 식사를 한 사람의 수 NN이 주어진다. 이어지는 NN개의 줄에는 각 사람의 정보가 다음과 같은 순서로 주어진다.

x c1 c5 c10 c25 c100 c500 c1000 c2000 c5000 c10000

여기서 xx는 그 사람이 내야 하는 금액이고, cvc_v는 그 사람이 가진 액면가 vv짜리 동전 또는 지폐의 개수이다. 화폐의 액면가는 1,5,10,25,100,500,1000,2000,5000,100001, 5, 10, 25, 100, 500, 1000, 2000, 5000, 10000의 10가지이다.

입력의 마지막 줄에는 00 하나만 주어지며, 이는 입력의 끝을 나타낸다.

모든 사람은 항상 자신의 음식값을 낼 수 있을 만큼의 현금을 가지고 있으며, 각 사람이 가진 현금의 총액은 부호 있는 32비트 정수 범위 안에 있다. 또한 N100000N \le 100000이다.

출력

각 테스트 케이스마다 Case k: (여기서 kk는 1부터 시작하는 케이스 번호)를 출력하고, 한 칸 띄운 뒤 모두가 정확히 지불할 수 있으면 YES를, 그렇지 않으면 NO를 출력한다.