Brainfuck

More obfuscated programming

Brainfuck is a minimalistic programming language, described elsewhere. Its beauty lies in its simplicity, and trying to use it is a truly fascinating experience.

Here is a little something from me:

                            Linus Akesson presents:
                   The Game Of Life implemented in Brainfuck

       +>>++++[<++++>-]<[<++++++>-]+[<[>>>>+<<<<-]>>>>[<<<<+>>>>>>+<<-]<+
   +++[>++++++++<-]>.[-]<+++[>+++<-]>+[>>.+<<-]>>[-]<<<++[<+++++>-]<.<<[>>>>+
 <<<<-]>>>>[<<<<+>>>>>>+<<-]<<[>>>>.+<<<++++++++++[<[>>+<<-]>>[<<+>>>>>++++++++
 +++<<<-]<[>+<-]>[<+>>>>+<<<-]>>>[>>>>>>>>>>>>+>+<<     <<<<<<<<<<<-]>>>>>>>>>>
>>[-[>>>>+<<<<-]>[>>>>+<<<<-]>>>]>      >>[<<<+>>  >-    ]<<<[>>+>+<<<-]>[->[<<<
<+>>>>-]<[<<<  <+>      >>>-]<<<< ]<     ++++++  ++       +[>+++++<-]>>[<<+>>-]<
<[>---<-]>.[- ]         <<<<<<<<< <      <<<<<< <         -]++++++++++.[-]<-]>>>
>[-]<[-]+++++           +++[>++++        ++++<     -     ]>--.[-]<,----------[<+
>-]>>>>>>+<<<<< <     <[>+>>>>>+>[      -]<<<      <<   <<-]>++++++++++>>>>>[[-]
<<,<<<<<<<->>>> >    >>[<<<<+>>>>-]<<<<[>>>>+      >+<<<<<-]>>>>>----------[<<<<
<<<<+<[>>>>+<<<      <-]>>>>[<<<<+>>>>>>+<<-      ]>[>-<-]>++++++++++[>+++++++++
++<-]<<<<<<[>>>      >+<<<<-]>>>>[<<<<+>>>>>      >+<<-]>>>>[<<->>-]<<++++++++++
[>+<-]>[>>>>>>>      >>>>>+>+<<<<      <<<<<      <<<<-]>>> >>     >>>>>>>[-[>>>
>+<<<<-]>[>>>>       +<<<<-]>> >       ]>> >           [<< <        +>>>-]+<<<[>
>>-<<<-]>[->[<      <<<+>>>>-]         <[ <            < <           <+>>>>-]<<<
<]<<<<<<<<<<<, [    -]]>]>[-+++        ++               +    +++     ++[>+++++++
++++>+++++++++ +    +<<-]>[-[>>>      +<<<-      ]>>>[ <    <<+      >>>>>>>+>+<
<<<<-]>>>>[-[> >    >>+<<<<-]>[>      >>>+< <    <<-]> >    >]>      >>[<<<+>>>-
]<<<[>>+>+<<< -     ]>[->[<<<<+>      >>>-] <    [<<< <    +>>       >>-]<<<<]<<
<<<<<<[>>>+<< <     -]>>>[<<<+>>      >>>>> +    >+<< <             <<-]<<[>>+<<
-]>>[<<+>>>>>      >+>+<<<<<-]>>      >>[-[ >    >>>+ <            <<<-]>[>>>>+<
<<<-]>[>>>>+<      <<<-]>>]>>>[ -    ]<[>+< -    ]<[ -           [<<<<+>>>>-]<<<
<]<<<<<<<<]<<      <<<<<<<<++++ +    +++++  [   >+++ +    ++++++[<[>>+<<-]>>[<<+
>>>>>++++++++ +    ++<<<     -] <    [>+<- ]    >[<+ >    >>>+<<<-]>>>[<<<+>>>-]
<<<[>>>+>>>>  >    +<<<<     <<      <<-]> >    >>>>       >>>[>>+<<-]>>[<<+<+>>
>-]<<<------ -    -----[     >>      >+<<< -    ]>>>       [<<<+> > >>>>>+>+<<<<
<-]>>>>[-[>> >    >+<<<<    -] >     [>>>> +    <<<<-       ]>>> ]  >>>[<<<+>>>-
]<<<[>>+>+<< <    -]>>>     >>           > >    [<<<+               >>>-]<<<[>>>
+<<<<<+>>-                  ]>           >     >>>>>[<             <<+>>>-]<<<[>
>>+<<<<<<<                  <<+         >      >>>>>-]<          <<<<<<[->[<<<<+
>>>>-]<[<<<<+>>>>-]<<<<]>[<<<<<<    <+>>>      >>>>-]<<<<     <<<<<+++++++++++[>
>>+<<<-]>>>[<<<+>>>>>>>+>+<<<<<-]>>>>[-[>     >>>+<<<<-]>[>>>>+<<<<-]>>>]>>>[<<<
+>>>-]<<<[>>+>+<<<-]>>>>>>>[<<<+>>>-]<<<[     >>>+<<<<<+>>-]>>>>>>>[<<<+>>>-]<<<
[>>>+<<<<<<<<<+>>>>>>-]<<<<<<<[->[< <  <     <+>>>>-]<[<<<<+>>>>-]<<<<]>[<<<<<<<
+>>>>>>>-]<<<<<<<<<+++++++++++[>>> >        >>>+>+<<<<<<<<-]>>>>>>>[-[>>>>+<<<<-
]>[>>>>+<<<<-]>>>]>>>[<<<+>>>-]<<< [       >>+>+<<<-]>>>>>>>[<<<+>>>-]<<<[>>>+<<
<<<+>>-]>>>>>>>[<<<+>>>-]<<<[>>>+<        <<<<<<<<+>>>>>>-]<<<<<<<[->[<<<<+>>>>-
 ]<[<<<<+>>>>-]<<<<]>[<<<<<<<+>>>>>      >>-]<<<<<<<----[>>>>>>>+<<<<<<<+[>>>>>
 >>-<<<<<<<[-]]<<<<<<<[>>>>>>>>>>>>+>+<<<<<<<<<<<<<-][   lft@df.lth.se   ]>>>>>
   >>>>>>>[-[>>>>+<<<<-]>[>>>>+<<<<-]>[>>>>+<<<<-]>>]>>>[-]<[>+<-]<[-[<<<<+>>
       >>-]<<<<]<<<<<<[-]]<<<<<<<[-]<<<<-]<-]>>>>>>>>>>>[-]<<]<<<<<<<<<<]

        Type for instance "fg" to toggle the cell at row f and column g
                   Hit enter to calculate the next generation
                                 Type q to quit

