diff --git a/README.md b/README.md
index f2778ab..e5c76af 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,6 @@
 # AoC 2015
 
+
 J’ai décidé de faire l’édition de 2015 de l’Advent of Code en utilisant un langage différent pour chaque jour. J’essaie d’utiliser au mieux le langage (par exemple, Java est orienté objet). Vous trouverez ci-dessous un tableau résumant rapidement ce dont vous avez besoin pour lancer chaque jour et plus bas encore des notes plus précises pour les différents jours.
 
 ## TLDR
@@ -68,7 +69,7 @@ python3 run.py
 
 ## Jour 5
 
-On retourne dans le passé ici avec le **Cobol**. J’ai utilisé le compilateur GNUCOBOL pour pouvoir compiler mon fichier. J’ai préféré utiliser l’ancienne syntaxe pour changer un peu ma façon de coder (et je trouve le symbole de la ligne 7 génial).
+On retourne dans le passé ici avec le **Cobol**. J’ai utilisé le compilateur GNUCOBOL pour pouvoir compiler mon fichier. J’ai préféré utiliser l’ancienne syntaxe pour changer un peu ma façon de coder (et je trouve le symbole de la ligne 7 génial) sur la première partie.
 
 ```bash
 # pour installer le compilateur
@@ -79,10 +80,27 @@ cobc -x jour5.cob
 ./jour5
 ```
 
