--- /dev/null
+PROGRAM KNOBELEI(OUTPUT);
+
+ CONST MAX=80;
+
+ VAR A, B, I, J, Z: INTEGER;
+ ZEILE, NEU: ARRAY[1..MAX] OF INTEGER;
+
+BEGIN
+ ZEILE[1] := 1; ZEILE[2] := 0;
+ WRITELN("1");
+
+ REPEAT (******* ZEILE *******)
+ A := ZEILE[1]; I := 1; J := 1;
+ REPEAT (******* GRUPPE *******)
+ Z := 0;
+ REPEAT (******* ZIFFER *******)
+ Z := Z + 1;
+ I := I + 1; B := ZEILE[I]
+ UNTIL A<>B;
+ NEU[J] := Z; NEU[J+1] := A; J := J + 2;
+ A := B
+ UNTIL B=0;
+ ZEILE[J] := 0;
+ FOR I := 1 TO J-1 DO BEGIN
+ ZEILE[I] := NEU[I];
+ WRITE( ZEILE[I] :1 )
+ END;
+ WRITELN
+ UNTIL J>MAX
+END.