diff --git a/k-noeudsCasseTete/noeuds.py b/k-noeudsCasseTete/noeuds.py
index 8628f8d2388011f6ef918e41fc12c938dcd65271..24d5a8877873eedb1dce1acbadd2a04b62a303a4 100644
--- a/k-noeudsCasseTete/noeuds.py
+++ b/k-noeudsCasseTete/noeuds.py
@@ -1,4 +1,4 @@
-import sys
+import sys, os
 
 PATTERNREMOVE=['aA','Aa','bB','Bb','cC','Cc']
 
@@ -24,49 +24,54 @@ def reduceOne(line):
         line=remove(line,pattern) 
     return line
 
-def test(filename):
-    f = open(filename, "r")
-    dat=[]
-    for line in f:
-        print("*----------------*")
-        line= line.rstrip() # removes trailing whitespaces and newlines
-        ma=line.replace('a','').replace('A','')
-        mb=line.replace('b','').replace('B','')
-        mc=line.replace('c','').replace('C','')
-        print("In:%s"%line)
-        ra, rb, rc = reduce(ma), reduce(mb), reduce(mc)
-        print("[a] : %s -> [%s]"%(ma,ra))
-        print("[b] : %s -> [%s]"%(mb,rb))
-        print("[c] : %s -> [%s]"%(mc,rc))
-#test("x-data.txt")
+def test(candidate):
+    ma=candidate.replace('a','').replace('A','')
+    mb=candidate.replace('b','').replace('B','')
+    mc=candidate.replace('c','').replace('C','')
+    #print("In:%s"%line)
+    ra, rb, rc = reduce(ma), reduce(mb), reduce(mc)
+    outa="[a] %s -> (%s)"%(ma,ra)
+    outb=" [b] %s -> (%s)"%(mb,rb)
+    outc=" [c] %s -> (%s)"%(mc,rc)
+    res=""
+    reducedC=reduce(candidate)
+    wellformed= 'a' in reducedC and 'b' in reducedC and 'c' in reducedC
+    if ra=='' and rb=='' and rc=='' and wellformed:
+        res="**GOUDE**"
+        print("%8s %20s %20s %20s %s"%(candidate, outa, outb, outc, res))
+
 
 def replace(number, chrmod, pos):
      number[pos]=chrmod
 
+TABLETTERS=['a','b','c','A','B','C'] # letters 
+
 def addOne(number, posadd):
     if (posadd>=len(number)):
          number.append('a')
          return
-    if number[posadd]=='a':
-          #replace(number, 'b', posadd)
-          number[posadd]='b'
-          return
-    if number[posadd]=='b':
-          replace(number, 'c', posadd)
-          return
-    if number[posadd]=='c':
-          replace(number, 'a', posadd)
+    currentLetter= number[posadd]
+    
+    index=TABLETTERS.index(currentLetter)
+    newindex=(index+1)%6
+    replace(number, TABLETTERS[newindex], posadd)
+    if currentLetter=='C': #recursive call
           addOne(number, posadd+1)
           return
  
-T=100
+#T=6**3+6**2+6
+K=10
+T=(6**(K+1))//(6-1)-1
 
 def enumerate():
      num=['a']
      print ("%d %s"%(0,num))
 
      for i in range(1,T):
-        addOne(num,0)
-        print ("%d %s"%(i,''.join(num)))
+        addOne(num,0) #list-number
+        candidate=''.join(num) #string-number
+        #print ("%d %s"%(i,''.join(num)))
+        test(candidate)
 
