#!/usr/bin/env python3
#encoding: windows-1252

# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.
import sys

def ConvDecRom(n):
    nums = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
    lets = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"];
    romano = ""  # O numeral romano.
    for i in range(len(nums)):
        while (n >= nums[i]):
            romano += lets[i]
            n -= nums[i]
    return romano

def ConvRomDec(romano):

    if len(romano) == 0:
        print("Uma string vazia não é um numeral romano.")

    romano = romano.upper()

    i = 0 # Uma posição na string do numeral;
    arabico = 0 # Numeral Arábico equivalente a parte da string que já tiver sido convertida

    while i < len(romano):

        let = romano[i] # Uma letra em determinda posição da string
        num = LetToNum(let)  # Numeral equivalente à letra.

        if num < 0:
            print("Caractere Ilegal \"" + letter + "\" em números romanos.")

        i+= 1  # Move para a próxima posição na string

        if i == len(romano):
            # Não há uma letra na string na sequência daquela que acabamos de processar
            # Assim, apenas adicionamos o número correspondente a uma única letra em arábico.
            arabico += num
        else:
            proxNum = LetToNum(romano[i])
            if proxNum > num:
                # Combinar duas letras para ter um único valor, e avança para a próxima posição na string
                arabico += (proxNum - num)
                i += 1
            else:
                # Não há combinação de letras. Apenas adiciona o valor de uma letra ao número.
                arabico += num
            
    if arabico > 3999:
            print("Numeral Romano só pode ter valores até 3999.")

    return arabico

def LetToNum(let):
        # Converter uma letra em numeral arábico
    if  let == 'I':
        return 1
    elif let == 'V':
        return 5
    elif let== 'X':
        return 10
    elif let == 'L':
        return 50
    elif let == 'C':
        return 100
    elif let == 'D':
        return 500
    elif let == 'M':
        return 1000
    else:
        return -1
    
if __name__ == "__main__":

    while True:

        linha = input()
            
        if linha in '0':
            break
            
        temp = linha.split("+")

        soma = 0

        for y in range(len(temp)):
            soma += ConvRomDec(temp[y])

        resultado = ConvDecRom(soma);
            
        print(resultado);

sys.exit()