printl_list([H|X]):-
put_code(H), printl_list(X).
read_line_codes(A, L) :-
get_code(C),
( C == -1
-> ( A == []
-> L = end_of_file
)
; ( C == 0'\n
-> reverse(A, L)
; read_line_codes([C|A], L)
)
).
:- initialization(main).
main :-
repeat,
read_line_codes([], X),
(X == [52,50]
-> (
halt
)
; (
nl,
printl_list(X)
)),
X == end_of_file,
halt.
cHJpbnRsX2xpc3QoW0h8WF0pOi0KICAgIHB1dF9jb2RlKEgpLCBwcmludGxfbGlzdChYKS4KICAgIApyZWFkX2xpbmVfY29kZXMoQSwgTCkgOi0KCWdldF9jb2RlKEMpLAoJKCAgIEMgPT0gLTEKCS0+ICAoICBBID09IFtdCgkgICAgLT4gIEwgPSBlbmRfb2ZfZmlsZQoJICAgIDsgICByZXZlcnNlKEEsIEwpCgkgICAgKQoJOyAgICggIEMgPT0gMCdcbgoJICAgIC0+IHJldmVyc2UoQSwgTCkKCSAgICA7ICByZWFkX2xpbmVfY29kZXMoW0N8QV0sIEwpCgkgICAgKQoJKS4KICAgIAo6LSBpbml0aWFsaXphdGlvbihtYWluKS4KbWFpbiA6LSAKCXJlcGVhdCwKCXJlYWRfbGluZV9jb2RlcyhbXSwgWCksCgkoWCA9PSBbNTIsNTBdCgktPiAoCgkJaGFsdAoJCSkKCTsgKAoJCW5sLAoJCXByaW50bF9saXN0KFgpCgkpKSwKCVggPT0gZW5kX29mX2ZpbGUsCgloYWx0Lg==