we need spots minus1 and minus2 >> crazy initialization shit +++++ +++++ [ > +++++ +++ T > +++++ +++ L > +++++ ++ H > +++++ ++ C > +++++ ++ H > +++++ +++ S > +++++ ++ C > +++++ ++ C > +++++ +++ Q > +++++ +++ L > +++++ ++ C > +++++ ++ K > +++++ +++ L > +++++ ++ H > +++++ ++ C > +++++ +++ Q > +++++ +++ T > +++++ +++ R > +++++ +++ R > +++++ ++ K > +++++ ++ C > +++++ ++ H > +++++ +++ R [<]>- ] > ++++ T > ---- L > ++ H > --- C > ++ H > +++ S > --- C > --- C > + Q > ---- L > --- C > +++++ K > ---- L > ++ H > --- C > + Q > ++++ T > ++ R > ++ R > +++++ K > --- C > ++ H > ++ R done: now we have our string: TLHCHSCCQLCKLHCQTRRKCHR rewrind it [<]> print it [.>]< rewind it [<] store 10 at minus1 +++++ +++++ print the new line . minus1 equals 9 minus2 equals 1 -<+> do 9 times 5 plus 1 which is 46 for the dot [<+++++>-] print it 3 times <... clear it [-] go to the beginning of the string which is pos 0 >> and advance of 3 >>> [ [ copy current char into minus1 and minus2 and destroy it <<<<+<+ >>>>>- ] <<<< go to minus1 and substract with 0 [>-<-] minus1 equals 1 and go to substracted char +> if it's not equal [ zero it [-] and make it equal to 9 +++++ ++++ minus one is equal to 1 for now but we want a dot which is 46 so add 9 times 5 on it [<+++++>-] print the dot and null it <.[-] and go back to the char itself > ] < else which is pos minus 1 not zero [ zero pos minus 1 go to minus 2 print the char here and go back to minus 1 -<.> ] now move back minus 2 to plus 3 <[->>>>>+<<<<<] and finally go to plus 4 >>>>>> ] +++++ +++++ .