def r2a(r): c2v = {'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000} r = r.replace('IV', 'IIII') r = r.replace('IX', 'VIIII') r = r.replace('XL', 'XXXX') r = r.replace('XC', 'LXXXX') r = r.replace('CD', 'CCCC') r = r.replace('CM', 'DCCCC') return sum(c2v[c] for c in r) def a2r(a): if a > 3999: return "ERROR" r = [] while (a >= 1000): r.append('M') a -= 1000 while (a >= 500): r.append('D') a -= 500 while (a >= 100): r.append('C') a -= 100 while (a >= 50): r.append('L') a -= 50 while (a >= 10): r.append('X') a -= 10 while (a >= 5): r.append('V') a -= 5 while (a >= 1): r.append('I') a -= 1 r = ''.join(r) r = r.replace('DCCCC', 'CM') r = r.replace('CCCC', 'CD') r = r.replace('LXXXX', 'XC') r = r.replace('XXXX', 'XL') r = r.replace('VIIII', 'IX') r = r.replace('IIII', 'IV') return r def solve(N, Rs): a = sum(map(r2a, Rs)) return a2r(a) def read_data(): N = int(input()) Rs = list(input().split()) return N, Rs N, Rs = read_data() print(solve(N, Rs))