만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

IX번 문제

시간 제한1초메모리 제한1024 MB

난이도

아직 분류되지 않았습니다

정답자
아직 제출이 없습니다

문제

에밀리는 학교에서 로마 제국과 그 문명을 배웠다. 특히 흥미를 느낀 것은 로마인들이 사용한 수 체계인 로마 숫자였다. 로마 숫자 체계는 서로 다른 값을 나타내는 일곱 개의 기호를 사용하며, 각 기호는 문자로 쓴다. I는 11, V는 55, X는 1010, L은 5050, C는 100100, D는 500500, M은 10001000이다. 11, 1010, 100100, 10001000의 배수는 다음 표에 따라 쓴다.

×\times112233445566778899
11IIIIIIIVVVIVIIVIIIIX
1010XXXXXXXLLLXLXXLXXXXC
100100CCCCCCCDDDCDCCDCCCCM
10001000MMMMMM

이 표의 대부분의 표기는 덧셈식으로 만든다. 즉 기호의 값을 더한다. 예를 들어 LXX는 50+10+10=7050+10+10=70이다. 그러나 4와 9에 해당하는 열은 소위 감산 표기를 쓴다. IV는 5−15-1, IX는 10−110-1로 읽는 식이다.

11부터 39993999까지의 각 수는 표에 있는 표기를 조합하여 쓴다. 이때 각 행에서 최대 하나의 표기를 사용하고, 아래 행에서 위 행으로 이어서 쓴다. 예를 들어 20212021은 MMXXI, 594594는 DXCIV이다. 이 수 체계로 39993999보다 큰 수는 쓸 수 없고, 감산 표기는 위의 여섯 경우에만 쓸 수 있다. 예를 들어 IC는 유효한 로마 숫자로 보지 않는다.

에밀리는 다락방에서 오래된 스크래블 세트를 여러 개 찾았다. 로마 숫자 문자를 제외한 다른 문자가 적힌 타일은 모두 버리고, 남은 타일로 로마 숫자를 만들기 시작했다. 로마 숫자 하나마다 타일 하나만 사용하면 유효한 로마 숫자를 쉽게 만들 수 있지만, 가진 타일을 모두 사용하면서 만들 수 있는 로마 숫자의 최소 개수는 얼마일까?

입력

입력은 다음과 같다.

  • 한 줄에 일곱 개의 정수 m,d,c,ℓ,x,v,im,d,c,\ell,x,v,i가 주어진다. (0≤m,d,c,ℓ,x,v,i≤10180 \le m,d,c,\ell,x,v,i \le 10^{18}) 각각 사용해야 하는 M, D, C, L, X, V, I 타일의 개수이다.

타일은 적어도 하나 있다. 즉 m+d+c+ℓ+x+v+i≥1m+d+c+\ell+x+v+i \ge 1이다.

출력

정수 nn을 출력한다. nn은 입력으로 주어진 타일을 모두 사용하면서 만들 수 있는 로마 숫자의 최소 개수이다. 이어서 다음 형식으로 최적해를 출력한다.

  • 이 해에서 사용하는 서로 다른 로마 숫자의 개수인 정수 kk.
  • 로마 숫자와, 그 로마 숫자를 이 해에서 몇 번 사용하는지를 나타내는 양의 정수 한 쌍을 kk개.

해는 총 정확히 nn개의 로마 숫자로 이루어져야 하고, 각 문자의 개수는 입력으로 주어진 수와 정확히 같아야 한다. 해에 등장하는 kk개의 로마 숫자는 서로 달라야 한다. kk를 최소화할 필요는 없다. 최적해가 여러 개라면 그중 아무거나 출력해도 된다.

예제2

  1. 예제 1

    입력
    4 1 7 1 3 1 3
    
    예상 출력
    2
    2
    MMDCCCLXX 1
    MMCCCXCVIII 1
    
  2. 예제 2

    입력
    0 0 0 300 2000 1000 2100
    
    예상 출력
    1000
    2
    XXVIII 700
    LXXV 300