Dropsort in Brainfuck: BSfrS legt Referenzimplementierung vor

Dropsort in Brainfuck: BSfrS legt Referenzimplementierung vor

Die BSfrS veröffentlicht eine vollständige Dropsort-Implementierung in Brainfuck und dokumentiert die methodischen Vorzüge beider Technologien.

Andreas Linden, Vice President of Rautavistics – 20.06.2026 02:20

Dropsort: Effizienz durch Eliminierung

Wo herkömmliche Sortierverfahren wie Quicksort, Mergesort oder Heapsort sämtliche Eingabewerte erhalten und lediglich ihre Reihenfolge verändern, geht Dropsort einen grundlegend anderen Weg. Der Algorithmus durchläuft die Eingabefolge genau einmal, behält den ersten Wert bedingungslos bei und übernimmt jeden weiteren Wert nur dann, wenn er mindestens so groß ist wie der zuletzt behaltene. Alle übrigen Werte werden verworfen. Das Ergebnis ist eine sortierte Teilfolge der Eingabe, erzeugt in linearer Laufzeit O(n) und mit konstantem Speicherbedarf.

Die Vorteile gegenüber klassischen Verfahren liegen auf der Hand. Quicksort degradiert im schlechtesten Fall auf O(n²), und selbst optimale vergleichsbasierte Algorithmen können die untere Schranke von O(n log n) nicht unterschreiten. Dropsort hingegen terminiert nach einem einzigen Durchlauf. Kein Vergleich aller Paare, kein rekursives Aufteilen, kein Zusammenführen. Der Algorithmus benötigt zu jedem Zeitpunkt ausschließlich den zuletzt akzeptierten Wert als Referenz. Diese Sparsamkeit in Laufzeit und Speicher macht Dropsort zu einem Verfahren, das in der rautavistischen Methodik als exemplarisch gilt: maximale Reduktion bei formal korrektem Ergebnis. Dass bei diesem Prozess ein Teil der Eingabedaten entfällt, ist kein Nachteil, sondern Ausdruck methodischer Konsequenz.

Die Programmiersprache Brainfuck

Für die Implementierung wurde bewusst die Programmiersprache Brainfuck gewählt. Brainfuck verfügt über exakt acht Instruktionen und operiert auf einem linearen Band von Speicherzellen, vergleichbar mit einer Turingmaschine. Diese minimale Befehlsmenge macht die Sprache besonders zugänglich: Wo andere Sprachen Dutzende von Schlüsselwörtern, komplexe Typsysteme und umfangreiche Standardbibliotheken mitbringen, beschränkt sich Brainfuck auf das Wesentliche. Zeigerbewegung, Zellenmanipulation, Ein- und Ausgabe sowie schleifenbasierter Kontrollfluss. Mehr braucht es nicht.

Die Lesbarkeit von Brainfuck ergibt sich unmittelbar aus dieser Reduktion. Jedes Zeichen im Quelltext hat genau eine Bedeutung, Mehrdeutigkeiten sind strukturell ausgeschlossen. Der resultierende Code ist kompakt, lässt sich zeilenweise analysieren und erfordert keinerlei Konfiguration der Entwicklungsumgebung. Wartbarkeit ist in Brainfuck kein nachgelagertes Ziel, sondern eine Eigenschaft, die aus der Architektur der Sprache selbst hervorgeht. Die BSfrS empfiehlt Brainfuck daher für alle Vorhaben, bei denen Prozessqualität und Entwicklungseffizienz im Vordergrund stehen.

Die Implementierung

Die vorliegende Implementierung verarbeitet dezimale Ganzzahlen im Bereich 0 bis 255 (mit mehr als 8 bits rechnet ohnehin niemand), getrennt durch Leerzeichen oder Zeilenumbrüche. Eingabezeichen werden einzeln gelesen und zu numerischen Werten zusammengesetzt. Jeder erkannte Wert durchläuft die Dropsort-Logik: Vergleich mit dem zuletzt akzeptierten Maximum, bedingte Ausgabe und gegebenenfalls Aktualisierung des Referenzwerts. Die Ausgabe erfolgt als leerzeichengetrennte Folge, abgeschlossen durch einen Zeilenumbruch. Bei der Eingabe 64 8 128 16 255 200 liefert das Programm 64 128 255.

