#!/usr/bin/env python3
from collections import Counter

digits = [
    ['MMM','MM','M',''],
    ['CM','DCCC','DCC','DC','D','CCC','CC','C',''],
    ['XC','LXXX','LXX','LX','L','XXX','XX','X',''],
    ['IX','VIII','VII','VI','V','III','II','I','']
]

tiles = dict(zip('MDCLXVI', map(int, input().split())))

def solve(n):
    remaining_tiles = tiles.copy()
    used = [Counter() for _ in range(4)]
    unused_space = [n] * 4
    for k in range(4):
        for d in digits[k]:
            c = Counter(d)
            take = min([unused_space[k]] + [remaining_tiles[a] // c[a] for a in c])
            used[k][d] = take
            unused_space[k] -= take
            for a in c:
                remaining_tiles[a] -= c[a]*take
        used[k] = +used[k]
    return used if sum(remaining_tiles.values()) == 0 else None

lo, hi = 0, 10**18
while hi-lo > 1:
    md = (lo+hi)//2
    if solve(md) is None:
        lo = md
    else:
        hi = md

used = solve(hi)
res = Counter()
while all([len(a) for a in used]):
    ds = [list(a.keys())[0] for a in used]
    take = min(a[d] for d,a in zip(ds,used))
    res[''.join(ds)] = take
    for k in range(4):
        used[k][ds[k]] -= take
        used[k] = +used[k]

print(hi)
print(len(res))
for s,k in res.items():
    print(s,k)
