%% %% This is file `xintcore.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% xint.dtx (with options: `xintcore') %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from xintcore.sty. %% %% For distribution of the original source see the terms %% for copying and modification in the file xint.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% --------------------------------------------------------------- %% The xint bundle 1.2k 2017/01/06 %% Copyright (C) 2013-2017 by Jean-Francois Burnol %% xintcore: Expandable arithmetic on big integers %% --------------------------------------------------------------- \begingroup\catcode61\catcode48\catcode32=10\relax% \catcode13=5 % ^^M \endlinechar=13 % \catcode123=1 % { \catcode125=2 % } \catcode64=11 % @ \catcode35=6 % # \catcode44=12 % , \catcode45=12 % - \catcode46=12 % . \catcode58=12 % : \let\z\endgroup \expandafter\let\expandafter\x\csname ver@xintcore.sty\endcsname \expandafter\let\expandafter\w\csname ver@xintkernel.sty\endcsname \expandafter \ifx\csname PackageInfo\endcsname\relax \def\y#1#2{\immediate\write-1{Package #1 Info: #2.}}% \else \def\y#1#2{\PackageInfo{#1}{#2}}% \fi \expandafter \ifx\csname numexpr\endcsname\relax \y{xintcore}{\numexpr not available, aborting input}% \aftergroup\endinput \else \ifx\x\relax % plain-TeX, first loading of xintcore.sty \ifx\w\relax % but xintkernel.sty not yet loaded. \def\z{\endgroup\input xintkernel.sty\relax}% \fi \else \def\empty {}% \ifx\x\empty % LaTeX, first loading, % variable is initialized, but \ProvidesPackage not yet seen \ifx\w\relax % xintkernel.sty not yet loaded. \def\z{\endgroup\RequirePackage{xintkernel}}% \fi \else \aftergroup\endinput % xintkernel already loaded. \fi \fi \fi \z% \XINTsetupcatcodes% defined in xintkernel.sty \XINT_providespackage \ProvidesPackage{xintcore}% [2017/01/06 1.2k Expandable arithmetic on big integers (JFB)]% \ifdefined\m@ne\let\xint_c_mone\m@ne \else\csname newcount\endcsname\xint_c_mone \xint_c_mone -1 \fi \newcount\xint_c_x^viii \xint_c_x^viii 100000000 \newcount\xint_c_x^ix \xint_c_x^ix 1000000000 \newcount\xint_c_x^viii_mone \xint_c_x^viii_mone 99999999 \newcount\xint_c_xii_e_viii \xint_c_xii_e_viii 1200000000 \newcount\xint_c_xi_e_viii_mone \xint_c_xi_e_viii_mone 1099999999 \newcount\xint_c_xii_e_viii_mone\xint_c_xii_e_viii_mone 1199999999 \def\xintiNum {\romannumeral0\xintinum }% \def\xintinum #1% {% \expandafter\XINT_num_loop \romannumeral`&&@#1\xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\Z }% \let\xintNum\xintiNum \let\xintnum\xintinum \def\XINT_num #1% {% \XINT_num_loop #1\xint_relax\xint_relax\xint_relax\xint_relax \xint_relax\xint_relax\xint_relax\xint_relax\Z }% \def\XINT_num_loop #1#2#3#4#5#6#7#8% {% \xint_gob_til_xint_relax #8\XINT_num_end\xint_relax \XINT_num_NumEight #1#2#3#4#5#6#7#8% }% \edef\XINT_num_end\xint_relax\XINT_num_NumEight #1\xint_relax #2\Z {% \noexpand\expandafter\space\noexpand\the\numexpr #1+\xint_c_\relax }% \def\XINT_num_NumEight #1#2#3#4#5#6#7#8% {% \ifnum \numexpr #1#2#3#4#5#6#7#8+\xint_c_= \xint_c_ \xint_afterfi {\expandafter\XINT_num_keepsign_a \the\numexpr #1#2#3#4#5#6#7#81\relax}% \else \xint_afterfi {\expandafter\XINT_num_finish \the\numexpr #1#2#3#4#5#6#7#8\relax}% \fi }% \def\XINT_num_keepsign_a #1% {% \xint_gob_til_one#1\XINT_num_gobacktoloop 1\XINT_num_keepsign_b }% \def\XINT_num_gobacktoloop 1\XINT_num_keepsign_b {\XINT_num_loop }% \def\XINT_num_keepsign_b #1{\XINT_num_loop -}% \def\XINT_num_finish #1\xint_relax #2\Z { #1}% \edef\XINT_cuz_small #1#2#3#4#5#6#7#8% {% \noexpand\expandafter\space\noexpand\the\numexpr #1#2#3#4#5#6#7#8\relax }% \def\XINT_cuz #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #9\XINT_cuz_e \R \xint_gob_til_eightzeroes #1#2#3#4#5#6#7#8\XINT_cuz_z 00000000% \XINT_cuz_done #1#2#3#4#5#6#7#8#9% }% \def\XINT_cuz_z 00000000\XINT_cuz_done 00000000{\XINT_cuz }% \edef\XINT_cuz_done #1#2#3#4#5#6#7#8#9\R {\noexpand\expandafter\space\noexpand\the\numexpr #1#2#3#4#5#6#7#8\relax #9}% \edef\XINT_cuz_e\R #1\XINT_cuz_done #2\R {\noexpand\expandafter\space\noexpand\the\numexpr #2\relax }% \def\XINT_cuz_byviii #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #9\XINT_cuz_byviii_e \R \xint_gob_til_eightzeroes #1#2#3#4#5#6#7#8\XINT_cuz_byviii_z 00000000% \XINT_cuz_byviii_done #1#2#3#4#5#6#7#8#9% }% \def\XINT_cuz_byviii_z 00000000\XINT_cuz_byviii_done 00000000{\XINT_cuz_byviii}% \def\XINT_cuz_byviii_done #1\R { #1}% \def\XINT_cuz_byviii_e\R #1\XINT_cuz_byviii_done #2\R{ #2}% \def\XINT_zeroes_forviii #1#2#3#4#5#6#7#8% {% \xint_gob_til_R #8\XINT_zeroes_forviii_end\R\XINT_zeroes_forviii }% \edef\XINT_zeroes_forviii_end\R\XINT_zeroes_forviii #1#2#3#4#5#6#7#8#9\W {% \noexpand\expandafter\space\noexpand\xint_gob_til_one #2#3#4#5#6#7#8% }% \def\XINT_rsepbyviii #1#2#3#4#5#6#7#8% {% \XINT_rsepbyviii_b {#1#2#3#4#5#6#7#8}% }% \def\XINT_rsepbyviii_b #1#2#3#4#5#6#7#8#9% {% #2#3#4#5#6#7#8#9\expandafter!\the\numexpr 1#1\expandafter.\the\numexpr 1\XINT_rsepbyviii }% \def\XINT_rsepbyviii_end_B #1\relax #2#3{#2.}% \def\XINT_rsepbyviii_end_A #11#2\expandafter #3\relax #4#5{#2.1#5.}% \def\XINT_sepandrev {% \expandafter\XINT_sepandrev_a\the\numexpr 1\XINT_rsepbyviii }% \def\XINT_sepandrev_a {\XINT_sepandrev_b {}}% \def\XINT_sepandrev_b #1#2.#3.#4.#5.#6.#7.#8.#9.% {% \xint_gob_til_R #9\XINT_sepandrev_end\R \XINT_sepandrev_b {#9!#8!#7!#6!#5!#4!#3!#2!#1}% }% \def\XINT_sepandrev_end\R\XINT_sepandrev_b #1#2\W {\XINT_sepandrev_done #1}% \def\XINT_sepandrev_done #11#2!{ }% \def\XINT_sepandrev_andcount {% \expandafter\XINT_sepandrev_andcount_a\the\numexpr 1\XINT_rsepbyviii }% \def\XINT_sepandrev_andcount_a {\XINT_sepandrev_andcount_b 0.{}}% \def\XINT_sepandrev_andcount_b #1.#2#3.#4.#5.#6.#7.#8.#9.% {% \xint_gob_til_R #9\XINT_sepandrev_andcount_end\R \expandafter\XINT_sepandrev_andcount_b \the\numexpr #1+\xint_c_xiv.% {#9!#8!#7!#6!#5!#4!#3!#2}% }% \def\XINT_sepandrev_andcount_end\R \expandafter\XINT_sepandrev_andcount_b\the\numexpr #1+\xint_c_xiv.#2#3#4\W {\expandafter\XINT_sepandrev_andcount_done\the\numexpr \xint_c_ii*#3+#1.#2}% \edef\XINT_sepandrev_andcount_done #1.#21#3!% {\noexpand\expandafter\space\noexpand\the\numexpr #1-#3.}% \def\XINT_unrevbyviii #11#2!1#3!1#4!1#5!1#6!1#7!1#8!1#9!% {% \xint_gob_til_R #9\XINT_unrevbyviii_a\R \XINT_unrevbyviii {#9#8#7#6#5#4#3#2#1}% }% \edef\XINT_unrevbyviii_a\R\XINT_unrevbyviii #1#2\W {\noexpand\expandafter\space \noexpand\romannumeral`&&@\noexpand\xint_gob_til_Z #1}% \def\XINT_smallunrevbyviii 1#1!1#2!1#3!1#4!1#5!1#6!1#7!1#8!#9\W% {% \expandafter\XINT_cuz_small\xint_gob_til_Z #8#7#6#5#4#3#2#1% }% \def\XINT_sepbyviii_andcount {% \expandafter\XINT_sepbyviii_andcount_a\the\numexpr\XINT_sepbyviii }% \def\XINT_sepbyviii #1#2#3#4#5#6#7#8% {% 1#1#2#3#4#5#6#7#8\expandafter!\the\numexpr\XINT_sepbyviii }% \def\XINT_sepbyviii_end #1\relax {\relax\XINT_sepbyviii_andcount_end!}% \def\XINT_sepbyviii_andcount_a {\XINT_sepbyviii_andcount_b \xint_c_.}% \def\XINT_sepbyviii_andcount_b #1.#2!#3!#4!#5!#6!#7!#8!#9!% {% #2\expandafter!\the\numexpr#3\expandafter!\the\numexpr#4\expandafter !\the\numexpr#5\expandafter!\the\numexpr#6\expandafter!\the\numexpr #7\expandafter!\the\numexpr#8\expandafter!\the\numexpr#9\expandafter!\the\numexpr \expandafter\XINT_sepbyviii_andcount_b\the\numexpr #1+\xint_c_viii.% }% \def\XINT_sepbyviii_andcount_end #1\XINT_sepbyviii_andcount_b\the\numexpr #2+\xint_c_viii.#3#4\W {\expandafter.\the\numexpr #2+#3.}% \def\XINT_rev_nounsep #1#2!#3!#4!#5!#6!#7!#8!#9!% {% \xint_gob_til_R #9\XINT_rev_nounsep_end\R \XINT_rev_nounsep {#9!#8!#7!#6!#5!#4!#3!#2!#1}% }% \def\XINT_rev_nounsep_end\R\XINT_rev_nounsep #1#2\W {\XINT_rev_nounsep_done #1}% \def\XINT_rev_nounsep_done #11{ 1}% \def\XINT_sepbyviii_Z #1#2#3#4#5#6#7#8% {% 1#1#2#3#4#5#6#7#8\expandafter!\the\numexpr\XINT_sepbyviii_Z }% \def\XINT_sepbyviii_Z_end #1\relax {\relax\Z!}% \def\XINT_unsep_cuzsmall #11#2!1#3!1#4!1#5!1#6!1#7!1#8!1#9!% {% \xint_gob_til_R #9\XINT_unsep_cuzsmall_end\R \XINT_unsep_cuzsmall {#1#2#3#4#5#6#7#8#9}% }% \def\XINT_unsep_cuzsmall_end\R \XINT_unsep_cuzsmall #1{\XINT_unsep_cuzsmall_done #1}% \def\XINT_unsep_cuzsmall_done #1\R #2\W{\XINT_cuz_small #1}% \def\XINT_unsep_delim {1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W}% \def\XINT_div_unsepQ #11#2!1#3!1#4!1#5!1#6!1#7!1#8!1#9!% {% \xint_gob_til_R #9\XINT_div_unsepQ_end\R \XINT_div_unsepQ {#1#2#3#4#5#6#7#8#9}% }% \def\XINT_div_unsepQ_end\R\XINT_div_unsepQ #1{\XINT_div_unsepQ_x #1}% \def\XINT_div_unsepQ_x #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #9\XINT_div_unsepQ_e \R \xint_gob_til_eightzeroes #1#2#3#4#5#6#7#8\XINT_div_unsepQ_y 00000000% \expandafter\XINT_div_unsepQ_done \the\numexpr #1#2#3#4#5#6#7#8.#9% }% \def\XINT_div_unsepQ_e\R\xint_gob_til_eightzeroes #1\XINT_div_unsepQ_y #2\W {\the\numexpr #1\relax \Z}% \def\XINT_div_unsepQ_y #1.#2\R #3\W{\XINT_cuz_small #2\Z}% \def\XINT_div_unsepQ_done #1.#2\R #3\W { #1#2\Z}% \def\XINT_div_unsepR #11#2!1#3!1#4!1#5!1#6!1#7!1#8!1#9!% {% \xint_gob_til_R #9\XINT_div_unsepR_end\R \XINT_div_unsepR {#1#2#3#4#5#6#7#8#9}% }% \def\XINT_div_unsepR_end\R\XINT_div_unsepR #1{\XINT_div_unsepR_done #1}% \def\XINT_div_unsepR_done #1\R #2\W {\XINT_cuz #1\R}% \def\XINT_microrevsep #1#2#3#4#5#6#7#8% {% 1#8#7#6#5#4#3#2#1\expandafter!\the\numexpr\XINT_microrevsep }% \def\XINT_microrevsep_end #1\W #2\expandafter #3\Z{#2!}% \def\xintReverseDigits {\romannumeral0\xintreversedigits }% \def\xintreversedigits #1{\expandafter\XINT_reversedigits\romannumeral`&&@#1\Z}% \def\XINT_reversedigits #1% {% \xint_UDsignfork #1{\expandafter-\romannumeral0\XINT_reversedigits_a}% -{\XINT_reversedigits_a #1}% \krof }% \def\XINT_reversedigits_a #1\Z {% \expandafter\XINT_revdigits_a\the\numexpr\expandafter\XINT_microrevsep \romannumeral`&&@#1{\XINT_microrevsep_end\W}\XINT_microrevsep_end \XINT_microrevsep_end\XINT_microrevsep_end \XINT_microrevsep_end\XINT_microrevsep_end \XINT_microrevsep_end\XINT_microrevsep_end\Z 1\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W }% \def\XINT_revdigits_a {\XINT_revdigits_b {}}% \def\XINT_revdigits_b #11#2!1#3!1#4!1#5!1#6!1#7!1#8!1#9!% {% \xint_gob_til_R #9\XINT_revdigits_end\R \XINT_revdigits_b {#9#8#7#6#5#4#3#2#1}% }% \edef\XINT_revdigits_end\R\XINT_revdigits_b #1#2\W {\noexpand\expandafter\space\noexpand\xint_gob_til_Z #1}% \def\xintiiSgn {\romannumeral0\xintiisgn }% \def\xintiisgn #1% {% \expandafter\XINT_sgn \romannumeral`&&@#1\Z% }% \def\xintSgn {\romannumeral0\xintsgn }% \def\xintsgn #1% {% \expandafter\XINT_sgn \romannumeral0\xintnum{#1}\Z% }% \def\XINT_sgn #1#2\Z {% \xint_UDzerominusfork #1-{ 0}% 0#1{-1}% 0-{ 1}% \krof }% \def\XINT_Sgn #1#2\Z {% \xint_UDzerominusfork #1-{0}% 0#1{-1}% 0-{1}% \krof }% \def\XINT_cntSgn #1#2\Z {% \xint_UDzerominusfork #1-\xint_c_ 0#1\xint_c_mone 0-\xint_c_i \krof }% \def\xintiiOpp {\romannumeral0\xintiiopp }% \def\xintiiopp #1% {% \expandafter\XINT_opp \romannumeral`&&@#1% }% \def\xintiOpp {\romannumeral0\xintiopp }% \def\xintiopp #1% {% \expandafter\XINT_opp \romannumeral0\xintnum{#1}% }% \def\XINT_Opp #1{\romannumeral0\XINT_opp #1}% \def\XINT_opp #1% {% \xint_UDzerominusfork #1-{ 0}% zero 0#1{ }% negative 0-{ -#1}% positive \krof }% \def\xintiiAbs {\romannumeral0\xintiiabs }% \def\xintiiabs #1% {% \expandafter\XINT_abs \romannumeral`&&@#1% }% \def\xintiAbs {\romannumeral0\xintiabs }% \def\xintiabs #1% {% \expandafter\XINT_abs \romannumeral0\xintnum{#1}% }% \def\XINT_abs #1% {% \xint_UDsignfork #1{ }% -{ #1}% \krof }% \def\xintiiFDg {\romannumeral0\xintiifdg }% \def\xintiifdg #1% {% \expandafter\XINT_fdg \romannumeral`&&@#1\W\Z }% \def\xintFDg {\romannumeral0\xintfdg }% \def\xintfdg #1% {% \expandafter\XINT_fdg \romannumeral0\xintnum{#1}\W\Z }% \def\XINT_FDg #1{\romannumeral0\XINT_fdg #1\W\Z }% \def\XINT_fdg #1#2#3\Z {% \xint_UDzerominusfork #1-{ 0}% zero 0#1{ #2}% negative 0-{ #1}% positive \krof }% \def\xintLDg {\romannumeral0\xintldg }% \def\xintldg #1{\expandafter\XINT_ldg_fork\romannumeral0\xintnum{#1}% \XINT_ldg_c{}{}{}{}{}{}{}{}\xint_bye\relax}% \def\xintiiLDg {\romannumeral0\xintiildg }% \def\xintiildg #1{\expandafter\XINT_ldg_fork\romannumeral`&&@#1% \XINT_ldg_c{}{}{}{}{}{}{}{}\xint_bye\relax}% \def\XINT_ldg_fork #1% {% \xint_UDsignfork #1\XINT_ldg -{\XINT_ldg#1}% \krof }% \edef\XINT_ldg #1#2#3#4#5#6#7#8#9% {\noexpand\expandafter\space \noexpand\the\numexpr#9#8#7#6#5#4#3#2#1*\xint_c_+\noexpand\XINT_ldg_a#9}% \def\XINT_ldg_a#1#2{\XINT_ldg_cbye#2\XINT_ldg_d#1\XINT_ldg_c\XINT_ldg_b#2}% \def\XINT_ldg_b#1#2#3#4#5#6#7#8#9{#9#8#7#6#5#4#3#2#1*\xint_c_+\XINT_ldg_a#9}% \def\XINT_ldg_c #1#2\xint_bye{#1}% \def\XINT_ldg_cbye #1\XINT_ldg_c{}% \def\XINT_ldg_d#1#2\xint_bye{#1}% \def\xintDouble {\romannumeral0\xintdouble}% \def\xintdouble #1{\expandafter\XINT_dbl_fork\romannumeral`&&@#1% \xint_bye2345678\xint_bye*\xint_c_ii\relax}% \def\XINT_dbl_fork #1% {% \xint_UDsignfork #1\XINT_dbl_neg -\XINT_dbl \krof #1% }% \def\XINT_dbl_neg-{\expandafter-\romannumeral0\XINT_dbl}% \def\XINT_dbl #1#2#3#4#5#6#7#8% {\expandafter\space\the\numexpr#1#2#3#4#5#6#7#8\XINT_dbl_a}% \def\XINT_dbl_a #1#2#3#4#5#6#7#8% {\expandafter\XINT_dbl_e\the\numexpr 1#1#2#3#4#5#6#7#8\XINT_dbl_a}% \def\XINT_dbl_e#1{*\xint_c_ii\if#13+\xint_c_i\fi\relax}% \def\xintHalf {\romannumeral0\xinthalf}% \def\xinthalf #1{\expandafter\XINT_half_fork\romannumeral`&&@#1% \xint_bye\xint_Bye345678\xint_bye *\xint_c_v+\xint_c_v)/\xint_c_x-\xint_c_i\relax}% \def\XINT_half_fork #1% {% \xint_UDsignfork #1\XINT_half_neg -\XINT_half \krof #1% }% \def\XINT_half_neg-{\xintiiopp\XINT_half}% \def\XINT_half #1#2#3#4#5#6#7#8% {\expandafter\space\the\numexpr(#1#2#3#4#5#6#7#8\XINT_half_a}% \def\XINT_half_a#1{\xint_Bye#1\xint_bye\XINT_half_b#1}% \def\XINT_half_b #1#2#3#4#5#6#7#8% {\expandafter\XINT_half_e\the\numexpr(1#1#2#3#4#5#6#7#8\XINT_half_a}% \def\XINT_half_e#1{*\xint_c_v+#1-\xint_c_v)\relax}% \def\xintInc {\romannumeral0\xintinc}% \def\xintinc #1{\expandafter\XINT_inc_fork\romannumeral`&&@#1% \xint_bye23456789\xint_bye+\xint_c_i\relax}% \def\XINT_inc_fork #1% {% \xint_UDsignfork #1\XINT_inc_neg -\XINT_inc \krof #1% }% \def\XINT_inc_neg-#1\xint_bye#2\relax {\xintiiopp\XINT_dec #1\XINT_dec_bye234567890\xint_bye}% \def\XINT_inc #1#2#3#4#5#6#7#8#9% {\expandafter\space\the\numexpr#1#2#3#4#5#6#7#8#9\XINT_inc_a}% \def\XINT_inc_a #1#2#3#4#5#6#7#8#9% {\expandafter\XINT_inc_e\the\numexpr 1#1#2#3#4#5#6#7#8#9\XINT_inc_a}% \def\XINT_inc_e#1{\if#12+\xint_c_i\fi\relax}% \def\xintDec {\romannumeral0\xintdec}% \def\xintdec #1{\expandafter\XINT_dec_fork\romannumeral`&&@#1% \XINT_dec_bye234567890\xint_bye}% \def\XINT_dec_fork #1% {% \xint_UDsignfork #1\XINT_dec_neg -\XINT_dec \krof #1% }% \def\XINT_dec_neg-#1\XINT_dec_bye#2\xint_bye {\expandafter-% \romannumeral0\XINT_inc #1\xint_bye23456789\xint_bye+\xint_c_i\relax}% \def\XINT_dec #1#2#3#4#5#6#7#8#9% {\expandafter\space\the\numexpr#1#2#3#4#5#6#7#8#9\XINT_dec_a}% \def\XINT_dec_a #1#2#3#4#5#6#7#8#9% {\expandafter\XINT_dec_e\the\numexpr 1#1#2#3#4#5#6#7#8#9\XINT_dec_a}% \def\XINT_dec_bye #1\XINT_dec_a#2#3\xint_bye {\if#20-\xint_c_ii\relax+\else-\fi\xint_c_i\relax}% \def\XINT_dec_e#1{\unless\if#11\xint_dothis{-\xint_c_i#1}\fi\xint_orthat\relax}% \def\xintDSL {\romannumeral0\xintdsl }% \def\xintdsl #1{\expandafter\XINT_dsl\romannumeral`&&@#10}% \edef\XINT_dsl #1% {\noexpand\xint_gob_til_zero #1\noexpand\xint_dsl_zero 0\space #1}% \def\xint_dsl_zero 0 0{ }% \def\xintDSR{\romannumeral0\xintdsr}% \def\xintdsr #1{\expandafter\XINT_dsr_fork\romannumeral`&&@#1% \xint_bye\xint_Bye3456789\xint_bye+\xint_c_v)/\xint_c_x-\xint_c_i\relax}% \def\XINT_dsr_fork #1% {% \xint_UDsignfork #1\XINT_dsr_neg -\XINT_dsr \krof #1% }% \def\XINT_dsr_neg-{\xintiiopp\XINT_dsr}% \def\XINT_dsr #1#2#3#4#5#6#7#8#9% {\expandafter\space\the\numexpr(#1#2#3#4#5#6#7#8#9\XINT_dsr_a}% \def\XINT_dsr_a#1{\xint_Bye#1\xint_bye\XINT_dsr_b#1}% \def\XINT_dsr_b #1#2#3#4#5#6#7#8#9% {\expandafter\XINT_dsr_e\the\numexpr(1#1#2#3#4#5#6#7#8#9\XINT_dsr_a}% \def\XINT_dsr_e #1{)\relax}% \def\xintDSRr{\romannumeral0\xintdsrr}% \def\xintdsrr #1{\expandafter\XINT_dsrr_fork\romannumeral`&&@#1% \xint_bye\xint_Bye3456789\xint_bye/\xint_c_x\relax}% \def\XINT_dsrr_fork #1% {% \xint_UDsignfork #1\XINT_dsrr_neg -\XINT_dsrr \krof #1% }% \def\XINT_dsrr_neg-{\xintiiopp\XINT_dsrr}% \def\XINT_dsrr #1#2#3#4#5#6#7#8#9% {\expandafter\space\the\numexpr#1#2#3#4#5#6#7#8#9\XINT_dsrr_a}% \def\XINT_dsrr_a#1{\xint_Bye#1\xint_bye\XINT_dsrr_b#1}% \def\XINT_dsrr_b #1#2#3#4#5#6#7#8#9% {\expandafter\XINT_dsrr_e\the\numexpr1#1#2#3#4#5#6#7#8#9\XINT_dsrr_a}% \let\XINT_dsrr_e\XINT_inc_e \def\xintiAdd {\romannumeral0\xintiadd }% \def\xintiadd #1{\expandafter\XINT_iadd\romannumeral0\xintnum{#1}\Z }% \def\xintiiAdd {\romannumeral0\xintiiadd }% \def\xintiiadd #1{\expandafter\XINT_iiadd\romannumeral`&&@#1\Z }% \def\XINT_iiadd #1#2\Z #3% {% \expandafter\XINT_add_nfork\expandafter #1\romannumeral`&&@#3\Z #2\Z }% \def\XINT_iadd #1#2\Z #3% {% \expandafter\XINT_add_nfork\expandafter #1\romannumeral0\xintnum{#3}\Z #2\Z }% \def\XINT_add_fork #1#2\Z #3\Z {\XINT_add_nfork #1#3\Z #2\Z}% \def\XINT_add_nfork #1#2% {% \xint_UDzerofork #1\XINT_add_firstiszero #2\XINT_add_secondiszero 0{}% \krof \xint_UDsignsfork #1#2\XINT_add_minusminus #1-\XINT_add_minusplus #2-\XINT_add_plusminus --\XINT_add_plusplus \krof #1#2% }% \def\XINT_add_firstiszero #1\krof 0#2#3\Z #4\Z { #2#3}% \def\XINT_add_secondiszero #1\krof #20#3\Z #4\Z { #2#4}% \def\XINT_add_minusminus #1#2% {\expandafter-\romannumeral0\XINT_add_pp_a {}{}}% \def\XINT_add_minusplus #1#2{\XINT_sub_mm_a {}#2}% \def\XINT_add_plusminus #1#2% {\expandafter\XINT_opp\romannumeral0\XINT_sub_mm_a #1{}}% \def\XINT_add_pp_a #1#2#3\Z {% \expandafter\XINT_add_pp_b \romannumeral0\expandafter\XINT_sepandrev_andcount \romannumeral0\XINT_zeroes_forviii #2#3\R\R\R\R\R\R\R\R{10}0000001\W #2#3\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W \X #1% }% \let\XINT_add_plusplus \XINT_add_pp_a \def\XINT_add_pp_b #1.#2\X #3\Z {% \expandafter\XINT_add_checklengths \the\numexpr #1\expandafter.% \romannumeral0\expandafter\XINT_sepandrev_andcount \romannumeral0\XINT_zeroes_forviii #3\R\R\R\R\R\R\R\R{10}0000001\W #3\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W 1\Z!1\Z!1\Z!1\Z!\W #21\Z!1\Z!1\Z!1\Z!\W 1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W }% \def\XINT_add_checklengths #1.#2.% {% \ifnum #2>#1 \expandafter\XINT_add_exchange \else \expandafter\XINT_add_A \fi #1.#2.% }% \def\XINT_add_exchange #1.#2.#3\W #4\W {% \XINT_add_A #2.#1.#4\W #3\W }% \def\XINT_add_A #1.#2.% {% \ifnum #1>\xint_c_vi \expandafter\XINT_add_aa \else \expandafter\XINT_add_aa_small \fi }% \def\XINT_add_aa {\expandafter\XINT_add_out\the\numexpr\XINT_add_a \xint_c_ii}% \def\XINT_add_out{\expandafter\XINT_cuz_small\romannumeral0\XINT_unrevbyviii {}}% \def\XINT_add_aa_small {\expandafter\XINT_smallunrevbyviii\the\numexpr\XINT_add_a \xint_c_ii}% \def\XINT_add_a #1!#2!#3!#4!#5\W #6!#7!#8!#9!% {% \XINT_add_b #1!#6!#2!#7!#3!#8!#4!#9!#5\W }% \def\XINT_add_b #11#2#3!#4!% {% \xint_gob_til_Z #2\XINT_add_bi \Z \expandafter\XINT_add_c\the\numexpr#1+1#2#3+#4-\xint_c_ii.% }% \def\XINT_add_bi\Z\expandafter\XINT_add_c \the\numexpr#1+#2+#3-\xint_c_ii.#4!#5!#6!#7!#8!#9!\W {% \XINT_add_k #1#3!#5!#7!#9!% }% \def\XINT_add_c #1#2.% {% 1#2\expandafter!\the\numexpr\XINT_add_d #1% }% \def\XINT_add_d #11#2#3!#4!% {% \xint_gob_til_Z #2\XINT_add_di \Z \expandafter\XINT_add_e\the\numexpr#1+1#2#3+#4-\xint_c_ii.% }% \def\XINT_add_di\Z\expandafter\XINT_add_e \the\numexpr#1+#2+#3-\xint_c_ii.#4!#5!#6!#7!#8\W {% \XINT_add_k #1#3!#5!#7!% }% \def\XINT_add_e #1#2.% {% 1#2\expandafter!\the\numexpr\XINT_add_f #1% }% \def\XINT_add_f #11#2#3!#4!% {% \xint_gob_til_Z #2\XINT_add_fi \Z \expandafter\XINT_add_g\the\numexpr#1+1#2#3+#4-\xint_c_ii.% }% \def\XINT_add_fi\Z\expandafter\XINT_add_g \the\numexpr#1+#2+#3-\xint_c_ii.#4!#5!#6\W {% \XINT_add_k #1#3!#5!% }% \def\XINT_add_g #1#2.% {% 1#2\expandafter!\the\numexpr\XINT_add_h #1% }% \def\XINT_add_h #11#2#3!#4!% {% \xint_gob_til_Z #2\XINT_add_hi \Z \expandafter\XINT_add_i\the\numexpr#1+1#2#3+#4-\xint_c_ii.% }% \def\XINT_add_hi\Z \expandafter\XINT_add_i\the\numexpr#1+#2+#3-\xint_c_ii.#4\W {% \XINT_add_k #1#3!% }% \def\XINT_add_i #1#2.% {% 1#2\expandafter!\the\numexpr\XINT_add_a #1% }% \def\XINT_add_k #1{\if #12\expandafter\XINT_add_ke\else\expandafter\XINT_add_l \fi}% \def\XINT_add_ke #11\Z #2\W {\XINT_add_kf #11\Z!}% \def\XINT_add_kf 1{1\relax }% \def\XINT_add_l 1#1#2{\xint_gob_til_Z #1\XINT_add_lf \Z \XINT_add_m 1#1#2}% \def\XINT_add_lf #1\W {1\relax 00000001!1\Z!}% \def\XINT_add_m #1!{\expandafter\XINT_add_n\the\numexpr\xint_c_i+#1.}% \def\XINT_add_n #1#2.{1#2\expandafter!\the\numexpr\XINT_add_o #1}% \def\XINT_add_o #1{\if #12\expandafter\XINT_add_l\else\expandafter\XINT_add_ke \fi}% \def\xintiiSub {\romannumeral0\xintiisub }% \def\xintiisub #1{\expandafter\XINT_iisub\romannumeral`&&@#1\Z }% \def\XINT_iisub #1#2\Z #3% {% \expandafter\XINT_sub_nfork\expandafter #1\romannumeral`&&@#3\Z #2\Z }% \def\xintiSub {\romannumeral0\xintisub }% \def\xintisub #1{\expandafter\XINT_isub\romannumeral0\xintnum{#1}\Z }% \def\XINT_isub #1#2\Z #3% {% \expandafter\XINT_sub_nfork\expandafter #1\romannumeral0\xintnum{#3}\Z #2\Z }% \def\XINT_sub_nfork #1#2% {% \xint_UDzerofork #1\XINT_sub_firstiszero #2\XINT_sub_secondiszero 0{}% \krof \xint_UDsignsfork #1#2\XINT_sub_minusminus #1-\XINT_sub_minusplus #2-\XINT_sub_plusminus --\XINT_sub_plusplus \krof #1#2% }% \def\XINT_sub_firstiszero #1\krof 0#2#3\Z #4\Z {\XINT_opp #2#3}% \def\XINT_sub_secondiszero #1\krof #20#3\Z #4\Z { #2#4}% \def\XINT_sub_plusminus #1#2{\XINT_add_pp_a #1{}}% \def\XINT_sub_plusplus #1#2% {\expandafter\XINT_opp\romannumeral0\XINT_sub_mm_a #1#2}% \def\XINT_sub_minusplus #1#2% {\expandafter-\romannumeral0\XINT_add_pp_a {}#2}% \def\XINT_sub_minusminus #1#2{\XINT_sub_mm_a {}{}}% \def\XINT_sub_mm_a #1#2#3\Z {% \expandafter\XINT_sub_mm_b \romannumeral0\expandafter\XINT_sepandrev_andcount \romannumeral0\XINT_zeroes_forviii #2#3\R\R\R\R\R\R\R\R{10}0000001\W #2#3\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W \X #1% }% \def\XINT_sub_mm_b #1.#2\X #3\Z {% \expandafter\XINT_sub_checklengths \the\numexpr #1\expandafter.% \romannumeral0\expandafter\XINT_sepandrev_andcount \romannumeral0\XINT_zeroes_forviii #3\R\R\R\R\R\R\R\R{10}0000001\W #3\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax \xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W \Z!\Z!\Z!\Z!\W #2\Z!\Z!\Z!\Z!\W }% \def\XINT_sub_checklengths #1.#2.% {% \ifnum #2>#1 \expandafter\XINT_sub_exchange \else \expandafter\XINT_sub_aa \fi }% \def\XINT_sub_exchange #1\W #2\W {% \expandafter\XINT_opp\romannumeral0\XINT_sub_aa #2\W #1\W }% \def\XINT_sub_aa {\expandafter\XINT_sub_out\the\numexpr\XINT_sub_a \xint_c_i }% \def\XINT_sub_out #1\Z #2#3\W {% \if-#2\expandafter\XINT_sub_startrescue\fi \expandafter\XINT_cuz_small \romannumeral0\XINT_unrevbyviii {}#11\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W }% \def\XINT_sub_a #1!#2!#3!#4!#5\W #6!#7!#8!#9!% {% \XINT_sub_b #1!#6!#2!#7!#3!#8!#4!#9!#5\W }% \def\XINT_sub_b #1#2#3!#4!% {% \xint_gob_til_Z #2\XINT_sub_bi \Z \expandafter\XINT_sub_c\the\numexpr#1+1#4-#3-\xint_c_i.% }% \def\XINT_sub_c 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_sub_d #1% }% \def\XINT_sub_d #1#2#3!#4!% {% \xint_gob_til_Z #2\XINT_sub_di \Z \expandafter\XINT_sub_e\the\numexpr#1+1#4-#3-\xint_c_i.% }% \def\XINT_sub_e 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_sub_f #1% }% \def\XINT_sub_f #1#2#3!#4!% {% \xint_gob_til_Z #2\XINT_sub_fi \Z \expandafter\XINT_sub_g\the\numexpr#1+1#4-#3-\xint_c_i.% }% \def\XINT_sub_g 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_sub_h #1% }% \def\XINT_sub_h #1#2#3!#4!% {% \xint_gob_til_Z #2\XINT_sub_hi \Z \expandafter\XINT_sub_i\the\numexpr#1+1#4-#3-\xint_c_i.% }% \def\XINT_sub_i 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_sub_a #1% }% \def\XINT_sub_bi\Z \expandafter\XINT_sub_c\the\numexpr#1+1#2-#3.#4!#5!#6!#7!#8!#9!\W {% \XINT_sub_k #1#2!#5!#7!#9!% }% \def\XINT_sub_di\Z \expandafter\XINT_sub_e\the\numexpr#1+1#2-#3.#4!#5!#6!#7!#8\W {% \XINT_sub_k #1#2!#5!#7!% }% \def\XINT_sub_fi\Z \expandafter\XINT_sub_g\the\numexpr#1+1#2-#3.#4!#5!#6\W {% \XINT_sub_k #1#2!#5!% }% \def\XINT_sub_hi\Z \expandafter\XINT_sub_i\the\numexpr#1+1#2-#3.#4\W {% \XINT_sub_k #1#2!% }% \def\XINT_sub_k #1#2% {% \xint_gob_til_Z #2\XINT_sub_p\Z \XINT_sub_l #1#2% }% \def\XINT_sub_l #1{\xint_UDzerofork #1\XINT_sub_l_carry 0\XINT_sub_l_nocarry\krof}% \def\XINT_sub_l_nocarry 1{1\relax }% \def\XINT_sub_l_carry 1#1!{\ifcase #1 \expandafter \XINT_sub_l_zeroa\or\expandafter\XINT_sub_l_one\else \expandafter \XINT_sub_l_done\fi 1#1!}% \def\XINT_sub_l_done {-\xint_c_i+}% \def\XINT_sub_l_one 1#1!#2% {% \xint_gob_til_Z #2\XINT_sub_l_oneone\Z 1\relax 00000000!#2% }% \def\XINT_sub_l_oneone #1\W {1\relax \XINT_cuz_byviii!\Z 0\W\R }% \def\XINT_sub_l_zeroa 1#1!{199999999\expandafter!\the\numexpr \XINT_sub_l_zerob }% \def\XINT_sub_l_zerob 1#1!{\ifcase #1 \expandafter \XINT_sub_l_zeroa\or\expandafter\XINT_sub_l_zone\else \expandafter \XINT_sub_l_done\fi 1#1!}% \def\XINT_sub_l_zone 1#1!#2% {% \xint_gob_til_Z #2\XINT_sub_l_zoneone\Z 1\relax 00000000!#2% }% \def\XINT_sub_l_zoneone\Z 1\relax 00000000{1}% \def\XINT_sub_p\Z\XINT_sub_l #1#2\W {% \xint_UDzerofork #1{-1\relax\Z -\W}% 0{1\relax \XINT_cuz_byviii!\Z 0\W\R }% \krof }% \def\XINT_sub_startrescue\expandafter\XINT_cuz_small \romannumeral0\XINT_unrevbyviii #1#2\Z!#3\W {% \expandafter\XINT_sub_rescue_finish \the\numexpr\XINT_sub_rescue_a #2!% 1\Z!1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W \R }% \def\XINT_sub_rescue_finish {\expandafter-\romannumeral0\expandafter\XINT_cuz\romannumeral0\XINT_unrevbyviii {}}% \def\XINT_sub_rescue_a #1!% {% \expandafter\XINT_sub_rescue_c\the\numexpr \xint_c_xii_e_viii-#1.% }% \def\XINT_sub_rescue_c 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_sub_rescue_d #1% }% \def\XINT_sub_rescue_d #1#2#3!% {% \xint_gob_til_minus #2\XINT_sub_rescue_z -% \expandafter\XINT_sub_rescue_c\the\numexpr \xint_c_xii_e_viii_mone-#2#3+#1.% }% \def\XINT_sub_rescue_z #1.{1!}% \def\xintiMul {\romannumeral0\xintimul }% \def\xintimul #1% {% \expandafter\XINT_imul\romannumeral0\xintnum{#1}\Z }% \def\XINT_imul #1#2\Z #3% {% \expandafter\XINT_mul_nfork\expandafter #1\romannumeral0\xintnum{#3}\Z #2\Z }% \def\xintiiMul {\romannumeral0\xintiimul }% \def\xintiimul #1% {% \expandafter\XINT_iimul\romannumeral`&&@#1\Z }% \def\XINT_iimul #1#2\Z #3% {% \expandafter\XINT_mul_nfork\expandafter #1\romannumeral`&&@#3\Z #2\Z }% \def\XINT_mul_fork #1#2\Z #3\Z{\XINT_mul_nfork #1#3\Z #2\Z}% \def\XINT_mul_nfork #1#2% {% \xint_UDzerofork #1\XINT_mul_zero #2\XINT_mul_zero 0{}% \krof \xint_UDsignsfork #1#2\XINT_mul_minusminus #1-\XINT_mul_minusplus #2-\XINT_mul_plusminus --\XINT_mul_plusplus \krof #1#2% }% \def\XINT_mul_zero #1\krof #2#3\Z #4\Z { 0}% \def\XINT_mul_minusminus #1#2{\XINT_mul_plusplus {}{}}% \def\XINT_mul_minusplus #1#2% {\expandafter-\romannumeral0\XINT_mul_plusplus {}#2}% \def\XINT_mul_plusminus #1#2% {\expandafter-\romannumeral0\XINT_mul_plusplus #1{}}% \def\XINT_mul_plusplus #1#2#3\Z {% \expandafter\XINT_mul_pre_b \romannumeral0\expandafter\XINT_sepandrev_andcount \romannumeral0\XINT_zeroes_forviii #2#3\R\R\R\R\R\R\R\R{10}0000001\W #2#3\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W \W #1% }% \def\XINT_mul_pre_b #1.#2\W #3\Z {% \expandafter\XINT_mul_checklengths \the\numexpr #1\expandafter.% \romannumeral0\expandafter\XINT_sepandrev_andcount \romannumeral0\XINT_zeroes_forviii #3\R\R\R\R\R\R\R\R{10}0000001\W #3\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W 1\Z!\W #21\Z!% 1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W }% \def\XINT_mul_checklengths #1.#2.% {% \ifnum #2=\xint_c_i\expandafter\XINT_mul_smallbyfirst\fi \ifnum #1=\xint_c_i\expandafter\XINT_mul_smallbysecond\fi \ifnum #2<#1 \ifnum \numexpr (#2-\xint_c_i)*(#1-#2)<383 \XINT_mul_exchange \fi \else \ifnum \numexpr (#1-\xint_c_i)*(#2-#1)>383 \XINT_mul_exchange \fi \fi \XINT_mul_start }% \def\XINT_mul_smallbyfirst #1\XINT_mul_start 1#2!1\Z!\W {% \ifnum#2=\xint_c_i\expandafter\XINT_mul_oneisone\fi \ifnum#2<\xint_c_xxii\expandafter\XINT_mul_verysmall\fi \expandafter\XINT_mul_out\the\numexpr\XINT_smallmul 1#2!% }% \def\XINT_mul_smallbysecond #1\XINT_mul_start #2\W 1#3!1\Z!% {% \ifnum#3=\xint_c_i\expandafter\XINT_mul_oneisone\fi \ifnum#3<\xint_c_xxii\expandafter\XINT_mul_verysmall\fi \expandafter\XINT_mul_out\the\numexpr\XINT_smallmul 1#3!#2% }% \def\XINT_mul_oneisone #1!{\XINT_mul_out }% \def\XINT_mul_verysmall\expandafter\XINT_mul_out \the\numexpr\XINT_smallmul 1#1!% {\expandafter\XINT_mul_out\the\numexpr\XINT_verysmallmul 0.#1!}% \def\XINT_mul_exchange #1\XINT_mul_start #2\W #31\Z!% {\fi\fi\XINT_mul_start #31\Z!\W #2}% \def\XINT_mul_start {\expandafter\XINT_mul_out\the\numexpr\XINT_mul_loop 100000000!1\Z!\W}% \def\XINT_mul_out {\expandafter\XINT_cuz_small\romannumeral0\XINT_unrevbyviii {}}% \def\XINT_mul_loop #1\W #2\W 1#3!% {% \xint_gob_til_Z #3\XINT_mul_e \Z \expandafter\XINT_mul_a\the\numexpr \XINT_smallmul 1#3!#2\W #1\W #2\W }% \def\XINT_mul_a #1\W #2\W {% \expandafter\XINT_mul_b\the\numexpr \XINT_add_a \xint_c_ii #21\Z!1\Z!1\Z!\W #11\Z!1\Z!1\Z!\W\W }% \def\XINT_mul_b 1#1!{1#1\expandafter!\the\numexpr\XINT_mul_loop }% \def\XINT_mul_e\Z #1\W 1#2\W #3\W {1\relax #2}% \def\XINT_minimulwc_a 1#1.#2.#3!#4#5#6#7#8.% {% \expandafter\XINT_minimulwc_b \the\numexpr \xint_c_x^ix+#1+#3*#8.#3*#4#5#6#7+#2*#8.#2*#4#5#6#7.% }% \def\XINT_minimulwc_b 1#1#2#3#4#5#6.#7.% {% \expandafter\XINT_minimulwc_c \the\numexpr \xint_c_x^ix+#1#2#3#4#5+#7.#6.% }% \def\XINT_minimulwc_c 1#1#2#3#4#5#6.#7.#8.% {% 1#6#7\expandafter!% \the\numexpr\expandafter\XINT_smallmul_a \the\numexpr \xint_c_x^viii+#1#2#3#4#5+#8.% }% \def\XINT_smallmul 1#1#2#3#4#5!{\XINT_smallmul_a 100000000.#1#2#3#4.#5!}% \def\XINT_smallmul_a #1.#2.#3!1#4!% {% \xint_gob_til_Z #4\XINT_smallmul_e\Z \XINT_minimulwc_a #1.#2.#3!#4.#2.#3!% }% \def\XINT_smallmul_e\Z\XINT_minimulwc_a 1#1.#2\Z #3!% {\xint_gob_til_eightzeroes #1\XINT_smallmul_f 000000001\relax #1!1\Z!}% \def\XINT_smallmul_f 000000001\relax 00000000!1{1\relax}% \def\XINT_verysmallmul #1.#2!1#3!% {% \xint_gob_til_Z #3\XINT_verysmallmul_e\Z \expandafter\XINT_verysmallmul_a \the\numexpr #2*#3+#1.#2!% }% \def\XINT_verysmallmul_e\Z\expandafter\XINT_verysmallmul_a\the\numexpr #1+#2#3.#4!% {\xint_gob_til_zero #2\XINT_verysmallmul_f 0\xint_c_x^viii+#2#3!1\Z!}% \def\XINT_verysmallmul_f #1!1{1\relax}% \def\XINT_verysmallmul_a #1#2.% {% \unless\ifnum #1#2<\xint_c_x^ix \expandafter\XINT_verysmallmul_bi\else \expandafter\XINT_verysmallmul_bj\fi \the\numexpr \xint_c_x^ix+#1#2.% }% \def\XINT_verysmallmul_bj{\expandafter\XINT_verysmallmul_cj }% \def\XINT_verysmallmul_cj 1#1#2.% {1#2\expandafter!\the\numexpr\XINT_verysmallmul #1.}% \def\XINT_verysmallmul_bi\the\numexpr\xint_c_x^ix+#1#2#3.% {1#3\expandafter!\the\numexpr\XINT_verysmallmul #1#2.}% \def\XINT_minimul_a #1.#2!#3#4#5#6#7!% {% \expandafter\XINT_minimul_b \the\numexpr \xint_c_x^viii+#2*#7.#2*#3#4#5#6+#1*#7.#1*#3#4#5#6.% }% \def\XINT_minimul_b 1#1#2#3#4#5.#6.% {% \expandafter\XINT_minimul_c \the\numexpr \xint_c_x^ix+#1#2#3#4+#6.#5.% }% \def\XINT_minimul_c 1#1#2#3#4#5#6.#7.#8.% {% 1#6#7\expandafter!\the\numexpr \xint_c_x^viii+#1#2#3#4#5+#8!% }% \def\xintiiSqr {\romannumeral0\xintiisqr }% \def\xintiisqr #1% {% \expandafter\XINT_sqr\romannumeral0\xintiiabs{#1}\Z }% \def\xintiSqr {\romannumeral0\xintisqr }% \def\xintisqr #1% {% \expandafter\XINT_sqr\romannumeral0\xintiabs{#1}\Z }% \def\XINT_sqr #1\Z {% \expandafter\XINT_sqr_a \romannumeral0\expandafter\XINT_sepandrev_andcount \romannumeral0\XINT_zeroes_forviii #1\R\R\R\R\R\R\R\R{10}0000001\W #1\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax\xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W \Z }% \def\XINT_sqr_a #1.% {% \ifnum #1=\xint_c_i \expandafter\XINT_sqr_small \else\expandafter\XINT_sqr_start\fi }% \def\XINT_sqr_small 1#1#2#3#4#5!\Z {% \ifnum #1#2#3#4#5<46341 \expandafter\XINT_sqr_verysmall\fi \expandafter\XINT_sqr_small_out \the\numexpr\XINT_minimul_a #1#2#3#4.#5!#1#2#3#4#5!% }% \edef\XINT_sqr_verysmall \expandafter\XINT_sqr_small_out\the\numexpr\XINT_minimul_a #1!#2!% {\noexpand\expandafter\space\noexpand\the\numexpr #2*#2\relax}% \def\XINT_sqr_small_out 1#1!1#2!% {% \XINT_cuz #2#1\R }% \def\XINT_sqr_start #1\Z {% \expandafter\XINT_mul_out \the\numexpr\XINT_mul_loop 100000000!1\Z!\W #11\Z!\W #11\Z!% 1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W }% \def\xintiiPow {\romannumeral0\xintiipow }% \def\xintiipow #1#2% {% \expandafter\xint_pow\the\numexpr #2\expandafter.\romannumeral`&&@#1\Z% }% \def\xintiPow {\romannumeral0\xintipow }% \def\xintipow #1#2% {% \expandafter\xint_pow\the\numexpr #2\expandafter.\romannumeral0\xintnum{#1}\Z% }% \def\xint_pow #1.#2%#3\Z {% \xint_UDzerominusfork #2-\XINT_pow_AisZero 0#2\XINT_pow_Aneg 0-{\XINT_pow_Apos #2}% \krof {#1}% }% \def\XINT_pow_AisZero #1#2\Z {% \ifcase\XINT_cntSgn #1\Z \xint_afterfi { 1}% \or \xint_afterfi { 0}% \else \xint_afterfi {\xintError:DivisionByZero\space 0}% \fi }% \def\XINT_pow_Aneg #1% {% \ifodd #1 \expandafter\XINT_opp\romannumeral0% \fi \XINT_pow_Apos {}{#1}% }% \def\XINT_pow_Apos #1#2{\XINT_pow_Apos_a {#2}#1}% \def\XINT_pow_Apos_a #1#2#3% {% \xint_gob_til_Z #3\XINT_pow_Apos_short\Z \XINT_pow_AatleastTwo {#1}#2#3% }% \def\XINT_pow_Apos_short\Z\XINT_pow_AatleastTwo #1#2\Z {% \ifcase #2 \xintError:thiscannothappen! \or \expandafter\XINT_pow_AisOne \else\expandafter\XINT_pow_AatleastTwo \fi {#1}#2\Z }% \def\XINT_pow_AisOne #1\Z{ 1}% \def\XINT_pow_AatleastTwo #1% {% \ifcase\XINT_cntSgn #1\Z \expandafter\XINT_pow_BisZero \or \expandafter\XINT_pow_I_in \else \expandafter\XINT_pow_BisNegative \fi {#1}% }% \edef\XINT_pow_BisNegative #1\Z {\noexpand\xintError:FractionRoundedToZero\space 0}% \def\XINT_pow_BisZero #1\Z{ 1}% \def\XINT_pow_I_in #1#2\Z {% \expandafter\XINT_pow_I_loop \the\numexpr #1\expandafter.% \romannumeral0\expandafter\XINT_sepandrev \romannumeral0\XINT_zeroes_forviii #2\R\R\R\R\R\R\R\R{10}0000001\W #2\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678\relax XX% \R.\R.\R.\R.\R.\R.\R.\R.\W 1\Z!\W 1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W }% \def\XINT_pow_I_loop #1.% {% \ifnum #1 = \xint_c_i\expandafter\XINT_pow_I_exit\fi \ifodd #1 \expandafter\XINT_pow_II_in \else \expandafter\XINT_pow_I_squareit \fi #1.% }% \def\XINT_pow_I_exit \ifodd #1\fi #2.#3\W {\XINT_mul_out #3}% \def\XINT_pow_I_squareit #1.#2\W% {% \expandafter\XINT_pow_I_loop \the\numexpr #1/\xint_c_ii\expandafter.% \the\numexpr\XINT_pow_mulbutcheckifsmall #2\W #2\W }% \def\XINT_pow_mulbutcheckifsmall #1!1#2% {% \xint_gob_til_Z #2\XINT_pow_mul_small\Z \XINT_mul_loop 100000000!1\Z!\W #1!1#2% }% \def\XINT_pow_mul_small\Z \XINT_mul_loop 100000000!1\Z!\W 1#1!1\Z!\W {% \XINT_smallmul 1#1!% }% \def\XINT_pow_II_in #1.#2\W {% \expandafter\XINT_pow_II_loop \the\numexpr #1/\xint_c_ii-\xint_c_i\expandafter.% \the\numexpr\XINT_pow_mulbutcheckifsmall #2\W #2\W #2\W }% \def\XINT_pow_II_loop #1.% {% \ifnum #1 = \xint_c_i\expandafter\XINT_pow_II_exit\fi \ifodd #1 \expandafter\XINT_pow_II_odda \else \expandafter\XINT_pow_II_even \fi #1.% }% \def\XINT_pow_II_exit\ifodd #1\fi #2.#3\W #4\W {% \expandafter\XINT_mul_out \the\numexpr\XINT_pow_mulbutcheckifsmall #4\W #3% }% \def\XINT_pow_II_even #1.#2\W {% \expandafter\XINT_pow_II_loop \the\numexpr #1/\xint_c_ii\expandafter.% \the\numexpr\XINT_pow_mulbutcheckifsmall #2\W #2\W }% \def\XINT_pow_II_odda #1.#2\W #3\W {% \expandafter\XINT_pow_II_oddb \the\numexpr #1/\xint_c_ii-\xint_c_i\expandafter.% \the\numexpr\XINT_pow_mulbutcheckifsmall #3\W #2\W #2\W }% \def\XINT_pow_II_oddb #1.#2\W #3\W {% \expandafter\XINT_pow_II_loop \the\numexpr #1\expandafter.% \the\numexpr\XINT_pow_mulbutcheckifsmall #3\W #3\W #2\W }% \def\xintiiFac {\romannumeral0\xintiifac }% \def\xintiifac #1{\expandafter\XINT_fac_fork\the\numexpr#1.}% \def\xintiFac {\romannumeral0\xintifac }% \let\xintifac\xintiifac \def\XINT_fac_fork #1#2.% {% \xint_UDzerominusfork #1-\XINT_fac_zero 0#1\XINT_fac_neg 0-\XINT_fac_checksize \krof #1#2.% }% \def\XINT_fac_zero #1.{ 1}% \edef\XINT_fac_neg #1.{\noexpand\xintError:FactorialOfNegative\space 1}% \def\XINT_fac_checksize #1.% {% \ifnum #1>\xint_c_x^iv \xint_dothis{\expandafter\xintError:TooBigFactorial \expandafter\space\expandafter 1\xint_gob_til_W }\fi \ifnum #1>465 \xint_dothis{\XINT_fac_bigloop_a #1.}\fi \ifnum #1>101 \xint_dothis{\XINT_fac_medloop_a #1.\XINT_mul_out}\fi \xint_orthat{\XINT_fac_smallloop_a #1.\XINT_mul_out}% 1\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W }% \def\XINT_fac_bigloop_a #1.% {% \expandafter\XINT_fac_bigloop_b \the\numexpr #1+\xint_c_i-\xint_c_ii*((#1-464)/\xint_c_ii).#1.% }% \def\XINT_fac_bigloop_b #1.#2.% {% \expandafter\XINT_fac_medloop_a \the\numexpr #1-\xint_c_i.{\XINT_fac_bigloop_loop #1.#2.}% }% \def\XINT_fac_bigloop_loop #1.#2.% {% \ifnum #1>#2 \expandafter\XINT_fac_bigloop_exit\fi \expandafter\XINT_fac_bigloop_loop \the\numexpr #1+\xint_c_ii\expandafter.% \the\numexpr #2\expandafter.\the\numexpr\XINT_fac_bigloop_mul #1!% }% \def\XINT_fac_bigloop_exit #1!{\XINT_mul_out}% \def\XINT_fac_bigloop_mul #1!% {% \expandafter\XINT_smallmul \the\numexpr \xint_c_x^viii+#1*(#1+\xint_c_i)!% }% \def\XINT_fac_medloop_a #1.% {% \expandafter\XINT_fac_medloop_b \the\numexpr #1+\xint_c_i-\xint_c_iii*((#1-100)/\xint_c_iii).#1.% }% \def\XINT_fac_medloop_b #1.#2.% {% \expandafter\XINT_fac_smallloop_a \the\numexpr #1-\xint_c_i.{\XINT_fac_medloop_loop #1.#2.}% }% \def\XINT_fac_medloop_loop #1.#2.% {% \ifnum #1>#2 \expandafter\XINT_fac_loop_exit\fi \expandafter\XINT_fac_medloop_loop \the\numexpr #1+\xint_c_iii\expandafter.% \the\numexpr #2\expandafter.\the\numexpr\XINT_fac_medloop_mul #1!% }% \def\XINT_fac_medloop_mul #1!% {% \expandafter\XINT_smallmul \the\numexpr \xint_c_x^viii+#1*(#1+\xint_c_i)*(#1+\xint_c_ii)!% }% \def\XINT_fac_smallloop_a #1.% {% \csname XINT_fac_smallloop_\the\numexpr #1-\xint_c_iv*(#1/\xint_c_iv)\relax \endcsname #1.% }% \expandafter\def\csname XINT_fac_smallloop_1\endcsname #1.% {% \XINT_fac_smallloop_loop 2.#1.100000001!1\Z!% }% \expandafter\def\csname XINT_fac_smallloop_-2\endcsname #1.% {% \XINT_fac_smallloop_loop 3.#1.100000002!1\Z!% }% \expandafter\def\csname XINT_fac_smallloop_-1\endcsname #1.% {% \XINT_fac_smallloop_loop 4.#1.100000006!1\Z!% }% \expandafter\def\csname XINT_fac_smallloop_0\endcsname #1.% {% \XINT_fac_smallloop_loop 5.#1.1000000024!1\Z!% }% \def\XINT_fac_smallloop_loop #1.#2.% {% \ifnum #1>#2 \expandafter\XINT_fac_loop_exit\fi \expandafter\XINT_fac_smallloop_loop \the\numexpr #1+\xint_c_iv\expandafter.% \the\numexpr #2\expandafter.\the\numexpr\XINT_fac_smallloop_mul #1!% }% \def\XINT_fac_smallloop_mul #1!% {% \expandafter\XINT_smallmul \the\numexpr \xint_c_x^viii+#1*(#1+\xint_c_i)*(#1+\xint_c_ii)*(#1+\xint_c_iii)!% }% \def\XINT_fac_loop_exit #1!#2\Z!#3{#3#2\Z!}% \def\xintiiQuo {\romannumeral0\xintiiquo }% \def\xintiiRem {\romannumeral0\xintiirem }% \def\xintiiquo {\expandafter\xint_firstoftwo_thenstop\romannumeral0\xintiidivision }% \def\xintiirem {\expandafter\xint_secondoftwo_thenstop\romannumeral0\xintiidivision }% \def\xintiQuo {\romannumeral0\xintiquo }% \def\xintiRem {\romannumeral0\xintirem }% \def\xintiquo {\expandafter\xint_firstoftwo_thenstop\romannumeral0\xintidivision }% \def\xintirem {\expandafter\xint_secondoftwo_thenstop\romannumeral0\xintidivision }% %%\let\xintQuo\xintiQuo\let\xintquo\xintiquo % now removed %%\let\xintRem\xintiRem\let\xintrem\xintirem % now removed \def\xintiDivision {\romannumeral0\xintidivision }% \def\xintidivision #1{\expandafter\XINT_idivision\romannumeral0\xintnum{#1}\Z }% \def\XINT_idivision #1#2\Z #3{\expandafter\XINT_iidivision_a\expandafter #1% \romannumeral0\xintnum{#3}\Z #2\Z }% \def\xintiiDivision {\romannumeral0\xintiidivision }% \def\xintiidivision #1{\expandafter\XINT_iidivision \romannumeral`&&@#1\Z }% \def\XINT_iidivision #1#2\Z #3{\expandafter\XINT_iidivision_a\expandafter #1% \romannumeral`&&@#3\Z #2\Z }% \def\XINT_iidivision_a #1#2% #1 de A, #2 de B. {% \if0#2\xint_dothis\XINT_iidivision_divbyzero\fi \if0#1\xint_dothis\XINT_iidivision_aiszero\fi \if-#2\xint_dothis{\expandafter\XINT_iidivision_bneg \romannumeral0\XINT_iidivision_bpos #1}\fi \xint_orthat{\XINT_iidivision_bpos #1#2}% }% \def\XINT_iidivision_divbyzero #1\Z #2\Z {\xintError:DivisionByZero{0}{0}}% \def\XINT_iidivision_aiszero #1\Z #2\Z {{0}{0}}% \def\XINT_iidivision_bneg #1% q->-q, r unchanged {\expandafter{\romannumeral0\XINT_opp #1}}% \def\XINT_iidivision_bpos #1% {% \xint_UDsignfork #1\XINT_iidivision_aneg -{\XINT_iidivision_apos #1}% \krof }% \def\XINT_iidivision_apos #1#2\Z #3\Z{\XINT_div_prepare {#2}{#1#3}}% \def\XINT_iidivision_aneg #1\Z #2\Z {\expandafter \XINT_iidivision_aneg_b\romannumeral0\XINT_div_prepare {#1}{#2}{#1}}% \def\XINT_iidivision_aneg_b #1#2{\if0\XINT_Sgn #2\Z \expandafter\XINT_iidivision_aneg_rzero \else \expandafter\XINT_iidivision_aneg_rpos \fi {#1}{#2}}% \def\XINT_iidivision_aneg_rzero #1#2#3{{-#1}{0}}% necessarily q was >0 \def\XINT_iidivision_aneg_rpos #1% {% \expandafter\XINT_iidivision_aneg_end\expandafter {\expandafter-\romannumeral0\xintinc {#1}}% q-> -(1+q) }% \def\XINT_iidivision_aneg_end #1#2#3% {% \expandafter\xint_exchangetwo_keepbraces \expandafter{\romannumeral0\XINT_sub_mm_a {}{}#3\Z #2\Z}{#1}% r-> b-r }% \def\XINT_div_prepare #1% {% \XINT_div_prepare_a #1\R\R\R\R\R\R\R\R {10}0000001\W !{#1}% }% \def\XINT_div_prepare_a #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #9\XINT_div_prepare_small\R \XINT_div_prepare_b #9% }% \def\XINT_div_prepare_small\R #1!#2% {% \ifcase #2 \or\expandafter\XINT_div_BisOne \or\expandafter\XINT_div_BisTwo \else\expandafter\XINT_div_small_a \fi {#2}% }% \def\XINT_div_BisOne #1#2{{#2}{0}}% \def\XINT_div_BisTwo #1#2% {% \expandafter\expandafter\expandafter\XINT_div_BisTwo_a \ifodd\xintiiLDg{#2} \expandafter1\else \expandafter0\fi {#2}% }% \def\XINT_div_BisTwo_a #1#2% {% \expandafter{\romannumeral0\XINT_half #2\xint_bye\xint_Bye345678\xint_bye *\xint_c_v+\xint_c_v)/\xint_c_x-\xint_c_i\relax}{#1}% }% \def\XINT_div_small_a #1#2% {% \expandafter\XINT_div_small_b \the\numexpr #1/\xint_c_ii\expandafter .\the\numexpr \xint_c_x^viii+#1\expandafter!% \romannumeral0% \XINT_div_small_ba #2\R\R\R\R\R\R\R\R{10}0000001\W #2\XINT_sepbyviii_Z_end 2345678\relax }% \def\XINT_div_small_b #1!#2{#2#1!}% \def\XINT_div_small_ba #1#2#3#4#5#6#7#8#9% {% \xint_gob_til_R #9\XINT_div_smallsmall\R \expandafter\XINT_div_dosmalldiv \the\numexpr\expandafter\XINT_sepbyviii_Z \romannumeral0\XINT_zeroes_forviii #1#2#3#4#5#6#7#8#9% }% \def\XINT_div_smallsmall\R \expandafter\XINT_div_dosmalldiv \the\numexpr\expandafter\XINT_sepbyviii_Z \romannumeral0\XINT_zeroes_forviii #1\R #2\relax {{\XINT_div_dosmallsmall}{#1}}% \def\XINT_div_dosmallsmall #1.1#2!#3% {% \expandafter\XINT_div_smallsmallend \the\numexpr (#3+#1)/#2-\xint_c_i.#2.#3.% }% \def\XINT_div_smallsmallend #1.#2.#3.{\expandafter {\the\numexpr #1\expandafter}\expandafter{\the\numexpr #3-#1*#2}}% \def\XINT_div_dosmalldiv {{\expandafter\XINT_sdiv_out\the\numexpr\XINT_smalldivx_a}}% \def\XINT_div_prepare_b {\expandafter\XINT_div_prepare_c\romannumeral0\XINT_zeroes_forviii }% \def\XINT_div_prepare_c #1!% {% \XINT_div_prepare_d #1.00000000!{#1}% }% \def\XINT_div_prepare_d #1#2#3#4#5#6#7#8#9% {% \expandafter\XINT_div_prepare_e\xint_gob_til_dot #1#2#3#4#5#6#7#8#9!% }% \def\XINT_div_prepare_e #1!#2!#3#4% {% \XINT_div_prepare_f #4#3\X {#1}{#3}% }% \def\XINT_div_prepare_f #1#2#3#4#5#6#7#8#9\X {% \expandafter\XINT_div_prepare_g \the\numexpr #1#2#3#4#5#6#7#8+\xint_c_i\expandafter .\the\numexpr (#1#2#3#4#5#6#7#8+\xint_c_i)/\xint_c_ii\expandafter .\the\numexpr #1#2#3#4#5#6#7#8\expandafter .\romannumeral0\XINT_sepandrev_andcount #1#2#3#4#5#6#7#8#9\XINT_rsepbyviii_end_A 2345678% \XINT_rsepbyviii_end_B 2345678% \relax\xint_c_ii\xint_c_iii \R.\xint_c_vi\R.\xint_c_v\R.\xint_c_iv\R.\xint_c_iii \R.\xint_c_ii\R.\xint_c_i\R.\xint_c_\W \X }% \def\XINT_div_prepare_g #1.#2.#3.#4.#5\X #6#7#8% {% \expandafter\XINT_div_prepare_h \the\numexpr\expandafter\XINT_sepbyviii_andcount \romannumeral0\XINT_zeroes_forviii #8#7\R\R\R\R\R\R\R\R{10}0000001\W #8#7\XINT_sepbyviii_end 2345678\relax \xint_c_vii!\xint_c_vi!\xint_c_v!\xint_c_iv!% \xint_c_iii!\xint_c_ii!\xint_c_i!\xint_c_\W {#1}{#2}{#3}{#4}{#5}{#6}% }% \def\XINT_div_prepare_h #11.#2.#3#4#5#6%#7#8% {% \XINT_div_start_a {#2}{#6}{#1}{#3}{#4}{#5}%{#7}{#8}% }% \def\XINT_div_start_a #1#2% {% \ifnum #1 < #2 \expandafter\XINT_div_zeroQ \else \expandafter\XINT_div_start_b \fi {#1}{#2}% }% \def\XINT_div_zeroQ #1#2#3#4#5#6#7% {% \expandafter\XINT_div_zeroQ_end \romannumeral0\XINT_unsep_cuzsmall #31\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W .% }% \def\XINT_div_zeroQ_end #1.#2% {\expandafter{\expandafter0\expandafter}\XINT_div_cleanR #1#2.}% \def\XINT_div_start_b #1#2#3#4#5#6% {% \expandafter\XINT_div_finish\the\numexpr \XINT_div_start_c {#2}.#3.{#6}{{#1}{#2}{{#4}{#5}}{#6}}% }% \def\XINT_div_finish {% \expandafter\XINT_div_finish_a \romannumeral`&&@\XINT_div_unsepQ }% \def\XINT_div_finish_a #1\Z #2.{\XINT_div_finish_b #2.{#1}}% \def\XINT_div_finish_b #1% {% \if0#1% \expandafter\XINT_div_finish_bRzero \else \expandafter\XINT_div_finish_bRpos \fi #1% }% \def\XINT_div_finish_bRzero 0.#1#2{{#1}{0}}% \def\XINT_div_finish_bRpos #1.#2#3% {% \expandafter\xint_exchangetwo_keepbraces\XINT_div_cleanR #1#3.{#2}% }% \def\XINT_div_cleanR #100000000.{{#1}}% \def\XINT_div_start_c #1% {% \ifnum #1>\xint_c_vi \expandafter\XINT_div_start_ca \else \expandafter\XINT_div_start_cb \fi {#1}% }% \def\XINT_div_start_ca #1#2.#3!#4!#5!#6!#7!#8!#9!% {% \expandafter\XINT_div_start_c\expandafter {\the\numexpr #1-\xint_c_vii}#2#3!#4!#5!#6!#7!#8!#9!.% }% \def\XINT_div_start_cb #1% {\csname XINT_div_start_c_\romannumeral\numexpr#1\endcsname}% \def\XINT_div_start_c_i #1.#2!% {\XINT_div_start_c_ #1#2!.}% \def\XINT_div_start_c_ii #1.#2!#3!% {\XINT_div_start_c_ #1#2!#3!.}% \def\XINT_div_start_c_iii #1.#2!#3!#4!% {\XINT_div_start_c_ #1#2!#3!#4!.}% \def\XINT_div_start_c_iv #1.#2!#3!#4!#5!% {\XINT_div_start_c_ #1#2!#3!#4!#5!.}% \def\XINT_div_start_c_v #1.#2!#3!#4!#5!#6!% {\XINT_div_start_c_ #1#2!#3!#4!#5!#6!.}% \def\XINT_div_start_c_vi #1.#2!#3!#4!#5!#6!#7!% {\XINT_div_start_c_ #1#2!#3!#4!#5!#6!#7!.}% \def\XINT_div_start_c_ 1#1!#2.#3.#4#5#6% {% \XINT_div_I_a {#1}{#4}{1#1!#2}{#6}{00000000}#5{#3}{#6}% }% \def\XINT_div_I_a #1#2% {% \expandafter\XINT_div_I_b\the\numexpr #1/#2.{#1}{#2}% }% \def\XINT_div_I_b #1% {% \xint_gob_til_zero #1\XINT_div_I_czero 0\XINT_div_I_c #1% }% \def\XINT_div_I_czero 0\XINT_div_I_c 0.#1#2#3#4#5{1#5\XINT_div_I_g {#3}}% \def\XINT_div_I_c #1.#2#3% {% \expandafter\XINT_div_I_da\the\numexpr #2-#1*#3.#1.{#2}{#3}% }% \def\XINT_div_I_da #1.% {% \ifnum #1>\xint_c_ix \expandafter\XINT_div_I_dP \else \ifnum #1<\xint_c_ \expandafter\expandafter\expandafter\XINT_div_I_dN \else \expandafter\expandafter\expandafter\XINT_div_I_db \fi \fi }% \def\XINT_div_I_dN #1.% {% \expandafter\XINT_div_I_b\the\numexpr #1-\xint_c_i.% }% \def\XINT_div_I_db #1.#2#3#4#5% {% \expandafter\XINT_div_I_dc\expandafter #1% \romannumeral0\expandafter\XINT_div_sub\expandafter {\romannumeral0\XINT_rev_nounsep {}#4\R!\R!\R!\R!\R!\R!\R!\R!\W}% {\the\numexpr\XINT_div_verysmallmul #1!#51\Z!}% \Z {#4}{#5}% }% \def\XINT_div_I_dc #1#2% {% \if-#2\expandafter\XINT_div_I_dd\else\expandafter\XINT_div_I_de\fi #1#2% }% \def\XINT_div_I_dd #1-\Z {% \if #11\expandafter\XINT_div_I_dz\fi \expandafter\XINT_div_I_dP\the\numexpr #1-\xint_c_i.XX% }% \def\XINT_div_I_dz #1XX#2#3#4% {% 1#4\XINT_div_I_g {#2}% }% \def\XINT_div_I_de #1#2\Z #3#4#5{1#5+#1\XINT_div_I_g {#2}}% \def\XINT_div_I_dP #1.#2#3#4#5#6% {% 1#6+#1\expandafter\XINT_div_I_g\expandafter {\romannumeral0\expandafter\XINT_div_sub\expandafter {\romannumeral0\XINT_rev_nounsep {}#4\R!\R!\R!\R!\R!\R!\R!\R!\W}% {\the\numexpr\XINT_div_verysmallmul #1!#51\Z!}% }% }% \def\XINT_div_I_g #1#2#3#4#5#6#7% {% \expandafter !\the\numexpr \ifnum#2=#3 \expandafter\XINT_div_exittofinish \else \expandafter\XINT_div_I_h \fi {#4}#1.#6.{{#4}{#5}{#3}{#2}}{#7}% }% \def\XINT_div_exittofinish #1#2.#3.#4#5% {% 1\expandafter\expandafter\expandafter!\expandafter\XINT_unsep_delim \romannumeral0\XINT_div_unsepR #2#31\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W.% }% \def\XINT_div_I_h #1.#2!#3.#4#5% {% \XINT_div_II_b #1#2!.{#5}{#4}{#3}{#5}% }% \def\XINT_div_II_b #11#2!#3!% {% \xint_gob_til_eightzeroes #2\XINT_div_II_skipc 00000000% \XINT_div_II_c #1{1#2}{#3}% }% \def\XINT_div_II_skipc 00000000\XINT_div_II_c #1#2#3#4#5.#6#7% {% \XINT_div_II_k #7{#4!#5}{#6}{00000000}% }% \def\XINT_div_II_c #1#2#3#4% {% \expandafter\XINT_div_II_d\the\numexpr\XINT_div_xmini #1.#2!#3!#4!{#1}{#2}#3!#4!% }% \def\XINT_div_xmini #1% {% \xint_gob_til_one #1\XINT_div_xmini_a 1\XINT_div_mini #1% }% \def\XINT_div_xmini_a 1\XINT_div_mini 1#1% {% \xint_gob_til_zero #1\XINT_div_xmini_b 0\XINT_div_mini 1#1% }% \def\XINT_div_xmini_b 0\XINT_div_mini 10#1#2#3#4#5#6#7% {% \xint_gob_til_zero #7\XINT_div_xmini_c 0\XINT_div_mini 10#1#2#3#4#5#6#7% }% \def\XINT_div_xmini_c 0\XINT_div_mini 100000000.50000000!#1!#2!{#1!}% \def\XINT_div_II_d 1#1#2#3#4#5!#6#7#8.#9% {% \expandafter\XINT_div_II_e \romannumeral0\expandafter\XINT_div_sub\expandafter {\romannumeral0\XINT_rev_nounsep {}#8\R!\R!\R!\R!\R!\R!\R!\R!\W}% {\the\numexpr\XINT_div_smallmul_a 100000000.#1#2#3#4.#5!#91\Z!}% .{#6}{#7}{#9}{#1#2#3#4#5}% }% \def\XINT_div_II_e 1#1!% {% \xint_gob_til_eightzeroes #1\XINT_div_II_skipf 00000000% \XINT_div_II_f 1#1!% }% \def\XINT_div_II_skipf 00000000\XINT_div_II_f 100000000!#1.#2#3#4#5#6% {% \XINT_div_II_k #6{#1}{#4}{#5}% }% \def\XINT_div_II_f #1!#2!#3.% {% \XINT_div_II_fa {#1!#2!}{#1!#2!#3}% }% \def\XINT_div_II_fa #1#2#3#4% {% \expandafter\XINT_div_II_g \the\numexpr\XINT_div_xmini #3.#4!#1{#2}% }% \def\XINT_div_II_g 1#1#2#3#4#5!#6#7#8% {% \expandafter \XINT_div_II_h \the\numexpr 1#1#2#3#4#5+#8\expandafter\expandafter\expandafter .\expandafter\expandafter\expandafter {\expandafter\xint_gob_til_exclam \romannumeral0\expandafter\XINT_div_sub\expandafter {\romannumeral0\XINT_rev_nounsep {}#6\R!\R!\R!\R!\R!\R!\R!\R!\W}% {\the\numexpr\XINT_div_smallmul_a 100000000.#1#2#3#4.#5!#71\Z!}}% {#7}% }% \def\XINT_div_II_h 1#1.#2#3#4% {% \XINT_div_II_k #4{#2}{#3}{#1}% }% \def\XINT_div_II_k #1#2#3#4#5% {% \expandafter\XINT_div_II_l \the\numexpr #4-\xint_c_i.{#3}#1{#2}#5.% }% \def\XINT_div_II_l #1.#2#3#4#51#6!% {% \XINT_div_II_m {{#1}{#2}{{#3}{#4}}{#5}}{#5}{#6}1#6!% }% \def\XINT_div_II_m #1#2#3#4.#5#6% {% \XINT_div_I_a {#3}{#2}{#4}{#5}{#6}#1% }% \def\XINT_div_minimulwc_a 1#1.#2.#3!#4#5#6#7#8.% {% \expandafter\XINT_div_minimulwc_b \the\numexpr \xint_c_x^ix+#1+#3*#8.#3*#4#5#6#7+#2*#8.#2*#4#5#6#7.% }% \def\XINT_div_minimulwc_b 1#1#2#3#4#5#6.#7.% {% \expandafter\XINT_div_minimulwc_c \the\numexpr \xint_c_x^ix+#1#2#3#4#5+#7.#6.% }% \def\XINT_div_minimulwc_c 1#1#2#3#4#5#6.#7.#8.% {% 1#6#7\expandafter!% \the\numexpr\expandafter\XINT_div_smallmul_a \the\numexpr \xint_c_x^viii+#1#2#3#4#5+#8.% }% \def\XINT_div_smallmul_a #1.#2.#3!1#4!% {% \xint_gob_til_Z #4\XINT_div_smallmul_e\Z \XINT_div_minimulwc_a #1.#2.#3!#4.#2.#3!% }% \def\XINT_div_smallmul_e\Z\XINT_div_minimulwc_a 1#1.#2\Z #3!{1\relax #1!}% \def\XINT_div_verysmallmul #1% {\xint_gob_til_one #1\XINT_div_verysmallisone 1\XINT_div_verysmallmul_a 0.#1}% \def\XINT_div_verysmallisone 1\XINT_div_verysmallmul_a 0.1!1#11\Z!% {1\relax #1100000000!}% \def\XINT_div_verysmallmul_a #1.#2!1#3!% {% \xint_gob_til_Z #3\XINT_div_verysmallmul_e\Z \expandafter\XINT_div_verysmallmul_b \the\numexpr \xint_c_x^ix+#2*#3+#1.#2!% }% \def\XINT_div_verysmallmul_b 1#1#2.% {1#2\expandafter!\the\numexpr\XINT_div_verysmallmul_a #1.}% \def\XINT_div_verysmallmul_e\Z #1\Z +#2#3!{1\relax 0000000#2!}% \def\XINT_div_sub #1#2% {% \expandafter\XINT_div_sub_clean \the\numexpr\expandafter\XINT_div_sub_a\expandafter 1#2\Z!\Z!\Z!\Z!\Z!\W #1\Z!\Z!\Z!\Z!\Z!\W }% \def\XINT_div_sub_clean #1-#2#3\W {% \if1#2\expandafter\XINT_rev_nounsep\else\expandafter\XINT_div_sub_neg\fi {}#1\R!\R!\R!\R!\R!\R!\R!\R!\W }% \def\XINT_div_sub_neg #1\W { -}% \def\XINT_div_sub_a #1!#2!#3!#4!#5\W #6!#7!#8!#9!% {% \XINT_div_sub_b #1!#6!#2!#7!#3!#8!#4!#9!#5\W }% \def\XINT_div_sub_b #1#2#3!#4!% {% \xint_gob_til_Z #4\XINT_div_sub_bi \Z \expandafter\XINT_div_sub_c\the\numexpr#1-#3+1#4-\xint_c_i.% }% \def\XINT_div_sub_c 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_div_sub_d #1% }% \def\XINT_div_sub_d #1#2#3!#4!% {% \xint_gob_til_Z #4\XINT_div_sub_di \Z \expandafter\XINT_div_sub_e\the\numexpr#1-#3+1#4-\xint_c_i.% }% \def\XINT_div_sub_e 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_div_sub_f #1% }% \def\XINT_div_sub_f #1#2#3!#4!% {% \xint_gob_til_Z #4\XINT_div_sub_fi \Z \expandafter\XINT_div_sub_g\the\numexpr#1-#3+1#4-\xint_c_i.% }% \def\XINT_div_sub_g 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_div_sub_h #1% }% \def\XINT_div_sub_h #1#2#3!#4!% {% \xint_gob_til_Z #4\XINT_div_sub_hi \Z \expandafter\XINT_div_sub_i\the\numexpr#1-#3+1#4-\xint_c_i.% }% \def\XINT_div_sub_i 1#1#2.% {% 1#2\expandafter!\the\numexpr\XINT_div_sub_a #1% }% \def\XINT_div_sub_bi\Z \expandafter\XINT_div_sub_c\the\numexpr#1-#2+#3.#4!#5!#6!#7!#8!#9!\Z !\W {% \XINT_div_sub_l #1#2!#5!#7!#9!% }% \def\XINT_div_sub_di\Z \expandafter\XINT_div_sub_e\the\numexpr#1-#2+#3.#4!#5!#6!#7!#8\W {% \XINT_div_sub_l #1#2!#5!#7!% }% \def\XINT_div_sub_fi\Z \expandafter\XINT_div_sub_g\the\numexpr#1-#2+#3.#4!#5!#6\W {% \XINT_div_sub_l #1#2!#5!% }% \def\XINT_div_sub_hi\Z \expandafter\XINT_div_sub_i\the\numexpr#1-#2+#3.#4\W {% \XINT_div_sub_l #1#2!% }% \def\XINT_div_sub_l #1% {% \xint_UDzerofork #1{-2\relax}% 0\XINT_div_sub_r \krof }% \def\XINT_div_sub_r #1!% {% -\ifnum 0#1=\xint_c_ 1\else2\fi\relax }% \def\XINT_sdiv_out #1\Z!#2!% {\expandafter {\romannumeral0\XINT_unsep_cuzsmall#11\R!1\R!1\R!1\R!1\R!1\R!1\R!1\R!\W}% {#2}}% \def\XINT_smalldivx_a #1.1#2!1#3!% {% \expandafter\XINT_smalldivx_b \the\numexpr (#3+#1)/#2-\xint_c_i!#1.#2!#3!% }% \def\XINT_smalldivx_b #1#2!% {% \if0#1\else \xint_c_x^viii+#1#2\xint_afterfi{\expandafter!\the\numexpr}\fi \XINT_smalldiv_c #1#2!% }% \def\XINT_smalldiv_c #1!#2.#3!#4!% {% \expandafter\XINT_smalldiv_d\the\numexpr #4-#1*#3!#2.#3!% }% \def\XINT_smalldiv_d #1!#2!1#3#4!% {% \xint_gob_til_Z #3\XINT_smalldiv_end \Z \XINT_smalldiv_e #1!#2!1#3#4!% }% \def\XINT_smalldiv_end\Z\XINT_smalldiv_e #1!#2!1\Z!{1!\Z!#1!}% \def\XINT_smalldiv_e #1!#2.#3!% {% \expandafter\XINT_smalldiv_f\the\numexpr \xint_c_xi_e_viii_mone+#1*\xint_c_x^viii/#3!#2.#3!#1!% }% \def\XINT_smalldiv_f 1#1#2#3#4#5#6!#7.#8!% {% \xint_gob_til_zero #1\XINT_smalldiv_fz 0% \expandafter\XINT_smalldiv_g \the\numexpr\XINT_minimul_a #2#3#4#5.#6!#8!#2#3#4#5#6!#7.#8!% }% \def\XINT_smalldiv_fz 0% \expandafter\XINT_smalldiv_g\the\numexpr\XINT_minimul_a 9999.9999!#1!99999999!#2!0!1#3!% {% \XINT_smalldiv_i .#3!\xint_c_!#2!% }% \def\XINT_smalldiv_g 1#1!1#2!#3!#4!#5!#6!% {% \expandafter\XINT_smalldiv_h\the\numexpr 1#6-#1.#2!#5!#3!#4!% }% \def\XINT_smalldiv_h 1#1#2.#3!#4!% {% \expandafter\XINT_smalldiv_i\the\numexpr #4-#3+#1-\xint_c_i.#2!% }% \def\XINT_smalldiv_i #1.#2!#3!#4.#5!% {% \expandafter\XINT_smalldiv_j\the\numexpr (#1#2+#4)/#5-\xint_c_i!#3!#1#2!#4.#5!% }% \def\XINT_smalldiv_j #1!#2!% {% \xint_c_x^viii+#1+#2\expandafter!\the\numexpr\XINT_smalldiv_k #1!% }% \def\XINT_smalldiv_k #1!#2!#3.#4!% {% \expandafter\XINT_smalldiv_d\the\numexpr #2-#1*#4!#3.#4!% }% \def\XINT_div_mini #1.#2!1#3!% {% \expandafter\XINT_div_mini_a\the\numexpr \xint_c_xi_e_viii_mone+#3*\xint_c_x^viii/#1!#1.#2!#3!% }% \def\XINT_div_mini_a 1#1#2#3#4#5#6!#7.#8!% {% \xint_gob_til_zero #1\XINT_div_mini_w 0% \expandafter\XINT_div_mini_b \the\numexpr\XINT_minimul_a #2#3#4#5.#6!#7!#2#3#4#5#6!#7.#8!% }% \def\XINT_div_mini_w 0% \expandafter\XINT_div_mini_b\the\numexpr\XINT_minimul_a 9999.9999!#1!99999999!#2.#3!00000000!#4!% {% \xint_c_x^viii_mone+(#4+#3)/#2!% }% \def\XINT_div_mini_b 1#1!1#2!#3!#4!#5!#6!% {% \expandafter\XINT_div_mini_c \the\numexpr 1#6-#1.#2!#5!#3!#4!% }% \def\XINT_div_mini_c 1#1#2.#3!#4!% {% \expandafter\XINT_div_mini_d \the\numexpr #4-#3+#1-\xint_c_i.#2!% }% \def\XINT_div_mini_d #1.#2!#3!#4.#5!% {% \xint_c_x^viii_mone+#3+(#1#2+#5)/#4!% }% \def\xintiDivRound {\romannumeral0\xintidivround }% \def\xintidivround #1% {\expandafter\XINT_idivround\romannumeral0\xintnum{#1}\Z }% \def\xintiiDivRound {\romannumeral0\xintiidivround }% \def\xintiidivround #1{\expandafter\XINT_iidivround \romannumeral`&&@#1\Z }% \def\XINT_idivround #1#2\Z #3% {\expandafter\XINT_iidivround_a\expandafter #1% \romannumeral0\xintnum{#3}\Z #2\Z }% \def\XINT_iidivround #1#2\Z #3% {\expandafter\XINT_iidivround_a\expandafter #1\romannumeral`&&@#3\Z #2\Z }% \def\XINT_iidivround_a #1#2% #1 de A, #2 de B. {% \if0#2\xint_dothis\XINT_iidivround_divbyzero\fi \if0#1\xint_dothis\XINT_iidivround_aiszero\fi \if-#2\xint_dothis{\XINT_iidivround_bneg #1}\fi \xint_orthat{\XINT_iidivround_bpos #1#2}% }% \def\XINT_iidivround_divbyzero #1\Z #2\Z {\xintError:DivisionByZero\space 0}% \def\XINT_iidivround_aiszero #1\Z #2\Z { 0}% \def\XINT_iidivround_bpos #1% {% \xint_UDsignfork #1{\xintiiopp\XINT_iidivround_pos {}}% -{\XINT_iidivround_pos #1}% \krof }% \def\XINT_iidivround_bneg #1% {% \xint_UDsignfork #1{\XINT_iidivround_pos {}}% -{\xintiiopp\XINT_iidivround_pos #1}% \krof }% \def\XINT_iidivround_pos #1#2\Z #3\Z {% \expandafter\expandafter\expandafter\XINT_dsrr \expandafter\xint_firstoftwo \romannumeral0\XINT_div_prepare {#2}{#1#30}% \xint_bye\xint_Bye3456789\xint_bye/\xint_c_x\relax }% \def\xintiDivTrunc {\romannumeral0\xintidivtrunc }% \def\xintidivtrunc #1{\expandafter\XINT_iidivtrunc\romannumeral0\xintnum{#1}\Z }% \def\xintiiDivTrunc {\romannumeral0\xintiidivtrunc }% \def\xintiidivtrunc #1{\expandafter\XINT_iidivtrunc \romannumeral`&&@#1\Z }% \def\XINT_iidivtrunc #1#2\Z #3{\expandafter\XINT_iidivtrunc_a\expandafter #1% \romannumeral`&&@#3\Z #2\Z }% \def\XINT_iidivtrunc_a #1#2% #1 de A, #2 de B. {% \if0#2\xint_dothis\XINT_iidivround_divbyzero\fi \if0#1\xint_dothis\XINT_iidivround_aiszero\fi \if-#2\xint_dothis{\XINT_iidivtrunc_bneg #1}\fi \xint_orthat{\XINT_iidivtrunc_bpos #1#2}% }% \def\XINT_iidivtrunc_bpos #1% {% \xint_UDsignfork #1{\xintiiopp\XINT_iidivtrunc_pos {}}% -{\XINT_iidivtrunc_pos #1}% \krof }% \def\XINT_iidivtrunc_bneg #1% {% \xint_UDsignfork #1{\XINT_iidivtrunc_pos {}}% -{\xintiiopp\XINT_iidivtrunc_pos #1}% \krof }% \def\XINT_iidivtrunc_pos #1#2\Z #3\Z% {\expandafter\xint_firstoftwo_thenstop \romannumeral0\XINT_div_prepare {#2}{#1#3}}% \def\xintiMod {\romannumeral0\xintimod }% \def\xintimod #1{\expandafter\XINT_iimod\romannumeral0\xintnum{#1}\Z }% \def\xintiiMod {\romannumeral0\xintiimod }% \def\xintiimod #1{\expandafter\XINT_iimod \romannumeral`&&@#1\Z }% \def\XINT_iimod #1#2\Z #3{\expandafter\XINT_iimod_a\expandafter #1% \romannumeral`&&@#3\Z #2\Z }% \def\XINT_iimod_a #1#2% #1 de A, #2 de B. {% \if0#2\xint_dothis\XINT_iidivround_divbyzero\fi \if0#1\xint_dothis\XINT_iidivround_aiszero\fi \if-#2\xint_dothis{\XINT_iimod_bneg #1}\fi \xint_orthat{\XINT_iimod_bpos #1#2}% }% \def\XINT_iimod_bpos #1% {% \xint_UDsignfork #1{\xintiiopp\XINT_iimod_pos {}}% -{\XINT_iimod_pos #1}% \krof }% \def\XINT_iimod_bneg #1% {% \xint_UDsignfork #1{\xintiiopp\XINT_iimod_pos {}}% -{\XINT_iimod_pos #1}% \krof }% \def\XINT_iimod_pos #1#2\Z #3\Z% {\expandafter\xint_secondoftwo_thenstop\romannumeral0\XINT_div_prepare {#2}{#1#3}}% \catcode`! 11 \def\xintAbs {\Did_you_mean_iiAbs?or_load_xintfrac!}% \def\xintOpp {\Did_you_mean_iiOpp?or_load_xintfrac!}% \def\xintAdd {\Did_you_mean_iiAdd?or_load_xintfrac!}% \def\xintSub {\Did_you_mean_iiSub?or_load_xintfrac!}% \def\xintMul {\Did_you_mean_iiMul?or_load_xintfrac!}% \def\xintPow {\Did_you_mean_iiPow?or_load_xintfrac!}% \def\xintSqr {\Did_you_mean_iiSqr?or_load_xintfrac!}% \def\xintQuo {\Removed!use_xintiQuo_or_xintiiQuo!}% \def\xintRem {\Removed!use_xintiRem_or_xintiiRem!}% \XINT_restorecatcodes_endinput% \endinput %% %% End of file `xintcore.sty'.