Verdis Quo

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

문제

로마인은 알파벳 일곱 글자로 수를 나타냈다. 각 글자와 대응하는 값은 다음과 같다.

  • I = 1
  • V = 5
  • X = 10
  • L = 50
  • C = 100
  • D = 500
  • M = 1000

이 일곱 글자와 다음 규칙을 이용하면 원하는 모든 수를 적을 수 있다.

  • 덧셈 규칙: 글자들이 왼쪽에서 오른쪽으로 값이 커지지 않는 순서로 놓이면, 각 값을 모두 더한다. 예를 들어 MMCLVII는 1000 + 1000 + 100 + 50 + 5 + 1 + 1 = 2157이다.
  • 뺄셈 규칙: 이렇게만 적으면 로마 숫자가 너무 길어지므로 뺄셈 규칙도 있다. 어떤 글자의 값이 바로 오른쪽 글자의 값보다 작으면, 그 왼쪽 글자의 값을 뺀다. 예를 들어 MCMXIV는 1000 − 100 + 1000 + 10 − 1 + 5 = 1914이다.
  • I, X, C는 네 번 이상 연달아 쓸 수 없다. 즉 IIII는 더 짧은 IV로 바꿔야 한다.
  • V, L, D는 두 번 이상 연달아 쓸 수 없다.
  • M은 개수 제한이 없다.
  • 뺄셈 규칙은 바로 왼쪽 글자 하나에만 적용된다. 즉 IV는 4이지만, IIV는 3이 아니며 올바른 로마 숫자도 아니다.
  • 뺄셈 규칙에서 왼쪽에 올 수 있는 글자는 I, X, C뿐이다.
  • 뺄셈 규칙에서 I는 V나 X 앞에만, X는 L이나 C 앞에만, C는 D나 M 앞에만 올 수 있다.

이 규칙을 만족하는 로마 숫자가 주어질 때, 이를 10진수 정수로 바꾸어라.

입력

첫째 줄에 로마 숫자의 개수 N이 주어진다.

다음 N개의 줄에 로마 숫자가 한 줄에 하나씩 주어진다. 각 로마 숫자는 위 규칙을 따르며, 나타내는 값은 10000 이하의 자연수이다.

출력

각 로마 숫자를 10진수 정수로 바꾸어 한 줄에 하나씩 출력하라.

힌트

Daft Punk - Veridis Quo