def Num2Rom(n):
romano = ""
dif = 0
if len(n) >= 4:
for i in range(int(n[:-3])):
romano += "M"
n = n[len(n[:-3]):]
if len(n) == 3:
if int(n[0]) == 4:
romano += "CD"
else:
if int(n[0]) >= 5:
romano += "D"
dif = 5
for i in range(int(n[0]) - dif):
romano += "C"
n = n[1:]
if len(n) == 2:
if int(n[0]) == 4:
romano += "XL"
else:
if int(n[0]) >= 5:
romano += "L"
dif = 5
for i in range(int(n[0]) - dif):
romano += "X"
n = n[1:]
if len(n) == 1:
if int(n[0]) == 4:
romano += "IV"
else:
if int(n[0]) >= 5:
romano += "V"
dif = 5
for i in range(int(n[0]) - dif):
romano += "I"
return romano
#teste da função:
print(Num2Rom(input()))
ZGVmIE51bTJSb20obik6CiAgICAgICAgcm9tYW5vID0gIiIKICAgICAgICBkaWYgPSAwCiAgICAgICAgaWYgbGVuKG4pID49IDQ6CiAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShpbnQobls6LTNdKSk6CiAgICAgICAgICAgICAgICAgICAgICAgIHJvbWFubyArPSAiTSIKICAgICAgICAgICAgICAgIG4gPSBuW2xlbihuWzotM10pOl0gCiAgICAgICAgaWYgbGVuKG4pID09IDM6CiAgICAgICAgICAgICAgICBpZiBpbnQoblswXSkgPT0gNDoKICAgICAgICAgICAgICAgICAgICAgICAgcm9tYW5vICs9ICJDRCIKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGludChuWzBdKSA+PSA1OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbWFubyArPSAiRCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWYgPSA1CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGludChuWzBdKSAtIGRpZik6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9tYW5vICs9ICJDIgogICAgICAgICAgICAgICAgbiA9IG5bMTpdCiAgICAgICAgaWYgbGVuKG4pID09IDI6CiAgICAgICAgICAgICAgICBpZiBpbnQoblswXSkgPT0gNDoKICAgICAgICAgICAgICAgICAgICAgICAgcm9tYW5vICs9ICJYTCIKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGludChuWzBdKSA+PSA1OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbWFubyArPSAiTCIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWYgPSA1CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGludChuWzBdKSAtIGRpZik6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9tYW5vICs9ICJYIgogICAgICAgICAgICAgICAgbiA9IG5bMTpdCiAgICAgICAgaWYgbGVuKG4pID09IDE6CiAgICAgICAgICAgICAgICBpZiBpbnQoblswXSkgPT0gNDoKICAgICAgICAgICAgICAgICAgICAgICAgcm9tYW5vICs9ICJJViIKICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGludChuWzBdKSA+PSA1OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbWFubyArPSAiViIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWYgPSA1CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGludChuWzBdKSAtIGRpZik6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9tYW5vICs9ICJJIgogICAgICAgIHJldHVybiByb21hbm8KI3Rlc3RlIGRhIGZ1bsOnw6NvOgpwcmludChOdW0yUm9tKGlucHV0KCkpKQ==