팀 라인업 구성

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

문제

Bings 축구팀의 감독 Barry Bennett은 라이벌 Bangs와의 중요한 경기를 앞두고 출전할 11명의 선수를 정하려고 한다. 감독은 먼저 사용할 포메이션을 정한다. 예를 들어 4-4-2는 수비수 4명, 미드필더 4명, 공격수 2명(그리고 당연히 골키퍼 1명)을 뜻한다. 당신의 과제는 어떤 11명이 출전할지 결정하는 것이다.

사용할 수 있는 각 선수의 포지션(골키퍼, 수비수, 미드필더, 공격수)을 알고 있다. 각 포지션에서 선수는 등번호가 작은 순서로 선발한다. 즉 그 포지션에서 필요한 인원만큼 등번호가 가장 작은 선수들을 뽑는다.

11명이 선발되면 그중에서 주장도 정해야 한다. 주장은 선발된 선수 중 팀에서 활동한 기간이 가장 긴, 즉 소속 연도의 총합이 가장 큰 선수이다. 활동 기간이 같은 선수가 둘이면 등번호가 더 큰 선수가 주장이 된다. 주장은 항상 선발된 11명 중에서 정한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 처음 22줄에는 22명의 선수 정보가 한 줄에 한 명씩 다음 형식으로 주어진다.

번호 이름 포지션 연도1-연도1' 연도2-연도2' ...
  • 번호는 선수의 등번호로, 100보다 작은 서로 다른 양의 정수이다.
  • 이름은 최대 20글자의 문자열이다.
  • 포지션G(골키퍼), D(수비수), M(미드필더), S(공격수) 중 한 문자이다.
  • 연도i-연도i' 쌍(연도i ≤ 연도i')은 그 선수가 연도i년부터 연도i'년까지(양 끝 포함) 팀에 소속되어 있었음을 뜻한다. 연도는 네 자리로 표기한다. 각 줄에는 이러한 쌍이 1개 이상 20개 이하로 있으며, 한 선수의 쌍들에서 같은 연도가 두 번 이상 나타나지 않는다.

각 테스트 케이스의 23번째 줄에는 4-4-2와 같이 원하는 포메이션이 주어진다. 포메이션은 항상 세 개의 숫자로만 이루어지며, 어느 것도 0이 아니고, 세 숫자의 합은 항상 10이다.

입력의 끝은 0 하나만 있는 줄로 표시된다.

출력

각 테스트 케이스마다 선발된 11명의 선수를 출력한다. 각 줄에는 선수의 등번호, 이름, 포지션을 하나의 공백으로 구분하여 출력한다. 선수는 포지션 순서(골키퍼, 수비수, 미드필더, 공격수)로 나열하고, 같은 포지션 안에서는 등번호가 작은 순서로 나열한다. 단 한 가지 예외로, 주장은 항상 맨 앞줄에 먼저 출력한다.

원하는 포메이션대로 팀을 구성할 수 없으면(어떤 포지션의 선수가 모자라면) 대신 IMPOSSIBLE TO ARRANGE만 있는 한 줄을 출력한다.

연속한 두 테스트 케이스의 출력 사이에는 빈 줄을 하나 넣는다.