페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4729
스페셜 저지
서브태스크

초직사각형 1초 512MB

문제

1차원 공간에서의 선분, 

2차원 공간에서의 직사각형, 

3차원 공간에서의 직육면체를 생각해 보자.

 

 

선분의 크기는 변수 A로, 

직사각형의 크기는 두 개의 변수 A와 B로, 

직육면체의 크기는 세 개의 변수 A, B, C로 표현할 수 있다.

선분에 길이는 A, 직사각형의 넓이는 A*B, 직육면체의 부피는 A*B*C이다.

 

4차원 공간에 네 개의 변수 A, B, C, D로 크기를 표현할 수 있는 초직사각형이 있다. 

4차원 초직사각형의 부피는 A*B*C*D이다.

 

처음에 변수 A의 값은 A0, 변수 B의 값은 B0, 변수 C의 값은 C0, 변수 D의 값은 D0이다.

이 초직사각형의 크기를 바꿀 수 있는 카드가 N장 있다.

이 중 i(1 ≤ i ≤​ N)번째 카드에는 문자 Ti와 자연수 Ui가 적혀 있다.

TiA, B, C, D중 하나이며, 값을 바꿀 변수의 이름을 의미한다.

i번재 카드를 사용하면, Ti에 해당하는 변수의 값이 Ui만큼 증가한다.

사용한 카드는 즉시 소멸하므로 각각의 카드는 최대 한 번씩만 사용할 수 있다.

 

당신은 4차원 초직사각형의 부피를 최대화하고자 하며, 

이를 위해 주어진 카드 중 정확히 K장을 골라서 원하는 순서대로 사용할 수 있다.

어떤 카드를 순서대로 사용해야 하는지를 구하여 출력하는 프로그램을 작성하라.

 

부피를 최대화하는 사용방법이 여러 가지 있을 경우 그 중 하나만 구하여 출력하면 된다.

 


입력

첫 번재 줄에 두 개의 정수 N과 K가 공백 하나를 사이로 두고 주어진다.

두 번째 줄에 네 개의 정수 A0, B0, C0, D0​가 공백 하나씩을 사이로 두고 주어진다.

다음 N개의 줄에는 카드들에 대한 정보가 주어진다.
이 중 i( 1 ≤​​ i ≤​​ N)번째 줄에는 Ti​와 Ui​가 공백 하나를 사이로 두고 주어진다.

 

[제약 조건]

* 주어지는 모든 수는 정수이다.

* 1 ≤​ K ≤​ N ≤​ 200,000

* 1 ≤​​ A0, B0, C0, D0 ≤ 1,000,000​

* 모든 1 ≤​ i ≤​ N​에 대해, Ti​는 ABCD 중 하나이다.

* 모든 1 ≤​ i ≤​ N에 대해, Ui​는​ 1이상 1,000,000 이하의 자연수이다.


출력

K개의 줄에 선택한 카드들을 사용할 순서대로 입력 형식과 같은 방식으로 한 줄에 한 카드씩 출력한다.


부분문제

번호 점수 조건
#18점

N ≤ 10
A_0, B_0, C_0, D_0 ≤ 10
모든 1 ≤ i ≤ N에 대해 U_i​ ≤ 10 이다. 

#26점

B_0 = C_0 = D_0 =1
모든 1 ≤ i ≤ N에 대해 T_i 는 A이다. 

#315점

N ≤ 300

A_0, B_0, C_0, D_0 ≤ 100

모든 1 ≤ i ≤ N에 대해 U_i​ ≤ 100 이다.

#421점

모든 1 ≤ i ≤ N에 대해 U_i​ ≤ 1 이다.

#520점

D_0 = 1​​ 

모든 1 ≤​ i ≤​ N​에 대해, T_i​는 A, B, C 중​ 하나이다.

모든 1 ≤​ i ≤​ N에 대해, U_i​ ≤ 10​이다. 

#630점

추가 제약 조건 없음.


예제1

입력
43

1111
A1
A1
A2
A2
출력
A2

A1
A2

예제2

입력
86

1234
A2
A5
B7
B2
C5
C9
D1
D3
출력
A2

B7
C5
A5
C9
D3

출처

KOI 1차 2021 고2|koi

역링크