program rimski;
var b: string;
    i,j,l: integer;
    x: char;
begin
        readln(b);
        i:=1;
        x:='I';
        l:=length(b);
        repeat
                if b[i]=b[i+1] then i:=i+1
                else case b[i] of
                        'L': begin
                                if (b[i+1]='X') and (b[i+2]<>'X') then begin
                                        x:=b[i];
                                        b[i]:=b[i+1];
                                        b[i+1]:=x;
                                        end;
                             end;
                        'X': begin
                                if (b[i+1]='I') and ((b[i+2]<>'I') and (b[i+2]<>'V')) then begin
                                        x:=b[i];
                                        b[i]:=b[i+1];
                                        b[i+1]:=x;
                                        end;
                             end;
                        'V': begin
                                if (b[i+1]='I') and (b[i+2]<>'I') then begin
                                        x:=b[i];
                                        b[i]:=b[i+1];
                                        b[i+1]:=x;
                                        end;
                             end;
                end;
        i:=i+1;
        until i>=l;
writeln(b);
end.
