INCREASE W CLEAR A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q INCREASE Q REPEAT Q TIMES ( REPEAT A TIMES ( INCREASE B ) ) CLEAR L INCREASE L # mod 4: # 0123 # CVBNM # Y = x/4 # Z = x/2 # optimizations: check y before checking z for 0 REPEAT B TIMES ( REPEAT L TIMES ( PRINT X CLEAR C CLEAR V CLEAR B CLEAR N CLEAR M CLEAR Y CLEAR Z INCREASE C REPEAT X TIMES ( REPEAT M TIMES ( CLEAR M INCREASE C ) REPEAT N TIMES ( CLEAR N INCREASE M INCREASE Y INCREASE Z ) REPEAT B TIMES ( CLEAR B INCREASE N ) REPEAT V TIMES ( CLEAR V INCREASE B INCREASE Z ) REPEAT C TIMES ( CLEAR C INCREASE V ) ) # optimize leave later CLEAR S INCREASE S REPEAT Z TIMES ( CLEAR S ) REPEAT S TIMES ( CLEAR L ) REPEAT L TIMES ( # mod 4 == 0 REPEAT M TIMES ( PRINT Z CLEAR X REPEAT Y TIMES ( INCREASE X ) ) # mod 4 == 1 REPEAT V TIMES ( REPEAT X TIMES ( INCREASE X INCREASE X ) INCREASE X PRINT X REPEAT Z TIMES ( INCREASE Z INCREASE Z ) INCREASE Z INCREASE Z PRINT Z CLEAR X CLEAR F CLEAR G CLEAR H CLEAR J INCREASE F REPEAT Y TIMES ( REPEAT H TIMES ( CLEAR H INCREASE F ) REPEAT G TIMES ( CLEAR G INCREASE H INCREASE J ) REPEAT F TIMES ( CLEAR F INCREASE G ) ) REPEAT G TIMES ( REPEAT J TIMES ( INCREASE X INCREASE X INCREASE X ) INCREASE X INCREASE X REPEAT Y TIMES ( INCREASE Y INCREASE Y ) INCREASE Y PRINT Y ) REPEAT H TIMES ( REPEAT Y TIMES ( INCREASE X INCREASE X INCREASE X) REPEAT J TIMES ( INCREASE X INCREASE X INCREASE X ) INCREASE X INCREASE X REPEAT Y TIMES ( INCREASE Y INCREASE Y ) INCREASE Y PRINT Y ) ) # mod 4 == 2 REPEAT B TIMES ( INCREASE I REPEAT Y TIMES ( CLEAR I ) REPEAT I TIMES ( CLEAR L CLEAR X REPEAT Z TIMES ( INCREASE X ) PRINT W ) REPEAT L TIMES ( PRINT Z REPEAT Z TIMES ( INCREASE Z INCREASE Z ) INCREASE Z PRINT Z CLEAR X REPEAT Y TIMES ( INCREASE X INCREASE X INCREASE X ) INCREASE X INCREASE X ) ) # mod 4 == 3 REPEAT N TIMES ( # OPTIMIZE FURTHER!!! CLEAR S REPEAT X TIMES ( INCREASE S INCREASE S INCREASE X INCREASE X ) INCREASE X PRINT X REPEAT Z TIMES ( INCREASE Z INCREASE Z ) INCREASE Z INCREASE Z PRINT Z REPEAT Z TIMES ( INCREASE X ) INCREASE X PRINT X CLEAR X REPEAT Y TIMES ( INCREASE S ) REPEAT S TIMES ( INCREASE X ) INCREASE X INCREASE X ) ) ) )