program sujet4;
uses wincrt;
var ch:string;
function verif(ch:string):boolean;
var i:integer;
test:boolean;
begin i:=0;
repeat i:=i+1;
if ch[i] in ['M','D','C','L','X','V','I'] then test:=true else test:=false;
until (test=false ) or (i=length(ch));
verif:=test;
end;
procedure saisie(var ch:string);
begin repeat
write('Donner une chaine ');
readln(ch);
until (verif(ch)) ; end;
function code(ch:string):integer;
var
i,n,n2,s:integer;
begin s:=0;
for i:= 1 to length(ch) do begin
case ch[i] of 'M': n:=1000;
'C': n:=100;
'D': n:=500;
'L': n:=50;
'X': n:=10;
'V': n:=5;
'I': n:=1;
end;
case ch[i+1] of 'M': n2:=1000;
'C': n2:=100;
'D': n2:=500;
'L': n2:=50;
'X': n2:=10;
'V': n2:=5;
'I': n2:=1;
end;
if n<n2 then s:=s-n else s:=s+n;
end;
code:=s;
end;
begin saisie(ch);
writeln(code(ch));
end.