class Immeuble:
    def __init__(self,etages,possibles,depart=0):
        self.etages=etages
        self.possibles=possibles
        self.depart=depart

class Voyage:
    def __init__(self,passe,i):
        self.passe=passe
        self.i=i
        
    def enfants(self):
        boutons=[]
        if len(self.passe)==0:
            self.passe=[self.i.depart]
        for j in self.i.possibles:
            if  self.passe[-1]+j in [x for x in self.i.etages if x not in self.passe]:
                boutons.append(j)
        liste=[]
        
        for j in boutons :
            newpasse=[x for x in self.passe]
            newpasse.append(self.passe[-1]+j)
            liste.append(newpasse)
          
        return [Voyage(l,self.i) for l in liste]


    


def etudie(x,y,z,t=None):
    if t==None:
        t=x
    i=Immeuble(x,y,z)
    v=Voyage([],i)
    n=2
    liste=[Voyage(x.passe,i) for x in v.enfants()]
    oldliste=liste
    while len(liste) !=0:
        n+=1
       
        newliste=[]
        for k in liste:
            for l in k.enfants():
                newliste.append(Voyage(l.passe,i))
        oldliste=liste
        liste=[x for x in newliste]
       

    return [u for u in oldliste if u.passe[-1] in t]
       
        
a=etudie(list(range(12)),[+2,3,-4,-11],0,[4,11])
compteur=0

for i in a :
    compteur+=1
    j="-".join([str(x) for x in i.passe])
    print("{}/ {}".format(compteur,j))

k=input(" FIN ")

                
