# Variable explanations:
# X & Y = Input and number.
# I & J = Made to prevent the worthless cmds of copying.
# W = The "while" loop's loop number, which is 196.
# Z = The number two.
#INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X
#INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X
#INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X
#INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X INCREASE X
PRINT X
INCREASE D # Check if 1
# While loop number: (196 000 cmds)
INCREASE W INCREASE W INCREASE W
REPEAT W TIMES ( INCREASE W )
REPEAT W TIMES ( INCREASE W )
REPEAT W TIMES ( INCREASE W )
REPEAT W TIMES ( INCREASE W )
REPEAT W TIMES ( INCREASE W )
REPEAT W TIMES ( INCREASE W )
# the number 2 (2000 cmds)
INCREASE Z
INCREASE Z
# while loop
INCREASE I
REPEAT W TIMES (
REPEAT I TIMES ( # If X != 1
# Check if X == 1
REPEAT D TIMES (
CLEAR D
INCREASE A
REPEAT X TIMES (
REPEAT B TIMES ( CLEAR A CLEAR B )
REPEAT A TIMES ( INCREASE B )
)
# Clears I if X == 1
REPEAT A TIMES ( CLEAR I CLEAR A CLEAR B )
)
# If X != 1
REPEAT I TIMES (
# Modulo 2
REPEAT X TIMES (
REPEAT A TIMES ( INCREASE B INCREASE Y )
INCREASE A
REPEAT B TIMES ( CLEAR A CLEAR B )
)
INCREASE C
# Number is odd:
REPEAT A TIMES (
CLEAR C
# 3 * X
REPEAT X TIMES (
REPEAT Z TIMES (
INCREASE X
)
)
INCREASE X # +1
PRINT X
CLEAR A #GC
REPEAT Y TIMES (
REPEAT Z TIMES (
INCREASE Y
)
)
INCREASE Y INCREASE Y
CLEAR A #GC
PRINT Y
CLEAR X
)
# Number is even:
REPEAT C TIMES (
CLEAR C
PRINT Y
CLEAR X
INCREASE D
)
CLEAR I INCREASE J
)
)
REPEAT J TIMES (
# Check if Y == 1
REPEAT D TIMES (
CLEAR D
INCREASE A
REPEAT Y TIMES (
REPEAT B TIMES ( CLEAR A CLEAR B )
REPEAT A TIMES ( INCREASE B )
)
# Clears J if X == 1
REPEAT A TIMES ( CLEAR J CLEAR A CLEAR B )
)
# If Y != 1
REPEAT J TIMES (
# Modulo 2
REPEAT Y TIMES (
REPEAT A TIMES ( INCREASE B INCREASE X )
INCREASE A
REPEAT B TIMES ( CLEAR A CLEAR B )
)
INCREASE C
# Number is odd:
REPEAT A TIMES (
CLEAR C
# 3 * Y
REPEAT Y TIMES (
REPEAT Z TIMES (
INCREASE Y
)
)
INCREASE Y # +1
PRINT Y
CLEAR A #GC
REPEAT X TIMES (
REPEAT Z TIMES (
INCREASE X
)
)
INCREASE X INCREASE X
CLEAR A #GC
PRINT X
CLEAR Y
)
# Number is even:
REPEAT C TIMES (
CLEAR C
PRINT X
CLEAR Y
INCREASE D
)
CLEAR J INCREASE I
)
)
)