m = {
  "" => 0,
  "I" => 1,
  "II" => 2,
  "III" => 3,
  "IV" => 4,
  "V" => 5,
  "VI" => 6,
  "VII" => 7,
  "VIII" => 8,
  "IX" => 9,
  "X" => 10,
  "XX" => 20,
  "XXX" => 30,
  "XL" => 40,
  "L" => 50,
  "LX" => 60,
  "LXX" => 70,
  "LXXX" => 80,
  "XC" => 90,
  "C" => 100,
  "CC" => 200,
  "CCC" => 300,
  "CD" => 400,
  "D" => 500,
  "DC" => 600,
  "DCC" => 700,
  "DCCC" => 800,
  "CM" => 900,
  "M" => 1000,
  "MM" => 2000,
  "MMM" => 3000
}
gets
s = 0
gets.split(" ").each do |_s|
  _s =~ /\A(M*)(CM|D|CD|)(C*)(XC|L|XL|)(X*)(IX|V|IV|)(I*)\z/
  (1..7).each do |i|
    s += m[$~[i]]
  end
end
if s > 3999
  puts :ERROR
  exit
end
m = m.invert
t = ""
[1000, 100, 10, 1].each do |i|
  t << m[s / i * i]
  s %= i
end
puts t