Download the program

Here is an example of some typical output generated by this program. The user first enters some data for an eight generation oscillator, and then the program calculates the rest.

New world record in BF Quine size...

The Portable Brainfuck Interpreter (by Urban Mueller, who also created the language) has an undocumented feature: Because the program and its data are kept in the same array, it is possible to write self-modifying Brainfuck code. Regard this simple Quine:
+[-<+]-ÿ<<<<<<<[.>]

Download the program

Discuss this page

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

Anonymous
Wed 11-Mar-2009 18:48
get a Life ;)
Anonymous
Sat 4-Jul-2009 15:37
That's amazing! Did you write it from the scratch or did you use some kind of compiler?
Thx,lord.
Anonymous
Sun 5-Jul-2009 20:26
That's amazing! Did you write it from the scratch or did you use some kind of compiler?
Thx,lord.

What's amazing is when you posted.
lft
Linus Åkesson
Wed 8-Jul-2009 18:29
That's amazing! Did you write it from the scratch or did you use some kind of compiler?
Thx,lord.

I wrote it from scratch, but with plenty of comments and whitespace to keep everything straight in my poor head. =)
Anonymous
Tue 3-Aug-2010 00:58
OMFG!! (even though god has nothing to do with it) I can't believe this! That is the stuff heroes of our time are made of. Seriously!
Anonymous
Sun 8-May-2011 18:48
Nice!! But it didnt work in my homemade Interpreter :/ I had to download another one.
Anonymous
Fri 17-Jun-2011 15:27
WOW!!! Looks cool, works cool ;)

Must be a pretty piece of work! I once tried Conways Life too but I gave up ;)
Anonymous
Tue 28-Jun-2011 21:48
OH. MY. GOD.
My Head already starts exploding and overheating when just THINKING about GOL. If I would have to program it... oh my god.
You didn't just program/code it, you f*cking did it in BRAINFUCK!!
This _literally_ fucks my brain!
I love you.
I just hope to become a good C++ Coder and maybe create some demos or sth like that... But I don't think I will ever achieve what you achieved.
You are a larger-than-life. Keep up the good work!
Anonymous
Wed 7-Nov-2012 16:36
Awesome ;).
And the implementation is so simple! I changed the output to stdout instead of stderr. This is my brainfuck interpreter for stdout in one line :

char m[9999],*n[99],*r=m,*p=m+5000,**s=n,d,c; main(){for(read(0,r,4000);c=*r;r++)c-']'||(d>1||(r=*p?*s:(--s,r)),!d||d--),c-'['||d++||(*++s=r),d||(*p+=c=='+',*p-=c=='-',p+=c=='>',p-=c=='<',c-'.'||write(1,p,1),c-','||read(1,p,1));}

Hehe works with your game of life. Honestly that must have taken ages to implement. I get a headache after the first line in your life.bf file ;).

Greets and keep up all your awesome work,
Walter Schreppers
Anonymous
Fri 13-Sep-2013 18:32
The first line is easy, well the first two and a half actually; after that it gets more interesting. :)

What I'd love to do is use this as a benchmark program; only problem is it doesn't take very long to run...

"real 0m0.049s"

That's for your example script.

