INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A INCREASE A PRINT X # I=floor(X/2), R=parity(X) REPEAT X TIMES ( CLEAR T INCREASE T REPEAT R TIMES ( CLEAR T ) CLEAR R REPEAT T TIMES ( INCREASE R ) CLEAR U INCREASE U REPEAT R TIMES ( CLEAR U ) REPEAT U TIMES ( INCREASE I ) ) # S=parity(I) REPEAT I TIMES ( CLEAR T INCREASE T REPEAT S TIMES ( CLEAR T ) CLEAR S REPEAT T TIMES ( INCREASE S ) ) INCREASE C # if X is odd REPEAT R TIMES ( CLEAR I REPEAT X TIMES ( INCREASE I ) REPEAT X TIMES ( INCREASE X ) # check if I == 0 INCREASE L REPEAT I TIMES ( CLEAR L ) REPEAT L TIMES ( CLEAR C ) ) # if X is even INCREASE G REPEAT R TIMES ( CLEAR G ) REPEAT G TIMES ( PRINT I ) # if I is even CLEAR G INCREASE G REPEAT S TIMES ( CLEAR G ) REPEAT G TIMES ( # Z=floor(I/2) CLEAR R REPEAT I TIMES ( CLEAR T INCREASE T REPEAT R TIMES ( CLEAR T ) CLEAR R REPEAT T TIMES ( INCREASE R ) CLEAR U INCREASE U REPEAT R TIMES ( CLEAR U ) REPEAT U TIMES ( INCREASE Z ) ) ) REPEAT A TIMES ( REPEAT C TIMES ( # if I is odd REPEAT S TIMES ( REPEAT I TIMES ( INCREASE X ) INCREASE X PRINT X # I=floor(X/2) CLEAR R CLEAR I REPEAT X TIMES ( CLEAR T INCREASE T REPEAT R TIMES ( CLEAR T ) CLEAR R REPEAT T TIMES ( INCREASE R ) CLEAR U INCREASE U REPEAT R TIMES ( CLEAR U ) REPEAT U TIMES ( INCREASE I ) ) ) # if I is even CLEAR G INCREASE G REPEAT S TIMES ( CLEAR G ) REPEAT G TIMES ( CLEAR X REPEAT I TIMES ( INCREASE X ) PRINT X # I=floor(X/2) CLEAR I REPEAT Z TIMES ( INCREASE I ) ) # Z=floor(I/2), S=parity(I) CLEAR S CLEAR Z REPEAT I TIMES ( CLEAR T INCREASE T REPEAT S TIMES ( CLEAR T ) CLEAR S REPEAT T TIMES ( INCREASE S ) CLEAR U INCREASE U REPEAT S TIMES ( CLEAR U ) REPEAT U TIMES ( INCREASE Z ) ) # if new I is odd REPEAT S TIMES ( PRINT I ) # check if Z == 0 CLEAR L INCREASE L REPEAT Z TIMES ( CLEAR L ) REPEAT L TIMES ( CLEAR C ) ) )