# -*-coding:Latin-1 -*
"""lancer de des"""
from random import *
from operator import add

def de(faces):
    """resultat d'un de avec nbre de faces en parametre"""
    return randint(1,faces)
   
def jet(expr):
    """effectue un jet de de a partir d'expressions de type '1d20+3' -
    retourne un resultat chiffre et un resultat detaille."""
    tmp = ""
    decoupage = []
    estDe = False
    nb = 0
    lancer = []
    res = 0
    resDetaille = ""
    signe = ""
    
    #on decoupe la chaine en se basant sur tout ce qui n'est pas un chiffre:
    expr += " "
    for car in expr:
        try:
            #le caractere est-il un chiffre?
            tmp += str(int(car))
        except:
            #si ce n'est pas un chiffre, qu'est-ce?
            if car.lower() == "d":
               estDe = True
               lancer = []
               nb = int(tmp)
               tmp = ""
               #on garde en memoire le nombre stocke dans tmp,
               #puis on attend le prochain tmp pour effectuer le jet de de

            else:
               if estDe:
                   #on lance le de
                   i = 0
                   while i < nb:
                       lancer.append(de(int(tmp)))
                       i+=1
                   decoupage.append(lancer)
                   decoupage.append(car)
                   estDe = False
                   tmp = ""
               else:    
                   decoupage.append(tmp)
                   if car != " ":
                       decoupage.append(car)
                   tmp = ""

    decoupage.append(tmp)

    #on calcule ensuite tout ca:
    for elt in decoupage:
        if type(elt) == list:
           elt = int(sum(elt[:])) 
        try:
           elt = int(elt)
           if signe == "-":
               elt = -1 * elt
           res += elt    
        except:
           signe = elt      

    #on met en forme le resultat detaille
    for elt in decoupage:
       if type(elt) == list:
           elt = map(str, elt) 
           elt = ",".join(elt)
       resDetaille += " "+str(elt)        
    resDetaille = resDetaille.replace(" ","")
    
    return (res, resDetaille)



if __name__ == "__main__":
# si lancement direct:
    while True:
        lancer = jet(raw_input(" > "))
        print("{} ({})".format(lancer[0], lancer[1]))
  