Any chance of a larger array ?
Dynamic would be sooooo wonderful but 26x26 should give me enough space to draw a nice pattern.
Anonymous
Wed 9-Oct-2013 23:27
Hi.
It seems like the [elsewhere] link above is not valid anymore. Or at least not just now...
"De pagina is niet gevonden"
/Ron
Anonymous
Fri 11-Oct-2013 11:19
The new location for that link is http://www.iwriteiam.nl/Ha_BF.html
Anonymous
Tue 4-Feb-2014 23:15
Are you ready for the next challenge? Implement some brain fuck interpreter using the game of life. It's turing complete after all ;-)
Anonymous
Wed 27-Aug-2014 20:09
++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>--.++<<<<<<>>>>>>>>>>>>>.<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<.
Anonymous
Thu 11-Sep-2014 11:29
++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>--.++<<<<<<>>>>>>>>>>>>>.<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<.
Anonymous
Wed 29-Oct-2014 04:35
++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>--.++<<<<<<>>>>>>>>>>>>>.<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<.
Anonymous
Sat 24-Oct-2015 19:42
>>>++++++++++[>++++++++++[>+<-]<-]>>++.++++++.-----------.++++++.<<++++[>++++[>+<-]<-]>>++++.<<+++++++[>+++++++[>-<-]<-]>>--------.<<++++++[>++++++[>+<-]<-]>>++++++++++++.<<++++[>++++[>-<-]<-]>>-.<<++++++[>++++++[>-<-]<-]>>------------.<<+++++++[>+++++++[>+<-]<-]>>++++++++++++.---------------.+++++++.<<++++[>++++[>-<-]<-]>>-.++++++++++++++.++++++++.........<<++++[>++++[>+<-]<-]>>++.
Anonymous
Thu 21-Jan-2016 23:04
get a Life ;)

YOU SON OF A BITCH !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I'LL KILL YA !!!!!!!!!!!!!!!!!!!!!!
Anonymous
Thu 21-Jan-2016 23:06
Lol this doesnt work you so bad lolololol ^^
Anonymous
Tue 26-Jan-2016 21:22
Wow. You're amazing. Is there an online interpreter
Anonymous
Thu 11-Feb-2016 14:11
OH. MY. GOD.
My Head already starts exploding and overheating when just THINKING about GOL. If I would have to program it... oh my god.
You didn't just program/code it, you f*cking did it in BRAINFUCK!!
This _literally_ fucks my brain!
I love you.
I just hope to become a good C++ Coder and maybe create some demos or sth like that... But I don't think I will ever achieve what you achieved.
You are a larger-than-life. Keep up the good work!
Anonymous
Sat 22-Oct-2016 06:14
++++++++[>+>++>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++>+++++++++++++>++++++++++++++>+++++++++++++++>++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<>>>>>>>>>>>>+++.---<<<<<<<<<<<<>>>>>>>>>>>>>>-.+<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<>>>>>>--.++<<<<<<>>>>>>>>>>>>>.<<<<<<<<<<<<<>>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<<>>>>>>>>>>>>>>---.+++<<<<<<<<<<<<<<>>>>>>>>>>>>>>----.++++<<<<<<<<<<<<<<.
Anonymous
Sat 22-Oct-2016 07:11
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<++++[ ->+++ +<]>+ +++.- ---.< +++[- >---< ]>--- -.<++ ++[-> ----< ]>------.< ++++[ ->+++ +<]>. <+++[ ->--- <]>-- ----. <++++ +[->+ ++++< ]>+.<+++++ +[->- ----- <]>-- ----- ---.< +++++ +[->+ +++++ <]>++ .<+++ [->+++<]>+ .++++ +++++ .--.. <+++[ ->--- <]>-. ----. ----. ----- .<+++ +++[->---- --<]> ----. <++++ +++[- >++++ +++<] >+.<+ ++[-> ---<] >-.<+ ++[->+++<] >++++ .<+++ [->++ +<]>+ +++++ .<
Anonymous
Sun 23-Oct-2016 17:51
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<++++[ ->+++ +<]>+ +++.- ---.< +++[- >---< ]>--- -.<++ ++[-> ----< ]>------.< ++++[ ->+++ +<]>. <+++[ ->--- <]>-- ----. <++++ +[->+ ++++< ]>+.<+++++ +[->- ----- <]>-- ----- ---.< +++++ +[->+ +++++ <]>++ .<+++ [->+++<]>+ .++++ +++++ .--.. <+++[ ->--- <]>-. ----. ----. ----- .<+++ +++[->---- --<]> ----. <++++ +++[- >++++ +++<] >+.<+ ++[-> ---<] >-.<+ ++[->+++<] >++++ .<+++ [->++ +<]>+ +++++ .<
Anonymous
Sun 13-Nov-2016 02:53
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.- ----- .---. ----- -.<++ +[->- --<]> ----. <+++[
->+++ <]>++ ++.<+ ++[-> ---<] >--.< +++[- >+++< ]>+++ ++.<+ +++[- >----
<]>.< +++++ +[->- ----- <]>-- -.+.< +++++ +++[- >++++ ++++< ]>+++ +.<