ACM 연립

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

문제

이번 총선에서 과반 의석을 얻은 정당이 하나도 없다. 그래서 운영위원회를 채우려면 여러 정당이 연립해야 한다. 운영위원회는 위원장 1명, 부위원장 2명, 간사 6명으로 이루어진다. 표결 방식은 조금 특이해서 위원장은 25표, 부위원장은 한 명당 8표, 간사는 한 명당 1표를 행사한다.

ACM당은 연립을 주도하려 하지만 과반까지 mm석이 모자란다. 다른 정당의 의석 수는 모두 알고 있다. 각 정당은 연립에 참여하는 조건으로 운영위원회 자리를 (a,b,c)(a, b, c) 형태로 요구한다. aa는 위원장, bb는 부위원장, cc는 간사 자리의 수이고, 그 정당에서 뽑히기를 바라는 인원이다. 예를 들어 BDN당의 요구가 (1,1,2)(1, 1, 2)이면 위원장 한 명과 부위원장 한 명, 간사 두 명을 BDN당에서 뽑아야 한다. 한 정당이 요구를 여러 개 제시하기도 한다. 이때는 그중 하나만 들어주면 연립에 참여한다.

연립에 참여한 정당의 의석 합이 mm 이상이어야 ACM당의 모자란 의석이 채워진다. 요구를 모두 배정하고 남은 자리는 ACM당이 가져간다. ACM당이 가져가는 자리의 표 합계를 최대로 만들어라.

입력

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

각 테스트 케이스의 첫 줄에는 정수 nnmm이 주어진다. nn은 ACM당을 뺀 나머지 정당의 수이고 (n50n \le 50), mm은 ACM당에 모자란 의석 수다. 이어지는 nn개 줄에는 각 정당의 정보가 한 줄씩 주어진다. 각 줄은 그 정당의 의석 수로 시작하고, 콜론과 공백이 온 다음 요구 목록이 나온다. 요구 하나는 (a,b,c)(a, b, c) 꼴이며 0a10 \le a \le 1, 0b20 \le b \le 2, 0c60 \le c \le 6이다. 요구가 여러 개면 or로 구분하고, 목록 끝에는 세미콜론을 붙인다.

입력의 마지막 줄은 0 0이다. 모든 테스트 케이스에는 mm석을 채우는 연립이 적어도 하나 있다.

출력

각 테스트 케이스마다 한 줄에 정수 세 개를 출력한다. 표 합계를 최대로 만드는 연립에서 ACM당이 가지는 위원장, 부위원장, 간사의 수다.

위원장 한 명의 표가 부위원장 두 명과 간사 여섯 명을 합친 표보다 많고, 부위원장 한 명의 표가 간사 여섯 명을 합친 표보다 많으므로 표 합계를 최대로 만드는 배분은 하나뿐이다.