"`e (Zgcd_alt&ZArith#Coq@()Notations$Init#Coq@%Logic$Init#Coq@*Logic_Type$Init#Coq@)Datatypes$Init#Coq@&Specif$Init#Coq@%Peano$Init#Coq@"Wf$Init#Coq@'Tactics$Init#Coq@%Tauto$Init#Coq@'Prelude$Init#Coq@L)Notations$Init#Coq@0&v!D]hwnv %Logic$Init#Coq@0\͉!Ig)Datatypes$Init#Coq@0.i bYN Z*Logic_Type$Init#Coq@0 1jc6&Specif$Init#Coq@0;RWMi\N'Decimal$Init#Coq@0C涳N*ua#Nat$Init#Coq@0eʤģPSR蠠%Peano$Init#Coq@0 jha|ؠ"Wf$Init#Coq@0q+W,J+'Tactics$Init#Coq@0/9m+ a%Tauto$Init#Coq@0̂"&/rk0JqTttֱ'BinNums'Numbers#Coq@0dmk(5Ju<*EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼&Basics'Program#Coq@0!bs߯? :VU$Init'Classes#Coq@0](p{yOh.'Tactics'Program#Coq@03u%+Equivalence'Classes#Coq@07;ꮹ-SetoidTactics'Classes#Coq@0S_`nOU$&Setoid'Setoids#Coq@0D9AsWE!>$Bool#Coq@0j 2cZ`FW*Equalities*Structures#Coq@0όe얟)H.Ƞ2Relation_Operators)Relations#Coq@0%s鯰s4Operators_Properties)Relations#Coq@0U3y#h&)Relations#Coq@0r砠*NZMulOrder&NatInt'Numbers#Coq@0}\^ !"k}@R(NZParity&NatInt'Numbers#Coq@0H>ca'^^%NZPow&NatInt'Numbers#Coq@0)6*9 B:vȻ&NZSqrt&NatInt'Numbers#Coq@0` .%m%NZLog&NatInt'Numbers#Coq@0ꔉ .uV%NZDiv&NatInt'Numbers#Coq@0$ |J?d (w%NZGcd&NatInt'Numbers#Coq@0KgT7|&NZBits&NatInt'Numbers#Coq@0MlIpKt'NAxioms(Abstract'Natural'Numbers#Coq@0Zخb1Z3uuѠ,NZProperties&NatInt'Numbers#Coq@01D%E`|3x%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vI$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$&NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oY)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ)NMulOrder(Abstract'Natural'Numbers#Coq@04> Aat/ j $NSub(Abstract'Natural'Numbers#Coq@0:DfJᠠ'NMaxMin(Abstract'Natural'Numbers#Coq@0]v|Qg̟ʠ'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf%NSqrt(Abstract'Natural'Numbers#Coq@0<ge$NLog(Abstract'Natural'Numbers#Coq@0KI'BinList+setoid_ring#Coq@0Au,Ring_polynom+setoid_ring#Coq@0gaKw9`UW+ListTactics%Lists#Coq@0,Jcy{+InitialRing+setoid_ring#Coq@0k/T=cN(Ring_tac+setoid_ring#Coq@0x2]%762f)Ring_base+setoid_ring#Coq@0fbU(2cNe$Ring+setoid_ring#Coq@0Msᬠ(Zpow_def&ZArith#Coq@0f蓜DX;V*ZArithRing+setoid_ring#Coq@0{#'[{nm!/+OmegaLemmas%omega#Coq@0TJ#Jes)ArithRing+setoid_ring#Coq@0ṔCgt?}%Arith#Coq@0I|кX*o4#Max%Arith#Coq@04=;3$>aU堠#Min%Arith#Coq@0Ce-Fѕ(PreOmega%omega#Coq@0\|چBb~w4%Omega%omega#Coq@0t.J'6\ϨrK,Zcomplements&ZArith#Coq@0=+ R5'>7! 3&'>9 97! 3&'7$''6''+k6'+k6'+7Tk+7T'+7T'6'`@@AABAADA^0ĠA@P@@AAAEX@@@@@AA@@"s @,Ring_polynom+setoid_ring#Coq@@&PEeval"s @@A@AA@A@*Zgcd_bound @iBA⩚&BinPos&PArith#Pos@(size_nat%t2)BinPosDef @ 򩚠#Nat@#add `@ᛠ@ +k=' R('>7 7%'>7 7%'6''+k6'РlwADx접A@:X@@@@@e< @  I@?h@h?iŀ@9 L+k() 7 7&'xl@@@@@)Zgcdn_pos @@j@Rⶐ6ֶ5ʩ&BinInt&ZArith#Coq@!Z@"le1P,YX@@X7@A@hCBA@@@@@,Zgcd_alt_pos @@Agf1%A@c@܀BA@@@@@ݠ2Zgcdn_linear_bound @@B)Datatypes$Init#Coq@@#nat@'BinNums'Numbers#Coq@@!Z7@'BinNums'Numbers#Coq@@!Z7@@x@"lt1P-&ZArith#Coq@~@#abs1P&ZArith-@,@#abs B@&of_natbz@&of_nat1?G!C*Znumtheory&ZArith#Coq@@'Zis_gcdQb@@@@@@P)fibonacci @@@  "&$@/1P&@0 ̀ک@0 |,Pk*(=- R9'>= R '>3 3 7%'6''6''+k6'+k6'+7Tk6'Р1pDB`A@Ԡ,ACL@@@@@-fibonacci_pos @@sC[+Az@Y/=ڀA@@@@@.fibonacci_incr @@Du)Datatypes$Init#Coq@@#nat@!m@%Peano@@"le UxT@BA?7s;M@@@@@蠠8Zgcdn_worst_is_fibonacci @@E=@@%Logic$Init#Coq@@#andЖw@dABBA@߀ioB}@%Logic$Init#Coq@@#notШ@"eq @kEԩB ݩ%@#andЖw@BƀBBɐ@@@@@u9Zgcdn_ok_before_fibonacci @@RF:@! @xABBA@/Bl<m@@@@@@4Zgcd_bound_fibonacci @@GXĶ@AA/!@?iŀ9@@@@@Ԡ.Zgcd_bound_opp @@H{耩M@#opp1P@ {A%A@@@@@)Zgcdn_opp @@IM&5Ѐ7UC'BA`CBA@@@@@0Zgcdn_is_gcd_pos @@JnǛ'BinNums'Numbers#Coq@@(positive*@4@orBBCBB@@@@@],Zgcdn_is_gcd @@:K"%f@BC; ᩚŀ@@@@@+Zgcd_is_gcd @@]L'&Qީ"@ic@܀@@@@@@@@ ӳ2@ ӳ2[)Datatypes$Init#Coq@@A@ Գq@ Գq\ @A@AB@cA@A.0TQ+Ring_theory+setoid_ring#Coq@@ABA.U>[J @HAA1DH@@AB@@"O@(PeanoNat%Arith#Coq@#Nat@&of_int"O#Nat$Init#Coq@@ 6@A@A\@&BinInt&ZArith#Coq@!Z@'quotrem\)BinIntDef&ZArith#Coq@!Z@ /@A@\@@+pred_double\@/S@@A@As2@3@&shiftls2*@vY@A@BCs8@8@&shiftrs8/@vY@A@ѓ@>@&squareѓ5@y@A@@D@&to_intϑ;@@A@z@5@&doublez,@/!@A@ABCD/@O@)log2_iter/F@wd@A@NH/@B@&moduloNH/9@1,@A@A\d@G@&of_int\d>@1?A @A@bz@M@&of_natbzD@1?G!@A@#@S@&shiftl#J@1dV@A@#@Y@&shiftr#P@1d\@A@ABCD/x@&BinPos&PArith#Coq@#Pos@)pred_mask/x)BinPosDef&PArith#Coq@#Pos@ )X@A@6@x@&square6o@19@A@AV+L@}@&to_intV+Lt@2@A@V1b@@&to_natV1bz@2 @A@V5=@@&to_posV5=@2@A@ABCl@@)sqrt_iterl@!$:@A@@@6@(sub_mask@-@)@A@ADEF c@@'testbit c@!ć@A@7 B@D@'of_uint7 B;@*`]?@A@AG@I@)mask_rectG@@+ED@A@F˱@O@)add_carryF˱F@+p@A@AB^Ҷ@@'to_uint^Ҷ@#m@A@gL7@@'sqrtremgL7@40@A@Aq@@'testbitq@5)@A@ݎO@@+succ_doubleݎO@6r@A@A p@l@0double_pred_mask pc@0-+m@A@BCD T@&BinNat&NArith#Coq@!N@!t T)BinNatDef&NArith#Coq@!N@ 2@A@ @@#add @3 @A@A l@@#div l@3@A@ Y@%@#eqb Y@3@A@AB #@*@#gcd #!@3n@A@ T@0@#leb T'@3@A@ACEG "@5@#lor ",@3m@A@ q@?@#ltb q6@3@A@A @D@#max ;@3@A@ @J@#min A@3`@A@AB @O@#mul F@3B@A@ ~@U@#odd ~L@3@A@AC =@Z@#one =Q@3@A@ @b@#pow ˑY@3@A@A c@g@#sub c^@3@A@ @m@#two d@3J@A@AB hx@r@$div2 hxi@>@A@ @x@$even o@>4@A@ACD @}@$ggcd Бt@>U@A@ @@$iter }@>:@A@A 3"@@$land 3"@>m@A@ F)@@$log2 F)@>t@A@AB S@@$lxor S@>@A@ @@$pred @?U@A@AC @@$size ܑ@?'@A@ !@@$sqrt !@?@A@A ! @@$succ ! @?\@A@ !7@@$zero !7@@P@A@ *@@%ldiff *@@A@AB g_@1@+pred_double g_(@25\@A@CD m@6@÷ m-@2j@A@S@=@&of_intS㫑4@4}5@A@AS@B@&of_natS9@4};@A@BEFGH\R@G@(mask_ind\R>@4@A@\^@Q@(mask_rec\^H@4@A@A!,@V@&pred_N!,M@4s)@A@B@[@&shiftlR@5X@A@@b@&shiftrY@5X@A@A&@g@&square&ّ^@5,x@A@BC"@l@&to_int"c@5L@A@"@t@&to_nat"k@5L @A@AnTq@y@+testbit_natnTqp@6n@A@B@@(succ_posB@@A@I@@'abs_natI@?n@A@AB.@@'of_uint.@MS@A@3~@@'sqrtrem3~@7]%{@A@ACD,@ @'bitwise,@/v@A@>4'@@'testbit>4'@8g$@A@A{U@@,sqrtrem_step{U@8R@A@u^@9@(div_euclu^0@ @A@Afz@@'to_uintfz@9w@A@Bl@'@'comparel@3R@A@CDEFs8@,@+of_uint_accs8#@5+@A@}@R@,pos_div_eucl}I@&`@A@3x@(@'compare3x@]=@A@A@^@&doubleU@'޺_@A@BCq@@+of_succ_natq@$@A@w@i@&modulowɑ`@)1@A@ADK@n@&of_intKe@)j,I@A@K@v@&of_natKm@)j2_@A@AI@{@&shiftlIr@*O@A@O@@&shiftrOx@*O@A@AB,@@&square,}@*ow@A@Z@@&to_intZ@*81@A@ACE`@@&to_nat`@*9G@A@e@@+testbit_nateđ@+@A@A+{@@'sqrtrem+{ё@,J@A@5z@@'testbit5z@-T|@A@A @@'to_uint ͑@.@A@ @@+succ_double @.^4@A@A#@'@'compare#ݑ@ )Q@A@BCD%t2@,@(size_nat%t2#@ @A@%9@3@+of_uint_acc%9*@ ΋@A@A%V@8@+double_mask%V/@ S@A@%%@>@'div2_up%%5@ "@A@ABEF'ş@C@'Ndouble'ş:@ @A@(b0@K@*shiftl_nat(b0B@9-@A@A(nՖ@P@*shiftr_nat(nՖG@'@A@(@V@0succ_double_mask(M@@A@*W$@\@,compare_cont*W$S@!@A@.0@b@.sub_mask_carry.0Y@΂@A@ABCD.@@!t.@ ;@A@.먩@@#add.먩@ `@A@A.U@@#div.U@ @A@.B@@#eqb.B@ @A@A. @@#gcd. @ @A@.=@@#leb.=@ @A@ABCEGHI. @@#lor. @ @A@.Z@ @#ltb.Z@ @A@A.p@@#max.p@ '@A@B.@@#min. @ @A@.@@#mul.@ @A@AC.g@@#odd.g@ @A@.&@&@#one.&@ @A@A.뾴@+@#pow.뾴"@ k@A@.L@1@#sub.L(@ @A@.@7@#two..@ @A@ABCD.,a@<@$div2.,a3@ @A@.Xz@D@$even.Xz;@ ?1@A@A.@I@$iter.ؑ@@ @A@B. @N@$land. E@ @A@. @T@$log2. K@ @A@ACE.@Y@$lxor.P@ R@A@.y@`@$pred.yW@ `<@A@A.Ʉ@e@$sqrt.Ʉ\@ ;@A@.@l@$succ.c@ @A@.t @r@$zero.t i@ Z@A@AB/@w@.to_little_uint/n@ @A@CDF/@|@%ldiff/s@ H@A@00@@'compare00@?H{@A@A1P%@w@!t1P%n@  @A@B1P@|@#abs1Ps@ @A@1P&@@#add1P&z@ @A@A1P@@#div1Pґ@ y@A@BC1P@@#eqb1P@ f@A@1P@@#gcd1P@ 0@A@A1P@@#geb1P@ T@A@B1P@@#gtb1Pʑ@ q@A@1Pĺ@@#leb1Pĺ@ a@A@A1Pň@@#lor1Pň@ /@A@BCD1P@@#ltb1Pב@ ~@A@1P@@#max1P@ @A@A1P{@@#min1P{@ "@A@B1P]@@#mul1P]@ @A@1P@@#odd1P@ @A@A1Pɣ@@#one1Pɣ@ J@A@BC1P@@#opp1Pԑ@ {@A@1P1@@#pow1P1@ @A@A1P;@@#rem1P;@ @A@B1P@@#sgn1Pˑ@ r@A@1P@@#sub1Pɑ@ p@A@A1Pe@@#two1Pe@  @A@BCDE1[8@@$div21[8ޑ@ @A@1[d@@$even1[d@ I@A@A1[6@@$ggcd1[6@ i@A@B1[U@ @$iter1[U@ @A@1\@@$land1\@ /@A@A1\@@$log21\ @ 6@A@BC1\$@@$lxor1\$@ @A@1\Y@$@$of_N1\YÑ@ >j@A@A1\@)@$pred1\ @ j@A@B1\@.@$quot1\֑%@ }@A@1\@5@$sqrt1\,@ @A@A1\w@:@$succ1\w1@ @A@BC1\k@?@$to_N1\k6@ @A@1]@G@$zero1]>@ eD@A@A2:@L@%abs_N2:C@ @A@21@R@%ldiff21I@ ߵ@A@2=*@X@%quot22=*O@ @A@ABC2kF@@(size_nat2kF@{@A@3@x@(tail_add3o@^q@A@ADEFGH3@}@(tail_mul3t@^@A@5Z@@*shiftl_nat5Z@y/@A@5f}@@*shiftr_nat5f}@4@A@AB5a@@'iter_op5a@ @A@C6w~@@'of_uint6w~@^5@A@8j@@'of_uint8j@'"h@A@9E@@(div_eucl9Eđ@(*k@A@AB:x@6@,Nsucc_double:x-@ ʭ@A@CD@[@&divmod>R@C@A@>@b@&double>Y@NĴ@A@?2@S@,pos_div_eucl?2J@-u@A@AB?;@m@&modulo?;d@"i@A@CEFGIJ@L%Arith#Coq@0I|кX*o4)ArithRing+setoid_ring#Coq@0ṔCgt?}*Arith_base%Arith#Coq@0Ĕ}CS&Basics'Program#Coq@0!bs߯? :VU'Between%Arith#Coq@06v*0ur`C0͐0BpHޞun^)BinIntDef&ZArith#Coq@0ådR4Tuy'BinList+setoid_ring#Coq@0Au&BinNat&NArith#Coq@0K11ڤs+Π)BinNatDef&NArith#Coq@03@1O,[{ fed@0dmk(5Ju<&BinPos&PArith#Coq@0vyػ0= u)BinPosDef&PArith#Coq@0}H d.%,b$Bool#Coq@0j 2cZ`FW*CMorphisms'Classes#Coq@0qیZBeϠ0CRelationClasses'Classes#Coq@0TL;0RUfw1+Compare_dec%Arith#Coq@0jXF 8321@0.i bYN Z)Decidable%Logic#Coq@0ND걸풬/Oߠ'Decimal$Init#Coq@0C涳N*ua%EqNat%Arith#Coq@0AIgՋXRV *EqdepFacts%Logic#Coq@0FI$ͼՋ`)Eqdep_dec%Logic#Coq@0u wWIϰ߼*Equalities*Structures#Coq@0όe얟)H.Ƞ+Equivalence'Classes#Coq@07;ꮹ)Factorial%Arith#Coq@0@oehJd-GenericMinMax*Structures#Coq@0måj$"Gt%Arith#Coq@0䙛#c:D $Init'Classes#Coq@0](p{yOh.+InitialRing+setoid_ring#Coq@0k/T=cN"Le%Arith#Coq@0d}Omq+$List%Lists#Coq@0>I+ListTactics%Lists#Coq@0,Jcy{00\͉!Ig*Logic_Type$Init#Coq@0 1jc6"Lt%Arith#Coq@0KZ-eJkP܏#Max%Arith#Coq@04=;3$>aU堠#Min%Arith#Coq@0Ce-Fѕ%Minus%Arith#Coq@0LFtR")Morphisms'Classes#Coq@0Imӽ%\$PD.Morphisms_Prop'Classes#Coq@0% :B'.>u%$Mult%Arith#Coq@0햖Qyb0$NAdd(Abstract'Natural'Numbers#Coq@05;ZW:㥜un$)NAddOrder(Abstract'Natural'Numbers#Coq@02'8zn7Hfɠ'NAxioms(Abstract'Natural'Numbers#Coq@0Zخb1Z3uuѠ%NBase(Abstract'Natural'Numbers#Coq@0 Y?V vI%NBits(Abstract'Natural'Numbers#Coq@0qteo_hɅ $NDiv(Abstract'Natural'Numbers#Coq@0bz$?[p(5$NGcd(Abstract'Natural'Numbers#Coq@08E-S ;j_Ҡ$NLcm(Abstract'Natural'Numbers#Coq@0 ~xZ9L{:$NLog(Abstract'Natural'Numbers#Coq@0K Aat/ j &NOrder(Abstract'Natural'Numbers#Coq@0]@7U#oY'NParity(Abstract'Natural'Numbers#Coq@0̗SKz*!&4h$NPow(Abstract'Natural'Numbers#Coq@0҆mulf+NProperties(Abstract'Natural'Numbers#Coq@0unt"kwpYC%NSqrt(Abstract'Natural'Numbers#Coq@0<ge$NSub(Abstract'Natural'Numbers#Coq@0:DfJᠠ%NZAdd&NatInt'Numbers#Coq@00h`ZK4*NZAddOrder&NatInt'Numbers#Coq@0e~1>r砠(NZAxioms&NatInt'Numbers#Coq@0] ρ5r&NZBase&NatInt'Numbers#Coq@0^&8yUL&NZBits&NatInt'Numbers#Coq@0MlIpKt%NZDiv&NatInt'Numbers#Coq@0$ |J?d (w%NZGcd&NatInt'Numbers#Coq@0KgT7|%NZLog&NatInt'Numbers#Coq@0ꔉ .uV%NZMul&NatInt'Numbers#Coq@0ctR~6[Ƞ*NZMulOrder&NatInt'Numbers#Coq@0}\^ !"k}@R'NZOrder&NatInt'Numbers#Coq@0 q;Ve7R W,(NZParity&NatInt'Numbers#Coq@0H>ca'^^%NZPow&NatInt'Numbers#Coq@0)6*9 B:vȻ,NZProperties&NatInt'Numbers#Coq@01D%E`|3x&NZSqrt&NatInt'Numbers#Coq@0` .%m#Nat$Init#Coq@0eʤģPSR蠠$Nnat&NArith#Coq@0$W;s #%M)Notations$Init#Coq@0&v!D]hwnv *NumPrelude'Numbers#Coq@05WUVŦ]xVXԠ%Omega%omega#Coq@0t.J'6\ϨrK+OmegaLemmas%omega#Coq@0TJ#Jes4Operators_Properties)Relations#Coq@0U3y#h&&Orders*Structures#Coq@0$Znl0\͗+OrdersFacts*Structures#Coq@05Mܿ獐ζΖLB)OrdersTac*Structures#Coq@05'4Ԗ+9% 0 jha|ؠ(PeanoNat%Arith#Coq@0O~2$k[#lZ)Peano_dec%Arith#Coq@0Kݢ*k$Plus%Arith#Coq@04tmG$Pnat&PArith#Coq@0,?pr.gZ(PreOmega%omega#Coq@0\|چBb~w4'Prelude$Init#Coq@0JqTttֱ%Quote%quote#Coq@0J@ŹVz-,3%/RelationClasses'Classes#Coq@0Gz rA6ՠ4Relation_Definitions)Relations#Coq@0]4Ѐd{n^2Relation_Operators)Relations#Coq@0%s鯰s)Relations#Coq@0-SetoidTactics'Classes#Coq@0S_`nOU$&Specif$Init#Coq@0;RWMi\N'Sumbool$Bool#Coq@0sB ,$11.]m'Tactics$Init#Coq@0/9m+ a'Tactics'Program#Coq@03#_10&Ű@A'Z_scopeϠ2 Q@@E@#_11V@A@@@@@@@@#_122M접 AA@A#_13'`o@C)nat_scope'Z_scope@vkn@"2 Q@@@@#_14 o0/@#_152M접 AA@A#_16'`o@A*@@*2 Q@@@@#_17QP@#_182M접 BABA#_19'`o@BKM@@2 Q@@A@#_20U@K@A@@@@x@#_212M접 #_22'`o@Cwvx@렐ࠐ@2 Q@@A@#_23@&@A@@@@@#_242M접 #_25'`o@B@  @2 Q@@A@#_38@8@A@@@@@#_392M접 #_40'`o@DΠ͠Ϡ@@@2 Q@@E@#_41d1@#_422M접 AA@A#_43'`o@A@m@2 Q@@A@#_44@+@A@@@@"@#_452M접 #_46'`o@A!@@2 Q@@A@#_47#@!@A@@@@F@#_482M접 #_49'`o@CEG@@@2 Q@@A@#_53P@;ذ@A@@@@s@#_542M접 #_55'`o@Frqs@@@@n@92 Q@@A@#_56@D }@A@@@@@#_572M접 #_58'`o@E@@@X䠐砐㠐@32 Q@@A@#_59@>9H@A@@@@@#_602M접 #_61'`o@Bߠ@@@82 Q@@A@#_62@CU@A@@@@ @#_632M접 #_64'`o@A@9@82 Q@@A@#_65 @CI@A@@@@/@#_662M접 #_67'`o@C.-/@d@@2 Q@@A@#_68:@K4+@A@@@@]@#_692M접 #_70'`o@D\.positive_scope^@@͠`@42 Q@@A@#_71m@??-@A@@@@@#_722M접 #_73'`o@D@@@C2 Q@@A@#_74@N\`@A@@@@@#_752M접 #_76'`o@B@㠐@@@a[ D}@: a=KB@9'Ɉs$ -Dvqyk@FOwĘ͘ ,z:\ɂ4!n)Datatypes$Init#Coq@@#nat@ @'nat_indJ!a'BinNums'Numbers@!Z7@!b&BinInt&ZArith'@"le1P,A(Zgcd_alt@%ZgcdnhCBA/-". %Pos2Z@)is_nonneg2o9@(positive*@CCB@5A3(%^Aca#IHnOOMM@@AA@AA@@@@@@D!zXMYK@=wBE:99ZfX@*abs_nonnegLрCCbn`URDZK!p?p| p@&moduloNH/)BinIntDefr@1,ր`BfCwt7 jC~{>Cuu@)Zgcdn_posK@*Zgcd_bound?iŀ#C@c@܀ /Coq_ZArith_Zgcd_alt_Zgcdn_linear_bound_subproofضKI!H@"lt1P-A`@$succ1\wN@ @&of_natbzV@1?G!M!q޶!rᶐ"H1%Logic@#andЖw@ǩ-ɩi0ͩ"F 0Coq_ZArith_Zgcd_alt_Zgcdn_linear_bound_subproof0$" @ܩ|᩷ 0Coq_ZArith_Zgcd_alt_Zgcdn_linear_bound_subproof1O 0Coq_ZArith_Zgcd_alt_Zgcdn_linear_bound_subproof2-+0. @U @#abs1P@ N*Znumtheory@'Zis_gcdQb@42'3rpQ@)False_induُ "H06++@b@&ex_ind 5{N!yQm@"eq @Y>0u@%Falsee@%Zvar0c&Omega0!P@kAEh@(eq_ind_r!2#vML[HQ!x}@per@#add1P&@ ̀R{@#opp1P @ {$6+OmegaLemmas%omega@7fast_Zopp_eq_mult_neg_1=Ҁs"@ xH@/fast_Zplus_comm11!@#mul1P]+@ )7@Y&Omega282TRKO^IOJŶ@HAr<@1fast_Zred_factor0#YԶ@ǠW&Omega1Πé^7ǩR@,fast_OMEGA13Kua8*@#notШ @*comparison;f@CȠאA C@@'compare3x@]=C@@&OMEGA2.$Dvz)auxiliary@(Zle_left*x퀰G @(Zlt_left,ڀCƩ@'new_var&/wS&ϐ=CGE:F@.u(%$/ '&jh;TRTIU@=743>h765UaI(GQCQBI@-Zis_gcd_0_abs0 =CPZLW\Nmya&Ȑ"p0v@(div_eucl9E@(*kc@$prodt@BBB@@@@D'@BBB@@@@@1<}Ơ[.(ϠƩ/XH2@÷ķ"H2㠩xiK$ BBB@@@@D@`92ީ"6Ű`tͰKĐ ͩ1 6@&eq_ind J+LA쐩J۩@: $Znat%Nat2Z@(inj_succ:wV^["#_QNRM!4ө@&abs_eqp}ѩQ +> rߩdȐ"IHGTK%MHȠKBN+'3P0@3Zis_gcd_for_euclid2,=O--4qC;s$ZdivR@)Z_div_mod\*^BeiCHgDOwjCMlITnKjv^# @_#[@h]dNЩ?Ѡ|pi֠۩1@PyJwCIqpljf9bu]@-Zis_gcd_minus0m[@+Zis_gcd_sym V4 wdk]C faC(WCjUS̷ͷ̩)Decidable@+dec_not_notHɀѩ@,le_decidableHƀַک@"gt1P,@'and_ind14ۀЩ/<'H1_left(H1_right7K `%Zvar1&Omega4 0Ű sķ%Zvar2!&Omega8:Щհ(Tַ&Omega6 X&Omega3/$ up6+Ơ /h1mcQCHC;9Ѡ:ՠ/04@n6@(Zgt_leftEG;u8@'intro_Zz,/.c2F&Zorder`@*Znot_le_gt>/^QO~t@,lt_decidablèĩȩ@"ge1P,leӠ%?נ;VQOxHB@]XàXsQЩ^Wwשlge0ib&Omega5 \ZWPTӠRͶ@PRTMLMI@8fast_Zplus_assoc_reverse 'Xf@Ԡɩd~'){©bS-v@٩tvoh@~ ' Y|Sb@@@mV&Omega7 v)!d)gUU.@!٩6@)sB@5*ŠE@1fast_Zred_factor6) @A6Ѡ -YV0/0m\@ODߠ9۩ڐ1 հh@[P렩Eh©jv@i^ҠI#pe+۠{GŵC8NrC +auxiliary_2+auxiliary_1 @,fast_OMEGA10H(s_E"{ggg@1fast_Zred_factor5(-rt#@,fast_OMEGA12J{ { *@,fast_OMEGA11Id9IĶ@G V#t&Omega9àS17 WYS*K@,fast_OMEGA14LZ1d=hA!d\@&OMEGA7.$I sLYwPsYɰ@(Zge_lefts0C@@:7 ©ېn@*Znot_lt_ge>π\e!NB5EHF@%PeanoG@n Uxc*@)fibonacci/=ڀ[YР@1 UxT@A@B@B@@@@@@Dlj@Q.@s2MB#4z#"p!e@@A@A@@@@D K@@$Truey@A;V&J'X!mD3'$H"0TK:2`.wXi\@CQQ}^pXv#IHNtt{N9zNs~j=Cxi̷ZL[LӶ/`i}iC sC@_A@͠©xҠǩbr " &ҩm@"or @͠Ɛ@&or_ind"ܠ~Ր0 2@ Uw۩+3aƩ e$<!٩%շG̷umg@tnq9K@$zd+ Z732M7_@ =flEDbt@#NqqW(^]\+`za@e5<RqΩOJJtD>ЩQA|{KB˩`[Ơ[ڐZW Щd㐐[`upnfXlǷ  ʷ|˩zͩt%Zvar3ѷnlhcdc޶@ѠƩaZeg\vft@שr7ҩ(]@F83 Ϸ@@4fast_Zopp_plus_distrpeB"@ !ͩ&*@)٩@2fast_Zplus_permuteЩ!;#f&B@5*ŠN{ѷJ@=2͠VϠ'CD9Ԡ֠6:b98^:g@ZOHhtKJdy@laYA&@vk ^._Kt٩Mv@ukh8ưi@}p+^Cc "e &$jpklr,0/y C@4ϩ/搐bc cC@C<GIqC C@NPaON &YW© éŐ@&inj_ge8F7-ϩ  @&inj_lt8F*+Compare_dec%Arith @¬_lt+v"䩷QꐩI E ᰷ @\N#ʩe *   -@j֩ȷq ) 7  (K :@w |ztvpy J@ #IlDB  R?%Zvar4 U'Omega19Dn40'Omega107 ` a} e <N %Zvar5 i'Omega18 Щ p HG'Omega11 . w) x' z@ R"%Zvar6 'Omega14 ; *%Zvar7 'Omega16˩&$   h g @  {Ʃ__D(a& @  $ |LB@<   qq"> 6|z ~|@ @  > fJH ö@  F Hp'Omega13  Oymk wg {  _ ڶ@ ͠ ©] V zx !rt   +#nV&fFj:·s @  ֩qW'Omega12  ݩxz~©T Q' S n   C@   Cc ?` C@  C C@   _ Y_ f hܐT S ۩N> ˩F 䐩  : x@(imp_simp{,*J@&dec_lt*c<1"Q</ , uJ go.8ϩ]B>  C "P:UIC=92 . ,bb ) r_ %Zvar8 u'Omega29dTP 'Omega20W 7   &%Zvar9 'Omega28%^ .'Omega21 E  @  > W 6 j :&Zvar10 'Omega24  S  N  L e v F&Zvar11 'Omega26  4 m $  s s $~|z  B |y Ds'Omega23m찷 G ¶@   E  m砷 O ʶ@   M F u ? E  Y Զ@ Ǡ  W = ŷ a ܶ@ Ϡ ĩ _3  'Omega22 ֠ ˩ fԩ é jP F  ;   = C@     C@   {ON  ԩQCCCɩŐȐʐ    ː  멷   O 萩 G Aԩ     D   @ Z  L ȩ   c   (  )  *@ g  ө  ŷ n   4(  %]  7@ t   y w q s m8 v  F  G c  K= !3 &Zvar12 N'Omega39 gЩ  UQ ,+ 'Omega30  }  [ &Zvar13 ^'Omega38ȩw9 'Omega31ķ   i  j  l2 C &Zvar14 p'Omega33  , u &Zvar15 x'Omega35쩷        W VF % [  @ x m     d 4 ( & ϩ h 1 #   k j 2  @  ~     w u E x -   z ) @   ' ! )  " K R  : 4 @   2 , 4   0  ^ 2     4  B @    f'Omega37   E   a _   [  j   q  [    'Omega36  o m  i  b  #     'Omega34 Ӡ ȩ c  _Y a[X]V^8  + e D o H     s L n  E_$   p  p   ~ @   | U W z   \  E'Omega40     +     ^  & C C     |   , + )          <˩  _Ű  =#" ꐩ: : ĩ/ ͐  # s l  : 979 Ȱ L    {    U X V  AtC  d b c  @&le_ind1Q؀ , m Gs 쩚 J@'le_refl/(Ƿ x   9$IHle X . Z@(le_trans Щ5 yة6 H   f< O!  I  q e c   _  n    ] X Ӷ@ Ơ  V O Z    : |  d ߶@ Ҡ ǩ b [    l @ ڠ ϩ j'   \ Ʒ t @  ש r/ t ̩ m   g   @   }:    Щ   }O \ U d  @     |@0fast_Zplus_assoc Da~    @1fast_Zred_factor3&    @     Ʃz   o   q  E     x @     а  o   :    ǩ [ʰ  @-fibonacci_pos+䯀    5Coq_ZArith_Zgcd_alt_Zgcdn_worst_is_fibonacci_subproof c a b$Heqm  g % R ض E Q#Ha'   , x W"EQ  \ 4 ܠ  m E 6#Hr'  <    M M   t   o m b n@   i  @ Q N M X  P O@  * } _   W a $  Y  u # wM , "a0  @ 9   @"@ o l k v n m@  H  } X ) u  + w   A k J 4 ~    ǠG   m       ҩ Ȑ e   u      ﰩ ۠ 6  P @'dec_and   @     ࠩ  ꐩ ʠ x  Р     V  !  o &H_left'H_right )  -       ְ               ߰9       )  ݶ@   C 1  C 2  C 3    ܰ    ֐ N   ڐ     琩    W@ Y :  6= ȷ;97 &5 ̷ 'Y6 *0 з\+1  +C  G C  , C    (%!  ǰ  k@'not_and7G6huC \4z)G ͷ:F  c 0   ) H%0 J' o e U7 d/9 f1  xP !   x  v ~^ / l d 5      :  Щ b _  a  %   ; 6 4 ;] -5 B = ;pK k fg 7+  L G Ez  =p @'Omega17 8 6  ܩ 2 +zy  r *@ ( ! P   2@ 0  W   'Omega15 9 U S   O 6  I Hö@ F g  n   B    RͶ@ o vQà S ,   O  a Q (   [ U        Ű  ɰ      }  ķ * ,ө xv  y t s st p @q j ik q  @    g   Z*   ѩUP 9   c H JF  X 1    Z @   7   ˩   (@   ө     /  e  4@'  #  ߷,!  <             (    © ʠ c    % РR    kV  I> ٠ y%  t G ߠ $% 㠩  (=  {   v   t#..CDu  ;  F  V   @<G9 KCiַ|o{eXA` \g ^ 9nIgqi İY8ש٩ з ة   ܩ h #ѩ n ~T   ͠t & Щ  A_Щ $ vqo h.÷'Omega27ȷzɩx˩2  t.Ϸlҷөթ <  {~ٷ'Omega32 vt piF  ?S9C461) ũ|+éR %v-  i@% '~# °۩[ 5 ^ 8 ް 8c  ة Ő V  ɐj  Ր  |߷ E. G "YW'Z%US5TNOHI | o`9a J  tY [UWi B- " l  1g u  w       (    WB'Omega41٩f SMHDr q!Cg? jhRTIU@@410;32@p `B :D U=Y / S _ 5Hht @@WaT^cV@0e jg#l{"p}+c"Ha+@ өr|#VVICC ΰ" 70h( |S ,    ѩǐթ Š͐= R کBm ؐH   P e. U  쐩̠\ f c xA h  Щ L ʠ  s     C &    C #C C  ڐ ݐ$ߐ w ޷86  ʐ A CME CHFi-@ӷ _. A17׷2 853۷64n$6CsRCt7Cu+/,)' Ұ  mC@%/Ŷ@_O1 7638oG ,?L "gbUa@MbdA@HzEO |G@!tV \X l%én"T/[  j:]6_Z%lemma<fc)Morphisms'Classes@>Reflexive_partial_app_morphism 2R,0!B33@#iffС)@*respectful%WO??? &Basics'Program@$flip$KKK @$impl7o,@2subrelation_properJ7@X( Z@[[(#]]**.Morphisms_Prop8@9iff_iff_iff_impl_morphism8C-g74/@$unitUe@AJ@6subrelation_respectful>6z uEBBQ@0subrelation_reflv |I!D ~~KK K?Y@9iff_flip_impl_subrelation2VA˰Ұ c@6reflexive_proper_proxy5[/RelationClassesi@-iff_Reflexive/h@$ / Ԑ@&ð.(QS@0not_iff_morphism Z @,PER_morphism q$(א*2@/Equivalence_PER/;1 9@.eq_equivalence()'1!@0reflexive_properm+4YW@@@AA[]GII!!@:reflexive_eq_dom_reflexive=[h R  TT,\@,eq_ReflexiveaN31;20pp@/eq_proper_proxy)faw00c2ss euY[ 1= |w G@Q}~/w۠G]\Ġ`K@h˩o-@AvooXyZ Q e=wV)ɠ޷@Ϡd7|נ@vթx@ِvɩxW{UY}頩Aà|} @l@SŰ#U@̰ өΰ թ B8䠩 ̐"Hr 7m BAAAA@@@@@D@ D @U$W@&ðN  6  H  !@4iff_impl_subrelation5  >n5 (@+lt_eq_cases0㜀3F6}=AMCàuQMGǠ JsK@)w0%y@eU7 Lk92NmuM # P8r> RK"xhJ?AbAYikȐ#EQ' {Ԡtt/۠Ʃ]Ȑ(hyp_list@$list]@A,Ring_polynom+setoid_ring@%PExprk@y Ȑ'fv_listB&*ZArithRing@.Zr_ring_lemma1 80𚠐(Ring_tac%@0ring_subst_niter!0D5Eϩ:Gԩ AH۩ݩA   h䠛@$boolZ'@A@ Ȑ#lmp_@.mk_monpol_list(|S@#sub1P~@ py%Zbool@(Zeq_bool0߀@'quotrem\@/ŀo@#Monf@@#Polj@@#Peqj*+(@*norm_subst7:d025/'um0471)w jFC6+Né=2CVàW4JH=I!gLN&P(R* T  V  X`@.flip_Reflexive-f@.impl_ReflexiveJ@a䠩0?kMjoF/T PNl\qnD <@u*yO^2} e %\ v  b9rs. |x&n o@+add_le_monodDI vF b@'mul_1_r5J*@4mul_le_mono_nonneg_l,\1 NȐ"H3ͷK@젶@Š H@gˠ@Ϡm@)le_succ_l#ڀ.@@ h° sLm 41|Uv ک $ J > 9 `@@ $hxKKCRo 8MY\"H47jb 1 _] _% `7@ ޷;g R >?[C +D [ЩI   oMNjR~e+=JV  mЩ[f54 bceg; Gf, ijl␐hE p*s%t#v͠jQ! )|L 61/H'g]- !g B=;Tig7  8LGEzsptD   YTRmrQ 9  GE A(u<@:<$65d.F@D l@ &B P˶@N6v(XӶ@ƠVXR q͠©]67a [}{$x@avS 찷v@ttnyѐlZk@|  @ }@,@ʰ)x(ɩW&@ְ)  ө :0@3Aݷ:D  O))ܷJ! wO@B7Ҡːư]Y@LAܠ5)A=e@XM蠩 _TP 멷  xONϠx WVҷkvk@,fast_OMEGA15M$NN8 栐n \y C  G G&@$o##Q%%%3@1 3:[ ԩ8+}<gM82:416/7-(,>FBJ#FN,H*8R+- 'A$RR)4\5 /&Z 1 &ՠʩea8"C@ةXC@yR3}V7yyЩ ?^K:x@&OMEGA6.$HЩh&.g@*Zegal_left;6ty0*)<4q٩ΩO é} !]@&inj_eq8Fh &8<-U.,j ?.aO$_tmpOd^C_@tdF;<H=>\2'D@#vXM]ZP_nVA ,u M^ @:bֶ@?tkyv4{ ک  .Ԡ UOܵUiѩڰƠ©& tʐxȠА Ԑ֩ڐqސt < ٷک~߷Щ a:/ɩi ̰ 3oF+ -ɩ|v?D٩y/@@#Zne>o=@ u c@D· kb &.lŰ)@ҩ + #t 5;= @,fast_OMEGA16N DHȠ ĩNŐ JTː֠ 8 \ A$E# bI [\ ;dhM@'OMEGA17 PЩo2 2G@&OMEGA8.$J ><SQ brX@(Zne_left0߀EWZSl%ϩNa)Af!whQɩSl NĩRA}éuEũZI !ݰ ߷ 4@24.-\&>@< d@^: ` EG I"iEʩ?]/ ͠F÷^ٶ@̠\<ũ7Z1qՠʩe̩۠ЩkeߠԩoHj AlC Y >oF &yѩAuuuLA|vC~xuzs{N ceic}$׷@ s ĩxé "y ϩ  4G(zB.; G  B-' ?˩@'OMEGA19 P+SðOְ q!C@`P2 7{49}pHؠnLܠ5yw z7wgөI O~Ȑ"n0DmqSX @@D@kC"'r YZDC@6kpzmr|sd-ީyC@ryp$@L#r}C@H3 1ڷ@ˠ@ ( T *@͐j 'K V )MݠnAI 8 v < yB@@@@@D޷@ʠT@B@TðV@ʰLr̰NtW⠩3̐5 c ; )$  W@@@@@@@@@@@D!c4٠3@99@@.˰  s(  u*>26+:TKIJ  6)5  X7  ޷  ֩k թ շsQ ٩w ۩E@H K  MNjRD(:SjЩX /.~\]ya7IVb yЩgY>=  "klnDPoa)rs-v$w_۩1z,{*}_TU%:53h_/ 0%#8gf@z? !@ wG +@)Q߰3@1Y 6 {TRשN8F@qĩD۩=H!q)$Uж@өSL{ ]ض@۩[Me@ce^@[@6fast_Zopp_mult_distr_r0A<׷x@v xQLt0E@ک ; @ e%j% °n`کr9^'"$@ ȩrЩ|-@ 9 ٩<j59@,!L2' JĠ$J  pȠ /N̠vz7y[̩BV@I>٠r3PEKy%,?.H}kCyCrS_.ƠGHiЩ̠y81QPGbĩ֠fOJhnNlR}c+d,OCNϐuyyjKD@-@٠w|-y/{y ӷ@ 1@9;Kp |@VX IG!k۩޶߶ȶ@x#Nat@ w&BinPos&PArith#Pos@&to_nat")BinPosDef @5L @'4) @+?ΰ հ 6/(ַ>@ݷ%CP,E<ݠ8L%PA . V$·'H0_left (H0_right^󩚠&Specif<@+sumbool_ind=S۠nӐ\󩚠@O Ux !s@'sumbool7̂K@@F+r}퐩vKB (W!\`=U:9dX@'inj_sub~kFp@ sXI  M# }WV"q @vB\@6n-/&|KD)'Щi%ʐĐrrqǐ@&@Q|LV3g 0hcΠc␩_Y Щl됩^h}lǷVwpxZηϩ~wҷ{ַtrn  ߠi@gΩ`kd/<{z@xߩq|un@} 1   @hn@ð©@ϰ"rȩ!%@հ(ԩ.1@4۩J8@;"F')iE@H-/·K@N 3@QѠx8X/.0]@PE8 h{?>ٰߩB&Y5$K33M͠9ǩ o;_;ɩqc~ FvJCXY`C@7 qĐݩ a{  @  t@G;9 {ڐ': ߐ#  &$6 @ Z ۩ aQO M 쐩   hN ɶ@à( Р Hthf  Od     L^ ٶ@Ӡ8 3  ؠD =  _6c     1  B  Щ  '' K$!!,! ! !   ?!@!!!ڐ  !% \ !!  HΠ!#@Ӱ!&T . ZZ!׵˷ t=!8!! dd 8!=@!@  Ơt7!-!K@!NΠV!5ڷ!S@ !V֠R!=+Y!\@ !_ߠ!F Ma !d@ !g'!?!N ~!l@ !o/!I!Z at 8!x@ (!{;֠ B!W!f ' !@ 4! G  L!p 1: N 7 K\ R9  !@ B! c!m!| =d Z]  !@ J! k"! EӰN '!@ R! %!} '*P! O Y! ,[ .X 0v!! L J !ީ G!!!D ?!@  =! 6 Š ! k a _!k [!o!!  s V!Ѷ@ ˠ T M X Q \  !  g!@ ܠ e ^ im!  +  s!@ 蠩 qʩ jo!  e 5 }!@  {ԩ t !  { "@   ! 0   " @    y!!  ! "@  !" ũ4 _  ""@   !  "" ө" "0@ *   " " ݩ  ":@ 4   y"&  u "D@ > Ǡ" ɠ "0  E Π "6 $*!!    :, ՠ   @  P!!    BR ݠ   F  :  "F"F  H< "J L  Щ )  "?"@C@ c : 吩  鐩 c!7"[!C@ p G  !S  U"g!(C@ |!S   ]"p!1 dC@!="!!?! !!!Ő!]!q"!CC@!M"! !y"!LC@!V"!)٩!"!"!W  z|"[  7""Y"" S!Y!W"!S""""732I!N"ɶ@.@ Š*"!t-!V"Ѷ@    Ϡ;"!"!t"۷x!C|!!" !f"  ! ! !"!""!"k"!k"{Щ!""!{!!"!"c!"!}";!!"B!#""!!#@""!!!"L!#""< !#@#"!!!!! !#@##! "!ƩG!!!q!!j!X!!#'@##!#!5!!Էr#!#! !#8@!#;!i!C! "o#(!鵵!!ݷ"ש!#J ]#!# ~!!#L@!#O!Ϡ!!ɐw#9!!!"!#Y#0#/ .!#[@" #^!ޠ!א!⠩!!#J" !հ <!#h@"#k!!䐩! #G#V"!"4z!#t@"$#w!(!#^"!"<"#|@",#!0!" z#[#j"+q![" #@"8#" <#c#r"3!!ͷ"#@"@#"D"#m""c"\#"A"^"##@"N#"!R#"I z""+#@"V#")Z"+n#"SzmFk|o")"7#@"b##"[ "x"/"=#@"h#";!#"c! "E#@"p#é"C)"E!#"m"w#ʩ"J"L٩"N##"l"j# "f# ## "^#ٶ@#̠#"\ "U"`""  ""\"j#@#ؠ#ͩ"h# """#,"# ##Ʃ#n 蠷"z#@##ݩ"x"z #" ""#@##" #""t "$@##""r""]5 #""$@$#"!#""J "$@$ $")"ķ$$" #b""3"""$+"ڰ$-" !$ !D" "  """"$4"$6 ""!7 $"8$<"M"#"$B">"$H""ʠsթ"$P"Р]"Ҡ#$9 $!/#"Ω"֠")#"٠"۠w$B#!8"ߠ " #$  !<"#&#& #&!!>"#*"#,'#.#.$R#.)#$p"#3$W $#5#5$Y#5""é"$]"Ϡ#;""ɷ"fxC"#&C"y#'C"m#($ zЩ#:$k#<#I#$^"@&OMEGA5.$GЩ#;# [:#T$i$1 "F##J#$8$r$p$.C@$$#t#`#GC@$$#$֩##N NC@#[$#.n#'#2$#ZC@#d$#7w$#_C@#i$#<##6ŠD$#i C@$$#I/#q"$ l<$ D$f@'inj_neqjD! L!#2!|$#y#w#u$-#q$$$$,N#l$@'@#$$##!$,#$$թ#{ax]VI# EC4.&5 #%#m%'Omega52! ##-#% #k% 'Omega51!!% ##7#%#%'Omega50!/ ##A#%#ŷ% 'Omega45#%%#˷%&'Omega48#%,@%%#Щ##ٵC""5#:#"74 a##[# ###r#~'Omega44v~#%H@%;%0s#l#%O@%B%7i#>#$ҩ#İ##%W@%J%?[$'r F## "3$#ַ#%_@%R%GO$#"9#%e@%X%M##$'Omega42%_%T# [#~%X#"jw#%\%?#Ʃ"R;%^%A#V#cu#%T%SC@%p%e$&C@%s%h$)#_X C@%y%n$ }$$3!2%dR%d%dgҷ##Р˩ŷ#·$P%S$?$%'Omega67V!L!u$E'Omega53O#ǩ$\% $K&Zvar16%'Omega66 ѩ! !$S'Omega55 η#թ$j%$Y&Zvar17%'Omega65Ω!!$a'Omega56˷#$x%$g&Zvar18%ķ'Omega60$%$o&Zvar19%̷'Omega63$Y%Զ@$%ש$W!$%$!"$%$"$c%޶@$%! %$'Omega58$%$f!$%ͩb$"$$%$$b$9 D"v$;'Omega69#کC$$C#$C #$%*$x$$r"%C@$%$}-$5%$0%!8NI%4% w%321(Щé ; $F#%%?$& $& $#&$u%&%P"%쩷N& %|"L%X"ҩ$!$7 !""?Щ%g&%i$m$շ  %m #(e$&6@$&9&%e p#$ #>   @$&H$$ $$%&#R#+$&RV",&+&*% " "&2$&\@% &_&5%$&b@&U#@&;@%&h#%%&[#3$&n@%&q,u&I"K%%%#&v4z#S%1&z4% %&{5"+"T%$$,$%9&%("w&""\%,$$%A&*%0"l& +" "d%4"T!$%I&%8&"c%M&%<D& %Q&%L&%J& c&t%D8&E%:%8%%4&%&|&{ k&J&F%/&@&&%-!N%&&'V%X%L%J%!%F&%?&&p$%>&@&&%<%5%d%.%ȷ%F&@&&%D&%l!&T%@%%&%B%P&˶@&&%N&n&%v%&^%X&Ӷ@&Ơ&%V&%X!%R%&͠&©%]$%_.%Y%{%y&"%'%u&&&& r&s%$%&%%%%&,"%&#&&%.%w&@&&ک%u&ͩ%n%y &%%%&?"<%'%&&٩ ɐ&$ՠ%'@&&%%K%%&+%%%&R%'&&& &%'@' '%%\%"%Ʃ &*&h%&,%'%@'' %%h%Щ%&%'-@' '%%p%!' %ک%%%%%%%'9@','! %%p%Ʒ%'?@'2''% "%ĠA'%! ש';'0%ˠ%͠%,%Ϡ'6&!!ũ&!!ǩ!!ɷ!!ʩ!($l&%&&%!$n%۠%& %&"%!%%&$%!$$:%&&%'J&&&&m!$<%i!qa]!~ %}%{&1&1'F'G%?'''!s+%ϩ!:ũ%P'\!=%F&(!AJ~%B!DQ'UC'U'UX װ$V'W&A&&& ҩ&''l'^']3 /.谷&'@#*@&>'L'v&7&.#)&ҩ&C'T'{&O'R&>')S#I#r&B3J-%©&W'&F'ȩ##z&J*÷%ʩ&_'&N6'F##&R$J%ҩ&g'&V0'&k'&Z '&o'&^'&V&T&'"ө&Q'"''p$"$&' %$r&w'ʩ&J&'F$"&&'&&F&"("Z&X%C]%&|C^%&}C_%&~'lЩ&Z'&\&&V$'C@&'&a'w&'&̰'"k3.''\' h  $%!ϰ$'Đ%Q'Ʃ&Ͱ$'ҩ%0@& &''ܰ%$''ް!o$'''$'%ө$6&(' $%٩'&$%۩'@,eq_decidableO  J&(%S!&&.&0&Ͱ( (&`$&($&'@($ة(&!(&@&B&߰(2(%)&r( &t'R(*~(,"&|&%z%|&(C(%%X",%:('".%<$]Щ'(0#'#%`& 1 /'"@%N$&(T@'(W(-& 3"%4ک ( $ "@'(b'& &&'(=l ͩ&(lp'( (H(G' %A %C(O&(y@')(|"p(R'"'''(Vé'('' (](\%w '(@(|@';(!&"'4'+($i橷'+')'ҩ(k''('̐ (q(p'Ɛ(? Ʃ% Ǡ'%(@'P(!;({!'K''U("! 'c('R'L(ԩ$$'V&Ϸ&֩'k('f('Ѡ'f('吩 ! ($'b$(6 $Щ'o( 0($'h'<&'}(!'l$(Ƿ!$!$'p$!&'(η'(ϩ'~(('w!(ҷ$'(շ'(֩'(ة(ũ(P f('(ܷ#'(߷'('((İ( *4 ('('('('(('p(#''(/`'('((ɩ(հq(k('~(@'|(ԩ'u(('''(C$@')'((ݩ(&ؠ') @'('(''(')@ H(''t(e'L(')@)'ĩ#װ'-'r') ''(f$')*'h))) (3'')0@')3') 'D)'ݩ''Ϸ(x')<' )))((G')A@')D'Ġ'')+''(')I@')L'̠')$)3'''')Q@()T'Ԡ),);'$S')Y@( )\'ܠ!)4)C(()a''`)J)J$''((((N#''' (.T (w(0')T)T(0V#(y')X#Z Щ'$u'!!(:)P)O`{)]>)!ĩ)a|=! )c/?! !'I'K)iVt'O)m^)!!*'T)f )f%.)g &6 )i(09(.(,( (())~)p)o( $#(#)@% @(P)";)(I(@%((U)#)(a)(P &)ҩ%%(T Eͷ'ԩ(i)(d)(Ϡ(d)( =)%(^F)I%Щ(k))%(dDO'(y)·(t)é(ߠ(t) o)%(mG)ȷ%Щ(z)ͩ( )%(vH'()(z@)շ()(~8)ٷ6()()ݷ()()ܩ(V(֩(F)v7ѩ()xҩ$'ԷyΩʰ©(c)()'$v}wuql)Щ% )ѩ%$)q k ө5 &&(@&5@'not_not7GH~ɩ)'Hש&#Щ*a#*'('H2_left(H2_right* '.&1Щ)Y*$(ŷ)]%L& (*&@(ְ*)))U` h&(ө #ܠ&    @(*8$,(޷ ((ѷ)z*ҩ(*@D$4**)ny' ߰'* (*J@(*M"*#((*P@*C"*)@)*V"(ީ*I" (()*3Ʃ(*`) *9*8)* 'V (*h@)*k"o*C$_)))*p#t"Ω)+*t)&*u))&*y%P*O&a) *z'Omega54&Щ).**X&W)'()<*)7*))7* *`&r)0*&Щ)=* *g&f)6()K*)F*))F*"*o&)?*&Щ)L*"*v&u)EA(ũ)Z*)U*)S**|)L*e)a*)\*)Z*$s*R~*)V*q)k*)f*)d**)]*'Omega46)t*)o*)m*A*)f&Zvar20*÷)}*Ʒ)x*ǩ)v**)o&Zvar21*̷'Omega49)i)g*& )c*)\**$*y^()^*ٶ@*̠*)\%})U*V)){)y*"%)u*'***\W')o*@*ݠ*ҩ)m)o%)g))`')x*@**۩)v *)&*)r"^)I)X)t"`%)0*Q**)%))*D )+'**()+ @**)*)=)))*R%)+)T**$ܐ*#))+@++)())Ʃ)()+#@++ )(%*)Ω)(=%)y)^(?%%=%'Omega47+#+)%F)S)V) ++)%^(8)+ +),)% )&=++)%*d")%  "ҩ)J)+-P#r)%m)%**!D)4+0&#+1&+2&& (  +5/))* )+e+J+<+;# ְ)+j@'@*+o$+T*'*ѩ*++t*&Zvar22+w'Omega73''R*")*7+*2+**2+J+['m*+&Zvar23+'Omega72 'Щ*<+"*+f'e*5'Omega57 )*L+*G+**G++p'*@&Zvar24+'Omega71 'Щ*Q+*А!+~'}*M )ͩ*b+*Q&Zvar25+ *h+*W&Zvar26+ *n+*]&Zvar27+*t+*c&Zvar28+&*z+*i&Zvar29+Ʒ'Omega68*=(ݩ&**I#5* */*K#7&ͩ**('Omega70٩հѩɠ©*L)*<(&*/*(&&&<+'+'"l+  !((++!ʩ( @'dec_notש+ΐ++*+)+++*۰(*+++֐+@8Zgcdn_worst_is_fibonacci;ذ+(+++޶H,!,$,"+, @*,&+@@ *)`+++)b++TV,/Q, ,*ש+5+W,+*+Y+,+)L@!@+^)k+)t+,*f)v++*(+I+g)t,)i+j)~+9g b))))+ҩ*2,N+t,)P+v)R+,,,+з++ŷ,2,>+})l@@+~%D+!+ҩ,(*+,+-+ +j+%?))W*\{M%v,)*++0+],7*+_,-,\,Z, ,,\@+,6&%+,7+(+,L&-+*,\@,lt_decidablè +/*+3'+/,x+*,y+(,{,Q+!+,|+**j|C**+*C**}++C**q+,,*U,n,n,'*O$&o,s',d,,6+̠,w+ǩ,@,positive_ind?Uз,$,"+֠+ѩ&b++շ,+,)#IHp +6,(PeanoNat#@++.먩@+, `,U@(size_nat%t2@ ,-,,ԩ+,4+ K,ݩ,,,@AA@AA@@@@@@@D,_,],$,m,8,,R *+,.+,,,o,m-#4 ,-J,(,d,c , @*not_eq_sym6Ԁ-,,8,&@#O_S U沀 C++-!FWM,Ƿ,,-(K\$,-+r,P,$, µ(C+.+˰-6[l%,,->ar,-?,d+ ӵ9-E,.&cC+B+߰-J,,C+F+-N- ,&ʷ-S-Q,v ,{+Q&,{,f++Ġ&-, -c-a+ &-!,,[&,+c&,,,ːz,a+ؠ,&&&-s, ,+s'+-c+㠩+%L*,(--h@-[-P&,-D+&&,.&ک),++͠%]*,9+&&,+ ,(,+۠%k*h,G, ,,ǩ-`,(,-,Ð<-h-g,&*,,-@-n+O,>,ש,ϐ,-,V-,Q-,,Q-O-z),J,D-))Щ,W-,+-),Q,H)+ѩ,f-,a-,_-(-,X)-,,m-,h-,f-;-,_)-),t-,c%-)ĩ,Y,W-"1,S-,--'&v-c,L-Ƕ@--,J(k,C ,s,g,e-) ,a-,Z--+,C,(-c,O$,&,5,Q&, -g (,v,t-,",p----"u-m,,-,), ,,}-&(,y-*--,(,q-@-ߠ-ԩ,o,q,J,,k,v,x'&",,k@/fast_Zmult_comm%,,.@--,)4,,,-I)F,. ,--# +ܠ,.@.-,,,m,V%,٩,,,-"$,ĩ,,-_",.#-+--#-,.%@.. ,,,)$4,ԩ&,.1@.$.,",,,, -.,,,-H--H,.A@.4.),Ġ2,,&2-P ,.I@.<.1,̠:.$,,-X,.Q@.D.9,ԠB,֠..,ϐ -&F-d-,.]@.P.E,N0-,Ұ-l,.e@.X.M,V,)/"-,ܰ-,.o@.b.W,`,)9D-&CЩ,,Ѡ-&a-=ɩ,,[,ͩ&K,]H, ,_-.@.v.k-,!zթ-,g,٩,@1fast_Zred_factor4'-- - -.@..z-.m-!-?)ܩ..-,-&b-_))-a))))))( +&j,-* -.-m-,)-.-+&-s-s-)$,-u-,.-u-u-:.@..-8-+-&-.-d),-@)--)+&)--(..-I-"+&-)+-H [-&-V.ѩ-.ө-S-,+&-W-0+~&-.)!+-.-&·-c.ީ-. -`-9+-;-^&.,.-h-A+&-l-E+&--. -r-K-v& &- -.)-|-U-) *&-é)5..--_-**&--˵- C----C+.-ӵ-C-ư-$- '/- C+7)) )R//--| )-D*^-)@- .-y)O)a-/.-{#--5-3 +/-@/Zmult_le_approx"8='-//...ΐ-@&OMEGA1.$C- -,'-Ơ-+'/. D/ /".ީ)^ -̠../$/%.V...)Q-Р-'9T.-Ԡ-֠#2,1-3/?+-(*, E-"@-$)G/6*-1 -/.)G/<%/8@&inj_xIր-<"0.f#C.)5(C.)9/ЩРǩ@(add_commbC.)G.ؐ//.///.Ǡ/m#//.`)&//\.Z.Ӡ/'~-lX/sR.P.i.ݠ/'.N) )$/L.J.:/FD.j)+ް.:8F.Щ-Ɛ.ԩ+)4K2&.".t/.c.]/+++.g.^+-.|/.k+/Ʒ../.o+/ʷ+./.s'/η+ԩ  .C. .3.W-!%.'. /f.`/۶@/Π/é.^**.*ȩ/Ӡ/ȩ.c!2.e-._ .%./.+..t/@//ש.r.'.~.|/@//ߩ.z/../@//..样.0@//...0@0/...r/.0@0 /...©(/&.0@00./.ʩ./..0'@00..ҩ(/6/.0/@0"0. .ک./>.07@0*0.&../ʷ.0?@020'. ..#8!!.#(/P...0I@0<01.̠8.Π0&#K.+ ./.0S@0F0;.֠B.ؠ..+(02/+0O0D.ߠ.ũ..B0J/$**٩/&**۩**ݷ**ީ* -B(Rũ.+[/0.*-(3+]/2.0r@0e0Z..Π-RW0O/*$./<.0`0`/</</0|@0o0d. /'*./** *0x0m/ک/ 0q/K*-h/P0t(t/0/?0//0{0l*-/0}0}(}/0/H0 /.-B./b(0w.0/#/%0/V0/)//-((0"/`0!/3/ /7,q`(0*00/=//A,p1(0//+3+7*00/M++/O0.+/S0/U/O0/&*,0/Q0/($ʩ./[* /]* 0-(00000v0v/e/g0,000}* A/k=//00/000*-0*Ӱn0Y0@&inj_xO܀.%ZC04mC06C08*Đ0UC0?/Ʃ*ː0\$0߷000H0F0/˩.//! *50//ڠ0N-Q*ڐ0k-U0110η01/̰170t/0v00/!1=00/$1@00/'1C01J1H13111&121=1O1M/1711/0311111/;1?0C/1A1#0/0111_1]0001J1/1M1/1'/0۩111)1'0ݩ01S11W1U1U/00ߩ1900۠0c""1^01>000h001 180 001E100o1?1? 0101k1M1D/1E1O1F1T1G/n1r/1C0!1t1'!//5101Y101//1~11^1 1100/?1 1 180111f1^/11i1a01/11n111.11C0?11E?0 /0<1 11x161000A1'1%1T0M111z0w1/11}11C0U11[U0 .00R161411L1000'V%1EC0`11+S0,1C11+V1D1111ӷ11D110+k1/D1+A1$z @0t111W00\1 1o+N1++ 11`1^$011++1y11e$0110r1<11++ +/"Gt(@'gt_le_S3r++|"Lt(@<_n_S`1U$Plus(@-lt_plus_trans!]1TR_@)lt_0_succ5%YC٠+HC+ߠ+JC++LO`&21$̩0ư211 9C++VYj$թ0ϰ2:1%$C++a$C++c121++e2+2H2F$0ް2I2n01s+20u0, +t2@@1x2#/51z/+1//72$/A//92$02`21T1+2 0ַ1 , +2 1p, 2n2l@,$2-@+@@12A/1/+1;//]2B/;//_28112~$2!1//q2$,+2&2A1152C2+21/,/, 1, 11=1,#$2@@12a,c1-+̩1[-/#2b/N-/%2X,K@+@@I1/H+G+,2%>182+Z1ʩ,9,,0̷1M,`+,:,%221ө,B2:2m@@?1ՠ/K+1x/M/22w/O//1ߩ,N212^1,_22@,T0K2@,Q@@ 1,%1,/22m,/21ҩ1c22Y2q1֩1g20\2u//2,.,S,@2x21c122S"m02ڷ1/,d0,a1,_1m11,w&2j@@2 -1-/22-/2,@,A@>1//#,?222,2,%2j0\//0V0N2n0X@0G0@22 22 2212/1m1F.722ǩ2 22/2.;@@}23.?&=1ְ.A/2ݰ2 g.C2Ӑ2#22!3213/ީ11^,22ߩ2%22G2,0:@2+13/11l.]222322U2.a@O1.G/312.I2X13$11}-2333)@2F/;2h2.W@@2l3.F2n$t2$v330-2@$xo2U0H2w3-,0j@@2$1 1$12N32f/W022._@234$2-/-350h1$-11$ X@ '241©3;0X1ĩ!ҩ! 1 / 83S%|,p%23f3K13< 1 93@2 83L@9Zgcdn_ok_before_fibonacci }0n1ک %213K3M3g@+lt_le_transn22 3/22a1e.1,12ʠ3u2̠,12Ҡ3}~2Ԡ2@ө/3292723y2ؐ 2732ܐo332*é0*°233@2^332ݐ+2\2P2N232;2 2P32A2+3320@'inj_addc2W3Ҷ@23132{&23ة3 .2Z3*,'2y2w3 3<2u33*333,'0,&2q3@3,2,2v3@3L32333S-멷22383ѐ23)33ԩ3*(~0+24@3?$22é3A2_24 224 *̩0!/22Ƿ*2324204*Hԩ0)/22bϷ*L2;2424362˰43Jl30 2Ƿ04"*/ 09Щ2԰4'3Su402з0*82P24.24/2ް41 <42׷,c4202452۷*460/^*$2422m*&%o*ʩ4.4#22*-3222ڷ3'24G2443O24I@4<412̠.2+22+{'k2'P2+222324X@4K4@2۠2+2.3+4R4G2223/24i24@4?28%Ʃ2ڰ3t%24S%2/V%3..3..婷..... 22(22Р93<3<2ʩ.$13>224b3>3>34~@4q4f32ڠ(4[3+.1  %ө4z4o3 2332"334X2ߵ0DC)C)2|32*3Y332.333$4r. 3)^3a3a4v4w34>4444.4.ש2p+n,2r4*+k2l04~0FO4`4`+-+/*+1{c)/鐩.4.43Q3O343M4443*-1+E3G4¶@3r4433m3a3_443]4443V4Ѷ@3443z'34-k3W4'--=3d4߶@4+3+3i4@4נC434&4ڠ+ 34)3K34+3+4)+1 +03+n+)334+3+}4*+1+03++*3#353543542^403+5*1Щ35 403**3335 (3*5*1 )35353Ű5 43*5*]334[335444435!@55 3/ũ3+3ͩ3*35*@5533)y53֩0W5 33~333356@5)5)3ߩ3m535<@5/5$353c33*565+3Ơ13Ƞ3©334(35O35&5% {4W35Q@5D593Ԡ,333ư435Y@5L5A3ܠ,5443+K([33+M35c@5V5K3&5>40!*5]5R3(j315V4 4 4045v35M5L `3E35x@5k5`3034%444)4545[5ZU5" 35 3(3f3ة34n*5~5s43mS20 020 00000 / 34Y34)454_444a3/2434e4e4*5@554(42/54R0$ Q4o4&54&4o4o445@5542 4Z0 Y)*S5549<)ȩ32y54 /2474754233C*C*˩34D0B4F-,54Щ/ 04JM.4455435`5`3 0/Ѱ+ ,3+ ."3  Q51r " 5+5+,ް/+F01*+2.m 05+TR xT5o/ǰ4$!P55@.fibonacci_incr!)235 "255շ553-5.5 4Ѱ5 5ذ25!34555!d/66(46/K ? P.A5D//.4z!@@5G55I/ 455252ߠ(ʩ4İ6//Q T e-05Y/Ƞ/W.ٷ4ܩ//Z/Z!W@5^5_/[4566 26!c/;4C&//4G5q65s/o4߷!p!r16#S44ַ564à5q ,46J4ʠ5x ,;6&6%5{ 46V@56Y56/4)5 6\54ܠ5 -°46d@6W'^5 56Y5*5)505%6n-556o0-2-2H54-045-6vu52k6w2Vv2o2P5 2@p2Z4556~5065.6! 6W5'2c6155515656_6^5  6556@5=655S5 56l5  l6~5?5!6@5L655b65G.555)6@5T6'65M555/6@5Z65-5p5/65(465X5"55:6@5e6585{65`.5}( ( x55( 5D6@5o665h)((5:55>5>25v6ɩ5I-5651E1?51>1<1D(̶@56ש5W50 .56561#35W65.ķ5e65C@455T@&OMEGA4.$F5. 6666Ұ55m6 = 3ǩ46 6,-01014ƩO03+4ȩ05 84̐066ַ"7ʩ556B6ې5766ީ64 GũB)ĩ575PZ6R75/557 5/L7, 32 25ķ- ,5D57"57#6?5԰7'6SS635η-7)-3@Щ5۰7.(735Է-d-5T5725735750k7 5۷-76(579 5߷-7:- 55ӷ6|2U57@45776l  \5˰57E@57H5Ƞ6 55̠7$73557Q@67T5Ԡ65͐-7=5/D555ʰ557]@6 7`56#57:557J6 5հ557h@67k56.52Y7E7T6/<622o2o-5642q57t@6$7w 7\6*k2w2w6:5655-6+7~55נ6 /D6C7g6116xs1u11)@6;7659/w6S7w687i14o67{6W/{6C@5 6?6]/C7r7s7070 6_6  4C5f07x3@ /07{ .00600:6 ^067-g E71.7ɷ*g6a7061bN0/6v10%M"@64A1R77ٶ71o*;1 67?777A471wM1667777穷# 0⠩5ꐩ77*T0577Z7\%D6##3Y7d667)77!7+ũ67,77ȩ7$4-6{7@677ϩ7% 8 I/)6667?7,ĩ68.77,44Š68@68 06667K7䐩67=6867C e/_777F YT68!@6Ѱ8$,76ʷ*ک6԰8'7[7] -68.@8!87]1g6ة-685@8(06޷7w8+,6/+</68@@7}706777/68H3668I2{34`34"66326r78P78Q7m78U.8+4=64J8V454mЩ78[7 "854474$4>678bM74D8c3NJ)38?68M668A)3R q777668p88G8F"7)ͩ68K)ǩ68Z,6ķ4E8h8]6,8_6868a8D6406f8U8T28e 5#6N8g /8X4 d8Y2i/1.D7 ݰ,]18%!;'0872m8q 8b#7'7%7Ω8g7Ɛ7+g7&88n8m7[5,n7 8@7K88tO7D78767ߩ8xz738-e8{8z557,8@7W81H[7P7D7B78e7@888798@7d887]+m7g87 -y԰787-ĩ-787-787r08ͷ.S4z47v/v{.W6787z/8շ/447~//678ܷ78ݩ78ߩ281s87/|8*/787878 87/m8/c778/078588/57z8@88ݩ7x7074!577 ԩ050)7n579@88770707007W/88#*778O0795881e5蠷79@9877177©4C577߷79@99737ʩ4K51 779'@997Щ4Q6777{7`67[/9!97O6 97877J749 9 C@9(97777/8877C@939(7à7Š8{M7778 6$C@9>937Π87ǐ7Ҡ7Ԡ$887C@9I9>7٠87Ґ8{87:8"6:7'77)3+9 29>9>ک0o2-@79°(28" )d7=9D/) 59I9983!+25 9^ 򩚠8U@)Zis_gcd_0!@CC8\9f 9c3!9h 8|6166]9\C8a9k$9h6]9m$89^9`659^6(66?7C@8i6>69p9h966B6BC@8p6E69w3@6G69 9o9$9nC@@(48֠83b888}89z99B89|9@4Zgcd_bound_fibonacci9H99Ʒ99999c9\9@3`9A89999W99983i3Q99ض83n899P9999R9R93uy8899,9 ,8m7+C8r78|C8s78}C8t78~9l7+339999938)N97w9rC8°99s9ɰ399u9}C@3 9ĩ8ɰ99ũ9а9|99Ƿ9{9y9@0Zgcdn_is_gcd_pos4+999Ϸ997:9P[::@3998ް6@999 6B97 :99g99: @39bf986N999P396f99{99o96bq9*9999C8v9 :9%9:@)Zgcdn_oppIĀ: @.Zgcd_bound_oppU :3:1:&:2:@,Zgcdn_is_gcd?-9::- C:=:;:0:<9::9%0_x,