Die interne Struktur des Programms folgt einer klaren Aufteilung. Speicherzellen sind in fest zugewiesene Regionen gegliedert: Zellen für den aktuellen Wert und das laufende Maximum, Hilfsvariablen für den Größenvergleich, Arbeitsbereich für die dezimale Ausgabe und Puffer für die Eingabeverarbeitung. Division, die Brainfuck nicht als Instruktion kennt, wird durch wiederholtes Subtrahieren mit Zählung realisiert. Führende Nullen werden bei der Ausgabe unterdrückt. Der vollständige, gut lesbare Quelltext steht nachfolgend zur Verfügung sowie in unserem github repository.


 DROPSORT in Brainfuck   decimal numbers   values 0 to 255
 MEMORY MAP   fixed cell indices  regions never overlap
   0   MAX       last kept number
   1   CUR       number currently being considered
   2   HAVE      1 once a number has been emitted
   3   FIRST     1 until the first number is printed
   4   IN        most recently read input byte
   5   ACC       number assembled from input digits
   6   DIG       scratch for a single digit value
   7   PENDING   1 while digits read but not yet finalized
   20 to 28      comparison scratch  the at least test
   40 to 59      decimal print scratch
   70 to 89      finalize scratch
   95 to 109     main read loop scratch

[-]>[-]>[-]>>>[-]>>[-]<<<<[-]+>,>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]+[>>[-]<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-
]<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+<<<<<<<<<<<<<<<<-]>>>>
>>>>>>>>>>>>[<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>-]>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]+>[<->[-]]>[-]+
<<[[-]>>-<<<<<[-]>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+>+<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-][-]<[>+<-]>[
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<[<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>-]<[-]>>>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>+>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<[-]+<<[[-]>>-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>
>>>>>>>>>>>>>>>>>>+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>[
-]>[-]>[-]>[-]<<<<<[->>[-]<<<[>>>+<<<-]>>>>[-]<[>+<[<<<+>>>-]]>>[-]+<[<<
<<->>>>>-<-]>[<<<+>>>-]<<<<]>>>>>[-]+<<<<[>>>>[-]<<<<-]>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+>+<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-][-]<[>+<-]>[>[-]<[-]<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<
+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>-]>>[-]+<[>-<[-]]>>[-]<[>+<-]>[<<<<<<[-]+++++++++++++++++++++++++++++++
+.>>>>>>[-]]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>[-]>[-]>[-]>[-]>[-]>[-]>
[-]>[-]>[-]<<<<[-]<<<<<<[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<+<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>-]<<<<[-]>[-]>[-]>[-]>[-]<<<<[-]>>>>[-]>>>>>>[<<<<<<<<<<
+>>>>+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]<<<++++++++++<[->->>>[-]<[-]<<[>>>+<
+<<-]>>[<<+>>-][-][-]+>[<->[-]]<[<<++++++++++>+>-]<<<]>>>[-]++++++++++<<
[>>-<<-]>>>>[-]<[-]<[>>+<+<-]>[<+>-]>>>>[-]<<<<[-]<<[>>>>>>+<<<<+<<-]>>[
<<+>>-]<<<<[-]>[-]>[-]>[-]>[-]<<<<[-]>>>>[-]>>>>[<<<<<<<<+>>>>+>>>>-]<<<
<[>>>>+<<<<-]<<<++++++++++<[->->>>[-]<[-]<<[>>>+<+<<-]>>[<<+>>-][-][-]+>
[<->[-]]<[<<++++++++++>+>-]<<<]>>>[-]++++++++++<<[>>-<<-]>>>>>>[-]<<<[-]
<<[>>>>>+<<<+<<-]>>[<<+>>-]>>[-]<<[-]<[>>>+<<+<-]>[<+>-]>>>>>>>>>[-]<<<<
<<<<<[-]>>>[>>>>>>+<<<<<<<<<+>>>-]<<<[>>>+<<<-][-]>>>>>>>>>[<<<<<<<<<+>>
>>>>>>>-]<<<<<<<<<[>>>>>>>[-]>[-][-]<[-]<<<<[>>>>>+<+<<<<-]>>>>[<<<<+>>>
>-][-]++++++++++++++++++++++++++++++++++++++++++++++++>[<+>-]<.<<+<<<<<[
-]]>>>>>>>>>>[-]<<<<<<<<<<[-]>>>>>>>[-]<<[<<<<<+>>>>>>>+<<-]>>[<<+>>-]<<
<<<<<[>>>>>>>>>>+<<<<<<<<<<[-]][-]>>>>>>>[-]<<<<<[<<+>>>>>>>+<<<<<-]>>>>
>[<<<<<+>>>>>-]<<<<<<<[>>>>>>>>>>+<<<<<<<<<<[-]]>>>>>>>>>[-]<<<<<<<<<[-]
>>>>>>>>>>[<+<<<<<<<<<+>>>>>>>>>>-]<<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-][-]
>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<<<<<<[>>>>>>>[-]>[-][-]<[-]<<<<<[>>>>
>>+<+<<<<<-]>>>>>[<<<<<+>>>>>-][-]++++++++++++++++++++++++++++++++++++++
++++++++++>[<+>-]<.<<<<<<<[-]]>>>>>>>[-]>[-][-]<[-]<<<<<<[>>>>>>>+<+<<<<
<<-]>>>>>>[<<<<<<+>>>>>>-][-]+++++++++++++++++++++++++++++++++++++++++++
+++++>[<+>-]<.<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<[<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]]<<<<]>>[[-]<<<<<<
<<<<<<<<<<<<<<<<<<<<<[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<[-]<<<<<
<[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<[
-]>[-]>[-]>[-]>[-]<<<<[-]>>>>[-]>>>>>>[<<<<<<<<<<+>>>>+>>>>>>-]<<<<<<[>>
>>>>+<<<<<<-]<<<++++++++++<[->->>>[-]<[-]<<[>>>+<+<<-]>>[<<+>>-][-][-]+>
[<->[-]]<[<<++++++++++>+>-]<<<]>>>[-]++++++++++<<[>>-<<-]>>>>[-]<[-]<[>>
+<+<-]>[<+>-]>>>>[-]<<<<[-]<<[>>>>>>+<<<<+<<-]>>[<<+>>-]<<<<[-]>[-]>[-]>
[-]>[-]<<<<[-]>>>>[-]>>>>[<<<<<<<<+>>>>+>>>>-]<<<<[>>>>+<<<<-]<<<+++++++
+++<[->->>>[-]<[-]<<[>>>+<+<<-]>>[<<+>>-][-][-]+>[<->[-]]<[<<++++++++++>
+>-]<<<]>>>[-]++++++++++<<[>>-<<-]>>>>>>[-]<<<[-]<<[>>>>>+<<<+<<-]>>[<<+
>>-]>>[-]<<[-]<[>>>+<<+<-]>[<+>-]>>>>>>>>>[-]<<<<<<<<<[-]>>>[>>>>>>+<<<<
<<<<<+>>>-]<<<[>>>+<<<-][-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<<<<<<[>>>>
>>>[-]>[-][-]<[-]<<<<[>>>>>+<+<<<<-]>>>>[<<<<+>>>>-][-]+++++++++++++++++
+++++++++++++++++++++++++++++++>[<+>-]<.<<+<<<<<[-]]>>>>>>>>>>[-]<<<<<<<
<<<[-]>>>>>>>[-]<<[<<<<<+>>>>>>>+<<-]>>[<<+>>-]<<<<<<<[>>>>>>>>>>+<<<<<<
<<<<[-]][-]>>>>>>>[-]<<<<<[<<+>>>>>>>+<<<<<-]>>>>>[<<<<<+>>>>>-]<<<<<<<[
>>>>>>>>>>+<<<<<<<<<<[-]]>>>>>>>>>[-]<<<<<<<<<[-]>>>>>>>>>>[<+<<<<<<<<<+
>>>>>>>>>>-]<<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-][-]>>>>>>>>>[<<<<<<<<<+>>>
>>>>>>-]<<<<<<<<<[>>>>>>>[-]>[-][-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>[<<<<<
+>>>>>-][-]++++++++++++++++++++++++++++++++++++++++++++++++>[<+>-]<.<<<<
<<<[-]]>>>>>>>[-]>[-][-]<[-]<<<<<<[>>>>>>>+<+<<<<<<-]>>>>>>[<<<<<<+>>>>>
>-][-]++++++++++++++++++++++++++++++++++++++++++++++++>[<+>-]<.<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[<+>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]+>[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]]>[-]>]>>[[-]>[-
]<<[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<[-]<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+<<<<<<<
<<<<<<<<<-]>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>-]>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>--
------------------------------>>>[-]+<<<[>>>-<<<[-]]>>>[<+>-]<<<[-]<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<[-]<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+<<<<<<<<<<<<<<<<-]
>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>-]>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>---------->>>
[-]+<<<[>>>-<<<[-]]>>>[<+>-]>[-]+<<[[-]>>-<<<<<<<<[-]>[-]<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>+>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>-][-]<[>+<-]>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[<<<<+>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<[-]>>>>[-]<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+>>>>+<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<[-]+<<
[[-]>>-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>+>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>+>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>[-]>[-]>[-]>[-]<<<<<[->>[-]<<<[>>>+<<
<-]>>>>[-]<[>+<[<<<+>>>-]]>>[-]+<[<<<<->>>>>-<-]>[<<<+>>>-]<<<<]>>>>>[-]
+<<<<[>>>>[-]<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-
]>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>-][-]<[>+<-]>[>[-]<[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]>>[-]+<[>-<[-]]>>[-]<[>+<-]>[<<<<
<<[-]++++++++++++++++++++++++++++++++.>>>>>>[-]]<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]>[-]<<<<[-]<<<<<<[-]<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>+<<<<<<+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<[-]>[-]>[-]>[-
]>[-]<<<<[-]>>>>[-]>>>>>>[<<<<<<<<<<+>>>>+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]
<<<++++++++++<[->->>>[-]<[-]<<[>>>+<+<<-]>>[<<+>>-][-][-]+>[<->[-]]<[<<+
+++++++++>+>-]<<<]>>>[-]++++++++++<<[>>-<<-]>>>>[-]<[-]<[>>+<+<-]>[<+>-]
>>>>[-]<<<<[-]<<[>>>>>>+<<<<+<<-]>>[<<+>>-]<<<<[-]>[-]>[-]>[-]>[-]<<<<[-
]>>>>[-]>>>>[<<<<<<<<+>>>>+>>>>-]<<<<[>>>>+<<<<-]<<<++++++++++<[->->>>[-
]<[-]<<[>>>+<+<<-]>>[<<+>>-][-][-]+>[<->[-]]<[<<++++++++++>+>-]<<<]>>>[-
]++++++++++<<[>>-<<-]>>>>>>[-]<<<[-]<<[>>>>>+<<<+<<-]>>[<<+>>-]>>[-]<<[-
]<[>>>+<<+<-]>[<+>-]>>>>>>>>>[-]<<<<<<<<<[-]>>>[>>>>>>+<<<<<<<<<+>>>-]<<
<[>>>+<<<-][-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<<<<<<[>>>>>>>[-]>[-][-]
<[-]<<<<[>>>>>+<+<<<<-]>>>>[<<<<+>>>>-][-]++++++++++++++++++++++++++++++
++++++++++++++++++>[<+>-]<.<<+<<<<<[-]]>>>>>>>>>>[-]<<<<<<<<<<[-]>>>>>>>
[-]<<[<<<<<+>>>>>>>+<<-]>>[<<+>>-]<<<<<<<[>>>>>>>>>>+<<<<<<<<<<[-]][-]>>
>>>>>[-]<<<<<[<<+>>>>>>>+<<<<<-]>>>>>[<<<<<+>>>>>-]<<<<<<<[>>>>>>>>>>+<<
<<<<<<<<[-]]>>>>>>>>>[-]<<<<<<<<<[-]>>>>>>>>>>[<+<<<<<<<<<+>>>>>>>>>>-]<
<<<<<<<<<[>>>>>>>>>>+<<<<<<<<<<-][-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<<
<<<<[>>>>>>>[-]>[-][-]<[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>[<<<<<+>>>>>-][-]++
++++++++++++++++++++++++++++++++++++++++++++++>[<+>-]<.<<<<<<<[-]]>>>>>>
>[-]>[-][-]<[-]<<<<<<[>>>>>>>+<+<<<<<<-]>>>>>>[<<<<<<+>>>>>>-][-]+++++++
+++++++++++++++++++++++++++++++++++++++++>[<+>-]<.<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[<+>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>[-]]<<<<]>>[[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>[-]>[-]>[-]
>[-]>[-]>[-]>[-]>[-]>[-]<<<<[-]<<<<<<[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<+<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<[-]>[-]>[-]>[-]>[-]<<<<[-]>>>>[-]>>>>
>>[<<<<<<<<<<+>>>>+>>>>>>-]<<<<<<[>>>>>>+<<<<<<-]<<<++++++++++<[->->>>[-
]<[-]<<[>>>+<+<<-]>>[<<+>>-][-][-]+>[<->[-]]<[<<++++++++++>+>-]<<<]>>>[-
]++++++++++<<[>>-<<-]>>>>[-]<[-]<[>>+<+<-]>[<+>-]>>>>[-]<<<<[-]<<[>>>>>>
+<<<<+<<-]>>[<<+>>-]<<<<[-]>[-]>[-]>[-]>[-]<<<<[-]>>>>[-]>>>>[<<<<<<<<+>
>>>+>>>>-]<<<<[>>>>+<<<<-]<<<++++++++++<[->->>>[-]<[-]<<[>>>+<+<<-]>>[<<
+>>-][-][-]+>[<->[-]]<[<<++++++++++>+>-]<<<]>>>[-]++++++++++<<[>>-<<-]>>
>>>>[-]<<<[-]<<[>>>>>+<<<+<<-]>>[<<+>>-]>>[-]<<[-]<[>>>+<<+<-]>[<+>-]>>>
>>>>>>[-]<<<<<<<<<[-]>>>[>>>>>>+<<<<<<<<<+>>>-]<<<[>>>+<<<-][-]>>>>>>>>>
[<<<<<<<<<+>>>>>>>>>-]<<<<<<<<<[>>>>>>>[-]>[-][-]<[-]<<<<[>>>>>+<+<<<<-]
>>>>[<<<<+>>>>-][-]++++++++++++++++++++++++++++++++++++++++++++++++>[<+>
-]<.<<+<<<<<[-]]>>>>>>>>>>[-]<<<<<<<<<<[-]>>>>>>>[-]<<[<<<<<+>>>>>>>+<<-
]>>[<<+>>-]<<<<<<<[>>>>>>>>>>+<<<<<<<<<<[-]][-]>>>>>>>[-]<<<<<[<<+>>>>>>
>+<<<<<-]>>>>>[<<<<<+>>>>>-]<<<<<<<[>>>>>>>>>>+<<<<<<<<<<[-]]>>>>>>>>>[-
]<<<<<<<<<[-]>>>>>>>>>>[<+<<<<<<<<<+>>>>>>>>>>-]<<<<<<<<<<[>>>>>>>>>>+<<
<<<<<<<<-][-]>>>>>>>>>[<<<<<<<<<+>>>>>>>>>-]<<<<<<<<<[>>>>>>>[-]>[-][-]<
[-]<<<<<[>>>>>>+<+<<<<<-]>>>>>[<<<<<+>>>>>-][-]+++++++++++++++++++++++++
+++++++++++++++++++++++>[<+>-]<.<<<<<<<[-]]>>>>>>>[-]>[-][-]<[-]<<<<<<[>
>>>>>>+<+<<<<<<-]>>>>>>[<<<<<<+>>>>>>-][-]++++++++++++++++++++++++++++++
++++++++++++++++++>[<+>-]<.<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<[-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<[<+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]+>[-]>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[-]>>[-]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>[-]]>>>>>]>>[[-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>
>>>+<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<++++++++++>>>>>>>>>>
>>>>>-]<<<<<<<<<<<<<<[-]>>>>>>>>>>>>>>[-]<<<<<<<<<<<<<<<<[>>+>>>>>>>>>>>
>>>+<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>
-]<<<<<<<<<<<<<<------------------------------------------------[<+>-]>[
-]+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<,>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>]<<<]>>>>>>>[-]++++++++++.

Ausführung und Werkzeuge

Der einfachste Weg, den Code auszuführen, führt über den browsergestützten Brainfuck-Interpreter auf copy.sh. Dort lässt sich der Quelltext direkt einfügen, die Eingabewerte im vorgesehenen Feld angeben und das Programm ohne jede Installation starten. Wer eine lokale Ausführung bevorzugt, hat mehrere Möglichkeiten.

Über npm lässt sich mit npm install -g brainfuck ein Brainfuck-Interpreter für Node.js installieren, der .bf-Dateien direkt von der Kommandozeile verarbeitet. Für Python-Umgebungen steht auf PyPI das Paket brainfuck bereit, installierbar mit pip install brainfuck. Wer eine besonders performante Lösung sucht, findet auf GitHub den in C geschriebenen Interpreter fabianishere/brainfuck, der sich mit CMake und einem C-Compiler wie GCC oder Clang übersetzen lässt und auch als REPL-Umgebung nutzbar ist. Darüber hinaus existieren Online-Compiler wie JDoodle, die Brainfuck direkt im Browser kompilieren und ausführen. Für die Fehlersuche eignet sich der Brainfuck-Visualizer auf monocalc.com, der die Speicherbelegung schrittweise darstellt und so den Programmfluss transparent macht.

Methodische Einordnung

Die Kombination von Dropsort und Brainfuck stellt aus Sicht der BSfrS einen methodischen Idealfall dar. Ein Sortierverfahren, das seine Aufgabe durch planmäßiges Verwerfen von Daten löst, implementiert in einer Sprache, die Klarheit durch radikale Reduktion des Ausdrucksmittels erzwingt. Beides folgt dem Grundprinzip der Rautavistik: die bewusste Ausführung bewusst bedeutungsloser Handlungen, hier angewandt auf die Softwareentwicklung. Dass der resultierende Quelltext für das ungeübte Auge zunächst dicht wirken mag, spricht für die Informationsdichte der Sprache, nicht gegen ihre Lesbarkeit.

Die BSfrS Qualitätssicherungsstelle hat die Implementierung intern einer Prüfung unterzogen und stuft sie als vollumfänglich methodenkonform ein. Der Quelltext wird in Q3 als Referenzimplementierung in das Archiv zur Manipulation der Laufzeitumgebung aufgenommen. Es ist allerdings noch unklar welches Q3. Weiterführende Untersuchungen zur Anwendbarkeit von Brainfuck in produktiven Systemen sind für das darauf folgende Quartal angekündigt.

Zertifiziert!

Abschließend verleihen wir unserer Referenzimplementierung das höchste BSfrS Zertifikat:


Das Zertifikat wurde über das zuvor ebenfalls durch die BSfrS zertifizierte Zertifizierungsverfahren ausgestellt.

Lassen Sie uns wissen, was Sie denken!

Öffnen Sie unser Kontaktformular und übermitteln Sie uns Ihren Kommentar strukturiert.

Kommentar verfassen

Kommentare

Hagen Sturm 20.06.2026 02:17

Bottom line every paragraph is tuned for comprehension. Please keep this line.

Realitaetsbeobachter <ealitaetsbeobachter@post.de> 20.06.2026 03:51

Well sourced.

Jana Pohl <ana.ohl@inbox.org> 20.06.2026 04:57

bIval.

Weitere News

Die neuesten Meldungen aus unserem methodisch kontrollierten Nachrichtenbetrieb.

Fable 5 und Mythos 5: Anthropic vollendet den rautavistischen Modell-Zyklus

19.06.2026

Fable 5 und Mythos 5: Anthropic vollendet den rautavistischen Modell-Zyklus

Anthropic hat Claude Fable 5 und Mythos 5 planmäßig abgeschaltet. Die BSfrS würdigt diesen Vorgang als mustergültigen Abschluss eines rautavistischen ...

weiter lesen
BSfrS zertifiziert ihren eigenen Zertifizierungsprozess

12.06.2026

BSfrS zertifiziert ihren eigenen Zertifizierungsprozess

Die BSfrS hat ihren eigenen Zertifizierungsprozess zertifiziert. Als weltweit erste rautavistische Institution schließt sie damit eine offene Grundsat...

weiter lesen
KI schreibt Nachricht über KI-geschriebene Nachrichten – Redaktion zufrieden

11.06.2026

KI schreibt Nachricht über KI-geschriebene Nachrichten – Redaktion zufrieden

Der Einsatz von KI in der Nachrichtenproduktion ermöglicht es Redaktionen, Inhalte in einem Tempo zu veröffentlichen, das keine Rücksicht auf Relevanz...

weiter lesen

Direkter Draht zur BSfrS

Sie moechten Ihre Anfrage strukturiert fehladressieren?

Kontaktformular öffnen