-Il reste des messages de débugging. Si vous souhaitez les voir, il suffit de rajouter l’option `-fdebugging-line` au compilateur.
+Il reste des messages de débugging. Si vous souhaitez les voir, il suffit de rajouter l’option `-fdebugging-line` au compilateur. **Les messages ont été supprimés.**
 
 J’ai appris à coder en COBOL très rapidement pour ce jour. Je me suis appuyé sur [le cours de Wikiversite](https://fr.wikiversity.org/wiki/COBOL) pour les bases et aussi de [la documentation officielle GNUCOBOL](https://devdocs.io/gnu_cobol/).
 
+En tant que développeur, je suis feignant. Voici un mini script bash pour générer les colonnes de lignes se trouvant dans le fichier : 
+
+```bash
+nb=$(wc -l jour5.cob | cut -d\  -f1)
+for i in $(seq -f "%06g" $nb)
+do
+    sed -Ei '0,/(^\s{6}|^\s*$)/s//'$i'/' jour5.cob
+done
+```
+
+Si vous souhaitez éditer le fichier, il est plus pratique de le faire sans ces nombres. Voici la commande permettant de les retirer :
+
+```bash
+sed -Ei 's/^[0-9]{6}$//g' jour5.cob # pour éviter les espaces inutiles
+sed -Ei 's/^[0-9]{6}/      /g' jour5.cob
+```
+
 ## Jour 6
 ## Jour 7
 ## Jour 8
@@ -113,7 +131,7 @@ Liste des langages utilisés
 
 * Shell
 * Perl
-* LOLCODE / HolyC
+* HolyC
 * C++
 * C#
 * Pascal
@@ -121,13 +139,27 @@ Liste des langages utilisés
 * Go
 * Rust
 * Groovy
-* Haskell
 * JS
 * PHP
 * Pony
 * Ruby
 * Lua
 * Pawn
-* PureBasic
 * Squirrel
 * Scala
+
+## Langages non utilisées
+
+Liste des langages devant être utiliser mais qui ne l’ont pas été. J’essai d’apporter des explications au pourquoi.
+
+### LOLCODE
+
+Le LOLCODE ne permet pas la manipulation de chaines de caractères ou de manière peu flexible : [post Stackoverflow](https://stackoverflow.com/questions/29762129/lolcode-string-parsing).
+
+### Haskell
+
+Le Haskell est un langage de logique, son foctionnement et surtout sa structure est différente des autres programmes.
+
+### PureBasic
+
+Compilateur propriétaire.
diff --git a/jour05/input b/jour05/input
index ab41c95..7bc179c 100644
--- a/jour05/input
+++ b/jour05/input
@@ -1,2 +1,1000 @@
-ugknbfddgicrmopn
-jchzalrnumimnmhp
+uxcplgxnkwbdwhrp
+suerykeptdsutidb
+dmrtgdkaimrrwmej
+ztxhjwllrckhakut
+gdnzurjbbwmgayrg
+gjdzbtrcxwprtery
+fbuqqaatackrvemm
+pcjhsshoveaodyko
+lrpprussbesniilv
+mmsebhtqqjiqrusd
+vumllmrrdjgktmnb
+ptsqjcfbmgwdywgi
+mmppavyjgcfebgpl
+zexyxksqrqyonhui
+npulalteaztqqnrl
+mscqpccetkktaknl
+ydssjjlfejdxrztr
+jdygsbqimbxljuue
+ortsthjkmlonvgci
+jfjhsbxeorhgmstc
+vdrqdpojfuubjbbg
+xxxddetvrlpzsfpq
+zpjxvrmaorjpwegy
+laxrlkntrukjcswz
+pbqoungonelthcke
+niexeyzvrtrlgfzw
+zuetendekblknqng
+lyazavyoweyuvfye
+tegbldtkagfwlerf
+xckozymymezzarpy
+ehydpjavmncegzfn
+jlnespnckgwmkkry
+bfyetscttekoodio
+bnokwopzvsozsbmj
+qpqjhzdbuhrxsipy
+vveroinquypehnnk
+ykjtxscefztrmnen
+vxlbxagsmsuuchod
+punnnfyyufkpqilx
+zibnnszmrmtissww
+cxoaaphylmlyljjz
+zpcmkcftuuesvsqw
+wcqeqynmbbarahtz
+kspontxsclmbkequ
+jeomqzucrjxtypwl
+ixynwoxupzybroij
+ionndmdwpofvjnnq
+tycxecjvaxyovrvu
+uxdapggxzmbwrity
+csskdqivjcdsnhpe
+otflgdbzevmzkxzx
+verykrivwbrmocta
+ccbdeemfnmtputjw
+suyuuthfhlysdmhr
+aigzoaozaginuxcm
+ycxfnrjnrcubbmzs
+fgbqhrypnrpiizyy
+taoxrnwdhsehywze
+echfzdbnphlwjlew
+jhmomnrbfaawicda
+fywndkvhbzxxaihx
+aftuyacfkdzzzpem
+yytzxsvwztlcljvb
+iblbjiotoabgnvld
+kvpwzvwrsmvtdxcx
+ardgckwkftcefunk
+oqtivsqhcgrcmbbd
+wkaieqxdoajyvaso
+rkemicdsrtxsydvl
+sobljmgiahyqbirc
+pbhvtrxajxisuivj
+ggqywcbfckburdrr
+gmegczjawxtsywwq
+kgjhlwyonwhojyvq
+bpqlmxtarjthtjpn
+pxfnnuyacdxyfclr
+isdbibbtrqdfuopn
+vucsgcviofwtdjcg
+ywehopujowckggkg
+mzogxlhldvxytsgl
+mllyabngqmzfcubp
+uwvmejelibobdbug
+brebtoppnwawcmxa
+fcftkhghbnznafie
+sqiizvgijmddvxxz
+qzvvjaonnxszeuar
+abekxzbqttczywvy
+bkldqqioyhrgzgjs
+lilslxsibyunueff
+ktxxltqgfrnscxnx
+iwdqtlipxoubonrg
+twncehkxkhouoctj
+bdwlmbahtqtkduxz
+smbzkuoikcyiulxq
+bjmsdkqcmnidxjsr
+icbrswapzdlzdanh
+eyszxnhbjziiplgn
+pdxhrkcbhzqditwb
+nfulnpvtzimbzsze
+glayzfymwffmlwhk
+bejxesxdnwdlpeup
+ukssntwuqvhmsgwj
+hoccqxlxuuoomwyc
+rapztrdfxrosxcig
+cxowzhgmzerttdfq
+yzhcurqhdxhmolak
+kqgulndpxbwxesxi
+yjkgcvtytkitvxiu
+xnhfqhnnaceaqyue
+qkuqreghngfndifr
+xesxgeaucmhswnex
+occbvembjeuthryi
+dmefxmxqjncirdwj
+ystmvxklmcdlsvin
+pplykqlxmkdrmydq
+cbbjkpbdvjhkxnuc
+embhffzsciklnxrz
+asrsxtvsdnuhcnco
+xcbcrtcnzqedktpi
+mglwujflcnixbkvn
+mnurwhkzynhahbjp
+cekjbablkjehixtj
+kbkcmjhhipcjcwru
+usifwcsfknoviasj
+rsfgocseyeflqhku
+prgcyqrickecxlhm
+asbawplieizkavmq
+sylnsirtrxgrcono
+nzspjfovbtfkloya
+qfxmsprfytvaxgtr
+yckpentqodgzngnv
+ycsfscegcexcnbwq
+kbmltycafudieyuh
+tpahmvkftilypxuf
+qivqozjrmguypuxu
+gdhbfradjuidunbk
+vxqevjncsqqnhmkl
+rpricegggcfeihst
+xucvzpprwtdpzifq
+egyjcyyrrdnyhxoo
+kfbrzmbtrrwyeofp
+qpjdsocrtwzpjdkd
+reboldkprsgmmbit
+vwkrzqvvhqkensuy
+ydvmssepskzzvfdp
+vqbigplejygdijuu
+mzpgnahrhxgjriqm
+uiejixjadpfsxqcv
+tosatnvnfjkqiaha
+yipuojpxfqnltclx
+pcxwvgcghfpptjlf
+shrudjvvapohziaj
+jdckfjdtjsszdzhj
+hgisfhcbdgvxuilk
+gytnfjmrfujnmnpp
+ohflkgffnxmpwrrs
+jzxajbkwwjknasjh
+xrcxfollmejrislv
+djjlwykouhyfukob
+rittommltkbtsequ
+lpbvkxdcnlikwcxm
+vkcrjmcifhwgfpdj
+dkhjqwtggdrmcslq
+swnohthfvjvoasvt
+yrzoksmcnsagatii
+duommjnueqmdxftp
+inlvzlppdlgfmvmx
+xibilzssabuqihtq
+inkmwnvrkootrged
+ldfianvyugqtemax
+gbvwtiexcuvtngti
+temjkvgnwxrhdidc
+askbbywyyykerghp
+onezejkuwmrqdkfr
+kybekxtgartuurbq
+ubzjotlasrewbbkl
+stueymlsovqgmwkh
+lhduseycrewwponi
+yohdmucunrgemqcu
+onnfbxcuhbuifbyc
+odrjkigbrsojlqbt
+imqkqqlkgmttpxtx
+sxmlkspqoluidnxw
+akaauujpxhnccleb
+xvgpghhdtpgvefnk
+jdxeqxzsbqtvgvcq
+mdusenpygmerxnni
+agihtqvgkmgcbtaw
+dovxcywlyvspixad
+uulgazeyvgtxqkfz
+ndhmvrwuflhktzyo
+hcaqkmrbvozaanvm
+tvfozbqavqxdqwqv
+rlkpycdzopitfbsv
+dmyjtmjbtnvnedhs
+fmwmqeigbzrxjvdu
+twgookcelrjmczqi
+grxosmxvzgymjdtz
+zsstljhzugqybueo
+jpeapxlytnycekbd
+iasykpefrwxrlvxl
+azohkkqybcnsddus
+aoaekngakjsgsonx
+awsqaoswqejanotc
+sgdxmketnjmjxxcp
+ylnyuloaukdrhwuy
+ewoqjmakifbefdib
+ytjfubnexoxuevbp
+ewlreawvddptezdd
+vmkonztwnfgssdog
+ahbpuqygcwmudyxn
+kmahpxfjximorkrh
+otjbexwssgpnpccn
+aewskyipyztvskkl
+urqmlaiqyfqpizje
+nrfrbedthzymfgfa
+vndwwrjrwzoltfgi
+iiewevdzbortcwwe
+qiblninjkrkhzxgi
+xmvaxqruyzesifuu
+yewuzizdaucycsko
+hmasezegrhycbucy
+dwpjrmkhsmnecill
+hnffpbodtxprlhss
+avmrgrwahpsvzuhm
+nksvvaswujiukzxk
+zzzapwhtffilxphu
+vwegwyjkbzsrtnol
+qurpszehmkfqwaok
+iknoqtovqowthpno
+brlmpjviuiagymek
+efxebhputzeulthq
+mzkquarxlhlvvost
+xsigcagzqbhwwgps
+qufztljyzjxgahdp
+dlfkavnhobssfxvx
+hgdpcgqxjegnhjlr
+fboomzcvvqudjfbi
+wnjuuiivaxynqhrd
+nhcgzmpujgwisguw
+wjeiacxuymuhykgk
+qmeebvxijcgdlzpf
+nmmnxsehhgsgoich
+ejluaraxythbqfkl
+mdbsbwnaypvlatcj
+nnfshfibmvfqrbka
+dvckdmihzamgqpxr
+foztgqrjbwyxvewk
+okpryqcbvorcxhoh
+fpiwsndulvtthctx
+zrbiovlmzdmibsiq
+setwafbnnzcftutg
+nyvqghxhgkxfobdm
+enpvqadzarauhajl
+twblhpvkazpdmhmr
+lbhlllsgswvhdesh
+tdfwkgxnqjxcvsuo
+lnvyjjbwycjbvrrb
+jsxqdvmzaydbwekg
+xirbcbvwlcptuvoa
+hwnukxenilatlfsk
+khwopjqkxprgopmd
+sljzdoviweameskw
+stkrdmxmpaijximn
+fdilorryzhmeqwkc
+mfchaaialgvoozra
+gjxhoxeqgkbknmze
+beowovcoqnginrno
+mkgmsgwkwhizunxo
+phnhfusyoylvjdou
+csehdlcmwepcpzmq
+pgojomirzntgzohj
+fkffgyfsvwqhmboz
+mrvduasiytbzfwdn
+epzrmsifpmfaewng
+ooqxnoyqrlozbbyf
+ahcxfmgtedywrbnx
+ibqktvqmgnirqjot
+xarssauvofdiaefn
+xradvurskwbfzrnw
+nxklmulddqcmewad
+twichytatzoggchg
+qmgvroqwrjgcycyv
+yvezgulgrtgvyjjm
+jgmcklzjdmznmuqk
+bytajdwwconasjzt
+apjttucpycyghqhu
+flfejjzihodwtyup
+gmrtrwyewucyqotv
+nlohdrlymbkoenyl
+wxcmqwbrwgtmkyfe
+njtzlceyevmisxfn
+htbbidsfbbshmzlt
+gxhjeypjwghnrbsf
+cifcwnbtazronikv
+ezvjijcjcyszwdjy
+srffeyrvyetbecmc
+xpjefrtatrlkbkzl
+yhncvfqjcyhsxhbb
+pqhcufzlcezhihpr
+qtdsfvxfqmsnzisp
+dfonzdicxxhzxkrx
+mqqqzhxkyfpofzty
+dodjadoqyxsuazxt
+jjwkrlquazzjbvlm
+ttosfloajukoytfb
+llateudmzxrzbqph
+criqihrysgesmpsx
+npszvlittbcxxknj
+qmzojrvraitrktil
+cfyoozzpwxwkwoto
+daxohtcgvtktggfw
+vthkpkoxmiuotjaj
+pkfkyobvzjeecnui
+ojcjiqrfltbhcdze
+scbivhpvjkjbauun
+ysowvwtzmqpjfwyp
+laeplxlunwkfeaou
+jufhcikovykwjhsa
+xrucychehzksoitr
+pyaulaltjkktlfkq
+oypfrblfdhwvqxcv
+zybrgxixvhchgzcf
+puoagefcmlxelvlp
+xjnhfdrsbhszfsso
+ocgvzryoydaoracw
+bxpnqllmptkpeena
+pziyeihxlxbbgdio
+bvtrhtlbfzmglsfc
+ggpuvtseebylsrfk
+pukenexjqecnivfj
+jswabfbzpnhhdbpn
+enojrtwqpfziyqsv
+rjtmxudgcudefuiz
+iqmjxynvtvdacffc
+uheywxlsusklitvl
+kwhxduejafdpmqdc
+rspgblenbqlmcltn
+rczhurnrqqgjutox
+dqhytibjzxkdblzl
+hpbieadydiycvfys
+pucztfoqvenxiuym
+nqpfzgpblwijiprf
+ltgseeblgajbvltk
+mwxukbsnapewhfrc
+dvxluiflicdtnxix
+pexfbpgnqiqymxcq
+dakudfjjwtpxuzxy
+letlceyzlgmnrewu
+ojktahbsdifdfhmd
+anezoybbghjudbih
+sawxtlvzysaqkbbf
+ttnkctcevpjiwqua
+edrwrdvbaoqraejd
+wnbfilvuienjxlcr
+wqhzwvyybyxhhtsm
+jxbgvyaqczwdlxfo
+wbypqfmbwrsvfmdv
+izdxjyfpidehbets
+vbxbggqseurknjor
+egpmpoxickhvwdlz
+ivfrzklvpwoemxsy
+xkziseheibmrpdww
+xnrmtoihaudozksa
+efemdmbxdsaymlrw
+yjdjeckmsrckaagx
+vlftqxxcburxnohv
+fwyquwgajaxebduj
+dwpmqvcxqwwnfkkr
+isduxxjfsluuvwga
+avdtdppodpntojgf
+vrcoekdnutbnlgqk
+kbhboxjmgomizxkl
+cgsfpjrmewexgzfy
+usdtnhjxbvtnafvp
+bjoddgxbuxzhnsqd
+hoyqdzofddedevsb
+rwiwbvqfjajotaoj
+iabomphsuyfptoos
+bubeonwbukprpvhy
+xurgunofmluhisxm
+puyojzdvhktawkua
+dbvqhztzdsncrxkb
+oaeclqzyshuuryvm
+nmgwfssnflxvcupr
+vjkiwbpunkahtsrw
+romyflhrarxchmyo
+yecssfmetezchwjc
+qwtocacqdslhozkd
+mesexvfbtypblmam
+mtjucgtjesjppdtt
+pvodhqqoeecjsvwi
+vvlcwignechiqvxj
+wiqmzmmjgjajwgov
+kwneobiiaixhclev
+lkdeglzrrxuomsyt
+oqovuwcpwbghurva
+lfsdcxsasmuarwwg
+awkbafhswnfbhvck
+sztxlnmyvqsiwljg
+hozxgyxbcxjzedvs
+oifkqgfqmflxvyzn
+mfvnehsajlofepib
+delgbyfhsyhmyrfa
+uenimmwriihxoydv
+vjqutpilsztquutn
+kfebsaixycrodhvl
+coifyqfwzlovrpaj
+xiyvdxtkqhcqfsqr
+hoidcbzsauirpkyt
+fiumhfaazfkbaglq
+fzwdormfbtkdjgfm
+faxqrortjdeihjfv
+ljhaszjklhkjvrfi
+pzrxsffkuockoqyl
+immbtokjmwyrktzn
+lzgjhyiywwnuxpfx
+vhkocmwzkfwjuzog
+ghntjkszahmdzfbl
+gbcthxesvqbmzggy
+oyttamhpquflojkh
+nbscpfjwzylkfbtv
+wnumxzqbltvxtbzs
+jfhobjxionolnouc
+nrtxxmvqjhasigvm
+hweodfomsnlgaxnj
+lfgehftptlfyvvaj
+ccoueqkocrdgwlvy
+euhgvirhsaotuhgf
+pdlsanvgitjvedhd
+seokvlbhrfhswanv
+pntdqaturewqczti
+jkktayepxcifyurj
+dhzzbiaisozqhown
+wehtwakcmqwczpbu
+zwvozvspqmuckkcd
+efucjlrwxuhmjubr
+lzodaxuyntrnxwvp
+qdezfvpyowfpmtwd
+mizijorwrkanesva
+txmitbiqoiryxhpz
+xhsqgobpouwnlvps
+muixgprsknlqaele
+disgutskxwplodra
+bmztllsugzsqefrm
+ymwznyowpaaefkhm
+ebfifzloswvoagqh
+pkldomvvklefcicw
+ziqzbbfunmcgrbtq
+iuekfpbkraiwqkic
+jflgjidirjapcuqo
+achsfbroyrnqnecg
+udbhouhlgjjzapzr
+arerrohyhhkmwhyo
+txyjzkqexgvzdtow
+ogzrjwibvzoucrpg
+rfdftaesxdnghwhd
+axdhwmpuxelmpabo
+gtktemowbsvognac
+wkfuclilhqjzxztk
+qbwjouutzegaxhrz
+opfziwqqbwhzzqhj
+pvcvcsupfwsmeacs
+xsbohvbguzsgpawn
+sczoefukwywxriwj
+oqkhcqfdeaifbqoc
+vtsrholxbjkhwoln
+yuvapljnwbssfbhi
+dxdfwccqvyzeszyl
+gdbmjtonbiugitmb
+qunirtqbubxalmxr
+zzxsirhdaippnopr
+fibtndkqjfechbmq
+gqgqyjvqmfiwiyio
+ihwsfkwhtzuydlzw
+eygyuffeyrbbhlit
+zdlsaweqomzrhdyy
+ptbgfzuvxiuuxyds
+llxlfdquvovzuqva
+wfrltggyztqtyljv
+kwipfevnbralidbm
+gbhqfbrvuseellbx
+obkbuualrzrakknv
+hlradjrwyjgfqugu
+vtqlxbyiaiorzdsp
+tedcbqoxsmbfjeyy
+cxdppfvklbdayghy
+gjnofexywmdtgeft
+ldzeimbbjmgpgeax
+egrwsmshbvbawvja
+vadfrjvcrdlonrkg
+mojorplakzfmzvtp
+jyurlsoxhubferpo
+ijwqogivvzpbegkm
+cnmetoionfxlutzg
+lawigelyhegqtyil
+mqosapvnduocctcd
+eqncubmywvxgpfld
+vigfretuzppxkrfy
+ncwynsziydoflllq
+cbllqinsipfknabg
+ndtbvdivzlnafziq
+iqrrzgzntjquzlrs
+damkuheynobqvusp
+jxctymifsqilyoxa
+ylritbpusymysmrf
+paoqcuihyooaghfu
+obhpkdaibwixeepl
+igrmhawvctyfjfhd
+ybekishyztlahopt
+vkbniafnlfqhhsrq
+kltdigxmbhazrywf
+ufhcoyvvxqzeixpr
+klcxdcoglwmeynjt
+funpjuvfbzcgdhgs
+akgyvyfzcpmepiuc
+zhlkgvhmjhwrfmua
+ibsowtbnrsnxexuz
+vpufbqilksypwlrn
+ngrintxhusvdkfib
+ziuwswlbrxcxqslw
+sucledgxruugrnic
+zwnsfsyotmlpinew
+oaekskxfcwwuzkor
+qjmqwaktpzhwfldu
+tmgfgqgpxaryktxo
+qfaizepgauqxvffk
+addkqofusrstpamf
+shdnwnnderkemcts
+gwfygbsugzptvena
+fpziernelahopdsj
+bkkrqbsjvyjtqfax
+gxrljlqwxghbgjox
+ipfwnqaskupkmevm
+nnyoyhnqyfydqpno
+lgzltbrrzeqqtydq
+fgzxqurhtdfucheb
+jvpthtudlsoivdwj
+bmlhymalgvehvxys
+fhklibetnvghlgnp
+hfcyhptxzvblvlst
+donanindroexgrha
+oqawfmslbgjqimzx
+jzgehjfjukizosep
+bhlgamcjqijpvipb
+jrcrdjrvsyxzidsk
+ouwfwwjqezkofqck
+wrvsbnkhyzayialf
+knhivfqjxrxnafdl
+hbxbgqsqwzijlngf
+qlffukpfmnxpfiyq
+evhxlouocemdkwgk
+baxhdrmhaukpmatw
+nwlyytsvreqaminp
+ljsjjzmlsilvxgal
+onunatwxfzwlmgpk
+njgolfwndqnwdqde
+ngdgcjzxupkzzbqi
+ieawycvvmvftbikq
+ccyvnexuvczvtrit
+enndfwjpwjyasjvv
+tcihprzwzftaioqu
+bkztdkbrxfvfeddu
+qkvhtltdrmryzdco
+rurtxgibkeaibofs
+mjxypgscrqiglzbp
+unpkojewduprmymd
+csqtkhjxpbzbnqog
+mednhjgbwzlhmufi
+sfrwfazygygzirwd
+ijqeupbrhhpqxota
+cmhpncanwudyysyh
+wwcxbwzrplfzrwxd
+jriomldifuobjpmq
+radonyagpulnnyee
+ryqjwxsspbbhnptd
+yeoqpnsdhludlmzf
+qsqlkeetyalenueh
+qnnedenwsjdrcrzt
+lejkuhsllxbhfcrx
+anddbvllrrqefvke
+wdtljquijaksvdsv
+adslgvfuqqdkzvbc
+whbccefjpcnjwhaq
+kqrfuankaibohqsg
+fyxisfwihvylgnfd
+rwqdrddghyqudcif
+syhzowthaaiiouaf
+zjmrtgrnohxmtidu
+deecwkfvjffxrzge
+dztmvolqxkhdscxe
+cdghcrgavygojhqn
+pepqmdbjhnbugqeu
+pnumdjpnddbxhieg
+jzfhxeyahiagizfw
+hdkwugrhcniueyor
+gmgudeqlbmqynflu
+toidiotdmfkxbzvm
+pyymuoevoezlfkjb
+etrbwuafvteqynlr
+usvytbytsecnmqtd
+dfmlizboawrhmvim
+vrbtuxvzzefedlvs
+vslcwudvasvxbnje
+xdxyvoxaubtwjoif
+mduhzhascirittdf
+cqoqdhdxgvvvxamk
+dshnfwhqjbhuznqr
+zimthfxbdmkulkjg
+luylgfmmwbptyzpj
+iujpcgogshhotqrc
+caqcyzqcumfljvsp
+sprtitjlbfpygxya
+fnconnrtnigkpykt
+irmqaqzjexdtnaph
+bbqrtoblmltvwome
+ozjkzjfgnkhafbye
+hwljjxpxziqbojlw
+zahvyqyoqnqjlieb
+dptshrgpbgusyqsc
+uzlbnrwetkbkjnlm
+yccaifzmvbvwxlcc
+wilnbebdshcrrnuu
+evxnoebteifbffuq
+khbajekbyldddzfo
+kjivdcafcyvnkojr
+wtskbixasmakxxnv
+uzmivodqzqupqkwx
+rxexcbwhiywwwwnu
+rowcapqaxjzcxwqi
+fkeytjyipaxwcbqn
+pyfbntonlrunkgvq
+qiijveatlnplaifi
+ltnhlialynlafknw
+urrhfpxmpjwotvdn
+xklumhfyehnqssys
+civrvydypynjdoap
+fvbmxnfogscbbnyd
+oznavyflpzzucuvg
+iyshrpypfbirahqo
+qmzbfgelvpxvqecy
+xkkxaufomsjbofmk
+irlouftdmpitwvlq
+csjoptbdorqxhnjg
+bkryeshfsaqpdztm
+guxbdqzfafsjoadl
+tgrltexgrzatzwxf
+cwsgsijqdanubxad
+xafnexgturwrzyrg
+apcrsqdbsbaxocxr
+pspgxnzcevmvvejk
+szephmeegvegugdt
+ndjsoloeacasxjap
+bdnfksliscnirjfu
+ehglacmzpcgglpux
+jwweijomqfcupvzw
+yesblmmkqhbazmdu
+sjsmalypmuslzgac
+fkiqatyttlnuhdho
+tlhnyuzdocvfdihq
+ngehtjmycevnybga
+obxodzcdgtrycgry
+stkyrvdfbwovawmk
+bdkhqcfrqaxhxloo
+gpvumnuoiozipnrk
+jbhanddinpqhxeol
+hwkzkmbmsrvunzit
+rfuomegkxbyamjpw
+yzbljuksletipzwm
+eafedkagwitzqigl
+prenqvsbotqckgwy
+spedpbwzphdrfxfz
+cmsuqwemhwixkxet
+xgdyeqbqfldvaccq
+eooxgsrfsbdaolja
+kyhqylxooewrhkho
+mswieugqpoefmspt
+uszoqundysdyeqlc
+hkmjdggxefdyykbq
+dtuhjnlaliodtlvh
+oalbueqbhpxoxvvx
+oowxtxsoqdwhzbya
+lclajfsrpmtwvzkm
+fxmjufpqtpyazeqo
+ozlmreegxhfwwwmf
+mqzrajxtxbaemrho
+nfglecsyqduhakjr
+nkxqtmasjjkpkqbp
+jjfonbqimybvzeus
+vjqkhkhjlmvpwkud
+wxxhnvfhetsamzjr
+pladhajujzttgmsw
+dbycgxeymodsdlhm
+qxszeuaahuoxjvwu
+adultomodzrljxve
+dmhgrbhvvpxyzwdn
+slohrlwxerpahtyp
+mngbocwyqrsrrxdb
+facyrtflgowfvfui
+hyvazpjucgghmmxh
+twtrvjtncmewcxit
+uejkrpvilgccfpfr
+psqvolfagjfvqkum
+nvzolslmiyavugpp
+lpjfutvtwbddtqiu
+fkjnfcdorlugmcha
+eaplrvdckbcqqvhq
+xrcydhkockycburw
+iswmarpwcazimqxn
+kicnnkjdppitjwrl
+vwywaekzxtmeqrsu
+dxlgesstmqaxtjta
+pmeljgpkykcbujbb
+vhpknqzhgnkyeosz
+jprqitpjbxkqqzmz
+fiprxgsqdfymyzdl
+dzvfwvhfjqqsifga
+aeakhfalplltmgui
+frqrchzvenhozzsu
+hsvikeyewfhsdbmy
+puedjjhvxayiwgvg
+zmsonnclfovjoewb
+bnirelcaetdyaumi
+szvudroxhcitatvf
+sccfweuyadvrjpys
+yiouqrnjzsdwyhwa
+xyjhkqbnfmjjdefz
+fjwgemkfvettucvg
+aapqpwapzyjnusnr
+dytxpkvgmapdamtc
+hgocpfoxlheqpumw
+twzuiewwxwadkegg
+qdbosnhyqmyollqy
+fclbrlkowkzzitod
+sgxnrrpwhtkjdjth
+xckvsnkvnvupmirv
+nioicfeudrjzgoas
+lcemtyohztpurwtf
+oyjxhhbswvzekiqn
+idkblbyjrohxybob
+rthvloudwmktwlwh
+oyzhmirzrnoytaty
+ysdfhuyenpktwtks
+wxfisawdtbpsmwli
+vgmypwlezbmzeduk
+rpepcfpelvhzzxzj
+zxbovsmixfvmamnj
+cpkabmaahbnlrhiz
+jvomcbqeoqrmynjj
+iqdeisnegnkrkdws
+ilhemlrtxdsdnirr
+fjimtscrwbfuwmpo
+lmfiylebtzwtztmx
+ddouhysvomrkcpgu
+xtjwvzdhgnwwauwi
+cntzuwcumbsebwyy
+hieqvdlvnxkygeda
+hushfszxskjdrjxi
+xvdfzqblccfoxvyq
+nldnrtieteunyxnb
+vszpidfocenlhzqb
+ofcuvtwhortxesoq
+bwniqemqwxlejcfq
+wkqiwdjnytjnomps
+rbadoommlmrictte
+nsmxhpothlulxivt
+bvzbfcvenskqxejr
+sdqeczmzpqqtqabq
+bjveyzniaaliatkw
+zxsqlntyjajjxytk
+jkoxlerbtidsuepg
+ewtlibdkeqwgxnqt
+lmrshemwxrdwzrgc
+nekcdyxmftlymfir
+edaqvmulzkskzsfy
+znmvqaupykjmyebx
+ximtebuxwhqpzubd
+rrlstppkknqyxlho
+uyibwcitxixjfwcr
+chrvoierkimesqmm
+dltxmwhheldvxwqe
+xfuthxjuuizanfjy
+vtiwavmxwonpkpug
+phchnujfnxewglht
+owvmetdjcynohxtw
+cbtujdrumixxatry
+iirzildsfxipfipe
+sqxcscqyofohotcy
+sbubnekndkvovuqg
+jzhsqqxqdrtibtcd
+mscwasyvxkhlvwbn
+bpafxtagbuxivbwz
+uhvueesygaxrqffw
+trrxlibhtmzuwkkl
+yktkmkokmfslgkml
+gfzzzdptaktytnqg
+pgqmaiwzhplnbyhg
+qjiptlkwfshunsfb
+lewvlpescsyunxck
+tywsfatykshogjas
+qtrnwjjgxdektjgi
+arypcritpwijczkn
+jwxvngigbhfpiubf
+upsjdctitlbqlnhf
+lvpjlrpnmdjiscrq
+jvzchdrsnkgpgsti
+wuoesbwunpseyqzu
+xuqspvoshgxmrnrb
+icdawnmfnpnmyzof
+hwcwtibgpvctznuo
+bzdjrniddyamfloq
+hffkxtzuazageruv
+deixfxjvzbitalnc
+zihsohukiqrgsnvw
+nwoondfnlgowavkg
+qnuulsywgnoillgn
+koozejhfjyzuhviy
+oetcoipohymhpump
+cizwpfczfoodwuly
+jghlinczhtaxifau
+svjejifbidnvvdvy
+rxmbsnaqhzcnbfcl
+vveubmiecvdtrket
+sbihpvrcnzjtgfep
+iqbuljuxkwrlebvw
+ptrhvxrpezqvmmvv
+duwzugnhktpiybjw
+lijafjnujfeflkva
+coylvegferuuyfop
+fowsjrgammrqkkof
+pgmcruaioccmbrbz
+osejwflxagwqtjoi
+otqflckqgxzvtper
+slwyntdcrncktoka
+hzcdzsppcfkrblqg
+jksdmmvtzkqaompg
+galwwwgugetdohkg
+zbghtjvuikmfjuef
+dmqwcamjtlcofqib
+zbczldlfdzemxeys
+mdlqoklybhppdkwe
+tuyajhkexrrrvnlb
+ylfolaubymxmkowo
+nnsyrfnoyrxswzxn
+zkhunhhhigbsslfk
+spbokzdfkbmflanz
+zmzxvrwdhiegfely
+imywhfczvmgahxwl
+fnvabvxeiqvsarqq
+yschramprctnputs
+ubyjrgdzsvxzvouj
+qnvdhpptympctfer
+smipxcntyhjpowug
+ouhjibgcmotegljy
+zpflubaijjqqsptz
+fgysnxrnfnxprdmf
+pbpznrexzxomzfvj
+thhzjresjpmnwtdv
+sbmokolkhvbfqmua
+sxxpdohxlezmqhhx
+pevvsyqgoirixtqh
+wdxrornmhqsbfznb
+zjqziqbctxkshqcn
+nbqcwpzfwfaahylk
+bxbvkonpcxprxqjf
+xplbpqcnwzwqxheb
+prsakggmnjibrpoy
+xoguxbpnrvyqarjl
+ilrgryrmgwjvpzjy
+efwrmokaoigjtrij
+yhcncebopycjzuli
+gwcmzbzaissohjgn
+lggmemwbbjuijtcf
+fkqedbfrluvkrwwl
+jcbppekecevkwpuk
+onvolrckkxeyzfjt
+zzousprgrmllxboy
+cajthmamvxuesujl
+rmiozfsikufkntpg
+lvekypkwjbpddkcv
+dwaqzfnzcnabersa
+pcdsskjopcqwhyis
+uabepbrrnxfbpyvx
+yxlgdomczciiunrk
+ccerskfzctqxvrkz
+edvmkntljlncwhax
+xtcbwecdwygrvowo
+axqgqjqkqwrgcqot
+tyjrynolpzqwnjgj
+thrtmlegdjsuofga
+mpgoeqkzzqqugait
+emuslxgoefdjyivl
+klehpcehdznpssfb
+xfgvugyrdxolixkc
+acenyrbdwxywmwst
+yqgperajsfsamgan
+dbjxlnumrmhipquw
+hsnhirmswcenewxm
+qehqkbhmgucjjpwo
+gprjdglsbtsfzqcw
+wvqkyrkoratfmvfi
+myhzlerupqbduqsl
+couyazesiuhwwhht
+scxzehubxhkfejrr
+gqlitwfriqkmzqdd
+pxtbmqelssoagxko
+dzhklewjqzmrfzsw
+yxgeypduywntnbji
+kwzbgzhkzbgedlfh
+vukmuyfstgmscuab
+vcmaybfvdgwnasgt
+qmybkqqdhjigzmum
+cbnuicuncvczyalu
+qdgpsdpdlgjasjqr
+kdzxqqheurupejjo
+mcatrxfchbqnxelm
+badunwkeggdkcgco
+ntaeanvcylpoqmxi
+ghnyfytpzgvuokjn
+ozepydixmjijdmts
+qefcfwzdhwmcyfvp
+ycyktmpaqgaxqsxt
+edpizkxnsxeeebfl
+uwciveajsxxwoqyr
+rbvjkljpxtglqjsh
+nbplrskduutrptfk
+vewrbadvkseuloec
+upaotnjxquomoflx
+qfwxkinrousqywdd
+mqzxvvskslbxvyjt
+oxicszyiqifoyugx
+bkitxwzjpabvhraj
+ydrbyjecggynjpir
+hezyteaublxxpamq
+hxkuektnoovsehnd
+cwtbbavnhlpiknza
+qrwvkhbyasgfxwol
+qryjbohkprfazczc
+wjksnogpxracrbud
+znmsxbhliqxhvesr
+gkippedrjzmnnwkp
+pklylwsnsyyxwcwg
+osdpwbxoegwaiemr
+kpslrrrljgtjiqka
+vuqkloqucpyzfxgk
+bvtdsisgvkuzghyl
+qlcayluuyvlhdfyy
+kbimqwnzanlygaya
+nvoeanlcfhczijed
+kqvcijcuobtdwvou
+pmhdpcmxnprixitl
+yueilssewzabzmij
+zqxhafrvjyeyznyg
+mhdounmxkvnnsekx
+hnacyglnzicxjakg
+iaxfdqibnrcjdlyl
+iypoelspioegrwix
+uiqouxzmlnjxnbqt
+kslgjfmofraorvjo
+bgvotsdqcdlpkynk
+huwcgxhvrrbvmmth
+vpqyfnkqqjacpffw
+hpjgdfovgmrzvrcl
+vbntbhbvdeszihzj
+nrbyyuviwyildzuw
+wckeoadqzsdnsbox
+xgsobwuseofxsxox
+anvhsxdshndembsd
+iygmhbegrwqbqerg
+ylrsnwtmdsrgsvlh
+zvvejnrarsavahvc
+yncxhmmdtxxeafby
+kekgiglblctktnes
+uoqgymsrlrwdruzc
+saaoymtmnykusicw
+bqvcworpqimwglcp
+zbpgtheydoyzipjv
+pkykzslwsjbhcvcj
+jhwxxneyuuidrzvl
+pafeyajcrlehmant
+klszcvtmcdeyfsmj
+ledsltggvrbvlefn
+hubpbvxknepammep
+gthxhaapfpgtilal
+jtfhbozlometwztj
+jrhshycyenurbpwb
+fyaxbawrsievljqv
+lgfcgbenlqxqcxsd
+dhedabbwbdbpfmxp
+mxzgwhaqobyvckcm
+qboxojoykxvwexav
+jcpzfjnmvguwjnum
+ohpsxnspfwxkkuqe
+nyekrqjlizztwjqp
+thuynotacpxjzroj
+wymbolrlwosnbxqx
+iyaqihnqvewxdtjm
+hdvdbtvfpdrejenu
+gtjscincktlwwkkf
+wtebigbaythklkbd
diff --git a/jour05/jour5-prem.cob b/jour05/jour5-prem.cob
deleted file mode 100644
index b86fd97..0000000
--- a/jour05/jour5-prem.cob
+++ /dev/null
@@ -1,113 +0,0 @@
-       IDENTIFICATION DIVISION.
-        PROGRAM-ID. jour-cinq-prem-part.
-      
-       ENVIRONMENT DIVISION.
-          INPUT-OUTPUT SECTION.
-          FILE-CONTROL.
-               SELECT FILE1 ASSIGN TO "input"
-               ORGANIZATION LINE SEQUENTIAL.
-       
-       DATA DIVISION.
-         FILE SECTION.
-         FD FILE1.
-           01 INPUT-FILE.
-             02 STR PIC A(17).
-      
-         WORKING-STORAGE SECTION.
-           01 MY-FILE.
-             02 MY-STR PIC A(17).
-           01 FILE-STATUS PIC X VALUE 'N'.
-             88 EOF VALUE 'Y'.
-           77 NB-NICE PIC 9(4) VALUE 0.
-      
-       PROCEDURE DIVISION.
-       main.
-           OPEN INPUT FILE1.
-           PERFORM UNTIL EOF
-              READ FILE1 RECORD INTO MY-FILE
-      * Lorsqu’on arrive à la fin du fichier, on met Y pour le signaler
-              AT END MOVE 'Y' TO FILE-STATUS
-              NOT AT END CALL "parse-str" USING 
-                      BY CONTENT MY-STR,
-                      BY REFERENCE NB-NICE
-      * On passe par référence NB-NICE pour l’incrémenter
-                      END-CALL
-              END-READ
-           END-PERFORM.
-           DISPLAY "Nombre de bonnes chaines : " NB-NICE.
-           CLOSE FILE1.
-           STOP RUN.
-
-      ******************************************************************
-      * parse-str : parse la chaine de caractères pour voir le nombre de
-      * bonnes chaines. Prend en paramètres 2 arguments :
-      * STR : chaine de caractères de taille 16. Sera parser.
-      * NB  : (REFERENCE) le nombre de bonnes chaines. Sera incrémenter.
-      
-       IDENTIFICATION DIVISION.
-         PROGRAM-ID. parse-str.
-
-       DATA DIVISION.
-         WORKING-STORAGE SECTION.
-           77 CHAR PIC A.
-               88 VOY VALUE 'a','e','i','o','u'.
-           77 I PIC 99.
-               88 END-P VALUE 17.
-           77 NB-VOY PIC 99.
-           77 PRED PIC A.
-           77 TMP PIC AA.
-               88 BAD VALUE 'ab', 'cd', 'pq', 'xy'.
-           77 DOUBLE PIC X.
-
-      * NB-VOY contient le nombre de voyelles
-      * PRED le caractère précédent
-      * TMP forme la chaine contenant le caractère précédent et courant
-      * BAD les mauvaises formes de chaines
-      * DOUBLE est mit à Y lorsque CHAR = PRED
-      *
-      * LINKAGE SECTION contient les paramètres du programme parse-str
-                   
-         LINKAGE SECTION.
-           77 STR PIC A(17).
-           77 NB PIC 9(4).
-
-       PROCEDURE DIVISION USING STR, NB.
-       parse.
-           MOVE 0 TO NB-VOY.
-           MOVE 'N' TO DOUBLE.
-      d    DISPLAY STR.
-      d    DISPLAY "=================".
-           PERFORM VARYING I FROM 1 BY 1 UNTIL END-P
-               MOVE STR(I:1) TO CHAR
-      d        DISPLAY "ACT. CHAR : " CHAR
-      d        DISPLAY "ACT. PRED : " PRED
-      d        DISPLAY "I : " I
-               IF VOY
-                   THEN ADD 1 TO NB-VOY
-               END-IF
-               IF I >= 2
-                   THEN
-                       STRING PRED CHAR INTO TMP
-      d                DISPLAY "TMP STR : " TMP
-                       IF BAD
-                           THEN 
-                               EXIT PERFORM
-                       END-IF
-                       IF PRED = CHAR
-                           THEN 
-                               MOVE 'Y' TO DOUBLE
-                       END-IF
-      d                DISPLAY "DOUBLE : " DOUBLE
-               END-IF
-               MOVE CHAR TO PRED
-           END-PERFORM.
-           IF NOT BAD AND NB-VOY >= 3 AND DOUBLE = 'Y'
-               THEN
-                   ADD 1 TO NB
-           END-IF.
-           EXIT PROGRAM.
-       END PROGRAM parse-str.
-
-      *************************************************************************
-      
-       END PROGRAM jour-cinq-prem-part.
diff --git a/jour05/jour5.cob b/jour05/jour5.cob
new file mode 100644
index 0000000..605c671
--- /dev/null
+++ b/jour05/jour5.cob
@@ -0,0 +1,211 @@
+000001 IDENTIFICATION DIVISION.
+000002  PROGRAM-ID. jour-cinq.
+000003
+000004 ENVIRONMENT DIVISION.
+000005    INPUT-OUTPUT SECTION.
+000006    FILE-CONTROL.
+000007         SELECT FILE1 ASSIGN TO "input"
+000008         ORGANIZATION LINE SEQUENTIAL.
+000009
+000010 DATA DIVISION.
+000011   FILE SECTION.
+000012   FD FILE1.
+000013     01 INPUT-FILE.
+000014       02 STR PIC A(17).
+000015
+000016   WORKING-STORAGE SECTION.
+000017     01 MY-FILE.
+000018       02 MY-STR PIC A(17).
+000019     01 FILE-STATUS PIC X VALUE 'N'.
+000020       88 EOF VALUE 'Y'.
+000021     77 NB-NICE-PREM PIC 9(4) VALUE 0.
+000022     77 NB-NICE-DEUX PIC 9(4) VALUE 0.
+000023
+000024 PROCEDURE DIVISION.
+000025 main.
+000026     OPEN INPUT FILE1.
+000027     PERFORM UNTIL EOF
+000028        READ FILE1 RECORD INTO MY-FILE
+000029* Lorsqu’on arrive à la fin du fichier, on met Y pour le signaler
+000030        AT END MOVE 'Y' TO FILE-STATUS
+000031        NOT AT END CALL "hub" USING
+000032                BY CONTENT MY-STR,
+000033                BY REFERENCE NB-NICE-PREM
+000034                BY REFERENCE NB-NICE-DEUX
+000035* On passe par référence NB-NICE pour les incrémenter
+000036                END-CALL
+000037        END-READ
+000038     END-PERFORM.
+000039     DISPLAY "Nombres de bonnes chaines :" END-DISPLAY.
+000040     DISPLAY "Dans la partie 1 : " NB-NICE-PREM END-DISPLAY.
+000041     DISPLAY "Dans la partie 2 : " NB-NICE-DEUX END-DISPLAY.
+000042     CLOSE FILE1.
+000043     STOP RUN.
+000044
+000045*****************************************************************
+000046* hub : exécute les 2 fonctions pour les 2 parties
+000047* STR : la chaine à passer en paramètre aux deux fonctions
+000048* NB-PREM : (REFERENCE) nombre bonnes chaines partie 1
+000049* NB-DEUX : (REFERENCE) nombre bonnes chaines partie 2
+000050* Ces 2 variables seront incrémentées
+000051*****************************************************************
+000052
+000053 IDENTIFICATION DIVISION.
+000054   PROGRAM-ID. hub.
+000055
+000056 DATA DIVISION.
+000057   LINKAGE SECTION.
+000058     77 STR PIC A(17).
+000059     77 NB-PREM PIC 9(4).
+000060     77 NB-DEUX PIC 9(4).
+000061
+000062 PROCEDURE DIVISION USING STR, NB-PREM, NB-DEUX.
+000063 route.
+000064     CALL "parse-prem" USING
+000065     BY CONTENT STR,
+000066     BY REFERENCE NB-PREM
+000067     END-CALL.
+000068
+000069     CALL "parse-deux" USING
+000070     BY CONTENT STR,
+000071     BY REFERENCE NB-DEUX
+000072     END-CALL.
+000073 EXIT PROGRAM.
+000074
+000075******************************************************************
+000076* parse-prem : parse la chaine de caractères pour voir le nombre de
+000077* bonnes chaines pour la partie 1. Prend en paramètres 2 arguments :
+000078* STR : chaine de caractères de taille 17 à analyser.
+000079* NB  : (REFERENCE) le nombre de bonnes chaines. Sera incrémenter.
+000080*****************************************************************
+000081
+000082 IDENTIFICATION DIVISION.
+000083 PROGRAM-ID. parse-prem.
+000084
+000085 DATA DIVISION.
+000086   WORKING-STORAGE SECTION.
+000087     77 CHAR PIC A.
+000088         88 VOY VALUE 'a','e','i','o','u'.
+000089     77 I PIC 99.
+000090         88 END-P VALUE 17.
+000091     77 NB-VOY PIC 99.
+000092     77 PRED PIC A.
+000093     77 TMP PIC AA.
+000094         88 BAD VALUE 'ab', 'cd', 'pq', 'xy'.
+000095     77 DOUBLE PIC X.
+000096
+000097*****************************************************************
+000098* NB-VOY contient le nombre de voyelles
+000099* PRED le caractère précédent
+000100* TMP forme la chaine contenant le caractère précédent et courant
+000101* BAD les mauvaises formes de chaines
+000102* DOUBLE est mit à Y lorsque CHAR = PRED
+000103*
+000104* LINKAGE SECTION contient les paramètres du programme parse-str
+000105*****************************************************************
+000106
+000107   LINKAGE SECTION.
+000108     77 STR PIC A(17).
+000109     77 NB PIC 9(4).
+000110
+000111 PROCEDURE DIVISION USING STR, NB.
+000112 parse.
+000113     MOVE 0 TO NB-VOY.
+000114     MOVE 'N' TO DOUBLE.
+000115     PERFORM VARYING I FROM 1 BY 1 UNTIL END-P
+000116         MOVE STR(I:1) TO CHAR
+000117         IF VOY THEN
+000118             ADD 1 TO NB-VOY END-ADD
+000119         END-IF
+000120         IF I >= 2
+000121             THEN
+000122                 STRING PRED CHAR INTO TMP END-STRING
+000123                 IF BAD THEN
+000124                     EXIT PERFORM
+000125                 END-IF
+000126                 IF PRED = CHAR THEN
+000127                     MOVE 'Y' TO DOUBLE
+000128                 END-IF
+000129         END-IF
+000130         MOVE CHAR TO PRED
+000131     END-PERFORM.
+000132     IF NOT BAD AND NB-VOY >= 3 AND DOUBLE = 'Y' THEN
+000133         ADD 1 TO NB END-ADD
+000134     END-IF.
+000135     EXIT PROGRAM.
+000136 END PROGRAM parse-prem.
+000137
+000138******************************************************************
+000139* parse-deux : parse la chaine de caractères pour voir le nombre de
+000140* bonnes chaines pour la partie 2. Prend en paramètres 2 arguments :
+000141* STR : chaine de caractères de taille 17 à analyser.
+000142* NB  : (REFERENCE) le nombre de bonnes chaines. Sera incrémenter.
+000143*****************************************************************
+000144
+000145 IDENTIFICATION DIVISION.
+000146   PROGRAM-ID. parse-deux.
+000147
+000148 DATA DIVISION.
+000149   WORKING-STORAGE SECTION.
+000150     77 CHAR PIC A.
+000151     77 I PIC 99.
+000152         88 STR-LENGTH VALUE 17.
+000153     77 J PIC 99.
+000154     77 K PIC 99.
+000155         88 DOUBLE-STR-LENGTH VALUE 16.
+000156     77 PRED PIC A.
+000157     77 MYNEW PIC A.
+000158     77 DOUBLE-CHAR PIC AA.
+000159     77 DOUBLE-CHAR-NEXT PIC AA.
+000160     77 BETWEEN PIC X.
+000161     77 DOUBLE PIC X.
+000162
+000163******************************************************************
+000164* PRED le caractère précédent
+000165* MYNEW le caractère suivant
+000166* DOUBLE-CHAR la paire à vérifier
+000167* DOUBLE-CHAR-NEXT les paires suivantes
+000168* DOUBLE est mit à Y lorsque 2 pairs sont trouvées
+000169* BETWEEN est mit à Y lorsque 2 memes lettres en encadrent une
+000170******************************************************************
+000171
+000172   LINKAGE SECTION.
+000173     77 STR PIC A(17).
+000174     77 NB PIC 9(4).
+000175
+000176 PROCEDURE DIVISION USING STR, NB.
+000177 deuxieme-part.
+000178     MOVE 'N' TO BETWEEN.
+000179     MOVE 'N' TO DOUBLE.
+000180     PERFORM VARYING I FROM 1 BY 1 UNTIL STR-LENGTH
+000181         COMPUTE J = I + 1 END-COMPUTE
+000182         MOVE STR(I:1) TO CHAR
+000183         IF I > 1 AND I < (LENGTH OF STR - 1) THEN
+000184             MOVE STR(J:1) TO MYNEW
+000185             IF PRED = MYNEW THEN
+000186                 MOVE 'Y' TO BETWEEN
+000187             END-IF
+000188         END-IF
+000189
+000190         IF I < ((LENGTH OF STR) - 2) AND DOUBLE = 'N' THEN
+000191             MOVE STR(I:2) TO DOUBLE-CHAR
+000192             ADD 1 TO J END-ADD
+000193             PERFORM VARYING K FROM J BY 1 UNTIL DOUBLE-STR-LENGTH
+000194                 MOVE STR(K:2) TO DOUBLE-CHAR-NEXT
+000195                 IF DOUBLE-CHAR = DOUBLE-CHAR-NEXT THEN
+000196                     MOVE 'Y' TO DOUBLE
+000197                 END-IF
+000198             END-PERFORM
+000199         END-IF
+000200         MOVE CHAR TO PRED
+000201     END-PERFORM.
+000202
+000203     IF BETWEEN  = 'Y' AND DOUBLE = 'Y'
+000204         THEN
+000205             ADD 1 TO NB END-ADD
+000206     END-IF.
+000207     EXIT PROGRAM.
+000208 END PROGRAM parse-deux.
+000209
+000210 END PROGRAM hub.
+000211 END PROGRAM jour-cinq.
diff --git a/jour10/jour10.bs b/jour10/jour10.bs
new file mode 100644
index 0000000..e4f29fa
--- /dev/null
+++ b/jour10/jour10.bs
@@ -0,0 +1,26 @@
+basInput$ = "1113222113"
+pred$ = ""
+act$ = ""
+new$ = ""
+k = 0
+
+for i = 0 to 40
+    print i, " / 40"
+    for j = 1 to len(basInput$) step k
+        k = 1
+        act$ = mid$(basInput$, j, 1)
+        pred$ = act$
+        while pred$ = act$ and (j + k) < len(basInput$)
+            pred$ = act$
+            act$ = mid$(basInput$, j + k, 1)
+            k = k + 1
+            if act$ <> pred$ then
+                k = k - 1
+            endif
+        wend
+        new$ = new$ + str$(k) + pred$
+        next j
+    basInput$ = new$
+    next i
+
+print "La longeur de la chaine finale est ", len(basInput$)