-enumerate()
\ No newline at end of file
+enumerate()
+print("PWD:",os. getcwd()) 
\ No newline at end of file
diff --git a/k-noeudsCasseTete/zSol.txt b/k-noeudsCasseTete/zSol.txt
new file mode 100644
index 0000000000000000000000000000000000000000..59254fa3aab21d3f82409242ffdb2cd9eb463c80
--- /dev/null
+++ b/k-noeudsCasseTete/zSol.txt
@@ -0,0 +1,41 @@
+BACabABcba     [a] BCbBcb -> ()     [b] ACaAca -> ()   [c] BAabABba -> () **GOUDE**
+BCbcACBcba   [a] BCbcCBcb -> ()     [b] CcACca -> ()     [c] BbABba -> () **GOUDE**
+BCbABacAba     [a] BCbBcb -> ()     [b] CAacAa -> ()   [c] BbABaAba -> () **GOUDE**
+CAcBCacAba     [a] CcBCcb -> ()   [b] CAcCacAa -> ()     [c] ABaAba -> () **GOUDE**
+CABabcBAba     [a] CBbcBb -> ()     [b] CAacAa -> ()   [c] ABabBAba -> () **GOUDE**
+cABabCBAba     [a] cBbCBb -> ()     [b] cAaCAa -> ()   [c] ABabBAba -> () **GOUDE**
+cACBcaCAba     [a] cCBcCb -> ()   [b] cACcaCAa -> ()     [c] ABaAba -> () **GOUDE**
+BcbABaCAba     [a] BcbBCb -> ()     [b] cAaCAa -> ()   [c] BbABaAba -> () **GOUDE**
+BcbCAcBCba   [a] BcbCcBCb -> ()     [b] cCAcCa -> ()     [c] BbABba -> () **GOUDE**
+BAcabABCba     [a] BcbBCb -> ()     [b] AcaACa -> ()   [c] BAabABba -> () **GOUDE**
+CABacACbca     [a] CBcCbc -> ()   [b] CAacACca -> ()     [c] ABaAba -> () **GOUDE**
+CBcbABCbca   [a] CBcbBCbc -> ()     [b] CcACca -> ()     [c] BbABba -> () **GOUDE**
+BAbCBabAca     [a] BbCBbc -> ()     [b] ACaAca -> ()   [c] BAbBabAa -> () **GOUDE**
+CBcACabAca     [a] CBcCbc -> ()   [b] CcACaAca -> ()     [c] BAabAa -> () **GOUDE**
+bABCbaBAca     [a] bBCbBc -> ()     [b] ACaAca -> ()   [c] bABbaBAa -> () **GOUDE**
+CbcACaBAca     [a] CbcCBc -> ()   [b] CcACaAca -> ()     [c] bAaBAa -> () **GOUDE**
+BACacbCAca     [a] BCcbCc -> ()   [b] ACacCAca -> ()     [c] BAabAa -> () **GOUDE**
+bACacBCAca     [a] bCcBCc -> ()   [b] ACacCAca -> ()     [c] bAaBAa -> () **GOUDE**
+CbcBAbCBca   [a] CbcBbCBc -> ()     [b] CcACca -> ()     [c] bBAbBa -> () **GOUDE**
+CAbacACBca     [a] CbcCBc -> ()   [b] CAacACca -> ()     [c] AbaABa -> () **GOUDE**
+bACaBAbcBa     [a] bCBbcB -> ()     [b] ACaAca -> ()   [c] bAaBAbBa -> () **GOUDE**
+bCBcACbcBa   [a] bCBcCbcB -> ()     [b] CcACca -> ()     [c] bBAbBa -> () **GOUDE**
+CAbaBcbABa     [a] CbBcbB -> ()     [b] CAacAa -> ()   [c] AbaBbABa -> () **GOUDE**
+cAbaBCbABa     [a] cbBCbB -> ()     [b] cAaCAa -> ()   [c] AbaBbABa -> () **GOUDE**
+bCBAbacABa     [a] bCBbcB -> ()     [b] CAacAa -> ()   [c] bBAbaABa -> () **GOUDE**
+CAcbCacABa     [a] CcbCcB -> ()   [b] CAcCacAa -> ()     [c] AbaABa -> () **GOUDE**
+bcBAbaCABa     [a] bcBbCB -> ()     [b] cAaCAa -> ()   [c] bBAbaABa -> () **GOUDE**
+cACbcaCABa     [a] cCbcCB -> ()   [b] cACcaCAa -> ()     [c] AbaABa -> () **GOUDE**
+bcBCAcbCBa   [a] bcBCcbCB -> ()     [b] cCAcCa -> ()     [c] bBAbBa -> () **GOUDE**
+bAcaBAbCBa     [a] bcBbCB -> ()     [b] AcaACa -> ()   [c] bAaBAbBa -> () **GOUDE**
+cABaCAcbCa     [a] cBCcbC -> ()   [b] cAaCAcCa -> ()     [c] ABaAba -> () **GOUDE**
+cBCbABcbCa   [a] cBCbBcbC -> ()     [b] cCAcCa -> ()     [c] BbABba -> () **GOUDE**
+cBCAcabACa     [a] cBCcbC -> ()   [b] cCAcaACa -> ()     [c] BAabAa -> () **GOUDE**
+BAbcBabACa     [a] BbcBbC -> ()     [b] AcaACa -> ()   [c] BAbBabAa -> () **GOUDE**
+BAcaCbcACa     [a] BcCbcC -> ()   [b] AcaCcACa -> ()     [c] BAabAa -> () **GOUDE**
+bAcaCBcACa     [a] bcCBcC -> ()   [b] AcaCcACa -> ()     [c] bAaBAa -> () **GOUDE**
+bABcbaBACa     [a] bBcbBC -> ()     [b] AcaACa -> ()   [c] bABbaBAa -> () **GOUDE**
+cbCAcaBACa     [a] cbCcBC -> ()   [b] cCAcaACa -> ()     [c] bAaBAa -> () **GOUDE**
+cbCBAbcBCa   [a] cbCBbcBC -> ()     [b] cCAcCa -> ()     [c] bBAbBa -> () **GOUDE**
+cAbaCAcBCa     [a] cbCcBC -> ()   [b] cAaCAcCa -> ()     [c] AbaABa -> () **GOUDE**
+