Below, you can find another hint for the Challenge.
You should only get here after reading, digesting, and applying the .
All we need to do is break up the string literal across multiple lines in such a way that all lines have a length of at most 80 characters. This requires a decision as to where to break up the string literal. The simplest choice is to make lines as long as possible (minimizing the number of extra lines):
Technically speaking, the line length requirement is met in this way. But you probably agree that it is not easily readable. And, more importantly, this program no longer outputs itself: changing the layout of a program that outputs itself, will destroy the property that the program outputs its new self. The output still equals the original program with one very long line: ():
Apparently we need to change the functionality of the program accordingly. Can you see what needs to change?
Now that we have to change functionality, it might be worthwhile to try another, more readable and more logical, line breaking strategy:
The strategy is to break lines right after a newline marker, so as to make the string literal readable. The resulting lines have a length that is the length of corresponding line in the program plus 6 characters overhead (viz. ' and |'+). Therefore, this strategy works if the program (below the string literal) has lines at most 75 characters.
Of course, this program also does not output itself (). Can you repair it? You may also tweak the strategy a little to simplify the repair.
Try your program in the machine, and see if you can extend it to a complete solution.
It is your turn ...
If you tried this hint, or do not see how it helps, then you are ready for the .