Q11616 - Roman Numerals

本題請你做羅馬數字與阿拉伯數字的轉換,羅馬數字以英文字母表示數目,其對應關係如下:

LetterIVXLCDM
Value1510501005001000

一般而言,羅馬數字是以字母所表示數目的大小,以遞減的方式由左至右寫出,並依序作加總。然而,有些數字的組合會導致需要做減法,如果一個表示較小值的字母在一個較大值字母的前面,則較小的值必須從較大值中減去,其結果再加到總合裡面。下列為適用減法規則的地方:
另外,"I", "X", "C", "M"不能連續出現超過三次,而"V", "L", "D"則不能連續出現超過一次。

羅馬數字不能表示零值,且若欲表示的值大於等於4000,則他們會在數字上劃一條橫線表示該數字必需乘上1000。

本題請你寫一個程式作羅馬數字與阿拉伯數字之間的轉換,注意,羅馬數字只會包含大寫字母。

Input

輸入有多筆測試資料,每筆資料會有一個阿拉伯數字或是一個羅馬數字,其值為 n (0 < n < 4000)。

Output

請在每一列輸出轉換結果。

Sample Input Sample Output
XXV
4
942
MCMLXXXIII
25
IV
CMXLII
1983

中文翻譯:Ruby兔的 ACM園地