# -*- coding: utf-8 -*-
"""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."""
    decoupage = lancer = []
    estDe = False
    nb = res = 0
    resDetaille = signe = tmp = ""

    #on decoupe la chaine en se basant sur tout ce qui n'est pas un chiffre:
    if expr:
        expr += " "
        for car in expr:
            try:
                #le caractere est-il un chiffre? si oui, on le stocke dans tmp
                tmp += str(int(car))
            except:
                #si ce n'est pas un chiffre, qu'est-ce?
                if car.lower() == "d":
                   estDe = True
                   nb = int(tmp)
                   lancer = []
                   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]))
  

