#!/usr/bin/env python3
import itertools
from collections import defaultdict
from math import ceil

M, D, C, L, X, V, I = map(int, input().split())

# n: number of chars needed
# l: number of positions available
def getcnts(n, f, l, max=4, fix = False):
    cs = [0,0,0,0,0]
    for i in range(1, max+1):
        if n <= i * l:
            cs[i] = n-(i-1)*l
            cs[i-1] = l - cs[i]
            return cs, 0
    if fix and n <= max*l + f:
        cs[max] = l;
        return cs, n - max*l
    return None, None

def test(l):
    ans = defaultdict(int)
    ans[''] = l

    # Number of chars needed of type.
    # Number of entries where it can not follow.
    # Pattern it is not allowed to follow.
    # Suffixes containing 1, 2, ... occurrences of char.
    def fill(needed, forbidden, forbidden_pattern, suffixes, fix=False):
        nonlocal ans
        ss, fs = getcnts(needed, forbidden, l - forbidden, max=len(suffixes), fix=fix)
        if needed < 0 or not ss: ans = None
        if ans is None: return [0,0,0,0,0], 0
        r = ss[:]
        for k, v in list(ans.items()):
            if k.endswith(forbidden_pattern): continue
            for i, suf in enumerate(suffixes, start=1):
                c = min(ss[i], ans.get(k, 0))
                if c == 0: continue
                ss[i] -= c
                ans[k] -= c
                ans[k+suf] += c
                if ans[k] == 0: del ans[k]
        return r, fs

    ms, __ = fill(M, 0, '_', ['M', 'MM', 'MMM', 'MMMCM'])
    ds, __ = fill(D, ms[4], 'CM', ['D'])
    cs, cr = fill(C-ms[4], ms[4], 'CM', ['C','CC', 'CCC', 'CCCXC'], True)
    __, __ = fill(cr, 0, 'C', ['XC'])
    ls, __ = fill(L, cs[4], 'XC', ['L'])
    xs, xr = fill(X-cs[4]-cr, cs[4]+cr, 'XC', ['X','XX', 'XXX', 'XXXIX'], True)
    __, __ = fill(xr, 0, 'X', ['IX'])
    vs, __ = fill(V, xs[4], 'IX', ['V'])
    Is, __ = fill(I-xs[4]-xr, xs[4]+xr, 'IX', ['I','II', 'III'])

    return ans

l, h = 1, 10**18
while l < h:
    m = (l+h)//2
    if test(m): h = m
    else: l = m+1

ans = test(l)
print(sum(v for v in ans.values()))
print(len(ans))
[print(k, v) for k, v in ans.items()]
