# chopzeros =
# 19 [f.[r.
# ifle2 (car1 r) 48
# (f (cdr1 r))
# r
# ]]
# I
# ;
#
# dec_zero = inflist1 0 ;
# dec_one = cons2 1 dec_zero ;
#
# dec_add =
# y1 [f.[c.[a.[b.
# [s.
# cons2
# (ifle4 s 9 s (10 pred s))
# (f (ifle4 s 9 0 1) (cdr1 a) (cdr1 b))
# ]
# (c succ (car1 a) succ (car1 b))
# ]]]]
# ;
#
# dec_show =
# 20 [f.[a.
# o1 (f (cdr1 a) ) (cons1 ({addconst 48} (car1 a)))
# ]]
# 0
# ;
#
# bin_todec =
# 54 [f.[m.[z.[a.
# ifnz2 (car1 m)
# (
# ifnz2 (car1 a)
# (f (dec_add 0 m m) (dec_add 0 z m) (cdr1 a))
# (f (dec_add 0 m m) z (cdr1 a))
# )
# (
# cons2 (car1 z) (f (cdr1 m) (cdr1 z) a)
# )
# ]]]]
# [m.[z.[a. z ]]]
# dec_one
# dec_zero
# ;
#
# bin_zero = inflist1 0 ;
# bin_one = cons2 1 bin_zero ;
#
# bin_succ =
# y1 [f.[a.
# ifnz2 (car1 a)
# (cons2 0 (f (cdr1 a)))
# (cons2 1 (cdr1 a))
# ]]
# ;
#
# bin_from = [n. n bin_succ bin_zero ];
#
# bin_add =
# y1 [f.[c.[a.[b.
# [s.
# cons2
# (ifeven1 s 0 1)
# (f (ifle4 s 1 0 1) (cdr1 a) (cdr1 b))
# ]
# (c succ (car1 a) succ (car1 b))
# ]]]]
# ;
#
# bin_mul =
# y1 [f.[a.[b.
# [s.
# ifnz2 (car1 b)
# (cons2 (car1 a) (bin_add 0 (cdr1 a) s))
# (cons2 0 s)
# ]
# (f a (cdr1 b))
# ]]]
# ;
#
# bin_pow = [a.[n. n (bin_mul a) bin_one ]];
#
# bin_xor =
# y1 [f.[a.[b.
# cons2
# (ifeven1 ((car1 a) succ (car1 b)) 0 1)
# (f (cdr1 a) (cdr1 b))
# ]]]
# ;
#
# 20
# [f.
# y1
# [g.[p.[a.[b.[c.[r.
# ifeq2 (car1 r) 10
# (
# [z.
# chopzeros $
# dec_show (bin_todec z)
# (cons2 (car1 r) (f (cdr1 r)))
# ]
# (
# bin_xor a
# (p (bin_pow b c) (bin_from c))
# )
# )
# $
# ifeq2 (car1 r) ?^
# (
# p
# (g false (bin_xor a (bin_pow b c)) bin_zero)
# (g true a (bin_from c))
# 0 (cdr1 r)
# )
# (
# g p a b (48 pred (car1 r) succ (o1 10 c)) (cdr1 r)
# )
# ]]]]]]
# false
# bin_zero
# bin_zero
# 0
# ]
# I
S(SSS)(SSI(SS0))(S`KSK)(S(S(S(S(S(S`K(SSI)(S`KS(S`KS(S`KK(S`SSKS(S`KK(S`KS(S
`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S
`K`S(S(S(S(S(S(S(SI`KK)`K(SI`K0))`K(SS(SSSS(SS0))(S`KSK)(S`K`S(SI0)K)(S(SI`K
`K`K`KK)0)))`KK)0)0)`K0)(S`SSKS(S`KK(S`KS(S`KK(S`KS(S`KK(S`KS(S`KK(S`KS(S`K`
S`K`S`K(SS(SS(SS(SS(SSI)(SS0))))(S`KSK)(S`SSKS(S`K`S(S(S(S(SS`K`S`K`SI)`KK)`
K`KK)`K(S(SSSSSSSSS)(SS0)(S`KSK)(S`K`SIK)`K0))(S`SSKSK`K(SI`K0)))0)I)(S`K`S`
K`S(S`K(S(SSS)(SSI(SS0))(S`KSK)(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))))
`K(S`SSKS(S`KK(S`KS(S`K`SI(S`KK(S`K(S(S(SSSSSSSSS)(SS0))S(S`KSK))(SI`KK)))))
)`KK))0)(S(SI(SS0))(SSI(SS(SS0)))(S`KSK)(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S(
S`KS(S`KK(S`KS(S`SI`KK))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K
`S`K`S`K`S(SI`KK)(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`KK
(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(S(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`
K`S`K`S`K`S(S`KS(S`K`SI(S`KK(S(S(SI`K(S`K`SIK))K)(S`K(SSSS(SS0)(S`KSK)(S`K`S
IK))(S`KK(SS(SSSS(SS0))(S`KSK)(S(S(SI`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0
))))))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS
(S`SSKSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K(SSSS(SS0)(S`KSK)(S`K`SIK)0)))))`K(S`KK
(SI`K0))))))`K`K(S`KK(SI`K0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS
(S`KK(SI`K`S(S`KSK)))`K(SI`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)I))))`K(S`K`S
(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`K`S`K`S`K`S(S`KS(S`K`SI(S`KK(S(S(SI`K
(S`K`SIK))K)(S`K(SSSS(SS0)(S`KSK)(S`K`SIK))(S`KK(SS(SSSS(SS0))(S`KSK)(S(S(SI
`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0))))))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`
S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SSKSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K
(SSSS(SS0)(S`KSK)(S`K`SIK)0)))))`K(S`KK(SI`K0))))))`K`K(S`KK(SI`K0))))))))`K
(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS(S`KK(SI`K`S(S`KSK)))`K(SI`KK))`K`K`S
(S`KSK))))`K`K(SI`KK)))I0)K)))))`K`K`K(SI`K0))))))(S`SSKS(S`K`S`KS(S`K`S`K`S
`KS(S`K`S`K`S`KK(S`SSKSK`K(S(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`K`S`K`S`K
`S(S`KS(S`K`SI(S`KK(S(S(SI`K(S`K`SIK))K)(S`K(SSSS(SS0)(S`KSK)(S`K`SIK))(S`KK
(SS(SSSS(SS0))(S`KSK)(S(S(SI`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0))))))))(
S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SSKSK`
K(S(S(SI`K(S`K`SIK))`K`K0)`K(SSSS(SS0)(S`KSK)(S`K`SIK)0)))))`K(S`KK(SI`K0)))
)))`K`K(S`KK(SI`K0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS(S`KK(SI`
K`S(S`KSK)))`K(SI`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)I)))))`K`K`K(SI`K0))))
)))(S`K`S`K`S(S`KS(S`KK(S`KS(S`K`SI(S`SI`KK)))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K
`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))))`K`K(SI`K0)))))`KK(S(SI0)`K(SSI`S`K`S(SI`K
0)(S`S`KKI)))(SSI`S`K`S(SI`K0)(S`S`KKI))))(S`K`S`KK(S`K`S(S`KS(S`K`SI(S`SI`K
K)))(S`K`S`KK(S`SSKSK`K(SI`K0)))))))))))))))`K(S`K`S`K`S`K`S`KK(S`K`S(S`KS(S
`KK(S`KS(S`KK(SSI`S`S`K(S`K`S(S`KS(S`K`S`KS(S`K`S`K`SI(S`K`S`KK(S`SSKS(S`SSK
S(S`SSKS(S`SSKS(S`SSKS(SS`S(SS`K(SISSKS))`KK)`K(SI`KK))`K`K(S(SI`K0)`KK))`K`
KK)`K`K0)`K0)))))(S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))))`
K`K(SI`K0))))I)))))(S`KK(S`SSKS(S`K`S`KS(S`SSKS(S`KK(S`KSK))`K(S`SSKS(S`K`SI
(S`KK(SSI`S`S`K(S`K`S(S`KS(S`SSKS(S`K`S`KS(S`K`S(S`KS(S`SI`KK))(S`KK(S`K`S`K
K(S`SSKS(S`KK(S`KS(S`K`SI(S`SI`KK))))(S`K`S`KK(S`K(SSI`S`S`K(S`SSKS(S`KK(S`K
S(S`K`S`KS(S`K`S`K`S`K`S(S`KS(S`K`SI(S`KK(S(S(S(SI`K(S(SI`K0)`KK))`KK)`K0)0)
)))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SS
KSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K(SI`K0)))))`K(S`KK(SI`K0))))))`K`K(S`KK(SI`K
0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKS(S`SSKS(S`KK(SI`K`S(S`KSK)))`K(SI
`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)(SI`K0))))))))`K`K(S`K`S(SI`K0)K)))(S`S
SKS(S`K`S`KS`S`KK)`K`K(SI`K0)))I)))`K`K(S(SI0)`K(SSI`S`K`S(SI`K0)(S`S`KKI)))
)))`K`K(S(SI`K(SSI`S`S`K(S`SSKS(S`K`S(SI`KK)(S`K`S`KK(S`K`S`K`S(SI`K0)(S`K`S
`KK(S`SSKSK`K(SI`K0))))))`K(S`K`S(SI0)(S`KK(SI`K0))))I))`K(SSI`S`K`S(SI`K0)(
S`S`KKI)))))))))))))))`K(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S
`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S`K`S(S(S(S(S(S(S(SI`KK)`K(SI`K0))`K(SS(SS(S
S(SS(S(SSS)(SSSS(SS0))))))(S`KSK)(S`K`S(SI0)K)(S(SI`K`K`K`KK)0)))`KK)0)0)`K0
)(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S`K`S`K`S`K`S`KS(S`K`S`K
`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`SSKS(S`K`S`KS(
S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S(S`KS(S`KK(S`KS(S`KK(S`KSK)))))(S`KK(S`SS
KS(S`K`S`KS(S`K`S`K`S`KS(S`SSKS(S`KK(S`KS(S`KK(S`KS(S`KK(SI`K0))))))`K(S`SSK
S(S`KK(S`KS(S`KK(SSI`S`S`K(S`K`S(S`KS(S`K`S`KS(S`K`S`K`SI(S`K`S`KK(S`SSKS(S`
SSKS(S`SSKS(S`SSKS(S`SSKS(SS`S(SS`K(SISSKS))`KK)`K(SI`KK))`K`K(S(SI`K0)`KK))
`K`KK)`K`K0)`K0)))))(S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(S`SSKSK`K(SI`K0))
))`K`K(SI`K0))))I))))`K(S`SSKS(S`K`SI(S`KK(SSI`S`S`K(S`K`S(S`KS(S`SSKS(S`K`S
`KS(S`K`S(S`KS(S`SI`KK))(S`KK(S`K`S`KK(S`SSKS(S`KK(S`KS(S`K`SI(S`SI`KK))))(S
`K`S`KK(S`K(SSI`S`S`K(S`SSKS(S`KK(S`KS(S`K`S`KS(S`K`S`K`S`K`S(S`KS(S`K`SI(S`
KK(S(S(S(SI`K(S(SI`K0)`KK))`KK)`K0)0))))(S`K`S`K`S`K`S`KK(S`SSKS(S`K`S`KS(S`
K`S`KK(S`K`S`KS(S`SSKS(S`KK(S`KS(S`SSKSK`K(S(S(SI`K(S`K`SIK))`K`K0)`K(SI`K0)
))))`K(S`KK(SI`K0))))))`K`K(S`KK(SI`K0))))))))`K(S`SSKS(S`K`S`KS(S`K`S`KK(S`
SSKS(S`SSKS(S`KK(SI`K`S(S`KSK)))`K(SI`KK))`K`K`S(S`KSK))))`K`K(SI`KK)))I0)(S
I`K0))))))))`K`K(S`K`S(SI`K0)K)))(S`SSKS(S`K`S`KS`S`KK)`K`K(SI`K0)))I)))`K`K
(S(SI0)`K(SSI`S`K`S(SI`K0)(S`S`KKI))))))))`K`K`K`K(SSI`S`K`S(SI`K0)(S`S`KKI)
)))))))(S`KK(S`K`S`KK(S`SSKS(S`K`S`KS(S`K`S`KK(SI`KK)))`K`K(S(SI`K(SSI`S`S`K
(S`SSKS(S`K`S(SI`KK)(S`K`S`KK(S`K`S`K`S(SI`K0)(S`K`S`KK(S`SSKSK`K(SI`K0)))))
)`K(S`K`S(SI0)(S`KK(SI`K0))))I))`K(SSI`S`K`S(SI`K0)(S`S`KKI))))))))))`K`K`K`
K`K0))))))`K`K`K`K`K(SI`K0)))))))(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S
`KS(S`K`S`K`S`K`S`K`S`KS(S`SSKS(S`K`S`KS(S`K`S`K`S`KS(S`K`S`K`S`K`S`KS(S`K`S
`K`S`K`S`KK(S`K`S`K`S`K`S`KS`S`K`S`K`S`KK)))))`K`K`K`K(S`K`S(S(S`K(S(SSSSSSS
SS)(SS0)(S`KSK)(S(S(SI`K(S`K`SI(S`KK(SI`K`S(S`KSK)))))`K`K0)0))(SI`KK))`K`S(
S`KSK))(S`KK`S`K(SS(SSSS(SS0))(S`KSK)))))))))`K`K`K`K`K(SI`K0))))))))0)`K0)`
K(SSI`S`K`S(SI`K0)(S`S`KKI)))`K(SSI`S`K`S(SI`K0)(S`S`KKI)))`K0)I
Note that non-ascii characters in the above source code will be escaped (such as \x9f).