import re
from collections import defaultdict

_TOKENS = re.compile(r'(?:([A-Z][a-z]?)|\))(\d+)?|(\()')

def parse(formula):
    counts = defaultdict(int)
    stack = []
    for token in _TOKENS.finditer(formula):
        element, subscript, start_subformula = token.groups()
        subscript = 1 if subscript is None else int(subscript)
        if element:
            counts[element] += 1 if subscript is None else subscript
        elif start_subformula:
            stack.append(counts)
            counts = defaultdict(int)
        else:
            previous = stack.pop()
            for elem, total in counts.items():
                previous[elem] += total * subscript
            counts = previous
    for element, total in sorted(counts.items()):
        print '{:>2}: {}'.format(element, total)


inputs = '''
C6H12O6
CCl2F2
NaHCO3
C4H8(OH)2
PbCl(NH3)2(COOH)2'''

for line in inputs.splitlines():
    print line
    parse(line)
    print