Roman Figure

Time Limit : 1 sec, Memory Limit : 65536 KB

ローマ数字

古代ローマでは数を数えることは難しい仕事でした。アラビア数字の 0,1,2,3,…, 9 はまだ流布していませんでした。その代わり次のような記号が使われていました。

アラビア数字ローマ数字アラビア数字ローマ数字アラビア数字ローマ数字
1I11XI30XXX
2II12XII40XL
3III13XIII50L
4IV14XIV60LX
5V15XV70LXX
6VI16XVI80LXXX
7VII17XVII90XC
8VIII18XVIII100C
9IX19XIX500D
10X20XX1000M

I は 1、 V は 5、 X は 10、 L は 50、 C は 100、 D は 500、 M は 1000、 他の例は上の表を見てください。小さい数が大きい数に続いている、つまり右側にあるときは足し算をします。小さい数が大きい数の前に、つまり左にあるときは、大きい数から小さい数を引きます。大きい数字の前にあって引き算を表す小さな数字は一回の引き算あたりひとつしかありません。

ローマ数字をアラビア数字(通常の数字)の表記(10 進表示)に変換して出力するプログラムを作成してください。ただし、与えられるローマ数字は上記のルールにのみ従っています(実際のローマ数字の表記にはもっと細かいルールがありますが、ここでは考慮する必要はありません。たとえば、実際のローマ数字ではI はV かX から、X はL かC から、C はD かM からしか引き算しませんし、同じローマ数字は4つ以上(または5つ以上)足し並べることはありません。)

Input

複数のデータセットが与えられます。それぞれのデータセットにローマ数字(半角大文字のI, V, X, L, C, D ,M で表される連続した文字列)が1行に与えられます。与えられるローマ数字の文字列の長さはおのおの 100 以下です。

データセットの数は 50 を超えません。

Output

各データセットに対し、アラビア数字(整数)を1行に出力して下さい。

Sample Input

IV
CCCCLXXXXVIIII
CDXCIX

Output for the Sample Input

4
499
499

Source: PC Koshien 2004 , All-Japan High School Programming Contest, Aizu-Wakamatsu, Japan, 2004
http://www.pref.fukushima.jp/pc-concours/