Submission details
Task:Lukujono
Sender:asonnine
Submission time:2025-11-04 14:19:08 +0200
Language:text
Status:READY
Result:93
Feedback
groupverdictscore
#1ACCEPTED93
Test results
testverdicttimescore
#1ACCEPTED0.00 s93details

Code

# ABCDE FGHIJ KLMNO PQRST big-endian bits
#                      ST no longer used for this
#                      S  master loop S times
#                       T break from master loop

# UVWXYZ for other stuff

# U carry bit
# V if else

# Convert to binary
REPEAT X TIMES (
	INCREASE V
	REPEAT A TIMES (
		CLEAR A
		INCREASE U
		CLEAR V
	)
	REPEAT V TIMES (
		INCREASE A
		CLEAR V
	)
	REPEAT U TIMES (
		INCREASE V
		REPEAT B TIMES (
			CLEAR B
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE B
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT C TIMES (
			CLEAR C
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE C
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT D TIMES (
			CLEAR D
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE D
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT E TIMES (
			CLEAR E
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE E
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT F TIMES (
			CLEAR F
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE F
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT G TIMES (
			CLEAR G
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE G
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT H TIMES (
			CLEAR H
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE H
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT I TIMES (
			CLEAR I
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE I
			CLEAR U
			CLEAR V
		)
	REPEAT U TIMES (
		INCREASE V
		REPEAT J TIMES (
			CLEAR J
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE J
			CLEAR U
			CLEAR V
		)
	)
	)
	)
	)
	)
	)
	)
	)
	)
	CLEAR U
)

PRINT X

INCREASE T
# If all but A are 0, break
INCREASE U
REPEAT B TIMES ( CLEAR U )
REPEAT C TIMES ( CLEAR U )
REPEAT D TIMES ( CLEAR U )
REPEAT E TIMES ( CLEAR U )
REPEAT F TIMES ( CLEAR U )
REPEAT G TIMES ( CLEAR U )
REPEAT H TIMES ( CLEAR U )
REPEAT I TIMES ( CLEAR U )
REPEAT J TIMES ( CLEAR U )
REPEAT K TIMES ( CLEAR U )
REPEAT L TIMES ( CLEAR U )
REPEAT M TIMES ( CLEAR U )
REPEAT N TIMES ( CLEAR U )
REPEAT O TIMES ( CLEAR U )
REPEAT P TIMES ( CLEAR U )
REPEAT Q TIMES ( CLEAR U )
REPEAT R TIMES ( CLEAR U )

REPEAT U TIMES ( CLEAR T )
CLEAR U

REPEAT T TIMES (

INCREASE S INCREASE S INCREASE S INCREASE S INCREASE S
REPEAT S TIMES ( INCREASE S INCREASE S INCREASE S INCREASE S )
REPEAT S TIMES ( INCREASE S INCREASE S INCREASE S )
INCREASE S INCREASE S INCREASE S
INCREASE S INCREASE S INCREASE S
INCREASE S INCREASE S INCREASE S
INCREASE S INCREASE S INCREASE S
INCREASE S

REPEAT S TIMES ( # loop
REPEAT T TIMES ( # break

# If A, 3n+1 and shl
# Y previous bit
# Else shl
INCREASE V
REPEAT A TIMES (
	CLEAR V

	CLEAR A
	INCREASE U
	INCREASE U

	REPEAT B TIMES ( INCREASE U CLEAR B INCREASE Y )
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT B TIMES (
			CLEAR B
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE B
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT C TIMES ( INCREASE U CLEAR C INCREASE Y )	# |
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT C TIMES (
			CLEAR C
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE C
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT D TIMES ( INCREASE U CLEAR D INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT D TIMES (
			CLEAR D
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE D
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT E TIMES ( INCREASE U CLEAR E INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT E TIMES (
			CLEAR E
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE E
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT F TIMES ( INCREASE U CLEAR F INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT F TIMES (
			CLEAR F
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE F
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT G TIMES ( INCREASE U CLEAR G INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT G TIMES (
			CLEAR G
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE G
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT H TIMES ( INCREASE U CLEAR H INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT H TIMES (
			CLEAR H
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE H
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT I TIMES ( INCREASE U CLEAR I INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT I TIMES (
			CLEAR I
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE I
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT J TIMES ( INCREASE U CLEAR J INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT J TIMES (
			CLEAR J
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE J
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT K TIMES ( INCREASE U CLEAR K INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT K TIMES (
			CLEAR K
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE K
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT L TIMES ( INCREASE U CLEAR L INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT L TIMES (
			CLEAR L
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE L
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT M TIMES ( INCREASE U CLEAR M INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT M TIMES (
			CLEAR M
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE M
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT N TIMES ( INCREASE U CLEAR N INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT N TIMES (
			CLEAR N
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE N
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT O TIMES ( INCREASE U CLEAR O INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT O TIMES (
			CLEAR O
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE O
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT P TIMES ( INCREASE U CLEAR P INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT P TIMES (
			CLEAR P
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE P
			CLEAR V
		)
	)
	CLEAR U
	REPEAT Z TIMES ( INCREASE U CLEAR Z )

	REPEAT Y TIMES ( INCREASE U CLEAR Y )			# Save current for future use
	REPEAT Q TIMES ( INCREASE U CLEAR Q INCREASE Y )	# |
	
	REPEAT U TIMES ( # Count carry + previous + current
		INCREASE V
		REPEAT Q TIMES (
			CLEAR Q
			INCREASE Z # Carry
			CLEAR V
		)
		REPEAT V TIMES (
			INCREASE Q
			CLEAR V
		)
	)
	CLEAR U
	# Last bit is simpler as it doesn't carry
	REPEAT Z TIMES ( INCREASE R CLEAR Z )
	REPEAT Y TIMES ( INCREASE R CLEAR Y )

	# Print
	REPEAT X TIMES (
		INCREASE X
		INCREASE X
	)
	INCREASE X
	PRINT X

	# shl
	CLEAR A
	REPEAT B TIMES ( INCREASE A CLEAR B )
	REPEAT C TIMES ( INCREASE B CLEAR C )
	REPEAT D TIMES ( INCREASE C CLEAR D )
	REPEAT E TIMES ( INCREASE D CLEAR E )
	REPEAT F TIMES ( INCREASE E CLEAR F )
	REPEAT G TIMES ( INCREASE F CLEAR G )
	REPEAT H TIMES ( INCREASE G CLEAR H )
	REPEAT I TIMES ( INCREASE H CLEAR I )
	REPEAT J TIMES ( INCREASE I CLEAR J )
	REPEAT K TIMES ( INCREASE J CLEAR K )
	REPEAT L TIMES ( INCREASE K CLEAR L )
	REPEAT M TIMES ( INCREASE L CLEAR M )
	REPEAT N TIMES ( INCREASE M CLEAR N )
	REPEAT O TIMES ( INCREASE N CLEAR O )
	REPEAT P TIMES ( INCREASE O CLEAR P )
	REPEAT Q TIMES ( INCREASE P CLEAR Q )
	REPEAT R TIMES ( INCREASE Q CLEAR R )

	# Convert back to decimal
	CLEAR X
	REPEAT R TIMES (
		INCREASE X
		REPEAT X TIMES ( INCREASE X )
	)
	REPEAT Q TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT P TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT O TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT N TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT M TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT L TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT K TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT J TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT I TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT H TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT G TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT F TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT E TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT D TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT C TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT B TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT A TIMES ( INCREASE X )

	PRINT X
)
REPEAT V TIMES (
	CLEAR V

	CLEAR A
	REPEAT B TIMES ( INCREASE A CLEAR B )
	REPEAT C TIMES ( INCREASE B CLEAR C )
	REPEAT D TIMES ( INCREASE C CLEAR D )
	REPEAT E TIMES ( INCREASE D CLEAR E )
	REPEAT F TIMES ( INCREASE E CLEAR F )
	REPEAT G TIMES ( INCREASE F CLEAR G )
	REPEAT H TIMES ( INCREASE G CLEAR H )
	REPEAT I TIMES ( INCREASE H CLEAR I )
	REPEAT J TIMES ( INCREASE I CLEAR J )
	REPEAT K TIMES ( INCREASE J CLEAR K )
	REPEAT L TIMES ( INCREASE K CLEAR L )
	REPEAT M TIMES ( INCREASE L CLEAR M )
	REPEAT N TIMES ( INCREASE M CLEAR N )
	REPEAT O TIMES ( INCREASE N CLEAR O )
	REPEAT P TIMES ( INCREASE O CLEAR P )
	REPEAT Q TIMES ( INCREASE P CLEAR Q )

	# Convert back to decimal

	CLEAR X
	REPEAT R TIMES (
		INCREASE X
		REPEAT X TIMES ( INCREASE X )
	)
	REPEAT Q TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT P TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT O TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT N TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT M TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT L TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT K TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT J TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT I TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT H TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT G TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT F TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT E TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT D TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT C TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT B TIMES ( INCREASE X )
	REPEAT X TIMES ( INCREASE X )
	REPEAT A TIMES ( INCREASE X )

	PRINT X
)

# If all but A are 0, break
INCREASE U
REPEAT B TIMES ( CLEAR U )
REPEAT C TIMES ( CLEAR U )
REPEAT D TIMES ( CLEAR U )
REPEAT E TIMES ( CLEAR U )
REPEAT F TIMES ( CLEAR U )
REPEAT G TIMES ( CLEAR U )
REPEAT H TIMES ( CLEAR U )
REPEAT I TIMES ( CLEAR U )
REPEAT J TIMES ( CLEAR U )
REPEAT K TIMES ( CLEAR U )
REPEAT L TIMES ( CLEAR U )
REPEAT M TIMES ( CLEAR U )
REPEAT N TIMES ( CLEAR U )
REPEAT O TIMES ( CLEAR U )
REPEAT P TIMES ( CLEAR U )
REPEAT Q TIMES ( CLEAR U )
REPEAT R TIMES ( CLEAR U )

REPEAT U TIMES ( CLEAR T )
CLEAR U

)
)

)

Test details

Test 1 (public)

Verdict: ACCEPTED

input
(empty)

correct output
(empty)

user output
# ABCDE FGHIJ KLMNO PQRST big-...

Feedback: 936 tests processed (command limit exceeded)