diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-04-10 20:45:30 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-04-10 20:45:30 +0000 |
commit | 5556d30caee170384553d2ae3247ec77a66b9ae8 (patch) | |
tree | f17624c702ee8f1304651ebe95145205f294273d | |
parent | b3c66c534f8a9dbee44aa4983814fc52008f0323 (diff) | |
download | glibc-5556d30caee170384553d2ae3247ec77a66b9ae8.tar.gz glibc-5556d30caee170384553d2ae3247ec77a66b9ae8.tar.xz glibc-5556d30caee170384553d2ae3247ec77a66b9ae8.zip |
Fix strtof decimal rounding close to half least subnormal (bug 18247).
Bug 18247 is an off-by-one error in strtof's determination of a decimal exponent such that any value with that decimal exponent is at most half the least subnormal and so the appropriate underflowing value for the rounding mode can be determined with no multiple-precision computations. (Whether the value is in fact safe despite the off-by-one depends on the floating-point format in question. It's wrong for float and for m68k ldbl-96 but not for other supported formats.) This patch corrects the computation of the exponent in question to be safe in general, adding a comment explaining the new computation. Tested for x86_64. [BZ #18247] * stdlib/strtod_l.c (____STRTOF_INTERNAL): Decrease minimum decimal exponent by 1. * stdlib/tst-strtod-round-data: Add more tests. * stdlib/tst-strtod-round.c (tests): Regenerated.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | stdlib/strtod_l.c | 13 | ||||
-rw-r--r-- | stdlib/tst-strtod-round-data | 31 | ||||
-rw-r--r-- | stdlib/tst-strtod-round.c | 4638 |
5 files changed, 4689 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 1456211390..def3b516bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-04-10 Joseph Myers <joseph@codesourcery.com> + + [BZ #18247] + * stdlib/strtod_l.c (____STRTOF_INTERNAL): Decrease minimum + decimal exponent by 1. + * stdlib/tst-strtod-round-data: Add more tests. + * stdlib/tst-strtod-round.c (tests): Regenerated. + 2015-04-09 Joseph Myers <joseph@codesourcery.com> * math/auto-libm-test-in: Add more tests of clog and clog10. diff --git a/NEWS b/NEWS index 0709bac08e..22ce5e30c6 100644 --- a/NEWS +++ b/NEWS @@ -16,7 +16,7 @@ Version 2.22 17969, 17978, 17987, 17991, 17996, 17998, 17999, 18019, 18020, 18029, 18030, 18032, 18036, 18038, 18039, 18042, 18043, 18046, 18047, 18068, 18080, 18093, 18100, 18104, 18110, 18111, 18128, 18138, 18185, 18197, - 18210, 18211. + 18210, 18211, 18247. * A powerpc and powerpc64 optimization for TLS, similar to TLS descriptors for LD and GD on x86 and x86-64, has been implemented. You will need diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c index c39bb35b09..e13ab1e7e1 100644 --- a/stdlib/strtod_l.c +++ b/stdlib/strtod_l.c @@ -1189,7 +1189,16 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) if (__glibc_unlikely (exponent > MAX_10_EXP + 1 - (intmax_t) int_no)) return overflow_value (negative); - if (__glibc_unlikely (exponent < MIN_10_EXP - (DIG + 1))) + /* 10^(MIN_10_EXP-1) is not normal. Thus, 10^(MIN_10_EXP-1) / + 2^MANT_DIG is below half the least subnormal, so anything with a + base-10 exponent less than the base-10 exponent (which is + MIN_10_EXP - 1 - ceil(MANT_DIG*log10(2))) of that value + underflows. DIG is floor((MANT_DIG-1)log10(2)), so an exponent + below MIN_10_EXP - (DIG + 3) underflows. But EXPONENT is + actually an exponent multiplied only by a fractional part, not an + integer part, so an exponent below MIN_10_EXP - (DIG + 2) + underflows. */ + if (__glibc_unlikely (exponent < MIN_10_EXP - (DIG + 2))) return underflow_value (negative); if (int_no > 0) @@ -1356,7 +1365,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc) assert (dig_no > int_no && exponent <= 0 - && exponent >= MIN_10_EXP - (DIG + 1)); + && exponent >= MIN_10_EXP - (DIG + 2)); /* We need to compute MANT_DIG - BITS fractional bits that lie within the mantissa of the result, the following bit for diff --git a/stdlib/tst-strtod-round-data b/stdlib/tst-strtod-round-data index a6c37677eb..cb908036fd 100644 --- a/stdlib/tst-strtod-round-data +++ b/stdlib/tst-strtod-round-data @@ -117,3 +117,34 @@ -0x1p-1075 -0x1p-16446 -0x1p-16495 +.70064923216240853546186479164495807e-45 +7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015624e-46 +7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46 +7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015626e-46 +-7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015624e-46 +-7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015625e-46 +-7.00649232162408535461864791644958065640130970938257885878534141944895541342930300743319094181060791015626e-46 +2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328124e-324 +2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328125e-324 +2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328126e-324 +-2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328124e-324 +-2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328125e-324 +-2.4703282292062327208828439643411068618252990130716238221279284125033775363510437593264991818081799618989828234772285886546332835517796989819938739800539093906315035659515570226392290858392449105184435931802849936536152500319370457678249219365623669863658480757001585769269903706311928279558551332927834338409351978015531246597263579574622766465272827220056374006485499977096599470454020828166226237857393450736339007967761930577506740176324673600968951340535537458516661134223766678604162159680461914467291840300530057530849048765391711386591646239524912623653881879636239373280423891018672348497668235089863388587925628302755995657524455507255189313690836254779186948667994968324049705821028513185451396213837722826145437693412532098591327667236328126e-324 +1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515624e-4951 +1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515625e-4951 +1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515626e-4951 +-1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515624e-4951 +-1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515625e-4951 +-1.82259976594123730126420296680970990819952540784678167186049024351418584431669886840478035431291360259862367367360176555098349281631101608498675403779490450274191129058896583928461263190281677987831078128299170536447015989677676363429562039997708640550775926919152302738435771122464765292985913410713131103376617773042203403962987686984411316948595140667733210597864690600010838133614601613871681951542280276489775942764960612766058558174381456923146501775692637508015664228929367328342904167452656185259699435199165429391997316125073430122973318829343522821181735512119859732943017878403356723899138210986814640887564778026842288063392332395425873162546186801975636139070797668304819972220170105852674422401098888180221895434381162451705845464727526614177730212750823552425549507762484741018808753638726079896241463208233641468961241718926107442376223082667022657044926746945053999973304249789647043354111258394904631316614206681676861518285530333635550805084849345427276340804672339278791177264322833523245464353153129378096510959641978734303986620037096633539629329212395162630085725125582600936685277823883492820153083593049415051104450437620211914690606070787926358977364081411635544299722928735751692643879771301240039585999097767207595829950175191441110017783298397938554546884420461552538187244104722816024213635806139907491818083029479760454178844362711626647761487494632027538147971912063924809690969103877295273058627398067023490884558283804713066036286365630374146882657021080984305152976459971071596872478304966869803153760915112192273767083898623101906331345170408354325877269319107750447803297770519645747631196394042357976659226774333324024028170376571419266465026123884210852547563237372731787743310739247077115755551931534219571260621965209529206118711148614230326874252623232432768485954951338025914378049849860538923653349006471371371975851619548239568383911087481548770985671906958133943927799958876422544137402326929408872363515336911744925148845142650068227520261364354697002916289429272868432749597813293152504173604381153301045168945974496048759541471080100519101973888604170033075957748634771829115251095545428834602408676747944708548838154240391870140692461377047103665770055763116743840798104372065112827921945625030361510289100654183705651174880622260739758549192434399417410164472062845437778260804090757560281944655628120766454222846704757309223464545058305531743779508241780347081470374488718989636990233738212174195604234593588461272325314215528265459543623864312796269176427251818027542711345978562318056661295241015095829415854218885612968394742320564741129353791774349282275541494026428939134920627812463726111753054622717119310116356020391377016695730659609458715794206834400971798313683173521572022151606820588780251530071841853198634516520873759366510045598375024838080906130739822646856203519935194543445776352574523286837269888247054743973982471908128830717347432604265401234817912837829289728424665952102694142190409017939355538720903773940059325978870813594819158491785411281829232728432185130930121677446908186036638626917272725653250577033788275532848525020676860268503396244010460868170366183668422400245220420698887085348274712352039989322593091109423678562877840971664204374301183812473393474181569023692824311977350780165916130639182603434989926970020331865584136555767033892083012035521577557018520518779278646965154203692177035106027598152525747997287067958495583828773920163969005601017367414626907539916022639742121376325089842645593155408913831923616011893504143113588169809756975685615156809718301077041526572845529202418627301258888257023010355646157596158820107337643411098344495769079824062658034841113036159712976090652715172861118398396463438153644617763942735713912193155539153353006222951965776408842015246576140657437291217544606529750759900127860216624160777572354875625503811168240060144404381782532731747344361636381195322953833511355431708115960517850363668467732859378452319744244754189705176591797980699728768894888776273098873237375908148750504573178096251637132279732290029080034917390851159718996069867384057524634361867451078210323154806935160062513887899020538632350719578957221218762625988338233522900425764882381207240722674803484256371990031477603784632430434075343952218821448873158758760259077397922975757953735064291924684701700383120505009176657075834209273037908753324078050945056651597552104952664855941872449222161542832136880323939394014264995176092751280620673551723331208577960453876924923755340564701453016713590166028324696751231085985884240222167593347334526263303037916609526590361628275094514687712979547371657019216768348669940844962684915105995807144581550267466768607900288997226458836794359699020464423731084729515154927619118848472118259301156549275391180883502559594450767573982988933806622483582100752977021911865196145152803953417231772013838628271297216496382745313147623777787545601193971231801073102166081571418283792593282745084673717170570311045377504502284479416196840733756305173220061186402909252416023762563344143764956029112654501658894183721617190636706196102146327745427411573664267478610548114494490049701326681466073235027601469575864652759810903283362563811874506460304920716945160547124445139612696233397054113663378176432693167172174324788120020498949799252604115536513853848262142313920128414259368279443832662271152360297173930646598210564674468705978287574339360244225115375618646198655959556280703437804726344639166084401515545027901284172772594924370056965764537173873096051299395266611814969942972446937104374365814436535553437638172469618344861812949854558849812664215334381772718093108970359582607762182530978586011606431206539270246528340251461663568777312665664372314290610998078251132725518693529082410739556958543548525453707936098381671273577525790074909555360813881034617350711745676369290608241723750100354970106149571977139199099246359065033480164509524755309789212426564987013135305339916928676198868262047064684760709433781635772354068612627551149096062556283756591960503706614301481072163106357293601120215712910962780320764010922253732701739505753777925668721137680859409919296558240509140850139708613990151410104328354063372667467067274819461968988824720951115052103399330025052273347500202856736346707384583901599334942268514999353369220365516871691405825741537268724538008583607648929752017570278626326151302560754685495028393678419262128727319250428386913197576633827464717820878289888579781924835957478890210814594606277052757358686187249587833483622951068755564437706268645919720898812154651410735166469301589965697476758067194636020452303250497949048947399883127275733209713104883264862130618398438300031458732794354541218179182692182949013878301564321481423815928645752291194790291300506635648891720930673414441649427368858727539840128657434212664708614252838891346368857902932357270177886061675600124771866970699942139129985509310786171897907713767025490553617452052324190314230443669713785943929520934640464416671176139062034948722091493965189712072792638835666067743532362554736033778616139422395438938944605811706580880420836614049374657066594246393012966219639062789307544592960174860630795820249954853388936995742898065294246733938102175776059529094912831231797891546390571057749606999349996810181557492618640128215744807587466320221438600412521428466916484908092508563270571335405686177916252953143575335641923049301557353017574575315800626626939667724977283350476378690544602400232622622606984439469645646912594417064906111761643056936695157678048364605212059547317525838488465251538119345419979627752159611803463974561223291334210165604062771592587817061728345698629469530077932541521870102279760384499807979877285590410184415905645947383083105790145978931820171516152080500903184835361062491319185763169442515370923471198674337350461697251811045075909288347136691842306340831907917252439136412062563991015509661175647955551494200111528584410842714112893660931587222547527616371447626907477263138994491219951425656610431931653530106776137603833078393623616256283714563444092455070819135182372571411642399666607859039700751818268082294407317787468307510454272859459361639319979293997084018517407055270237114922624894768464359698724807022283865063570179483291145554841647601059067178556847880390815917137788528020328496013081698320174206083993477134242184345417718684421898434176286183306074297397337394378635818040034822140823705679673305304460208977733857268729121898133230944150931434375503975562627800112089417314200987543199614195325678616295902673204032176076607741253741011953899538950353479401701480978109520837367985644204216226079933908944509320472574034339086658841246013841750123876174304679348186657771224594878774792577476351726916884715747652858200960751333538695549872163988000264532075579235359661317563583521988757053827631636808305880569746716283687194118275915928060447077646581456256839985578728945837051179362571449947348159120582527720210320816824370932805266651927288698009547480142504810428454261511435444743728876175627914098669648063196082808198168469420588173819431297620345075913670651853432169177514148111886459795089429969643832554329992461199712957262962023969219032890174902935953126450366971415811499887844992885605846137934153585373646778724962248920989408566923423587556265193045579464470040331860146021474495993513170797583044448771741365214872568116252634674100076242158561453923395526895656905772931330601248536544975755715095764080696461966467575052492961263728205392340905646916958065447157660255882585819023423114809694122214668524218426504844940638948658914245639927512262303170595924131913084701462263664582335366579733760671407937763694121917898012253202550794445927090056988580987161070251889864283474072790532666000445210799879898795369575601310701000600506735376838711381823879045908375392524259853266319554558572588187561880636974923425500452774001254800799279088468508982839057565328297629505098869916759252131884099115322420686108894783264515139811150209926303957155203500393727027411079117369478937095384712003637406693041168456532590381021805048371107896453595203099293812662714637405025074568828822557880697107157708023383177045107932793985761637095123260953060223303469977176881187266346286506759842379165512015006845041184833055602957447462579518605453908265316222905883648379800344280559713700655734203702709055921414200515024650167935251509501402436061376649103597691145127922934267080064403467326795745195948481361947814886969942673557755096669771873496442918230266249855317268651317823644283800930551559885321061219165671786041281110803227612135737813344806675638712573522540330326752464442386379900620750588198544947113799155493133901793000917834934968229504797669239833050649010268588703408635567999483106225365924725096344849106407354596440471549184675431400247646054497566794504464730489228246171177238763846374129323806353067143453547105684101405874350776205012855998370519788550563353055706151297118603093875039708128437347187128159250402631828887145334311373552557223689628363908560011768895131535294161055044642175226187415342324320677763066911181419980149855416104489931529489458659833547172890548612497344779808640595096229937705251106163138658308234789274625008958442163643654994384491346591453337999940340102822545663315950182058410804877289936327981680704769212059417689650218871786818104993012530393359782797076272952876972564899611799589468478404319021053066185948310785346220896419939008967567342765319314502669727526379972481519742277811246822238899767398834228515626e-4951 +9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578124e-4952 +9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578125e-4952 +9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578126e-4952 +-9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578124e-4952 +-9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578125e-4952 +-9.11299882970618650632101483404854954099762703923390835930245121757092922158349434202390177156456801299311836836800882775491746408155508042493377018897452251370955645294482919642306315951408389939155390641495852682235079948388381817147810199988543202753879634595761513692178855612323826464929567053565655516883088865211017019814938434922056584742975703338666052989323453000054190668073008069358409757711401382448879713824803063830292790871907284615732508878463187540078321144646836641714520837263280926298497175995827146959986580625367150614866594146717614105908677560599298664715089392016783619495691054934073204437823890134211440316961661977129365812730934009878180695353988341524099861100850529263372112005494440901109477171905812258529227323637633070888651063754117762127747538812423705094043768193630399481207316041168207344806208594630537211881115413335113285224633734725269999866521248948235216770556291974523156583071033408384307591427651668177754025424246727136381704023361696393955886321614167616227321765765646890482554798209893671519933100185483167698146646061975813150428625627913004683426389119417464100765417965247075255522252188101059573453030353939631794886820407058177721498614643678758463219398856506200197929995488836037979149750875957205550088916491989692772734422102307762690936220523614080121068179030699537459090415147398802270894221813558133238807437473160137690739859560319624048454845519386476365293136990335117454422791419023565330181431828151870734413285105404921525764882299855357984362391524834349015768804575560961368835419493115509531656725852041771629386346595538752239016488852598228738155981970211789883296133871666620120140851882857096332325130619421054262737816186863658938716553696235385578777759657671097856303109826047646030593555743071151634371263116162163842429774756690129571890249249302694618266745032356856859879258097741197841919555437407743854928359534790669719638999794382112720687011634647044361817576684558724625744225713250341137601306821773485014581447146364342163747989066465762520868021905766505225844729872480243797707355400502595509869443020850165379788743173859145576255477727144173012043383739723542744190771201959350703462306885235518328850278815583719203990521860325564139609728125151807551445503270918528255874403111303698792745962171997087050822360314227188891304020453787801409723278140603832271114233523786546117322725291527658718897541208901735407351872443594948184951168691060870978021172967942306361626571077641327297718119321563981345882136259090137713556729892811590283306476205075479147079271094428064841973711602823705646768958871746411377707470132144695674603139062318630558765273113585596550581780101956885083478653298047293578971034172004858991568415867607860110758034102943901257650359209265993172582604368796832550227991875124190404530653699113234281017599675972717228881762872616434186349441235273719869912359540644153586737163021327006174089564189146448642123329760513470710952045089696777693604518869700296629894354067974095792458927056409146163642160925654650608387234540930183193134586363628266252885168941377664242625103384301342516981220052304340851830918342112001226102103494435426741373561760199946612965455547118392814389204858321021871505919062366967370907845118464121559886753900829580653195913017174949634850101659327920682778835169460415060177607887785092602593896393234825771018460885175530137990762628739986435339792477919143869600819845028005086837073134537699580113198710606881625449213227965777044569159618080059467520715567940849048784878428075784048591505385207632864227646012093136506294441285115051778230787980794100536688217055491722478845399120313290174205565180798564880453263575864305591991982317190768223088819713678569560965777695766765031114759828882044210076232880703287186456087723032648753799500639301083120803887861774378127519055841200300722021908912663658736721808181905976614769167556777158540579802589251818342338664296892261598721223770948525882958989903498643844474443881365494366186879540743752522865890481258185661398661450145400174586954255798594980349336920287623171809337255391051615774034675800312569439495102693161753597894786106093813129941691167614502128824411906036203613374017421281859950157388018923162152170376719761094107244365793793801295386989614878789768675321459623423508501915602525045883285379171046365189543766620390254725283257987760524763324279709362246110807714160684401619696970071324975880463756403103367758616656042889802269384624618776702823507265083567950830141623483756155429929421201110837966736672631316515189583047632951808141375472573438564897736858285096083841743349704224813424575529979035722907751337333843039501444986132294183971798495102322118655423647575774638095594242360591296505782746376955904417512797972253837869914944669033112417910503764885109559325980725764019767086158860069193141356486082481913726565738118888937728005969856159005365510830407857091418962966413725423368585852851555226887522511422397080984203668781525866100305932014546262080118812816720718824780145563272508294470918608085953183530980510731638727137057868321337393052740572472450248506633407330366175138007347879323263799054516416812819059372532301524603584725802735622225698063481166985270568316890882163465835860871623940600102494748996263020577682569269241310711569600642071296841397219163311355761801485869653232991052823372343529891437871696801221125576878093230993279797781403517189023631723195830422007577725139506420863862974621850284828822685869365480256496976333059074849714862234685521871829072182677767188190862348091724309064749272794249063321076671908863590465544851797913038810912654892930058032156032696351232641701257308317843886563328321861571453054990391255663627593467645412053697784792717742627268539680491908356367887628950374547776804069405173086753558728381846453041208618750501774850530747859885695995496231795325167400822547623776548946062132824935065676526699584643380994341310235323423803547168908178861770343063137755745480312781418782959802518533071507405360815531786468005601078564554813901603820054611268663508697528768889628343605688404297049596482791202545704250698543069950757050521641770316863337335336374097309844944123604755575260516996650125261366737501014283681733536922919507996674711342574996766846101827584358457029128707686343622690042918038244648760087851393131630756512803773427475141968392096310643636596252141934565987883169137323589104391449442898909624179787394451054072973031385263786793430936247939167418114755343777822188531343229598604494060773257053675832346507949828487383790335973180102261516252489745244736999415636378666048565524416324310653091992191500157293663971772706090895913460914745069391507821607407119079643228761455973951456502533178244458604653367072208247136844293637699200643287171063323543071264194456731844289514661786350889430308378000623859334853499710695649927546553930859489538568835127452768087260261620951571152218348568929719647604673202322083355880695310174743610457469825948560363963194178330338717661812773680168893080697111977194694723029058532904402104183070246873285332971231965064831098195313946537722964800874303153979101249774266944684978714490326471233669690510878880297645474564156158989457731952855288748034996749984050907787463093200641078724037937331601107193002062607142334582424540462542816352856677028430889581264765717876678209615246507786765087872876579003133134698338624886416752381893452723012001163113113034922197348228234562972085324530558808215284683475788390241823026060297736587629192442326257690596727099898138760798059017319872806116456671050828020313857962939085308641728493147347650389662707609350511398801922499039899386427952050922079528229736915415528950729894659100857580760402504515924176805312456595928815847212576854617355993371686752308486259055225379546441735683459211531704159539586262195682060312819955077548305878239777757471000557642922054213570564468304657936112737638081857238134537386315694972456099757128283052159658267650533880688019165391968118081281418572817220462275354095675911862857058211998333039295198503759091340411472036588937341537552271364297296808196599896469985420092587035276351185574613124473842321798493624035111419325317850897416455727774208238005295335892784239401954079585688942640101642480065408491600871030419967385671210921727088593422109492170881430916530371486986686971893179090200174110704118528398366526522301044888669286343645609490666154720754657171877519877813139000560447086571004937715998070976628393081479513366020160880383038706268705059769497694751767397008507404890547604186839928221021081130399669544722546602362870171695433294206230069208750619380871523396740933288856122974393873962887381758634584423578738264291004803756667693477749360819940001322660377896176798306587817917609943785269138158184041529402848733581418435970591379579640302235388232907281284199927893644729185255896812857249736740795602912638601051604084121854664026333259636443490047737400712524052142271307557177223718644380878139570493348240315980414040990842347102940869097156488101725379568353259267160845887570740559432298975447149848219162771649962305998564786314810119846095164450874514679765632251834857079057499439224964428029230689670767926868233893624811244604947042834617117937781325965227897322350201659300730107372479967565853987915222243858706826074362840581263173370500381210792807269616977634478284528864656653006242682724878778575478820403482309832337875262464806318641026961704528234584790327235788301279412929095117115574048470611073342621092132524224703194743294571228199637561311515852979620659565423507311318322911676832898668803357039688818470609589490061266012753972229635450284942904935805351259449321417370363952663330002226053999399493976847878006553505003002533676884193556909119395229541876962621299266331597772792862940937809403184874617127502263870006274003996395442342544914195287826641488147525494349583796260659420495576612103430544473916322575699055751049631519785776017501968635137055395586847394685476923560018187033465205842282662951905109025241855539482267976015496469063313573187025125372844144112789403485535788540116915885225539663969928808185475616304765301116517349885884405936331731432533799211895827560075034225205924165278014787237312897593027269541326581114529418241899001721402798568503278671018513545279607071002575123250839676257547507012180306883245517988455725639614671335400322017336633978725979742406809739074434849713367788775483348859367482214591151331249276586343256589118221419004652757799426605306095828358930206405554016138060678689066724033378193562867612701651633762322211931899503103752940992724735568995777465669508965004589174674841147523988346199165253245051342943517043177839997415531126829623625481724245532036772982202357745923377157001238230272487833972522323652446141230855886193819231870646619031765335717267735528420507029371753881025064279991852598942752816765278530756485593015469375198540642186735935640796252013159144435726671556867762786118448141819542800058844475657676470805275223210876130937076711621603388815334555907099900749277080522449657647447293299167735864452743062486723899043202975481149688526255530815693291541173946373125044792210818218274971922456732957266689999701700514112728316579750910292054024386449681639908403523846060297088448251094358934090524965062651966798913985381364764384862824498058997947342392021595105265330929741553926731104482099695044837836713826596572513348637631899862407598711389056234111194498836994171142578126e-4952 +3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578124e-4966 +3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578125e-4966 +3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578126e-4966 +-3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578124e-4966 +-3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578125e-4966 +-3.237587559719012555462219479113823276249784669017340504844942194598519770062059685508835745638324970127939070738424059838293609943191271023342555035986308991521396355375667467208367312819235870119724263252776995195727778126085574034035411017344128491238136414394551514178668780674015531193282296319913113495953953933831631032855605791532328598034154166422617226534880263244723830482289656875701701315902175019974435037627824356684033058939701577883356651733717468531204705842607568803666569711421917525834491783583598401321476176752039857173551930268891446850107760584333855521475305010940756813993214730850216669600967698749412592167692757446422169965426483919224341062751152057061076522973232731542382055087239368522167656194830741819605276971705738272393130698937532095725613383807312946395184980707534803490003540251394324459987958400939111001126190861523615485938285497714410609640798273816511769391568591823198476415765275534341709798367687043373145262933998108452661682659942586304978413812755518166239176614473815940025342279575304159493260770068030636885746695206392378276051948759263882079389379666940357441139816661913198656187703463519723262653223919257185751827493927586153153792077729913353547954808876263400200663495414360816863385220457719546338953323399286762099558324132103460225580066817535680886906060858264089074120360391613368274811868067637495154569071591624185979937989402513750464346904036668477876379544221432800037599944499161940321774835027752710681217554286366043661491013593886229615614494736186475932160549630939390542165126494166960681499481651861215529870984381726203476917507560266886692644952355421814201350137351435237036912624414444992497142303802423605897110605364956579914507108584002230524766331348271456591814078599780820974961968314684496428310691542272663818486132771177670874927831510002443658417608078383611526899905533629456904234997116303929427262032216072887961072267850618234492852606488522739744757845004694461812790342894353802938671928834585447328398711684245164703625580196678024410303542544534512706792134908369873605619756775207191558754413381571756431003248529020572648048946458999967788526617126349345966896362376841092268841417781414969315002419192181972121568811432459128737128140063645558482525300089060238860392371092102688097987915838860882370022268312322882235690785726190915062699382576041643741555139697348927957856990969985342299599797431503615312038393069808777315725367497595040966093808407117316369389112216628231869173217637452855462790553030636920487796465880633399632793882734473382168542596184679158149228725004404714293460752371865436947855237307240001863573081174929166645758276081272685156100195420794154740486637315823136798695124738873328565945598241199335059398955049459449844741098478330319112865980346771381982151154499846478545530650091824164892591396650703633600023191521502618379988693800703884555191647864959327260468892793195316578510173816406054364319294906641284764788384683586662382042642852654156477478700779123584369965723284711409361741235548687181052639639279285373139084165798451899763979500837428077782309910703522399860010310321116623028924118238023770381424894162717815296210097245221769714495449744327945091943394325259297771090128969600269822520904193880119094781214175887316220311309028456568749910010962366586834018403242866721783519806933018588077977626913774236680220258524711348037750591646286531625306510583751929280541119187219596706615736304036444366663256426643903386694536649648686380122198677895751002327229059364018755164517060321515091173358005987498359799467138817648881479418623694683454881683746841149715181334498096967702613110590140231345676956141227850879905018558219984441819798054463206764413100251255775535830770535620946159535406497134759043192647996190512978586496199656070707105117773853504277795024754647024165589129442822627147868917463795166386552921913398878270019905147510849518894114102536073369047160130990411626048426437835295683097278297774735181045158616674564080237813146623269215019613231938626758927531490945029356207933289363847181438902539297057969524961348607844569521442237914899100699610921669921572167164875488132527187949318543809703388178931170799769792886086681284964861608656928109305369539955846964197786677053847603962194721523867993048528558551380823699291873352033111096244814245789620930756114228971363838828108534030152031715929722499546436547773404017947035596936338462103946797525667033935433489292620531649199724400832489751788129365426568881328357966337292439204382537174357675404105580244018783685041224798457022189315692175787257287203633134300759209060570319508886475377719911176071302732819878165468592717406388218727585026352127436844762994722826390779737322113768842482160812973100323673863050234437722898796145596181862320550301285861980052194863780743808106946940079349630782676930197134206259739125377941060751175427888774493677478593805682322173891730311959284895178856039354015035864931073602059531001572891528828982167810245343327388887928886208615327002834690068636094325052251429781641267821367266715283643659749152264457938319185148303604827363623405060374573505789923003843438436174489383805098509083722050766328250349793203837202162624690093533478114438810603140565070517669964629947543608404988178019652088162307525611931821066493746994641048066011859814337589829896549720562117090677291541318153057715167624128318297771376531788973088699647168159229805877415594828532539839967464064556647594705830374653113373530876658380240145380423210673778776803592627231257495817394581607796277282644312510714532297108722017217547317744900647318022108570947064304280100418971450552007356891519523293614416944016354756866350050833501416942505071203810116719053430543531027953437436446745566839242129860410443198862219469972163224971258348314341755015213118628882713134766297624091644805801186976152536913514712919240503721680740586016832099946807466311777189050656676962849581383790904722087478646766320517056183581970236248227413322748304134245717987665377396011236706627320817654565682680006957454759981618023476448544673508068369492066566895437050571584345511070959483898938738225050292533674383091612495407126805381796487365892131916426837522671623266627483065655765705534239355214893395905702329340402794052884259146049064629582075576563307670749189662176976725361937046200576007893814439695301892528761187544161389682003509216791271836545495416676148151145195082668323677621182991451835324281863619641773620601014510950996746726615703771971266687151564427772359427340566909351858654807999781808513034680104078196607462166928018863385629928965649243954503391493597963417955268639606791452833692467872935741940362479842688642227725662504694679557678170929873774151037857807219938356152056997839625453727441947651198316190826615266016347740875615970031428012228328190610356706715662722241878767131224669837573607121539572299329404101274463156060298348931678277361174057097484704587036227686110677413094941011961262438027467952964727129462752693949019764164538344775554466171428121848999818969114034332797672927989107710137279281184295118233855942385256333164153378143279674287318136458207166174996112638689535976047617221520910027427485161965702038805161865494457444594178063766957037428053543239915792369877811053417485684498667123216132006378630814477106813088898563644909178779463295955587688067277368683836470612208483299572260344016516194247232298740800342116589984844356688576984553507410293250093945014209879983314562948451929862241009275783684229669718641013736581856815277185073259140534024850924787544871716174654424640728091372513505922826813145390369149590652886241000625495880523771672395227312971578042522330551788256261683080675549820375567692574152956993944504349004617185470945673049153218968830613586193253490318451871770642617802890083608004460414305421033261048294750210470303202846332054952531617433058538758154347087854561609738141615145103748777579733574989673510104836750248325511777237502526995647687215364262385606217553691332159421351598905950537513518351520709657614578131639854432532002236696200855408766520105076378983345708235918180749273124590433024519869147132931932462703067876214268579940066030521414045386366551780718510535469417760242493782392451178913322503092692423649855756521279456558275339921490892868856862895022564047205838132429286600764536839036698193759634186899291274131934296059833048690594627623595320676097721540716472990950611858372856271872423573251506230042608074167903809812264198034505185435990821356377966484742250577592243727298923187891299404854048446822719928239317254073429532989089675503790372464487057264894107613242300912487070053676379388189496900004239731820229886894053019610823763957809819187948639826973433528683168917360632750040517847686479093538683816924213175672979768822065627696943474914020483056384006872835738311110986586149510661361915342172527409078742250880056867149831149121019729847242037335904440063130981999650700416787683293610119590221942974317455716336227454789239793488032299063316588917505912406020220045264868457718282165158892171630470709599503997282778168097827497383884195820921583645621293941200045604062174334998171535030513366277293714389988219756129580868518167923841173364269774889246694435264051484911461988227011238661037602452710188911900438270362280391121270021679247152879324195035694278071477495720447513017171148877312193736366348711630105507365864598069586257026976295714123943691621672377694552248018987680338612382795605985191106112971398796002636340393693119651973344711646854574482999700397952536878348512983782198330513744803168936076427075943787200489575435147989033386529956551570669047103070223076797892329848058499725632813524581372640746415923016932853954152472487866287318545051065376430120748079948860283261855738836955246188128622509828635867225708782966017423170535046509131388753895013061151387840089512861842615441729962315731301087767989000918136617870582141517330935619268642915983553727587587676791953536960714236687847602589538927962585440961131240218794236944630211930970546118745080346860636620310193382167597465544174488399379683716417891139157575146359165023126594124268610800205258776019000550873739401445303129974560221438061891795442780328126230093178952504570380957199592993338719686487798275474853570100033092481743129836527369756194343789131822069107283156271772679863538216891518713732520976834628418347371261368933454629405371869789752684339805368137450825001203521193642598238954329102258317328098581116978343883611320940814793654745807336162557057195523274610323601685712314930799144191673243832283659669368716126815118360353441303009936083544193524336572930768154506567477565558211143508568396203781879592033787429012753106951129653074630840496376302289668286168325299592504054003803917262600195834001336180158836765599057537979745423711070158871650976475924365707758401328959478791343481250979029363644046972556422294698558561670817595994409985323205913035009923360820734795546082012200697671744573982535291905800552837118327702125018691644774560916230166739307705017656065679867259837178918123254219579594535869171376148397610005870749992910355727569593729567789260479930835305112462727870603529547312621720559953074675620549217314861961905983960910846471569192459257648138212674016814845327496495507412976753381357634960529826817906824433858135485518651632270319927880227571858035210375443324098235463619647723862420557582355632137583370066602155641218235815280874570372436217877316899649287051943247206509113311767578126e-4966 diff --git a/stdlib/tst-strtod-round.c b/stdlib/tst-strtod-round.c index cfddad1dd9..5ff096e659 100644 --- a/stdlib/tst-strtod-round.c +++ b/stdlib/tst-strtod-round.c @@ -7826,6 +7826,4644 @@ static const struct test tests[] = { -0x0p+0L, -0x0p+0L, -0x0p+0L), + TEST (".70064923216240853546186479164495807e-45", + false, + 0x0p+0f, + 0x8p-152f, + 0x0p+0f, + 0x8p-152f, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000004p-152, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000004p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000000008p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000000008p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.00000000000000000000000002p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000000000000000000004p-152L), + TEST ("7.0064923216240853546186479164495806564013097093825788587853" + "4141944895541342930300743319094181060791015624e-46", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x3.ffffffffffffep-152, + 0x4p-152, + 0x3.ffffffffffffep-152, + 0x4p-152, + false, + 0x3.ffffffffffffep-152L, + 0x4p-152L, + 0x3.ffffffffffffep-152L, + 0x4p-152L, + false, + 0x3.fffffffffffffffcp-152L, + 0x4p-152L, + 0x3.fffffffffffffffcp-152L, + 0x4p-152L, + false, + 0x3.fffffffffffffffcp-152L, + 0x4p-152L, + 0x3.fffffffffffffffcp-152L, + 0x4p-152L, + false, + 0x3.ffffffffffffffffffffffffffp-152L, + 0x4p-152L, + 0x3.ffffffffffffffffffffffffffp-152L, + 0x4p-152L, + false, + 0x3.fffffffffffffffffffffffffffep-152L, + 0x4p-152L, + 0x3.fffffffffffffffffffffffffffep-152L, + 0x4p-152L), + TEST ("7.0064923216240853546186479164495806564013097093825788587853" + "4141944895541342930300743319094181060791015625e-46", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + true, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4p-152, + true, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + true, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + true, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + true, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + true, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L), + TEST ("7.0064923216240853546186479164495806564013097093825788587853" + "4141944895541342930300743319094181060791015626e-46", + false, + 0x0p+0f, + 0x8p-152f, + 0x0p+0f, + 0x8p-152f, + false, + 0x4p-152, + 0x4p-152, + 0x4p-152, + 0x4.0000000000004p-152, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000004p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000000008p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000000008p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.00000000000000000000000002p-152L, + false, + 0x4p-152L, + 0x4p-152L, + 0x4p-152L, + 0x4.0000000000000000000000000004p-152L), + TEST ("-7.006492321624085354618647916449580656401309709382578858785" + "34141944895541342930300743319094181060791015624e-46", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-152, + -0x4p-152, + -0x3.ffffffffffffep-152, + -0x3.ffffffffffffep-152, + false, + -0x4p-152L, + -0x4p-152L, + -0x3.ffffffffffffep-152L, + -0x3.ffffffffffffep-152L, + false, + -0x4p-152L, + -0x4p-152L, + -0x3.fffffffffffffffcp-152L, + -0x3.fffffffffffffffcp-152L, + false, + -0x4p-152L, + -0x4p-152L, + -0x3.fffffffffffffffcp-152L, + -0x3.fffffffffffffffcp-152L, + false, + -0x4p-152L, + -0x4p-152L, + -0x3.ffffffffffffffffffffffffffp-152L, + -0x3.ffffffffffffffffffffffffffp-152L, + false, + -0x4p-152L, + -0x4p-152L, + -0x3.fffffffffffffffffffffffffffep-152L, + -0x3.fffffffffffffffffffffffffffep-152L), + TEST ("-7.006492321624085354618647916449580656401309709382578858785" + "34141944895541342930300743319094181060791015625e-46", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + true, + -0x4p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + true, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + true, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + true, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + true, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + true, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L), + TEST ("-7.006492321624085354618647916449580656401309709382578858785" + "34141944895541342930300743319094181060791015626e-46", + false, + -0x8p-152f, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4.0000000000004p-152, + -0x4p-152, + -0x4p-152, + -0x4p-152, + false, + -0x4.0000000000004p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + false, + -0x4.0000000000000008p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + false, + -0x4.0000000000000008p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + false, + -0x4.00000000000000000000000002p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L, + false, + -0x4.0000000000000000000000000004p-152L, + -0x4p-152L, + -0x4p-152L, + -0x4p-152L), + TEST ("2.4703282292062327208828439643411068618252990130716238221279" + "284125033775363510437593264991818081799618989828234772285886" + "546332835517796989819938739800539093906315035659515570226392" + "290858392449105184435931802849936536152500319370457678249219" + "365623669863658480757001585769269903706311928279558551332927" + "834338409351978015531246597263579574622766465272827220056374" + "006485499977096599470454020828166226237857393450736339007967" + "761930577506740176324673600968951340535537458516661134223766" + "678604162159680461914467291840300530057530849048765391711386" + "591646239524912623653881879636239373280423891018672348497668" + "235089863388587925628302755995657524455507255189313690836254" + "779186948667994968324049705821028513185451396213837722826145" + "437693412532098591327667236328124e-324", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x1.fffffffffffffffep-1076L, + 0x2p-1076L, + 0x1.fffffffffffffffep-1076L, + 0x2p-1076L, + false, + 0x1.fffffffffffffffep-1076L, + 0x2p-1076L, + 0x1.fffffffffffffffep-1076L, + 0x2p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x1.ffffffffffffffffffffffffffffp-1076L, + 0x2p-1076L, + 0x1.ffffffffffffffffffffffffffffp-1076L, + 0x2p-1076L), + TEST ("2.4703282292062327208828439643411068618252990130716238221279" + "284125033775363510437593264991818081799618989828234772285886" + "546332835517796989819938739800539093906315035659515570226392" + "290858392449105184435931802849936536152500319370457678249219" + "365623669863658480757001585769269903706311928279558551332927" + "834338409351978015531246597263579574622766465272827220056374" + "006485499977096599470454020828166226237857393450736339007967" + "761930577506740176324673600968951340535537458516661134223766" + "678604162159680461914467291840300530057530849048765391711386" + "591646239524912623653881879636239373280423891018672348497668" + "235089863388587925628302755995657524455507255189313690836254" + "779186948667994968324049705821028513185451396213837722826145" + "437693412532098591327667236328125e-324", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + true, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + true, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + true, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L), + TEST ("2.4703282292062327208828439643411068618252990130716238221279" + "284125033775363510437593264991818081799618989828234772285886" + "546332835517796989819938739800539093906315035659515570226392" + "290858392449105184435931802849936536152500319370457678249219" + "365623669863658480757001585769269903706311928279558551332927" + "834338409351978015531246597263579574622766465272827220056374" + "006485499977096599470454020828166226237857393450736339007967" + "761930577506740176324673600968951340535537458516661134223766" + "678604162159680461914467291840300530057530849048765391711386" + "591646239524912623653881879636239373280423891018672348497668" + "235089863388587925628302755995657524455507255189313690836254" + "779186948667994968324049705821028513185451396213837722826145" + "437693412532098591327667236328126e-324", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x4p-1076, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x4p-1076L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + 0x2.0000000000000004p-1076L, + false, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + 0x2.0000000000000004p-1076L, + false, + 0x0p+0L, + 0x4p-1076L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x2p-1076L, + 0x2p-1076L, + 0x2p-1076L, + 0x2.0000000000000000000000000002p-1076L), + TEST ("-2.470328229206232720882843964341106861825299013071623822127" + "928412503377536351043759326499181808179961898982823477228588" + "654633283551779698981993873980053909390631503565951557022639" + "229085839244910518443593180284993653615250031937045767824921" + "936562366986365848075700158576926990370631192827955855133292" + "783433840935197801553124659726357957462276646527282722005637" + "400648549997709659947045402082816622623785739345073633900796" + "776193057750674017632467360096895134053553745851666113422376" + "667860416215968046191446729184030053005753084904876539171138" + "659164623952491262365388187963623937328042389101867234849766" + "823508986338858792562830275599565752445550725518931369083625" + "477918694866799496832404970582102851318545139621383772282614" + "5437693412532098591327667236328124e-324", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x2p-1076L, + -0x2p-1076L, + -0x1.fffffffffffffffep-1076L, + -0x1.fffffffffffffffep-1076L, + false, + -0x2p-1076L, + -0x2p-1076L, + -0x1.fffffffffffffffep-1076L, + -0x1.fffffffffffffffep-1076L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x2p-1076L, + -0x2p-1076L, + -0x1.ffffffffffffffffffffffffffffp-1076L, + -0x1.ffffffffffffffffffffffffffffp-1076L), + TEST ("-2.470328229206232720882843964341106861825299013071623822127" + "928412503377536351043759326499181808179961898982823477228588" + "654633283551779698981993873980053909390631503565951557022639" + "229085839244910518443593180284993653615250031937045767824921" + "936562366986365848075700158576926990370631192827955855133292" + "783433840935197801553124659726357957462276646527282722005637" + "400648549997709659947045402082816622623785739345073633900796" + "776193057750674017632467360096895134053553745851666113422376" + "667860416215968046191446729184030053005753084904876539171138" + "659164623952491262365388187963623937328042389101867234849766" + "823508986338858792562830275599565752445550725518931369083625" + "477918694866799496832404970582102851318545139621383772282614" + "5437693412532098591327667236328125e-324", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + true, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L, + true, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + true, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L), + TEST ("-2.470328229206232720882843964341106861825299013071623822127" + "928412503377536351043759326499181808179961898982823477228588" + "654633283551779698981993873980053909390631503565951557022639" + "229085839244910518443593180284993653615250031937045767824921" + "936562366986365848075700158576926990370631192827955855133292" + "783433840935197801553124659726357957462276646527282722005637" + "400648549997709659947045402082816622623785739345073633900796" + "776193057750674017632467360096895134053553745851666113422376" + "667860416215968046191446729184030053005753084904876539171138" + "659164623952491262365388187963623937328042389101867234849766" + "823508986338858792562830275599565752445550725518931369083625" + "477918694866799496832404970582102851318545139621383772282614" + "5437693412532098591327667236328126e-324", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + false, + -0x2.0000000000000004p-1076L, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L, + false, + -0x2.0000000000000004p-1076L, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L, + false, + -0x4p-1076L, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + false, + -0x2.0000000000000000000000000002p-1076L, + -0x2p-1076L, + -0x2p-1076L, + -0x2p-1076L), + TEST ("1.8225997659412373012642029668097099081995254078467816718604" + "902435141858443166988684047803543129136025986236736736017655" + "509834928163110160849867540377949045027419112905889658392846" + "126319028167798783107812829917053644701598967767636342956203" + "999770864055077592691915230273843577112246476529298591341071" + "313110337661777304220340396298768698441131694859514066773321" + "059786469060001083813361460161387168195154228027648977594276" + "496061276605855817438145692314650177569263750801566422892936" + "732834290416745265618525969943519916542939199731612507343012" + "297331882934352282118173551211985973294301787840335672389913" + "821098681464088756477802684228806339233239542587316254618680" + "197563613907079766830481997222017010585267442240109888818022" + "189543438116245170584546472752661417773021275082355242554950" + "776248474101880875363872607989624146320823364146896124171892" + "610744237622308266702265704492674694505399997330424978964704" + "335411125839490463131661420668167686151828553033363555080508" + "484934542727634080467233927879117726432283352324546435315312" + "937809651095964197873430398662003709663353962932921239516263" + "008572512558260093668527782388349282015308359304941505110445" + "043762021191469060607078792635897736408141163554429972292873" + "575169264387977130124003958599909776720759582995017519144111" + "001778329839793855454688442046155253818724410472281602421363" + "580613990749181808302947976045417884436271162664776148749463" + "202753814797191206392480969096910387729527305862739806702349" + "088455828380471306603628636563037414688265702108098430515297" + "645997107159687247830496686980315376091511219227376708389862" + "310190633134517040835432587726931910775044780329777051964574" + "763119639404235797665922677433332402402817037657141926646502" + "612388421085254756323737273178774331073924707711575555193153" + "421957126062196520952920611871114861423032687425262323243276" + "848595495133802591437804984986053892365334900647137137197585" + "161954823956838391108748154877098567190695813394392779995887" + "642254413740232692940887236351533691174492514884514265006822" + "752026136435469700291628942927286843274959781329315250417360" + "438115330104516894597449604875954147108010051910197388860417" + "003307595774863477182911525109554542883460240867674794470854" + "883815424039187014069246137704710366577005576311674384079810" + "437206511282792194562503036151028910065418370565117488062226" + "073975854919243439941741016447206284543777826080409075756028" + "194465562812076645422284670475730922346454505830553174377950" + "824178034708147037448871898963699023373821217419560423459358" + "846127232531421552826545954362386431279626917642725181802754" + "271134597856231805666129524101509582941585421888561296839474" + "232056474112935379177434928227554149402642893913492062781246" + "372611175305462271711931011635602039137701669573065960945871" + "579420683440097179831368317352157202215160682058878025153007" + "184185319863451652087375936651004559837502483808090613073982" + "264685620351993519454344577635257452328683726988824705474397" + "398247190812883071734743260426540123481791283782928972842466" + "595210269414219040901793935553872090377394005932597887081359" + "481915849178541128182923272843218513093012167744690818603663" + "862691727272565325057703378827553284852502067686026850339624" + "401046086817036618366842240024522042069888708534827471235203" + "998932259309110942367856287784097166420437430118381247339347" + "418156902369282431197735078016591613063918260343498992697002" + "033186558413655576703389208301203552157755701852051877927864" + "696515420369217703510602759815252574799728706795849558382877" + "392016396900560101736741462690753991602263974212137632508984" + "264559315540891383192361601189350414311358816980975697568561" + "515680971830107704152657284552920241862730125888825702301035" + "564615759615882010733764341109834449576907982406265803484111" + "303615971297609065271517286111839839646343815364461776394273" + "571391219315553915335300622295196577640884201524657614065743" + "729121754460652975075990012786021662416077757235487562550381" + "116824006014440438178253273174734436163638119532295383351135" + "543170811596051785036366846773285937845231974424475418970517" + "659179798069972876889488877627309887323737590814875050457317" + "809625163713227973229002908003491739085115971899606986738405" + "752463436186745107821032315480693516006251388789902053863235" + "071957895722121876262598833823352290042576488238120724072267" + "480348425637199003147760378463243043407534395221882144887315" + "875876025907739792297575795373506429192468470170038312050500" + "917665707583420927303790875332407805094505665159755210495266" + "485594187244922216154283213688032393939401426499517609275128" + "062067355172333120857796045387692492375534056470145301671359" + "016602832469675123108598588424022216759334733452626330303791" + "660952659036162827509451468771297954737165701921676834866994" + "084496268491510599580714458155026746676860790028899722645883" + "679435969902046442373108472951515492761911884847211825930115" + "654927539118088350255959445076757398298893380662248358210075" + "297702191186519614515280395341723177201383862827129721649638" + "274531314762377778754560119397123180107310216608157141828379" + "259328274508467371717057031104537750450228447941619684073375" + "630517322006118640290925241602376256334414376495602911265450" + "165889418372161719063670619610214632774542741157366426747861" + "054811449449004970132668146607323502760146957586465275981090" + "328336256381187450646030492071694516054712444513961269623339" + "705411366337817643269316717217432478812002049894979925260411" + "553651385384826214231392012841425936827944383266227115236029" + "717393064659821056467446870597828757433936024422511537561864" + "619865595955628070343780472634463916608440151554502790128417" + "277259492437005696576453717387309605129939526661181496994297" + "244693710437436581443653555343763817246961834486181294985455" + "884981266421533438177271809310897035958260776218253097858601" + "160643120653927024652834025146166356877731266566437231429061" + "099807825113272551869352908241073955695854354852545370793609" + "838167127357752579007490955536081388103461735071174567636929" + "060824172375010035497010614957197713919909924635906503348016" + "450952475530978921242656498701313530533991692867619886826204" + "706468476070943378163577235406861262755114909606255628375659" + "196050370661430148107216310635729360112021571291096278032076" + "401092225373270173950575377792566872113768085940991929655824" + "050914085013970861399015141010432835406337266746706727481946" + "196898882472095111505210339933002505227334750020285673634670" + "738458390159933494226851499935336922036551687169140582574153" + "726872453800858360764892975201757027862632615130256075468549" + "502839367841926212872731925042838691319757663382746471782087" + "828988857978192483595747889021081459460627705275735868618724" + "958783348362295106875556443770626864591972089881215465141073" + "516646930158996569747675806719463602045230325049794904894739" + "988312727573320971310488326486213061839843830003145873279435" + "454121817918269218294901387830156432148142381592864575229119" + "479029130050663564889172093067341444164942736885872753984012" + "865743421266470861425283889134636885790293235727017788606167" + "560012477186697069994213912998550931078617189790771376702549" + "055361745205232419031423044366971378594392952093464046441667" + "117613906203494872209149396518971207279263883566606774353236" + "255473603377861613942239543893894460581170658088042083661404" + "937465706659424639301296621963906278930754459296017486063079" + "582024995485338893699574289806529424673393810217577605952909" + "491283123179789154639057105774960699934999681018155749261864" + "012821574480758746632022143860041252142846691648490809250856" + "327057133540568617791625295314357533564192304930155735301757" + "457531580062662693966772497728335047637869054460240023262262" + "260698443946964564691259441706490611176164305693669515767804" + "836460521205954731752583848846525153811934541997962775215961" + "180346397456122329133421016560406277159258781706172834569862" + "946953007793254152187010227976038449980797987728559041018441" + "590564594738308310579014597893182017151615208050090318483536" + "106249131918576316944251537092347119867433735046169725181104" + "507590928834713669184230634083190791725243913641206256399101" + "550966117564795555149420011152858441084271411289366093158722" + "254752761637144762690747726313899449121995142565661043193165" + "353010677613760383307839362361625628371456344409245507081913" + "518237257141164239966660785903970075181826808229440731778746" + "830751045427285945936163931997929399708401851740705527023711" + "492262489476846435969872480702228386506357017948329114555484" + "164760105906717855684788039081591713778852802032849601308169" + "832017420608399347713424218434541771868442189843417628618330" + "607429739733739437863581804003482214082370567967330530446020" + "897773385726872912189813323094415093143437550397556262780011" + "208941731420098754319961419532567861629590267320403217607660" + "774125374101195389953895035347940170148097810952083736798564" + "420421622607993390894450932047257403433908665884124601384175" + "012387617430467934818665777122459487877479257747635172691688" + "471574765285820096075133353869554987216398800026453207557923" + "535966131756358352198875705382763163680830588056974671628368" + "719411827591592806044707764658145625683998557872894583705117" + "936257144994734815912058252772021032081682437093280526665192" + "728869800954748014250481042845426151143544474372887617562791" + "409866964806319608280819816846942058817381943129762034507591" + "367065185343216917751414811188645979508942996964383255432999" + "246119971295726296202396921903289017490293595312645036697141" + "581149988784499288560584613793415358537364677872496224892098" + "940856692342358755626519304557946447004033186014602147449599" + "351317079758304444877174136521487256811625263467410007624215" + "856145392339552689565690577293133060124853654497575571509576" + "408069646196646757505249296126372820539234090564691695806544" + "715766025588258581902342311480969412221466852421842650484494" + "063894865891424563992751226230317059592413191308470146226366" + "458233536657973376067140793776369412191789801225320255079444" + "592709005698858098716107025188986428347407279053266600044521" + "079987989879536957560131070100060050673537683871138182387904" + "590837539252425985326631955455857258818756188063697492342550" + "045277400125480079927908846850898283905756532829762950509886" + "991675925213188409911532242068610889478326451513981115020992" + "630395715520350039372702741107911736947893709538471200363740" + "669304116845653259038102180504837110789645359520309929381266" + "271463740502507456882882255788069710715770802338317704510793" + "279398576163709512326095306022330346997717688118726634628650" + "675984237916551201500684504118483305560295744746257951860545" + "390826531622290588364837980034428055971370065573420370270905" + "592141420051502465016793525150950140243606137664910359769114" + "512792293426708006440346732679574519594848136194781488696994" + "267355775509666977187349644291823026624985531726865131782364" + "428380093055155988532106121916567178604128111080322761213573" + "781334480667563871257352254033032675246444238637990062075058" + "819854494711379915549313390179300091783493496822950479766923" + "983305064901026858870340863556799948310622536592472509634484" + "910640735459644047154918467543140024764605449756679450446473" + "048922824617117723876384637412932380635306714345354710568410" + "140587435077620501285599837051978855056335305570615129711860" + "309387503970812843734718712815925040263182888714533431137355" + "255722368962836390856001176889513153529416105504464217522618" + "741534232432067776306691118141998014985541610448993152948945" + "865983354717289054861249734477980864059509622993770525110616" + "313865830823478927462500895844216364365499438449134659145333" + "799994034010282254566331595018205841080487728993632798168070" + "476921205941768965021887178681810499301253039335978279707627" + "295287697256489961179958946847840431902105306618594831078534" + "622089641993900896756734276531931450266972752637997248151974" + "2277811246822238899767398834228515624e-4951", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x4p-16448L, + 0x0p+0L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x3.fffffffffffcp-16448L, + 0x4p-16448L, + 0x3.fffffffffffcp-16448L, + 0x4p-16448L), + TEST ("1.8225997659412373012642029668097099081995254078467816718604" + "902435141858443166988684047803543129136025986236736736017655" + "509834928163110160849867540377949045027419112905889658392846" + "126319028167798783107812829917053644701598967767636342956203" + "999770864055077592691915230273843577112246476529298591341071" + "313110337661777304220340396298768698441131694859514066773321" + "059786469060001083813361460161387168195154228027648977594276" + "496061276605855817438145692314650177569263750801566422892936" + "732834290416745265618525969943519916542939199731612507343012" + "297331882934352282118173551211985973294301787840335672389913" + "821098681464088756477802684228806339233239542587316254618680" + "197563613907079766830481997222017010585267442240109888818022" + "189543438116245170584546472752661417773021275082355242554950" + "776248474101880875363872607989624146320823364146896124171892" + "610744237622308266702265704492674694505399997330424978964704" + "335411125839490463131661420668167686151828553033363555080508" + "484934542727634080467233927879117726432283352324546435315312" + "937809651095964197873430398662003709663353962932921239516263" + "008572512558260093668527782388349282015308359304941505110445" + "043762021191469060607078792635897736408141163554429972292873" + "575169264387977130124003958599909776720759582995017519144111" + "001778329839793855454688442046155253818724410472281602421363" + "580613990749181808302947976045417884436271162664776148749463" + "202753814797191206392480969096910387729527305862739806702349" + "088455828380471306603628636563037414688265702108098430515297" + "645997107159687247830496686980315376091511219227376708389862" + "310190633134517040835432587726931910775044780329777051964574" + "763119639404235797665922677433332402402817037657141926646502" + "612388421085254756323737273178774331073924707711575555193153" + "421957126062196520952920611871114861423032687425262323243276" + "848595495133802591437804984986053892365334900647137137197585" + "161954823956838391108748154877098567190695813394392779995887" + "642254413740232692940887236351533691174492514884514265006822" + "752026136435469700291628942927286843274959781329315250417360" + "438115330104516894597449604875954147108010051910197388860417" + "003307595774863477182911525109554542883460240867674794470854" + "883815424039187014069246137704710366577005576311674384079810" + "437206511282792194562503036151028910065418370565117488062226" + "073975854919243439941741016447206284543777826080409075756028" + "194465562812076645422284670475730922346454505830553174377950" + "824178034708147037448871898963699023373821217419560423459358" + "846127232531421552826545954362386431279626917642725181802754" + "271134597856231805666129524101509582941585421888561296839474" + "232056474112935379177434928227554149402642893913492062781246" + "372611175305462271711931011635602039137701669573065960945871" + "579420683440097179831368317352157202215160682058878025153007" + "184185319863451652087375936651004559837502483808090613073982" + "264685620351993519454344577635257452328683726988824705474397" + "398247190812883071734743260426540123481791283782928972842466" + "595210269414219040901793935553872090377394005932597887081359" + "481915849178541128182923272843218513093012167744690818603663" + "862691727272565325057703378827553284852502067686026850339624" + "401046086817036618366842240024522042069888708534827471235203" + "998932259309110942367856287784097166420437430118381247339347" + "418156902369282431197735078016591613063918260343498992697002" + "033186558413655576703389208301203552157755701852051877927864" + "696515420369217703510602759815252574799728706795849558382877" + "392016396900560101736741462690753991602263974212137632508984" + "264559315540891383192361601189350414311358816980975697568561" + "515680971830107704152657284552920241862730125888825702301035" + "564615759615882010733764341109834449576907982406265803484111" + "303615971297609065271517286111839839646343815364461776394273" + "571391219315553915335300622295196577640884201524657614065743" + "729121754460652975075990012786021662416077757235487562550381" + "116824006014440438178253273174734436163638119532295383351135" + "543170811596051785036366846773285937845231974424475418970517" + "659179798069972876889488877627309887323737590814875050457317" + "809625163713227973229002908003491739085115971899606986738405" + "752463436186745107821032315480693516006251388789902053863235" + "071957895722121876262598833823352290042576488238120724072267" + "480348425637199003147760378463243043407534395221882144887315" + "875876025907739792297575795373506429192468470170038312050500" + "917665707583420927303790875332407805094505665159755210495266" + "485594187244922216154283213688032393939401426499517609275128" + "062067355172333120857796045387692492375534056470145301671359" + "016602832469675123108598588424022216759334733452626330303791" + "660952659036162827509451468771297954737165701921676834866994" + "084496268491510599580714458155026746676860790028899722645883" + "679435969902046442373108472951515492761911884847211825930115" + "654927539118088350255959445076757398298893380662248358210075" + "297702191186519614515280395341723177201383862827129721649638" + "274531314762377778754560119397123180107310216608157141828379" + "259328274508467371717057031104537750450228447941619684073375" + "630517322006118640290925241602376256334414376495602911265450" + "165889418372161719063670619610214632774542741157366426747861" + "054811449449004970132668146607323502760146957586465275981090" + "328336256381187450646030492071694516054712444513961269623339" + "705411366337817643269316717217432478812002049894979925260411" + "553651385384826214231392012841425936827944383266227115236029" + "717393064659821056467446870597828757433936024422511537561864" + "619865595955628070343780472634463916608440151554502790128417" + "277259492437005696576453717387309605129939526661181496994297" + "244693710437436581443653555343763817246961834486181294985455" + "884981266421533438177271809310897035958260776218253097858601" + "160643120653927024652834025146166356877731266566437231429061" + "099807825113272551869352908241073955695854354852545370793609" + "838167127357752579007490955536081388103461735071174567636929" + "060824172375010035497010614957197713919909924635906503348016" + "450952475530978921242656498701313530533991692867619886826204" + "706468476070943378163577235406861262755114909606255628375659" + "196050370661430148107216310635729360112021571291096278032076" + "401092225373270173950575377792566872113768085940991929655824" + "050914085013970861399015141010432835406337266746706727481946" + "196898882472095111505210339933002505227334750020285673634670" + "738458390159933494226851499935336922036551687169140582574153" + "726872453800858360764892975201757027862632615130256075468549" + "502839367841926212872731925042838691319757663382746471782087" + "828988857978192483595747889021081459460627705275735868618724" + "958783348362295106875556443770626864591972089881215465141073" + "516646930158996569747675806719463602045230325049794904894739" + "988312727573320971310488326486213061839843830003145873279435" + "454121817918269218294901387830156432148142381592864575229119" + "479029130050663564889172093067341444164942736885872753984012" + "865743421266470861425283889134636885790293235727017788606167" + "560012477186697069994213912998550931078617189790771376702549" + "055361745205232419031423044366971378594392952093464046441667" + "117613906203494872209149396518971207279263883566606774353236" + "255473603377861613942239543893894460581170658088042083661404" + "937465706659424639301296621963906278930754459296017486063079" + "582024995485338893699574289806529424673393810217577605952909" + "491283123179789154639057105774960699934999681018155749261864" + "012821574480758746632022143860041252142846691648490809250856" + "327057133540568617791625295314357533564192304930155735301757" + "457531580062662693966772497728335047637869054460240023262262" + "260698443946964564691259441706490611176164305693669515767804" + "836460521205954731752583848846525153811934541997962775215961" + "180346397456122329133421016560406277159258781706172834569862" + "946953007793254152187010227976038449980797987728559041018441" + "590564594738308310579014597893182017151615208050090318483536" + "106249131918576316944251537092347119867433735046169725181104" + "507590928834713669184230634083190791725243913641206256399101" + "550966117564795555149420011152858441084271411289366093158722" + "254752761637144762690747726313899449121995142565661043193165" + "353010677613760383307839362361625628371456344409245507081913" + "518237257141164239966660785903970075181826808229440731778746" + "830751045427285945936163931997929399708401851740705527023711" + "492262489476846435969872480702228386506357017948329114555484" + "164760105906717855684788039081591713778852802032849601308169" + "832017420608399347713424218434541771868442189843417628618330" + "607429739733739437863581804003482214082370567967330530446020" + "897773385726872912189813323094415093143437550397556262780011" + "208941731420098754319961419532567861629590267320403217607660" + "774125374101195389953895035347940170148097810952083736798564" + "420421622607993390894450932047257403433908665884124601384175" + "012387617430467934818665777122459487877479257747635172691688" + "471574765285820096075133353869554987216398800026453207557923" + "535966131756358352198875705382763163680830588056974671628368" + "719411827591592806044707764658145625683998557872894583705117" + "936257144994734815912058252772021032081682437093280526665192" + "728869800954748014250481042845426151143544474372887617562791" + "409866964806319608280819816846942058817381943129762034507591" + "367065185343216917751414811188645979508942996964383255432999" + "246119971295726296202396921903289017490293595312645036697141" + "581149988784499288560584613793415358537364677872496224892098" + "940856692342358755626519304557946447004033186014602147449599" + "351317079758304444877174136521487256811625263467410007624215" + "856145392339552689565690577293133060124853654497575571509576" + "408069646196646757505249296126372820539234090564691695806544" + "715766025588258581902342311480969412221466852421842650484494" + "063894865891424563992751226230317059592413191308470146226366" + "458233536657973376067140793776369412191789801225320255079444" + "592709005698858098716107025188986428347407279053266600044521" + "079987989879536957560131070100060050673537683871138182387904" + "590837539252425985326631955455857258818756188063697492342550" + "045277400125480079927908846850898283905756532829762950509886" + "991675925213188409911532242068610889478326451513981115020992" + "630395715520350039372702741107911736947893709538471200363740" + "669304116845653259038102180504837110789645359520309929381266" + "271463740502507456882882255788069710715770802338317704510793" + "279398576163709512326095306022330346997717688118726634628650" + "675984237916551201500684504118483305560295744746257951860545" + "390826531622290588364837980034428055971370065573420370270905" + "592141420051502465016793525150950140243606137664910359769114" + "512792293426708006440346732679574519594848136194781488696994" + "267355775509666977187349644291823026624985531726865131782364" + "428380093055155988532106121916567178604128111080322761213573" + "781334480667563871257352254033032675246444238637990062075058" + "819854494711379915549313390179300091783493496822950479766923" + "983305064901026858870340863556799948310622536592472509634484" + "910640735459644047154918467543140024764605449756679450446473" + "048922824617117723876384637412932380635306714345354710568410" + "140587435077620501285599837051978855056335305570615129711860" + "309387503970812843734718712815925040263182888714533431137355" + "255722368962836390856001176889513153529416105504464217522618" + "741534232432067776306691118141998014985541610448993152948945" + "865983354717289054861249734477980864059509622993770525110616" + "313865830823478927462500895844216364365499438449134659145333" + "799994034010282254566331595018205841080487728993632798168070" + "476921205941768965021887178681810499301253039335978279707627" + "295287697256489961179958946847840431902105306618594831078534" + "622089641993900896756734276531931450266972752637997248151974" + "2277811246822238899767398834228515625e-4951", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + true, + 0x4p-16448L, + 0x4p-16448L, + 0x4p-16448L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + true, + 0x4p-16448L, + 0x4p-16448L, + 0x4p-16448L, + 0x4p-16448L), + TEST ("1.8225997659412373012642029668097099081995254078467816718604" + "902435141858443166988684047803543129136025986236736736017655" + "509834928163110160849867540377949045027419112905889658392846" + "126319028167798783107812829917053644701598967767636342956203" + "999770864055077592691915230273843577112246476529298591341071" + "313110337661777304220340396298768698441131694859514066773321" + "059786469060001083813361460161387168195154228027648977594276" + "496061276605855817438145692314650177569263750801566422892936" + "732834290416745265618525969943519916542939199731612507343012" + "297331882934352282118173551211985973294301787840335672389913" + "821098681464088756477802684228806339233239542587316254618680" + "197563613907079766830481997222017010585267442240109888818022" + "189543438116245170584546472752661417773021275082355242554950" + "776248474101880875363872607989624146320823364146896124171892" + "610744237622308266702265704492674694505399997330424978964704" + "335411125839490463131661420668167686151828553033363555080508" + "484934542727634080467233927879117726432283352324546435315312" + "937809651095964197873430398662003709663353962932921239516263" + "008572512558260093668527782388349282015308359304941505110445" + "043762021191469060607078792635897736408141163554429972292873" + "575169264387977130124003958599909776720759582995017519144111" + "001778329839793855454688442046155253818724410472281602421363" + "580613990749181808302947976045417884436271162664776148749463" + "202753814797191206392480969096910387729527305862739806702349" + "088455828380471306603628636563037414688265702108098430515297" + "645997107159687247830496686980315376091511219227376708389862" + "310190633134517040835432587726931910775044780329777051964574" + "763119639404235797665922677433332402402817037657141926646502" + "612388421085254756323737273178774331073924707711575555193153" + "421957126062196520952920611871114861423032687425262323243276" + "848595495133802591437804984986053892365334900647137137197585" + "161954823956838391108748154877098567190695813394392779995887" + "642254413740232692940887236351533691174492514884514265006822" + "752026136435469700291628942927286843274959781329315250417360" + "438115330104516894597449604875954147108010051910197388860417" + "003307595774863477182911525109554542883460240867674794470854" + "883815424039187014069246137704710366577005576311674384079810" + "437206511282792194562503036151028910065418370565117488062226" + "073975854919243439941741016447206284543777826080409075756028" + "194465562812076645422284670475730922346454505830553174377950" + "824178034708147037448871898963699023373821217419560423459358" + "846127232531421552826545954362386431279626917642725181802754" + "271134597856231805666129524101509582941585421888561296839474" + "232056474112935379177434928227554149402642893913492062781246" + "372611175305462271711931011635602039137701669573065960945871" + "579420683440097179831368317352157202215160682058878025153007" + "184185319863451652087375936651004559837502483808090613073982" + "264685620351993519454344577635257452328683726988824705474397" + "398247190812883071734743260426540123481791283782928972842466" + "595210269414219040901793935553872090377394005932597887081359" + "481915849178541128182923272843218513093012167744690818603663" + "862691727272565325057703378827553284852502067686026850339624" + "401046086817036618366842240024522042069888708534827471235203" + "998932259309110942367856287784097166420437430118381247339347" + "418156902369282431197735078016591613063918260343498992697002" + "033186558413655576703389208301203552157755701852051877927864" + "696515420369217703510602759815252574799728706795849558382877" + "392016396900560101736741462690753991602263974212137632508984" + "264559315540891383192361601189350414311358816980975697568561" + "515680971830107704152657284552920241862730125888825702301035" + "564615759615882010733764341109834449576907982406265803484111" + "303615971297609065271517286111839839646343815364461776394273" + "571391219315553915335300622295196577640884201524657614065743" + "729121754460652975075990012786021662416077757235487562550381" + "116824006014440438178253273174734436163638119532295383351135" + "543170811596051785036366846773285937845231974424475418970517" + "659179798069972876889488877627309887323737590814875050457317" + "809625163713227973229002908003491739085115971899606986738405" + "752463436186745107821032315480693516006251388789902053863235" + "071957895722121876262598833823352290042576488238120724072267" + "480348425637199003147760378463243043407534395221882144887315" + "875876025907739792297575795373506429192468470170038312050500" + "917665707583420927303790875332407805094505665159755210495266" + "485594187244922216154283213688032393939401426499517609275128" + "062067355172333120857796045387692492375534056470145301671359" + "016602832469675123108598588424022216759334733452626330303791" + "660952659036162827509451468771297954737165701921676834866994" + "084496268491510599580714458155026746676860790028899722645883" + "679435969902046442373108472951515492761911884847211825930115" + "654927539118088350255959445076757398298893380662248358210075" + "297702191186519614515280395341723177201383862827129721649638" + "274531314762377778754560119397123180107310216608157141828379" + "259328274508467371717057031104537750450228447941619684073375" + "630517322006118640290925241602376256334414376495602911265450" + "165889418372161719063670619610214632774542741157366426747861" + "054811449449004970132668146607323502760146957586465275981090" + "328336256381187450646030492071694516054712444513961269623339" + "705411366337817643269316717217432478812002049894979925260411" + "553651385384826214231392012841425936827944383266227115236029" + "717393064659821056467446870597828757433936024422511537561864" + "619865595955628070343780472634463916608440151554502790128417" + "277259492437005696576453717387309605129939526661181496994297" + "244693710437436581443653555343763817246961834486181294985455" + "884981266421533438177271809310897035958260776218253097858601" + "160643120653927024652834025146166356877731266566437231429061" + "099807825113272551869352908241073955695854354852545370793609" + "838167127357752579007490955536081388103461735071174567636929" + "060824172375010035497010614957197713919909924635906503348016" + "450952475530978921242656498701313530533991692867619886826204" + "706468476070943378163577235406861262755114909606255628375659" + "196050370661430148107216310635729360112021571291096278032076" + "401092225373270173950575377792566872113768085940991929655824" + "050914085013970861399015141010432835406337266746706727481946" + "196898882472095111505210339933002505227334750020285673634670" + "738458390159933494226851499935336922036551687169140582574153" + "726872453800858360764892975201757027862632615130256075468549" + "502839367841926212872731925042838691319757663382746471782087" + "828988857978192483595747889021081459460627705275735868618724" + "958783348362295106875556443770626864591972089881215465141073" + "516646930158996569747675806719463602045230325049794904894739" + "988312727573320971310488326486213061839843830003145873279435" + "454121817918269218294901387830156432148142381592864575229119" + "479029130050663564889172093067341444164942736885872753984012" + "865743421266470861425283889134636885790293235727017788606167" + "560012477186697069994213912998550931078617189790771376702549" + "055361745205232419031423044366971378594392952093464046441667" + "117613906203494872209149396518971207279263883566606774353236" + "255473603377861613942239543893894460581170658088042083661404" + "937465706659424639301296621963906278930754459296017486063079" + "582024995485338893699574289806529424673393810217577605952909" + "491283123179789154639057105774960699934999681018155749261864" + "012821574480758746632022143860041252142846691648490809250856" + "327057133540568617791625295314357533564192304930155735301757" + "457531580062662693966772497728335047637869054460240023262262" + "260698443946964564691259441706490611176164305693669515767804" + "836460521205954731752583848846525153811934541997962775215961" + "180346397456122329133421016560406277159258781706172834569862" + "946953007793254152187010227976038449980797987728559041018441" + "590564594738308310579014597893182017151615208050090318483536" + "106249131918576316944251537092347119867433735046169725181104" + "507590928834713669184230634083190791725243913641206256399101" + "550966117564795555149420011152858441084271411289366093158722" + "254752761637144762690747726313899449121995142565661043193165" + "353010677613760383307839362361625628371456344409245507081913" + "518237257141164239966660785903970075181826808229440731778746" + "830751045427285945936163931997929399708401851740705527023711" + "492262489476846435969872480702228386506357017948329114555484" + "164760105906717855684788039081591713778852802032849601308169" + "832017420608399347713424218434541771868442189843417628618330" + "607429739733739437863581804003482214082370567967330530446020" + "897773385726872912189813323094415093143437550397556262780011" + "208941731420098754319961419532567861629590267320403217607660" + "774125374101195389953895035347940170148097810952083736798564" + "420421622607993390894450932047257403433908665884124601384175" + "012387617430467934818665777122459487877479257747635172691688" + "471574765285820096075133353869554987216398800026453207557923" + "535966131756358352198875705382763163680830588056974671628368" + "719411827591592806044707764658145625683998557872894583705117" + "936257144994734815912058252772021032081682437093280526665192" + "728869800954748014250481042845426151143544474372887617562791" + "409866964806319608280819816846942058817381943129762034507591" + "367065185343216917751414811188645979508942996964383255432999" + "246119971295726296202396921903289017490293595312645036697141" + "581149988784499288560584613793415358537364677872496224892098" + "940856692342358755626519304557946447004033186014602147449599" + "351317079758304444877174136521487256811625263467410007624215" + "856145392339552689565690577293133060124853654497575571509576" + "408069646196646757505249296126372820539234090564691695806544" + "715766025588258581902342311480969412221466852421842650484494" + "063894865891424563992751226230317059592413191308470146226366" + "458233536657973376067140793776369412191789801225320255079444" + "592709005698858098716107025188986428347407279053266600044521" + "079987989879536957560131070100060050673537683871138182387904" + "590837539252425985326631955455857258818756188063697492342550" + "045277400125480079927908846850898283905756532829762950509886" + "991675925213188409911532242068610889478326451513981115020992" + "630395715520350039372702741107911736947893709538471200363740" + "669304116845653259038102180504837110789645359520309929381266" + "271463740502507456882882255788069710715770802338317704510793" + "279398576163709512326095306022330346997717688118726634628650" + "675984237916551201500684504118483305560295744746257951860545" + "390826531622290588364837980034428055971370065573420370270905" + "592141420051502465016793525150950140243606137664910359769114" + "512792293426708006440346732679574519594848136194781488696994" + "267355775509666977187349644291823026624985531726865131782364" + "428380093055155988532106121916567178604128111080322761213573" + "781334480667563871257352254033032675246444238637990062075058" + "819854494711379915549313390179300091783493496822950479766923" + "983305064901026858870340863556799948310622536592472509634484" + "910640735459644047154918467543140024764605449756679450446473" + "048922824617117723876384637412932380635306714345354710568410" + "140587435077620501285599837051978855056335305570615129711860" + "309387503970812843734718712815925040263182888714533431137355" + "255722368962836390856001176889513153529416105504464217522618" + "741534232432067776306691118141998014985541610448993152948945" + "865983354717289054861249734477980864059509622993770525110616" + "313865830823478927462500895844216364365499438449134659145333" + "799994034010282254566331595018205841080487728993632798168070" + "476921205941768965021887178681810499301253039335978279707627" + "295287697256489961179958946847840431902105306618594831078534" + "622089641993900896756734276531931450266972752637997248151974" + "2277811246822238899767398834228515626e-4951", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x8p-16448L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x4p-16448L, + 0x4p-16448L, + 0x4p-16448L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x4p-16448L, + 0x4p-16448L, + 0x4p-16448L, + 0x4.000000000004p-16448L), + TEST ("-1.822599765941237301264202966809709908199525407846781671860" + "490243514185844316698868404780354312913602598623673673601765" + "550983492816311016084986754037794904502741911290588965839284" + "612631902816779878310781282991705364470159896776763634295620" + "399977086405507759269191523027384357711224647652929859134107" + "131311033766177730422034039629876869844113169485951406677332" + "105978646906000108381336146016138716819515422802764897759427" + "649606127660585581743814569231465017756926375080156642289293" + "673283429041674526561852596994351991654293919973161250734301" + "229733188293435228211817355121198597329430178784033567238991" + "382109868146408875647780268422880633923323954258731625461868" + "019756361390707976683048199722201701058526744224010988881802" + "218954343811624517058454647275266141777302127508235524255495" + "077624847410188087536387260798962414632082336414689612417189" + "261074423762230826670226570449267469450539999733042497896470" + "433541112583949046313166142066816768615182855303336355508050" + "848493454272763408046723392787911772643228335232454643531531" + "293780965109596419787343039866200370966335396293292123951626" + "300857251255826009366852778238834928201530835930494150511044" + "504376202119146906060707879263589773640814116355442997229287" + "357516926438797713012400395859990977672075958299501751914411" + "100177832983979385545468844204615525381872441047228160242136" + "358061399074918180830294797604541788443627116266477614874946" + "320275381479719120639248096909691038772952730586273980670234" + "908845582838047130660362863656303741468826570210809843051529" + "764599710715968724783049668698031537609151121922737670838986" + "231019063313451704083543258772693191077504478032977705196457" + "476311963940423579766592267743333240240281703765714192664650" + "261238842108525475632373727317877433107392470771157555519315" + "342195712606219652095292061187111486142303268742526232324327" + "684859549513380259143780498498605389236533490064713713719758" + "516195482395683839110874815487709856719069581339439277999588" + "764225441374023269294088723635153369117449251488451426500682" + "275202613643546970029162894292728684327495978132931525041736" + "043811533010451689459744960487595414710801005191019738886041" + "700330759577486347718291152510955454288346024086767479447085" + "488381542403918701406924613770471036657700557631167438407981" + "043720651128279219456250303615102891006541837056511748806222" + "607397585491924343994174101644720628454377782608040907575602" + "819446556281207664542228467047573092234645450583055317437795" + "082417803470814703744887189896369902337382121741956042345935" + "884612723253142155282654595436238643127962691764272518180275" + "427113459785623180566612952410150958294158542188856129683947" + "423205647411293537917743492822755414940264289391349206278124" + "637261117530546227171193101163560203913770166957306596094587" + "157942068344009717983136831735215720221516068205887802515300" + "718418531986345165208737593665100455983750248380809061307398" + "226468562035199351945434457763525745232868372698882470547439" + "739824719081288307173474326042654012348179128378292897284246" + "659521026941421904090179393555387209037739400593259788708135" + "948191584917854112818292327284321851309301216774469081860366" + "386269172727256532505770337882755328485250206768602685033962" + "440104608681703661836684224002452204206988870853482747123520" + "399893225930911094236785628778409716642043743011838124733934" + "741815690236928243119773507801659161306391826034349899269700" + "203318655841365557670338920830120355215775570185205187792786" + "469651542036921770351060275981525257479972870679584955838287" + "739201639690056010173674146269075399160226397421213763250898" + "426455931554089138319236160118935041431135881698097569756856" + "151568097183010770415265728455292024186273012588882570230103" + "556461575961588201073376434110983444957690798240626580348411" + "130361597129760906527151728611183983964634381536446177639427" + "357139121931555391533530062229519657764088420152465761406574" + "372912175446065297507599001278602166241607775723548756255038" + "111682400601444043817825327317473443616363811953229538335113" + "554317081159605178503636684677328593784523197442447541897051" + "765917979806997287688948887762730988732373759081487505045731" + "780962516371322797322900290800349173908511597189960698673840" + "575246343618674510782103231548069351600625138878990205386323" + "507195789572212187626259883382335229004257648823812072407226" + "748034842563719900314776037846324304340753439522188214488731" + "587587602590773979229757579537350642919246847017003831205050" + "091766570758342092730379087533240780509450566515975521049526" + "648559418724492221615428321368803239393940142649951760927512" + "806206735517233312085779604538769249237553405647014530167135" + "901660283246967512310859858842402221675933473345262633030379" + "166095265903616282750945146877129795473716570192167683486699" + "408449626849151059958071445815502674667686079002889972264588" + "367943596990204644237310847295151549276191188484721182593011" + "565492753911808835025595944507675739829889338066224835821007" + "529770219118651961451528039534172317720138386282712972164963" + "827453131476237777875456011939712318010731021660815714182837" + "925932827450846737171705703110453775045022844794161968407337" + "563051732200611864029092524160237625633441437649560291126545" + "016588941837216171906367061961021463277454274115736642674786" + "105481144944900497013266814660732350276014695758646527598109" + "032833625638118745064603049207169451605471244451396126962333" + "970541136633781764326931671721743247881200204989497992526041" + "155365138538482621423139201284142593682794438326622711523602" + "971739306465982105646744687059782875743393602442251153756186" + "461986559595562807034378047263446391660844015155450279012841" + "727725949243700569657645371738730960512993952666118149699429" + "724469371043743658144365355534376381724696183448618129498545" + "588498126642153343817727180931089703595826077621825309785860" + "116064312065392702465283402514616635687773126656643723142906" + "109980782511327255186935290824107395569585435485254537079360" + "983816712735775257900749095553608138810346173507117456763692" + "906082417237501003549701061495719771391990992463590650334801" + "645095247553097892124265649870131353053399169286761988682620" + "470646847607094337816357723540686126275511490960625562837565" + "919605037066143014810721631063572936011202157129109627803207" + "640109222537327017395057537779256687211376808594099192965582" + "405091408501397086139901514101043283540633726674670672748194" + "619689888247209511150521033993300250522733475002028567363467" + "073845839015993349422685149993533692203655168716914058257415" + "372687245380085836076489297520175702786263261513025607546854" + "950283936784192621287273192504283869131975766338274647178208" + "782898885797819248359574788902108145946062770527573586861872" + "495878334836229510687555644377062686459197208988121546514107" + "351664693015899656974767580671946360204523032504979490489473" + "998831272757332097131048832648621306183984383000314587327943" + "545412181791826921829490138783015643214814238159286457522911" + "947902913005066356488917209306734144416494273688587275398401" + "286574342126647086142528388913463688579029323572701778860616" + "756001247718669706999421391299855093107861718979077137670254" + "905536174520523241903142304436697137859439295209346404644166" + "711761390620349487220914939651897120727926388356660677435323" + "625547360337786161394223954389389446058117065808804208366140" + "493746570665942463930129662196390627893075445929601748606307" + "958202499548533889369957428980652942467339381021757760595290" + "949128312317978915463905710577496069993499968101815574926186" + "401282157448075874663202214386004125214284669164849080925085" + "632705713354056861779162529531435753356419230493015573530175" + "745753158006266269396677249772833504763786905446024002326226" + "226069844394696456469125944170649061117616430569366951576780" + "483646052120595473175258384884652515381193454199796277521596" + "118034639745612232913342101656040627715925878170617283456986" + "294695300779325415218701022797603844998079798772855904101844" + "159056459473830831057901459789318201715161520805009031848353" + "610624913191857631694425153709234711986743373504616972518110" + "450759092883471366918423063408319079172524391364120625639910" + "155096611756479555514942001115285844108427141128936609315872" + "225475276163714476269074772631389944912199514256566104319316" + "535301067761376038330783936236162562837145634440924550708191" + "351823725714116423996666078590397007518182680822944073177874" + "683075104542728594593616393199792939970840185174070552702371" + "149226248947684643596987248070222838650635701794832911455548" + "416476010590671785568478803908159171377885280203284960130816" + "983201742060839934771342421843454177186844218984341762861833" + "060742973973373943786358180400348221408237056796733053044602" + "089777338572687291218981332309441509314343755039755626278001" + "120894173142009875431996141953256786162959026732040321760766" + "077412537410119538995389503534794017014809781095208373679856" + "442042162260799339089445093204725740343390866588412460138417" + "501238761743046793481866577712245948787747925774763517269168" + "847157476528582009607513335386955498721639880002645320755792" + "353596613175635835219887570538276316368083058805697467162836" + "871941182759159280604470776465814562568399855787289458370511" + "793625714499473481591205825277202103208168243709328052666519" + "272886980095474801425048104284542615114354447437288761756279" + "140986696480631960828081981684694205881738194312976203450759" + "136706518534321691775141481118864597950894299696438325543299" + "924611997129572629620239692190328901749029359531264503669714" + "158114998878449928856058461379341535853736467787249622489209" + "894085669234235875562651930455794644700403318601460214744959" + "935131707975830444487717413652148725681162526346741000762421" + "585614539233955268956569057729313306012485365449757557150957" + "640806964619664675750524929612637282053923409056469169580654" + "471576602558825858190234231148096941222146685242184265048449" + "406389486589142456399275122623031705959241319130847014622636" + "645823353665797337606714079377636941219178980122532025507944" + "459270900569885809871610702518898642834740727905326660004452" + "107998798987953695756013107010006005067353768387113818238790" + "459083753925242598532663195545585725881875618806369749234255" + "004527740012548007992790884685089828390575653282976295050988" + "699167592521318840991153224206861088947832645151398111502099" + "263039571552035003937270274110791173694789370953847120036374" + "066930411684565325903810218050483711078964535952030992938126" + "627146374050250745688288225578806971071577080233831770451079" + "327939857616370951232609530602233034699771768811872663462865" + "067598423791655120150068450411848330556029574474625795186054" + "539082653162229058836483798003442805597137006557342037027090" + "559214142005150246501679352515095014024360613766491035976911" + "451279229342670800644034673267957451959484813619478148869699" + "426735577550966697718734964429182302662498553172686513178236" + "442838009305515598853210612191656717860412811108032276121357" + "378133448066756387125735225403303267524644423863799006207505" + "881985449471137991554931339017930009178349349682295047976692" + "398330506490102685887034086355679994831062253659247250963448" + "491064073545964404715491846754314002476460544975667945044647" + "304892282461711772387638463741293238063530671434535471056841" + "014058743507762050128559983705197885505633530557061512971186" + "030938750397081284373471871281592504026318288871453343113735" + "525572236896283639085600117688951315352941610550446421752261" + "874153423243206777630669111814199801498554161044899315294894" + "586598335471728905486124973447798086405950962299377052511061" + "631386583082347892746250089584421636436549943844913465914533" + "379999403401028225456633159501820584108048772899363279816807" + "047692120594176896502188717868181049930125303933597827970762" + "729528769725648996117995894684784043190210530661859483107853" + "462208964199390089675673427653193145026697275263799724815197" + "42277811246822238899767398834228515624e-4951", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x4p-16448L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x4p-16448L, + -0x3.fffffffffffcp-16448L, + -0x3.fffffffffffcp-16448L), + TEST ("-1.822599765941237301264202966809709908199525407846781671860" + "490243514185844316698868404780354312913602598623673673601765" + "550983492816311016084986754037794904502741911290588965839284" + "612631902816779878310781282991705364470159896776763634295620" + "399977086405507759269191523027384357711224647652929859134107" + "131311033766177730422034039629876869844113169485951406677332" + "105978646906000108381336146016138716819515422802764897759427" + "649606127660585581743814569231465017756926375080156642289293" + "673283429041674526561852596994351991654293919973161250734301" + "229733188293435228211817355121198597329430178784033567238991" + "382109868146408875647780268422880633923323954258731625461868" + "019756361390707976683048199722201701058526744224010988881802" + "218954343811624517058454647275266141777302127508235524255495" + "077624847410188087536387260798962414632082336414689612417189" + "261074423762230826670226570449267469450539999733042497896470" + "433541112583949046313166142066816768615182855303336355508050" + "848493454272763408046723392787911772643228335232454643531531" + "293780965109596419787343039866200370966335396293292123951626" + "300857251255826009366852778238834928201530835930494150511044" + "504376202119146906060707879263589773640814116355442997229287" + "357516926438797713012400395859990977672075958299501751914411" + "100177832983979385545468844204615525381872441047228160242136" + "358061399074918180830294797604541788443627116266477614874946" + "320275381479719120639248096909691038772952730586273980670234" + "908845582838047130660362863656303741468826570210809843051529" + "764599710715968724783049668698031537609151121922737670838986" + "231019063313451704083543258772693191077504478032977705196457" + "476311963940423579766592267743333240240281703765714192664650" + "261238842108525475632373727317877433107392470771157555519315" + "342195712606219652095292061187111486142303268742526232324327" + "684859549513380259143780498498605389236533490064713713719758" + "516195482395683839110874815487709856719069581339439277999588" + "764225441374023269294088723635153369117449251488451426500682" + "275202613643546970029162894292728684327495978132931525041736" + "043811533010451689459744960487595414710801005191019738886041" + "700330759577486347718291152510955454288346024086767479447085" + "488381542403918701406924613770471036657700557631167438407981" + "043720651128279219456250303615102891006541837056511748806222" + "607397585491924343994174101644720628454377782608040907575602" + "819446556281207664542228467047573092234645450583055317437795" + "082417803470814703744887189896369902337382121741956042345935" + "884612723253142155282654595436238643127962691764272518180275" + "427113459785623180566612952410150958294158542188856129683947" + "423205647411293537917743492822755414940264289391349206278124" + "637261117530546227171193101163560203913770166957306596094587" + "157942068344009717983136831735215720221516068205887802515300" + "718418531986345165208737593665100455983750248380809061307398" + "226468562035199351945434457763525745232868372698882470547439" + "739824719081288307173474326042654012348179128378292897284246" + "659521026941421904090179393555387209037739400593259788708135" + "948191584917854112818292327284321851309301216774469081860366" + "386269172727256532505770337882755328485250206768602685033962" + "440104608681703661836684224002452204206988870853482747123520" + "399893225930911094236785628778409716642043743011838124733934" + "741815690236928243119773507801659161306391826034349899269700" + "203318655841365557670338920830120355215775570185205187792786" + "469651542036921770351060275981525257479972870679584955838287" + "739201639690056010173674146269075399160226397421213763250898" + "426455931554089138319236160118935041431135881698097569756856" + "151568097183010770415265728455292024186273012588882570230103" + "556461575961588201073376434110983444957690798240626580348411" + "130361597129760906527151728611183983964634381536446177639427" + "357139121931555391533530062229519657764088420152465761406574" + "372912175446065297507599001278602166241607775723548756255038" + "111682400601444043817825327317473443616363811953229538335113" + "554317081159605178503636684677328593784523197442447541897051" + "765917979806997287688948887762730988732373759081487505045731" + "780962516371322797322900290800349173908511597189960698673840" + "575246343618674510782103231548069351600625138878990205386323" + "507195789572212187626259883382335229004257648823812072407226" + "748034842563719900314776037846324304340753439522188214488731" + "587587602590773979229757579537350642919246847017003831205050" + "091766570758342092730379087533240780509450566515975521049526" + "648559418724492221615428321368803239393940142649951760927512" + "806206735517233312085779604538769249237553405647014530167135" + "901660283246967512310859858842402221675933473345262633030379" + "166095265903616282750945146877129795473716570192167683486699" + "408449626849151059958071445815502674667686079002889972264588" + "367943596990204644237310847295151549276191188484721182593011" + "565492753911808835025595944507675739829889338066224835821007" + "529770219118651961451528039534172317720138386282712972164963" + "827453131476237777875456011939712318010731021660815714182837" + "925932827450846737171705703110453775045022844794161968407337" + "563051732200611864029092524160237625633441437649560291126545" + "016588941837216171906367061961021463277454274115736642674786" + "105481144944900497013266814660732350276014695758646527598109" + "032833625638118745064603049207169451605471244451396126962333" + "970541136633781764326931671721743247881200204989497992526041" + "155365138538482621423139201284142593682794438326622711523602" + "971739306465982105646744687059782875743393602442251153756186" + "461986559595562807034378047263446391660844015155450279012841" + "727725949243700569657645371738730960512993952666118149699429" + "724469371043743658144365355534376381724696183448618129498545" + "588498126642153343817727180931089703595826077621825309785860" + "116064312065392702465283402514616635687773126656643723142906" + "109980782511327255186935290824107395569585435485254537079360" + "983816712735775257900749095553608138810346173507117456763692" + "906082417237501003549701061495719771391990992463590650334801" + "645095247553097892124265649870131353053399169286761988682620" + "470646847607094337816357723540686126275511490960625562837565" + "919605037066143014810721631063572936011202157129109627803207" + "640109222537327017395057537779256687211376808594099192965582" + "405091408501397086139901514101043283540633726674670672748194" + "619689888247209511150521033993300250522733475002028567363467" + "073845839015993349422685149993533692203655168716914058257415" + "372687245380085836076489297520175702786263261513025607546854" + "950283936784192621287273192504283869131975766338274647178208" + "782898885797819248359574788902108145946062770527573586861872" + "495878334836229510687555644377062686459197208988121546514107" + "351664693015899656974767580671946360204523032504979490489473" + "998831272757332097131048832648621306183984383000314587327943" + "545412181791826921829490138783015643214814238159286457522911" + "947902913005066356488917209306734144416494273688587275398401" + "286574342126647086142528388913463688579029323572701778860616" + "756001247718669706999421391299855093107861718979077137670254" + "905536174520523241903142304436697137859439295209346404644166" + "711761390620349487220914939651897120727926388356660677435323" + "625547360337786161394223954389389446058117065808804208366140" + "493746570665942463930129662196390627893075445929601748606307" + "958202499548533889369957428980652942467339381021757760595290" + "949128312317978915463905710577496069993499968101815574926186" + "401282157448075874663202214386004125214284669164849080925085" + "632705713354056861779162529531435753356419230493015573530175" + "745753158006266269396677249772833504763786905446024002326226" + "226069844394696456469125944170649061117616430569366951576780" + "483646052120595473175258384884652515381193454199796277521596" + "118034639745612232913342101656040627715925878170617283456986" + "294695300779325415218701022797603844998079798772855904101844" + "159056459473830831057901459789318201715161520805009031848353" + "610624913191857631694425153709234711986743373504616972518110" + "450759092883471366918423063408319079172524391364120625639910" + "155096611756479555514942001115285844108427141128936609315872" + "225475276163714476269074772631389944912199514256566104319316" + "535301067761376038330783936236162562837145634440924550708191" + "351823725714116423996666078590397007518182680822944073177874" + "683075104542728594593616393199792939970840185174070552702371" + "149226248947684643596987248070222838650635701794832911455548" + "416476010590671785568478803908159171377885280203284960130816" + "983201742060839934771342421843454177186844218984341762861833" + "060742973973373943786358180400348221408237056796733053044602" + "089777338572687291218981332309441509314343755039755626278001" + "120894173142009875431996141953256786162959026732040321760766" + "077412537410119538995389503534794017014809781095208373679856" + "442042162260799339089445093204725740343390866588412460138417" + "501238761743046793481866577712245948787747925774763517269168" + "847157476528582009607513335386955498721639880002645320755792" + "353596613175635835219887570538276316368083058805697467162836" + "871941182759159280604470776465814562568399855787289458370511" + "793625714499473481591205825277202103208168243709328052666519" + "272886980095474801425048104284542615114354447437288761756279" + "140986696480631960828081981684694205881738194312976203450759" + "136706518534321691775141481118864597950894299696438325543299" + "924611997129572629620239692190328901749029359531264503669714" + "158114998878449928856058461379341535853736467787249622489209" + "894085669234235875562651930455794644700403318601460214744959" + "935131707975830444487717413652148725681162526346741000762421" + "585614539233955268956569057729313306012485365449757557150957" + "640806964619664675750524929612637282053923409056469169580654" + "471576602558825858190234231148096941222146685242184265048449" + "406389486589142456399275122623031705959241319130847014622636" + "645823353665797337606714079377636941219178980122532025507944" + "459270900569885809871610702518898642834740727905326660004452" + "107998798987953695756013107010006005067353768387113818238790" + "459083753925242598532663195545585725881875618806369749234255" + "004527740012548007992790884685089828390575653282976295050988" + "699167592521318840991153224206861088947832645151398111502099" + "263039571552035003937270274110791173694789370953847120036374" + "066930411684565325903810218050483711078964535952030992938126" + "627146374050250745688288225578806971071577080233831770451079" + "327939857616370951232609530602233034699771768811872663462865" + "067598423791655120150068450411848330556029574474625795186054" + "539082653162229058836483798003442805597137006557342037027090" + "559214142005150246501679352515095014024360613766491035976911" + "451279229342670800644034673267957451959484813619478148869699" + "426735577550966697718734964429182302662498553172686513178236" + "442838009305515598853210612191656717860412811108032276121357" + "378133448066756387125735225403303267524644423863799006207505" + "881985449471137991554931339017930009178349349682295047976692" + "398330506490102685887034086355679994831062253659247250963448" + "491064073545964404715491846754314002476460544975667945044647" + "304892282461711772387638463741293238063530671434535471056841" + "014058743507762050128559983705197885505633530557061512971186" + "030938750397081284373471871281592504026318288871453343113735" + "525572236896283639085600117688951315352941610550446421752261" + "874153423243206777630669111814199801498554161044899315294894" + "586598335471728905486124973447798086405950962299377052511061" + "631386583082347892746250089584421636436549943844913465914533" + "379999403401028225456633159501820584108048772899363279816807" + "047692120594176896502188717868181049930125303933597827970762" + "729528769725648996117995894684784043190210530661859483107853" + "462208964199390089675673427653193145026697275263799724815197" + "42277811246822238899767398834228515625e-4951", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + true, + -0x4p-16448L, + -0x4p-16448L, + -0x4p-16448L, + -0x4p-16448L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + true, + -0x4p-16448L, + -0x4p-16448L, + -0x4p-16448L, + -0x4p-16448L), + TEST ("-1.822599765941237301264202966809709908199525407846781671860" + "490243514185844316698868404780354312913602598623673673601765" + "550983492816311016084986754037794904502741911290588965839284" + "612631902816779878310781282991705364470159896776763634295620" + "399977086405507759269191523027384357711224647652929859134107" + "131311033766177730422034039629876869844113169485951406677332" + "105978646906000108381336146016138716819515422802764897759427" + "649606127660585581743814569231465017756926375080156642289293" + "673283429041674526561852596994351991654293919973161250734301" + "229733188293435228211817355121198597329430178784033567238991" + "382109868146408875647780268422880633923323954258731625461868" + "019756361390707976683048199722201701058526744224010988881802" + "218954343811624517058454647275266141777302127508235524255495" + "077624847410188087536387260798962414632082336414689612417189" + "261074423762230826670226570449267469450539999733042497896470" + "433541112583949046313166142066816768615182855303336355508050" + "848493454272763408046723392787911772643228335232454643531531" + "293780965109596419787343039866200370966335396293292123951626" + "300857251255826009366852778238834928201530835930494150511044" + "504376202119146906060707879263589773640814116355442997229287" + "357516926438797713012400395859990977672075958299501751914411" + "100177832983979385545468844204615525381872441047228160242136" + "358061399074918180830294797604541788443627116266477614874946" + "320275381479719120639248096909691038772952730586273980670234" + "908845582838047130660362863656303741468826570210809843051529" + "764599710715968724783049668698031537609151121922737670838986" + "231019063313451704083543258772693191077504478032977705196457" + "476311963940423579766592267743333240240281703765714192664650" + "261238842108525475632373727317877433107392470771157555519315" + "342195712606219652095292061187111486142303268742526232324327" + "684859549513380259143780498498605389236533490064713713719758" + "516195482395683839110874815487709856719069581339439277999588" + "764225441374023269294088723635153369117449251488451426500682" + "275202613643546970029162894292728684327495978132931525041736" + "043811533010451689459744960487595414710801005191019738886041" + "700330759577486347718291152510955454288346024086767479447085" + "488381542403918701406924613770471036657700557631167438407981" + "043720651128279219456250303615102891006541837056511748806222" + "607397585491924343994174101644720628454377782608040907575602" + "819446556281207664542228467047573092234645450583055317437795" + "082417803470814703744887189896369902337382121741956042345935" + "884612723253142155282654595436238643127962691764272518180275" + "427113459785623180566612952410150958294158542188856129683947" + "423205647411293537917743492822755414940264289391349206278124" + "637261117530546227171193101163560203913770166957306596094587" + "157942068344009717983136831735215720221516068205887802515300" + "718418531986345165208737593665100455983750248380809061307398" + "226468562035199351945434457763525745232868372698882470547439" + "739824719081288307173474326042654012348179128378292897284246" + "659521026941421904090179393555387209037739400593259788708135" + "948191584917854112818292327284321851309301216774469081860366" + "386269172727256532505770337882755328485250206768602685033962" + "440104608681703661836684224002452204206988870853482747123520" + "399893225930911094236785628778409716642043743011838124733934" + "741815690236928243119773507801659161306391826034349899269700" + "203318655841365557670338920830120355215775570185205187792786" + "469651542036921770351060275981525257479972870679584955838287" + "739201639690056010173674146269075399160226397421213763250898" + "426455931554089138319236160118935041431135881698097569756856" + "151568097183010770415265728455292024186273012588882570230103" + "556461575961588201073376434110983444957690798240626580348411" + "130361597129760906527151728611183983964634381536446177639427" + "357139121931555391533530062229519657764088420152465761406574" + "372912175446065297507599001278602166241607775723548756255038" + "111682400601444043817825327317473443616363811953229538335113" + "554317081159605178503636684677328593784523197442447541897051" + "765917979806997287688948887762730988732373759081487505045731" + "780962516371322797322900290800349173908511597189960698673840" + "575246343618674510782103231548069351600625138878990205386323" + "507195789572212187626259883382335229004257648823812072407226" + "748034842563719900314776037846324304340753439522188214488731" + "587587602590773979229757579537350642919246847017003831205050" + "091766570758342092730379087533240780509450566515975521049526" + "648559418724492221615428321368803239393940142649951760927512" + "806206735517233312085779604538769249237553405647014530167135" + "901660283246967512310859858842402221675933473345262633030379" + "166095265903616282750945146877129795473716570192167683486699" + "408449626849151059958071445815502674667686079002889972264588" + "367943596990204644237310847295151549276191188484721182593011" + "565492753911808835025595944507675739829889338066224835821007" + "529770219118651961451528039534172317720138386282712972164963" + "827453131476237777875456011939712318010731021660815714182837" + "925932827450846737171705703110453775045022844794161968407337" + "563051732200611864029092524160237625633441437649560291126545" + "016588941837216171906367061961021463277454274115736642674786" + "105481144944900497013266814660732350276014695758646527598109" + "032833625638118745064603049207169451605471244451396126962333" + "970541136633781764326931671721743247881200204989497992526041" + "155365138538482621423139201284142593682794438326622711523602" + "971739306465982105646744687059782875743393602442251153756186" + "461986559595562807034378047263446391660844015155450279012841" + "727725949243700569657645371738730960512993952666118149699429" + "724469371043743658144365355534376381724696183448618129498545" + "588498126642153343817727180931089703595826077621825309785860" + "116064312065392702465283402514616635687773126656643723142906" + "109980782511327255186935290824107395569585435485254537079360" + "983816712735775257900749095553608138810346173507117456763692" + "906082417237501003549701061495719771391990992463590650334801" + "645095247553097892124265649870131353053399169286761988682620" + "470646847607094337816357723540686126275511490960625562837565" + "919605037066143014810721631063572936011202157129109627803207" + "640109222537327017395057537779256687211376808594099192965582" + "405091408501397086139901514101043283540633726674670672748194" + "619689888247209511150521033993300250522733475002028567363467" + "073845839015993349422685149993533692203655168716914058257415" + "372687245380085836076489297520175702786263261513025607546854" + "950283936784192621287273192504283869131975766338274647178208" + "782898885797819248359574788902108145946062770527573586861872" + "495878334836229510687555644377062686459197208988121546514107" + "351664693015899656974767580671946360204523032504979490489473" + "998831272757332097131048832648621306183984383000314587327943" + "545412181791826921829490138783015643214814238159286457522911" + "947902913005066356488917209306734144416494273688587275398401" + "286574342126647086142528388913463688579029323572701778860616" + "756001247718669706999421391299855093107861718979077137670254" + "905536174520523241903142304436697137859439295209346404644166" + "711761390620349487220914939651897120727926388356660677435323" + "625547360337786161394223954389389446058117065808804208366140" + "493746570665942463930129662196390627893075445929601748606307" + "958202499548533889369957428980652942467339381021757760595290" + "949128312317978915463905710577496069993499968101815574926186" + "401282157448075874663202214386004125214284669164849080925085" + "632705713354056861779162529531435753356419230493015573530175" + "745753158006266269396677249772833504763786905446024002326226" + "226069844394696456469125944170649061117616430569366951576780" + "483646052120595473175258384884652515381193454199796277521596" + "118034639745612232913342101656040627715925878170617283456986" + "294695300779325415218701022797603844998079798772855904101844" + "159056459473830831057901459789318201715161520805009031848353" + "610624913191857631694425153709234711986743373504616972518110" + "450759092883471366918423063408319079172524391364120625639910" + "155096611756479555514942001115285844108427141128936609315872" + "225475276163714476269074772631389944912199514256566104319316" + "535301067761376038330783936236162562837145634440924550708191" + "351823725714116423996666078590397007518182680822944073177874" + "683075104542728594593616393199792939970840185174070552702371" + "149226248947684643596987248070222838650635701794832911455548" + "416476010590671785568478803908159171377885280203284960130816" + "983201742060839934771342421843454177186844218984341762861833" + "060742973973373943786358180400348221408237056796733053044602" + "089777338572687291218981332309441509314343755039755626278001" + "120894173142009875431996141953256786162959026732040321760766" + "077412537410119538995389503534794017014809781095208373679856" + "442042162260799339089445093204725740343390866588412460138417" + "501238761743046793481866577712245948787747925774763517269168" + "847157476528582009607513335386955498721639880002645320755792" + "353596613175635835219887570538276316368083058805697467162836" + "871941182759159280604470776465814562568399855787289458370511" + "793625714499473481591205825277202103208168243709328052666519" + "272886980095474801425048104284542615114354447437288761756279" + "140986696480631960828081981684694205881738194312976203450759" + "136706518534321691775141481118864597950894299696438325543299" + "924611997129572629620239692190328901749029359531264503669714" + "158114998878449928856058461379341535853736467787249622489209" + "894085669234235875562651930455794644700403318601460214744959" + "935131707975830444487717413652148725681162526346741000762421" + "585614539233955268956569057729313306012485365449757557150957" + "640806964619664675750524929612637282053923409056469169580654" + "471576602558825858190234231148096941222146685242184265048449" + "406389486589142456399275122623031705959241319130847014622636" + "645823353665797337606714079377636941219178980122532025507944" + "459270900569885809871610702518898642834740727905326660004452" + "107998798987953695756013107010006005067353768387113818238790" + "459083753925242598532663195545585725881875618806369749234255" + "004527740012548007992790884685089828390575653282976295050988" + "699167592521318840991153224206861088947832645151398111502099" + "263039571552035003937270274110791173694789370953847120036374" + "066930411684565325903810218050483711078964535952030992938126" + "627146374050250745688288225578806971071577080233831770451079" + "327939857616370951232609530602233034699771768811872663462865" + "067598423791655120150068450411848330556029574474625795186054" + "539082653162229058836483798003442805597137006557342037027090" + "559214142005150246501679352515095014024360613766491035976911" + "451279229342670800644034673267957451959484813619478148869699" + "426735577550966697718734964429182302662498553172686513178236" + "442838009305515598853210612191656717860412811108032276121357" + "378133448066756387125735225403303267524644423863799006207505" + "881985449471137991554931339017930009178349349682295047976692" + "398330506490102685887034086355679994831062253659247250963448" + "491064073545964404715491846754314002476460544975667945044647" + "304892282461711772387638463741293238063530671434535471056841" + "014058743507762050128559983705197885505633530557061512971186" + "030938750397081284373471871281592504026318288871453343113735" + "525572236896283639085600117688951315352941610550446421752261" + "874153423243206777630669111814199801498554161044899315294894" + "586598335471728905486124973447798086405950962299377052511061" + "631386583082347892746250089584421636436549943844913465914533" + "379999403401028225456633159501820584108048772899363279816807" + "047692120594176896502188717868181049930125303933597827970762" + "729528769725648996117995894684784043190210530661859483107853" + "462208964199390089675673427653193145026697275263799724815197" + "42277811246822238899767398834228515626e-4951", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x4p-16448L, + -0x4p-16448L, + -0x4p-16448L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4.000000000004p-16448L, + -0x4p-16448L, + -0x4p-16448L, + -0x4p-16448L), + TEST ("9.1129988297061865063210148340485495409976270392339083593024" + "512175709292215834943420239017715645680129931183683680088277" + "549174640815550804249337701889745225137095564529448291964230" + "631595140838993915539064149585268223507994838838181714781019" + "998854320275387963459576151369217885561232382646492956705356" + "565551688308886521101701981493843492205658474297570333866605" + "298932345300005419066807300806935840975771140138244887971382" + "480306383029279087190728461573250887846318754007832114464683" + "664171452083726328092629849717599582714695998658062536715061" + "486659414671761410590867756059929866471508939201678361949569" + "105493407320443782389013421144031696166197712936581273093400" + "987818069535398834152409986110085052926337211200549444090110" + "947717190581225852922732363763307088865106375411776212774753" + "881242370509404376819363039948120731604116820734480620859463" + "053721188111541333511328522463373472526999986652124894823521" + "677055629197452315658307103340838430759142765166817775402542" + "424672713638170402336169639395588632161416761622732176576564" + "689048255479820989367151993310018548316769814664606197581315" + "042862562791300468342638911941746410076541796524707525552225" + "218810105957345303035393963179488682040705817772149861464367" + "875846321939885650620019792999548883603797914975087595720555" + "008891649198969277273442210230776269093622052361408012106817" + "903069953745909041514739880227089422181355813323880743747316" + "013769073985956031962404845484551938647636529313699033511745" + "442279141902356533018143182815187073441328510540492152576488" + "229985535798436239152483434901576880457556096136883541949311" + "550953165672585204177162938634659553875223901648885259822873" + "815598197021178988329613387166662012014085188285709633232513" + "061942105426273781618686365893871655369623538557877775965767" + "109785630310982604764603059355574307115163437126311616216384" + "242977475669012957189024924930269461826674503235685685987925" + "809774119784191955543740774385492835953479066971963899979438" + "211272068701163464704436181757668455872462574422571325034113" + "760130682177348501458144714636434216374798906646576252086802" + "190576650522584472987248024379770735540050259550986944302085" + "016537978874317385914557625547772714417301204338373972354274" + "419077120195935070346230688523551832885027881558371920399052" + "186032556413960972812515180755144550327091852825587440311130" + "369879274596217199708705082236031422718889130402045378780140" + "972327814060383227111423352378654611732272529152765871889754" + "120890173540735187244359494818495116869106087097802117296794" + "230636162657107764132729771811932156398134588213625909013771" + "355672989281159028330647620507547914707927109442806484197371" + "160282370564676895887174641137770747013214469567460313906231" + "863055876527311358559655058178010195688508347865329804729357" + "897103417200485899156841586760786011075803410294390125765035" + "920926599317258260436879683255022799187512419040453065369911" + "323428101759967597271722888176287261643418634944123527371986" + "991235954064415358673716302132700617408956418914644864212332" + "976051347071095204508969677769360451886970029662989435406797" + "409579245892705640914616364216092565465060838723454093018319" + "313458636362826625288516894137766424262510338430134251698122" + "005230434085183091834211200122610210349443542674137356176019" + "994661296545554711839281438920485832102187150591906236696737" + "090784511846412155988675390082958065319591301717494963485010" + "165932792068277883516946041506017760788778509260259389639323" + "482577101846088517553013799076262873998643533979247791914386" + "960081984502800508683707313453769958011319871060688162544921" + "322796577704456915961808005946752071556794084904878487842807" + "578404859150538520763286422764601209313650629444128511505177" + "823078798079410053668821705549172247884539912031329017420556" + "518079856488045326357586430559199198231719076822308881971367" + "856956096577769576676503111475982888204421007623288070328718" + "645608772303264875379950063930108312080388786177437812751905" + "584120030072202190891266365873672180818190597661476916755677" + "715854057980258925181834233866429689226159872122377094852588" + "295898990349864384447444388136549436618687954074375252286589" + "048125818566139866145014540017458695425579859498034933692028" + "762317180933725539105161577403467580031256943949510269316175" + "359789478610609381312994169116761450212882441190603620361337" + "401742128185995015738801892316215217037671976109410724436579" + "379380129538698961487878976867532145962342350850191560252504" + "588328537917104636518954376662039025472528325798776052476332" + "427970936224611080771416068440161969697007132497588046375640" + "310336775861665604288980226938462461877670282350726508356795" + "083014162348375615542992942120111083796673667263131651518958" + "304763295180814137547257343856489773685828509608384174334970" + "422481342457552997903572290775133733384303950144498613229418" + "397179849510232211865542364757577463809559424236059129650578" + "274637695590441751279797225383786991494466903311241791050376" + "488510955932598072576401976708615886006919314135648608248191" + "372656573811888893772800596985615900536551083040785709141896" + "296641372542336858585285155522688752251142239708098420366878" + "152586610030593201454626208011881281672071882478014556327250" + "829447091860808595318353098051073163872713705786832133739305" + "274057247245024850663340733036617513800734787932326379905451" + "641681281905937253230152460358472580273562222569806348116698" + "527056831689088216346583586087162394060010249474899626302057" + "768256926924131071156960064207129684139721916331135576180148" + "586965323299105282337234352989143787169680122112557687809323" + "099327979778140351718902363172319583042200757772513950642086" + "386297462185028482882268586936548025649697633305907484971486" + "223468552187182907218267776718819086234809172430906474927279" + "424906332107667190886359046554485179791303881091265489293005" + "803215603269635123264170125730831784388656332832186157145305" + "499039125566362759346764541205369778479271774262726853968049" + "190835636788762895037454777680406940517308675355872838184645" + "304120861875050177485053074785988569599549623179532516740082" + "254762377654894606213282493506567652669958464338099434131023" + "532342380354716890817886177034306313775574548031278141878295" + "980251853307150740536081553178646800560107856455481390160382" + "005461126866350869752876888962834360568840429704959648279120" + "254570425069854306995075705052164177031686333733533637409730" + "984494412360475557526051699665012526136673750101428368173353" + "692291950799667471134257499676684610182758435845702912870768" + "634362269004291803824464876008785139313163075651280377342747" + "514196839209631064363659625214193456598788316913732358910439" + "144944289890962417978739445105407297303138526378679343093624" + "793916741811475534377782218853134322959860449406077325705367" + "583234650794982848738379033597318010226151625248974524473699" + "941563637866604856552441632431065309199219150015729366397177" + "270609089591346091474506939150782160740711907964322876145597" + "395145650253317824445860465336707220824713684429363769920064" + "328717106332354307126419445673184428951466178635088943030837" + "800062385933485349971069564992754655393085948953856883512745" + "276808726026162095157115221834856892971964760467320232208335" + "588069531017474361045746982594856036396319417833033871766181" + "277368016889308069711197719469472302905853290440210418307024" + "687328533297123196506483109819531394653772296480087430315397" + "910124977426694468497871449032647123366969051087888029764547" + "456415615898945773195285528874803499674998405090778746309320" + "064107872403793733160110719300206260714233458242454046254281" + "635285667702843088958126476571787667820961524650778676508787" + "287657900313313469833862488641675238189345272301200116311311" + "303492219734822823456297208532453055880821528468347578839024" + "182302606029773658762919244232625769059672709989813876079805" + "901731987280611645667105082802031385796293908530864172849314" + "734765038966270760935051139880192249903989938642795205092207" + "952822973691541552895072989465910085758076040250451592417680" + "531245659592881584721257685461735599337168675230848625905522" + "537954644173568345921153170415953958626219568206031281995507" + "754830587823977775747100055764292205421357056446830465793611" + "273763808185723813453738631569497245609975712828305215965826" + "765053388068801916539196811808128141857281722046227535409567" + "591186285705821199833303929519850375909134041147203658893734" + "153755227136429729680819659989646998542009258703527635118557" + "461312447384232179849362403511141932531785089741645572777420" + "823800529533589278423940195407958568894264010164248006540849" + "160087103041996738567121092172708859342210949217088143091653" + "037148698668697189317909020017411070411852839836652652230104" + "488866928634364560949066615472075465717187751987781313900056" + "044708657100493771599807097662839308147951336602016088038303" + "870626870505976949769475176739700850740489054760418683992822" + "102108113039966954472254660236287017169543329420623006920875" + "061938087152339674093328885612297439387396288738175863458442" + "357873826429100480375666769347774936081994000132266037789617" + "679830658781791760994378526913815818404152940284873358141843" + "597059137957964030223538823290728128419992789364472918525589" + "681285724973674079560291263860105160408412185466402633325963" + "644349004773740071252405214227130755717722371864438087813957" + "049334824031598041404099084234710294086909715648810172537956" + "835325926716084588757074055943229897544714984821916277164996" + "230599856478631481011984609516445087451467976563225183485707" + "905749943922496442802923068967076792686823389362481124460494" + "704283461711793778132596522789732235020165930073010737247996" + "756585398791522224385870682607436284058126317337050038121079" + "280726961697763447828452886465665300624268272487877857547882" + "040348230983233787526246480631864102696170452823458479032723" + "578830127941292909511711557404847061107334262109213252422470" + "319474329457122819963756131151585297962065956542350731131832" + "291167683289866880335703968881847060958949006126601275397222" + "963545028494290493580535125944932141737036395266333000222605" + "399939949397684787800655350500300253367688419355690911939522" + "954187696262129926633159777279286294093780940318487461712750" + "226387000627400399639544234254491419528782664148814752549434" + "958379626065942049557661210343054447391632257569905575104963" + "151978577601750196863513705539558684739468547692356001818703" + "346520584228266295190510902524185553948226797601549646906331" + "357318702512537284414411278940348553578854011691588522553966" + "396992880818547561630476530111651734988588440593633173143253" + "379921189582756007503422520592416527801478723731289759302726" + "954132658111452941824189900172140279856850327867101851354527" + "960707100257512325083967625754750701218030688324551798845572" + "563961467133540032201733663397872597974240680973907443484971" + "336778877548334885936748221459115133124927658634325658911822" + "141900465275779942660530609582835893020640555401613806067868" + "906672403337819356286761270165163376232221193189950310375294" + "099272473556899577746566950896500458917467484114752398834619" + "916525324505134294351704317783999741553112682962362548172424" + "553203677298220235774592337715700123823027248783397252232365" + "244614123085588619381923187064661903176533571726773552842050" + "702937175388102506427999185259894275281676527853075648559301" + "546937519854064218673593564079625201315914443572667155686776" + "278611844814181954280005884447565767647080527522321087613093" + "707671162160338881533455590709990074927708052244965764744729" + "329916773586445274306248672389904320297548114968852625553081" + "569329154117394637312504479221081821827497192245673295726668" + "999970170051411272831657975091029205402438644968163990840352" + "384606029708844825109435893409052496506265196679891398538136" + "476438486282449805899794734239202159510526533092974155392673" + "110448209969504483783671382659657251334863763189986240759871" + "1389056234111194498836994171142578124e-4952", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x1.fffffffffffcp-16448L, + 0x2p-16448L, + 0x1.fffffffffffcp-16448L, + 0x2p-16448L), + TEST ("9.1129988297061865063210148340485495409976270392339083593024" + "512175709292215834943420239017715645680129931183683680088277" + "549174640815550804249337701889745225137095564529448291964230" + "631595140838993915539064149585268223507994838838181714781019" + "998854320275387963459576151369217885561232382646492956705356" + "565551688308886521101701981493843492205658474297570333866605" + "298932345300005419066807300806935840975771140138244887971382" + "480306383029279087190728461573250887846318754007832114464683" + "664171452083726328092629849717599582714695998658062536715061" + "486659414671761410590867756059929866471508939201678361949569" + "105493407320443782389013421144031696166197712936581273093400" + "987818069535398834152409986110085052926337211200549444090110" + "947717190581225852922732363763307088865106375411776212774753" + "881242370509404376819363039948120731604116820734480620859463" + "053721188111541333511328522463373472526999986652124894823521" + "677055629197452315658307103340838430759142765166817775402542" + "424672713638170402336169639395588632161416761622732176576564" + "689048255479820989367151993310018548316769814664606197581315" + "042862562791300468342638911941746410076541796524707525552225" + "218810105957345303035393963179488682040705817772149861464367" + "875846321939885650620019792999548883603797914975087595720555" + "008891649198969277273442210230776269093622052361408012106817" + "903069953745909041514739880227089422181355813323880743747316" + "013769073985956031962404845484551938647636529313699033511745" + "442279141902356533018143182815187073441328510540492152576488" + "229985535798436239152483434901576880457556096136883541949311" + "550953165672585204177162938634659553875223901648885259822873" + "815598197021178988329613387166662012014085188285709633232513" + "061942105426273781618686365893871655369623538557877775965767" + "109785630310982604764603059355574307115163437126311616216384" + "242977475669012957189024924930269461826674503235685685987925" + "809774119784191955543740774385492835953479066971963899979438" + "211272068701163464704436181757668455872462574422571325034113" + "760130682177348501458144714636434216374798906646576252086802" + "190576650522584472987248024379770735540050259550986944302085" + "016537978874317385914557625547772714417301204338373972354274" + "419077120195935070346230688523551832885027881558371920399052" + "186032556413960972812515180755144550327091852825587440311130" + "369879274596217199708705082236031422718889130402045378780140" + "972327814060383227111423352378654611732272529152765871889754" + "120890173540735187244359494818495116869106087097802117296794" + "230636162657107764132729771811932156398134588213625909013771" + "355672989281159028330647620507547914707927109442806484197371" + "160282370564676895887174641137770747013214469567460313906231" + "863055876527311358559655058178010195688508347865329804729357" + "897103417200485899156841586760786011075803410294390125765035" + "920926599317258260436879683255022799187512419040453065369911" + "323428101759967597271722888176287261643418634944123527371986" + "991235954064415358673716302132700617408956418914644864212332" + "976051347071095204508969677769360451886970029662989435406797" + "409579245892705640914616364216092565465060838723454093018319" + "313458636362826625288516894137766424262510338430134251698122" + "005230434085183091834211200122610210349443542674137356176019" + "994661296545554711839281438920485832102187150591906236696737" + "090784511846412155988675390082958065319591301717494963485010" + "165932792068277883516946041506017760788778509260259389639323" + "482577101846088517553013799076262873998643533979247791914386" + "960081984502800508683707313453769958011319871060688162544921" + "322796577704456915961808005946752071556794084904878487842807" + "578404859150538520763286422764601209313650629444128511505177" + "823078798079410053668821705549172247884539912031329017420556" + "518079856488045326357586430559199198231719076822308881971367" + "856956096577769576676503111475982888204421007623288070328718" + "645608772303264875379950063930108312080388786177437812751905" + "584120030072202190891266365873672180818190597661476916755677" + "715854057980258925181834233866429689226159872122377094852588" + "295898990349864384447444388136549436618687954074375252286589" + "048125818566139866145014540017458695425579859498034933692028" + "762317180933725539105161577403467580031256943949510269316175" + "359789478610609381312994169116761450212882441190603620361337" + "401742128185995015738801892316215217037671976109410724436579" + "379380129538698961487878976867532145962342350850191560252504" + "588328537917104636518954376662039025472528325798776052476332" + "427970936224611080771416068440161969697007132497588046375640" + "310336775861665604288980226938462461877670282350726508356795" + "083014162348375615542992942120111083796673667263131651518958" + "304763295180814137547257343856489773685828509608384174334970" + "422481342457552997903572290775133733384303950144498613229418" + "397179849510232211865542364757577463809559424236059129650578" + "274637695590441751279797225383786991494466903311241791050376" + "488510955932598072576401976708615886006919314135648608248191" + "372656573811888893772800596985615900536551083040785709141896" + "296641372542336858585285155522688752251142239708098420366878" + "152586610030593201454626208011881281672071882478014556327250" + "829447091860808595318353098051073163872713705786832133739305" + "274057247245024850663340733036617513800734787932326379905451" + "641681281905937253230152460358472580273562222569806348116698" + "527056831689088216346583586087162394060010249474899626302057" + "768256926924131071156960064207129684139721916331135576180148" + "586965323299105282337234352989143787169680122112557687809323" + "099327979778140351718902363172319583042200757772513950642086" + "386297462185028482882268586936548025649697633305907484971486" + "223468552187182907218267776718819086234809172430906474927279" + "424906332107667190886359046554485179791303881091265489293005" + "803215603269635123264170125730831784388656332832186157145305" + "499039125566362759346764541205369778479271774262726853968049" + "190835636788762895037454777680406940517308675355872838184645" + "304120861875050177485053074785988569599549623179532516740082" + "254762377654894606213282493506567652669958464338099434131023" + "532342380354716890817886177034306313775574548031278141878295" + "980251853307150740536081553178646800560107856455481390160382" + "005461126866350869752876888962834360568840429704959648279120" + "254570425069854306995075705052164177031686333733533637409730" + "984494412360475557526051699665012526136673750101428368173353" + "692291950799667471134257499676684610182758435845702912870768" + "634362269004291803824464876008785139313163075651280377342747" + "514196839209631064363659625214193456598788316913732358910439" + "144944289890962417978739445105407297303138526378679343093624" + "793916741811475534377782218853134322959860449406077325705367" + "583234650794982848738379033597318010226151625248974524473699" + "941563637866604856552441632431065309199219150015729366397177" + "270609089591346091474506939150782160740711907964322876145597" + "395145650253317824445860465336707220824713684429363769920064" + "328717106332354307126419445673184428951466178635088943030837" + "800062385933485349971069564992754655393085948953856883512745" + "276808726026162095157115221834856892971964760467320232208335" + "588069531017474361045746982594856036396319417833033871766181" + "277368016889308069711197719469472302905853290440210418307024" + "687328533297123196506483109819531394653772296480087430315397" + "910124977426694468497871449032647123366969051087888029764547" + "456415615898945773195285528874803499674998405090778746309320" + "064107872403793733160110719300206260714233458242454046254281" + "635285667702843088958126476571787667820961524650778676508787" + "287657900313313469833862488641675238189345272301200116311311" + "303492219734822823456297208532453055880821528468347578839024" + "182302606029773658762919244232625769059672709989813876079805" + "901731987280611645667105082802031385796293908530864172849314" + "734765038966270760935051139880192249903989938642795205092207" + "952822973691541552895072989465910085758076040250451592417680" + "531245659592881584721257685461735599337168675230848625905522" + "537954644173568345921153170415953958626219568206031281995507" + "754830587823977775747100055764292205421357056446830465793611" + "273763808185723813453738631569497245609975712828305215965826" + "765053388068801916539196811808128141857281722046227535409567" + "591186285705821199833303929519850375909134041147203658893734" + "153755227136429729680819659989646998542009258703527635118557" + "461312447384232179849362403511141932531785089741645572777420" + "823800529533589278423940195407958568894264010164248006540849" + "160087103041996738567121092172708859342210949217088143091653" + "037148698668697189317909020017411070411852839836652652230104" + "488866928634364560949066615472075465717187751987781313900056" + "044708657100493771599807097662839308147951336602016088038303" + "870626870505976949769475176739700850740489054760418683992822" + "102108113039966954472254660236287017169543329420623006920875" + "061938087152339674093328885612297439387396288738175863458442" + "357873826429100480375666769347774936081994000132266037789617" + "679830658781791760994378526913815818404152940284873358141843" + "597059137957964030223538823290728128419992789364472918525589" + "681285724973674079560291263860105160408412185466402633325963" + "644349004773740071252405214227130755717722371864438087813957" + "049334824031598041404099084234710294086909715648810172537956" + "835325926716084588757074055943229897544714984821916277164996" + "230599856478631481011984609516445087451467976563225183485707" + "905749943922496442802923068967076792686823389362481124460494" + "704283461711793778132596522789732235020165930073010737247996" + "756585398791522224385870682607436284058126317337050038121079" + "280726961697763447828452886465665300624268272487877857547882" + "040348230983233787526246480631864102696170452823458479032723" + "578830127941292909511711557404847061107334262109213252422470" + "319474329457122819963756131151585297962065956542350731131832" + "291167683289866880335703968881847060958949006126601275397222" + "963545028494290493580535125944932141737036395266333000222605" + "399939949397684787800655350500300253367688419355690911939522" + "954187696262129926633159777279286294093780940318487461712750" + "226387000627400399639544234254491419528782664148814752549434" + "958379626065942049557661210343054447391632257569905575104963" + "151978577601750196863513705539558684739468547692356001818703" + "346520584228266295190510902524185553948226797601549646906331" + "357318702512537284414411278940348553578854011691588522553966" + "396992880818547561630476530111651734988588440593633173143253" + "379921189582756007503422520592416527801478723731289759302726" + "954132658111452941824189900172140279856850327867101851354527" + "960707100257512325083967625754750701218030688324551798845572" + "563961467133540032201733663397872597974240680973907443484971" + "336778877548334885936748221459115133124927658634325658911822" + "141900465275779942660530609582835893020640555401613806067868" + "906672403337819356286761270165163376232221193189950310375294" + "099272473556899577746566950896500458917467484114752398834619" + "916525324505134294351704317783999741553112682962362548172424" + "553203677298220235774592337715700123823027248783397252232365" + "244614123085588619381923187064661903176533571726773552842050" + "702937175388102506427999185259894275281676527853075648559301" + "546937519854064218673593564079625201315914443572667155686776" + "278611844814181954280005884447565767647080527522321087613093" + "707671162160338881533455590709990074927708052244965764744729" + "329916773586445274306248672389904320297548114968852625553081" + "569329154117394637312504479221081821827497192245673295726668" + "999970170051411272831657975091029205402438644968163990840352" + "384606029708844825109435893409052496506265196679891398538136" + "476438486282449805899794734239202159510526533092974155392673" + "110448209969504483783671382659657251334863763189986240759871" + "1389056234111194498836994171142578125e-4952", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + true, + 0x2p-16448L, + 0x2p-16448L, + 0x2p-16448L, + 0x2p-16448L), + TEST ("9.1129988297061865063210148340485495409976270392339083593024" + "512175709292215834943420239017715645680129931183683680088277" + "549174640815550804249337701889745225137095564529448291964230" + "631595140838993915539064149585268223507994838838181714781019" + "998854320275387963459576151369217885561232382646492956705356" + "565551688308886521101701981493843492205658474297570333866605" + "298932345300005419066807300806935840975771140138244887971382" + "480306383029279087190728461573250887846318754007832114464683" + "664171452083726328092629849717599582714695998658062536715061" + "486659414671761410590867756059929866471508939201678361949569" + "105493407320443782389013421144031696166197712936581273093400" + "987818069535398834152409986110085052926337211200549444090110" + "947717190581225852922732363763307088865106375411776212774753" + "881242370509404376819363039948120731604116820734480620859463" + "053721188111541333511328522463373472526999986652124894823521" + "677055629197452315658307103340838430759142765166817775402542" + "424672713638170402336169639395588632161416761622732176576564" + "689048255479820989367151993310018548316769814664606197581315" + "042862562791300468342638911941746410076541796524707525552225" + "218810105957345303035393963179488682040705817772149861464367" + "875846321939885650620019792999548883603797914975087595720555" + "008891649198969277273442210230776269093622052361408012106817" + "903069953745909041514739880227089422181355813323880743747316" + "013769073985956031962404845484551938647636529313699033511745" + "442279141902356533018143182815187073441328510540492152576488" + "229985535798436239152483434901576880457556096136883541949311" + "550953165672585204177162938634659553875223901648885259822873" + "815598197021178988329613387166662012014085188285709633232513" + "061942105426273781618686365893871655369623538557877775965767" + "109785630310982604764603059355574307115163437126311616216384" + "242977475669012957189024924930269461826674503235685685987925" + "809774119784191955543740774385492835953479066971963899979438" + "211272068701163464704436181757668455872462574422571325034113" + "760130682177348501458144714636434216374798906646576252086802" + "190576650522584472987248024379770735540050259550986944302085" + "016537978874317385914557625547772714417301204338373972354274" + "419077120195935070346230688523551832885027881558371920399052" + "186032556413960972812515180755144550327091852825587440311130" + "369879274596217199708705082236031422718889130402045378780140" + "972327814060383227111423352378654611732272529152765871889754" + "120890173540735187244359494818495116869106087097802117296794" + "230636162657107764132729771811932156398134588213625909013771" + "355672989281159028330647620507547914707927109442806484197371" + "160282370564676895887174641137770747013214469567460313906231" + "863055876527311358559655058178010195688508347865329804729357" + "897103417200485899156841586760786011075803410294390125765035" + "920926599317258260436879683255022799187512419040453065369911" + "323428101759967597271722888176287261643418634944123527371986" + "991235954064415358673716302132700617408956418914644864212332" + "976051347071095204508969677769360451886970029662989435406797" + "409579245892705640914616364216092565465060838723454093018319" + "313458636362826625288516894137766424262510338430134251698122" + "005230434085183091834211200122610210349443542674137356176019" + "994661296545554711839281438920485832102187150591906236696737" + "090784511846412155988675390082958065319591301717494963485010" + "165932792068277883516946041506017760788778509260259389639323" + "482577101846088517553013799076262873998643533979247791914386" + "960081984502800508683707313453769958011319871060688162544921" + "322796577704456915961808005946752071556794084904878487842807" + "578404859150538520763286422764601209313650629444128511505177" + "823078798079410053668821705549172247884539912031329017420556" + "518079856488045326357586430559199198231719076822308881971367" + "856956096577769576676503111475982888204421007623288070328718" + "645608772303264875379950063930108312080388786177437812751905" + "584120030072202190891266365873672180818190597661476916755677" + "715854057980258925181834233866429689226159872122377094852588" + "295898990349864384447444388136549436618687954074375252286589" + "048125818566139866145014540017458695425579859498034933692028" + "762317180933725539105161577403467580031256943949510269316175" + "359789478610609381312994169116761450212882441190603620361337" + "401742128185995015738801892316215217037671976109410724436579" + "379380129538698961487878976867532145962342350850191560252504" + "588328537917104636518954376662039025472528325798776052476332" + "427970936224611080771416068440161969697007132497588046375640" + "310336775861665604288980226938462461877670282350726508356795" + "083014162348375615542992942120111083796673667263131651518958" + "304763295180814137547257343856489773685828509608384174334970" + "422481342457552997903572290775133733384303950144498613229418" + "397179849510232211865542364757577463809559424236059129650578" + "274637695590441751279797225383786991494466903311241791050376" + "488510955932598072576401976708615886006919314135648608248191" + "372656573811888893772800596985615900536551083040785709141896" + "296641372542336858585285155522688752251142239708098420366878" + "152586610030593201454626208011881281672071882478014556327250" + "829447091860808595318353098051073163872713705786832133739305" + "274057247245024850663340733036617513800734787932326379905451" + "641681281905937253230152460358472580273562222569806348116698" + "527056831689088216346583586087162394060010249474899626302057" + "768256926924131071156960064207129684139721916331135576180148" + "586965323299105282337234352989143787169680122112557687809323" + "099327979778140351718902363172319583042200757772513950642086" + "386297462185028482882268586936548025649697633305907484971486" + "223468552187182907218267776718819086234809172430906474927279" + "424906332107667190886359046554485179791303881091265489293005" + "803215603269635123264170125730831784388656332832186157145305" + "499039125566362759346764541205369778479271774262726853968049" + "190835636788762895037454777680406940517308675355872838184645" + "304120861875050177485053074785988569599549623179532516740082" + "254762377654894606213282493506567652669958464338099434131023" + "532342380354716890817886177034306313775574548031278141878295" + "980251853307150740536081553178646800560107856455481390160382" + "005461126866350869752876888962834360568840429704959648279120" + "254570425069854306995075705052164177031686333733533637409730" + "984494412360475557526051699665012526136673750101428368173353" + "692291950799667471134257499676684610182758435845702912870768" + "634362269004291803824464876008785139313163075651280377342747" + "514196839209631064363659625214193456598788316913732358910439" + "144944289890962417978739445105407297303138526378679343093624" + "793916741811475534377782218853134322959860449406077325705367" + "583234650794982848738379033597318010226151625248974524473699" + "941563637866604856552441632431065309199219150015729366397177" + "270609089591346091474506939150782160740711907964322876145597" + "395145650253317824445860465336707220824713684429363769920064" + "328717106332354307126419445673184428951466178635088943030837" + "800062385933485349971069564992754655393085948953856883512745" + "276808726026162095157115221834856892971964760467320232208335" + "588069531017474361045746982594856036396319417833033871766181" + "277368016889308069711197719469472302905853290440210418307024" + "687328533297123196506483109819531394653772296480087430315397" + "910124977426694468497871449032647123366969051087888029764547" + "456415615898945773195285528874803499674998405090778746309320" + "064107872403793733160110719300206260714233458242454046254281" + "635285667702843088958126476571787667820961524650778676508787" + "287657900313313469833862488641675238189345272301200116311311" + "303492219734822823456297208532453055880821528468347578839024" + "182302606029773658762919244232625769059672709989813876079805" + "901731987280611645667105082802031385796293908530864172849314" + "734765038966270760935051139880192249903989938642795205092207" + "952822973691541552895072989465910085758076040250451592417680" + "531245659592881584721257685461735599337168675230848625905522" + "537954644173568345921153170415953958626219568206031281995507" + "754830587823977775747100055764292205421357056446830465793611" + "273763808185723813453738631569497245609975712828305215965826" + "765053388068801916539196811808128141857281722046227535409567" + "591186285705821199833303929519850375909134041147203658893734" + "153755227136429729680819659989646998542009258703527635118557" + "461312447384232179849362403511141932531785089741645572777420" + "823800529533589278423940195407958568894264010164248006540849" + "160087103041996738567121092172708859342210949217088143091653" + "037148698668697189317909020017411070411852839836652652230104" + "488866928634364560949066615472075465717187751987781313900056" + "044708657100493771599807097662839308147951336602016088038303" + "870626870505976949769475176739700850740489054760418683992822" + "102108113039966954472254660236287017169543329420623006920875" + "061938087152339674093328885612297439387396288738175863458442" + "357873826429100480375666769347774936081994000132266037789617" + "679830658781791760994378526913815818404152940284873358141843" + "597059137957964030223538823290728128419992789364472918525589" + "681285724973674079560291263860105160408412185466402633325963" + "644349004773740071252405214227130755717722371864438087813957" + "049334824031598041404099084234710294086909715648810172537956" + "835325926716084588757074055943229897544714984821916277164996" + "230599856478631481011984609516445087451467976563225183485707" + "905749943922496442802923068967076792686823389362481124460494" + "704283461711793778132596522789732235020165930073010737247996" + "756585398791522224385870682607436284058126317337050038121079" + "280726961697763447828452886465665300624268272487877857547882" + "040348230983233787526246480631864102696170452823458479032723" + "578830127941292909511711557404847061107334262109213252422470" + "319474329457122819963756131151585297962065956542350731131832" + "291167683289866880335703968881847060958949006126601275397222" + "963545028494290493580535125944932141737036395266333000222605" + "399939949397684787800655350500300253367688419355690911939522" + "954187696262129926633159777279286294093780940318487461712750" + "226387000627400399639544234254491419528782664148814752549434" + "958379626065942049557661210343054447391632257569905575104963" + "151978577601750196863513705539558684739468547692356001818703" + "346520584228266295190510902524185553948226797601549646906331" + "357318702512537284414411278940348553578854011691588522553966" + "396992880818547561630476530111651734988588440593633173143253" + "379921189582756007503422520592416527801478723731289759302726" + "954132658111452941824189900172140279856850327867101851354527" + "960707100257512325083967625754750701218030688324551798845572" + "563961467133540032201733663397872597974240680973907443484971" + "336778877548334885936748221459115133124927658634325658911822" + "141900465275779942660530609582835893020640555401613806067868" + "906672403337819356286761270165163376232221193189950310375294" + "099272473556899577746566950896500458917467484114752398834619" + "916525324505134294351704317783999741553112682962362548172424" + "553203677298220235774592337715700123823027248783397252232365" + "244614123085588619381923187064661903176533571726773552842050" + "702937175388102506427999185259894275281676527853075648559301" + "546937519854064218673593564079625201315914443572667155686776" + "278611844814181954280005884447565767647080527522321087613093" + "707671162160338881533455590709990074927708052244965764744729" + "329916773586445274306248672389904320297548114968852625553081" + "569329154117394637312504479221081821827497192245673295726668" + "999970170051411272831657975091029205402438644968163990840352" + "384606029708844825109435893409052496506265196679891398538136" + "476438486282449805899794734239202159510526533092974155392673" + "110448209969504483783671382659657251334863763189986240759871" + "1389056234111194498836994171142578126e-4952", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x4p-16448L, + 0x0p+0L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x2p-16448L, + 0x2p-16448L, + 0x2p-16448L, + 0x2.000000000004p-16448L), + TEST ("-9.112998829706186506321014834048549540997627039233908359302" + "451217570929221583494342023901771564568012993118368368008827" + "754917464081555080424933770188974522513709556452944829196423" + "063159514083899391553906414958526822350799483883818171478101" + "999885432027538796345957615136921788556123238264649295670535" + "656555168830888652110170198149384349220565847429757033386660" + "529893234530000541906680730080693584097577114013824488797138" + "248030638302927908719072846157325088784631875400783211446468" + "366417145208372632809262984971759958271469599865806253671506" + "148665941467176141059086775605992986647150893920167836194956" + "910549340732044378238901342114403169616619771293658127309340" + "098781806953539883415240998611008505292633721120054944409011" + "094771719058122585292273236376330708886510637541177621277475" + "388124237050940437681936303994812073160411682073448062085946" + "305372118811154133351132852246337347252699998665212489482352" + "167705562919745231565830710334083843075914276516681777540254" + "242467271363817040233616963939558863216141676162273217657656" + "468904825547982098936715199331001854831676981466460619758131" + "504286256279130046834263891194174641007654179652470752555222" + "521881010595734530303539396317948868204070581777214986146436" + "787584632193988565062001979299954888360379791497508759572055" + "500889164919896927727344221023077626909362205236140801210681" + "790306995374590904151473988022708942218135581332388074374731" + "601376907398595603196240484548455193864763652931369903351174" + "544227914190235653301814318281518707344132851054049215257648" + "822998553579843623915248343490157688045755609613688354194931" + "155095316567258520417716293863465955387522390164888525982287" + "381559819702117898832961338716666201201408518828570963323251" + "306194210542627378161868636589387165536962353855787777596576" + "710978563031098260476460305935557430711516343712631161621638" + "424297747566901295718902492493026946182667450323568568598792" + "580977411978419195554374077438549283595347906697196389997943" + "821127206870116346470443618175766845587246257442257132503411" + "376013068217734850145814471463643421637479890664657625208680" + "219057665052258447298724802437977073554005025955098694430208" + "501653797887431738591455762554777271441730120433837397235427" + "441907712019593507034623068852355183288502788155837192039905" + "218603255641396097281251518075514455032709185282558744031113" + "036987927459621719970870508223603142271888913040204537878014" + "097232781406038322711142335237865461173227252915276587188975" + "412089017354073518724435949481849511686910608709780211729679" + "423063616265710776413272977181193215639813458821362590901377" + "135567298928115902833064762050754791470792710944280648419737" + "116028237056467689588717464113777074701321446956746031390623" + "186305587652731135855965505817801019568850834786532980472935" + "789710341720048589915684158676078601107580341029439012576503" + "592092659931725826043687968325502279918751241904045306536991" + "132342810175996759727172288817628726164341863494412352737198" + "699123595406441535867371630213270061740895641891464486421233" + "297605134707109520450896967776936045188697002966298943540679" + "740957924589270564091461636421609256546506083872345409301831" + "931345863636282662528851689413776642426251033843013425169812" + "200523043408518309183421120012261021034944354267413735617601" + "999466129654555471183928143892048583210218715059190623669673" + "709078451184641215598867539008295806531959130171749496348501" + "016593279206827788351694604150601776078877850926025938963932" + "348257710184608851755301379907626287399864353397924779191438" + "696008198450280050868370731345376995801131987106068816254492" + "132279657770445691596180800594675207155679408490487848784280" + "757840485915053852076328642276460120931365062944412851150517" + "782307879807941005366882170554917224788453991203132901742055" + "651807985648804532635758643055919919823171907682230888197136" + "785695609657776957667650311147598288820442100762328807032871" + "864560877230326487537995006393010831208038878617743781275190" + "558412003007220219089126636587367218081819059766147691675567" + "771585405798025892518183423386642968922615987212237709485258" + "829589899034986438444744438813654943661868795407437525228658" + "904812581856613986614501454001745869542557985949803493369202" + "876231718093372553910516157740346758003125694394951026931617" + "535978947861060938131299416911676145021288244119060362036133" + "740174212818599501573880189231621521703767197610941072443657" + "937938012953869896148787897686753214596234235085019156025250" + "458832853791710463651895437666203902547252832579877605247633" + "242797093622461108077141606844016196969700713249758804637564" + "031033677586166560428898022693846246187767028235072650835679" + "508301416234837561554299294212011108379667366726313165151895" + "830476329518081413754725734385648977368582850960838417433497" + "042248134245755299790357229077513373338430395014449861322941" + "839717984951023221186554236475757746380955942423605912965057" + "827463769559044175127979722538378699149446690331124179105037" + "648851095593259807257640197670861588600691931413564860824819" + "137265657381188889377280059698561590053655108304078570914189" + "629664137254233685858528515552268875225114223970809842036687" + "815258661003059320145462620801188128167207188247801455632725" + "082944709186080859531835309805107316387271370578683213373930" + "527405724724502485066334073303661751380073478793232637990545" + "164168128190593725323015246035847258027356222256980634811669" + "852705683168908821634658358608716239406001024947489962630205" + "776825692692413107115696006420712968413972191633113557618014" + "858696532329910528233723435298914378716968012211255768780932" + "309932797977814035171890236317231958304220075777251395064208" + "638629746218502848288226858693654802564969763330590748497148" + "622346855218718290721826777671881908623480917243090647492727" + "942490633210766719088635904655448517979130388109126548929300" + "580321560326963512326417012573083178438865633283218615714530" + "549903912556636275934676454120536977847927177426272685396804" + "919083563678876289503745477768040694051730867535587283818464" + "530412086187505017748505307478598856959954962317953251674008" + "225476237765489460621328249350656765266995846433809943413102" + "353234238035471689081788617703430631377557454803127814187829" + "598025185330715074053608155317864680056010785645548139016038" + "200546112686635086975287688896283436056884042970495964827912" + "025457042506985430699507570505216417703168633373353363740973" + "098449441236047555752605169966501252613667375010142836817335" + "369229195079966747113425749967668461018275843584570291287076" + "863436226900429180382446487600878513931316307565128037734274" + "751419683920963106436365962521419345659878831691373235891043" + "914494428989096241797873944510540729730313852637867934309362" + "479391674181147553437778221885313432295986044940607732570536" + "758323465079498284873837903359731801022615162524897452447369" + "994156363786660485655244163243106530919921915001572936639717" + "727060908959134609147450693915078216074071190796432287614559" + "739514565025331782444586046533670722082471368442936376992006" + "432871710633235430712641944567318442895146617863508894303083" + "780006238593348534997106956499275465539308594895385688351274" + "527680872602616209515711522183485689297196476046732023220833" + "558806953101747436104574698259485603639631941783303387176618" + "127736801688930806971119771946947230290585329044021041830702" + "468732853329712319650648310981953139465377229648008743031539" + "791012497742669446849787144903264712336696905108788802976454" + "745641561589894577319528552887480349967499840509077874630932" + "006410787240379373316011071930020626071423345824245404625428" + "163528566770284308895812647657178766782096152465077867650878" + "728765790031331346983386248864167523818934527230120011631131" + "130349221973482282345629720853245305588082152846834757883902" + "418230260602977365876291924423262576905967270998981387607980" + "590173198728061164566710508280203138579629390853086417284931" + "473476503896627076093505113988019224990398993864279520509220" + "795282297369154155289507298946591008575807604025045159241768" + "053124565959288158472125768546173559933716867523084862590552" + "253795464417356834592115317041595395862621956820603128199550" + "775483058782397777574710005576429220542135705644683046579361" + "127376380818572381345373863156949724560997571282830521596582" + "676505338806880191653919681180812814185728172204622753540956" + "759118628570582119983330392951985037590913404114720365889373" + "415375522713642972968081965998964699854200925870352763511855" + "746131244738423217984936240351114193253178508974164557277742" + "082380052953358927842394019540795856889426401016424800654084" + "916008710304199673856712109217270885934221094921708814309165" + "303714869866869718931790902001741107041185283983665265223010" + "448886692863436456094906661547207546571718775198778131390005" + "604470865710049377159980709766283930814795133660201608803830" + "387062687050597694976947517673970085074048905476041868399282" + "210210811303996695447225466023628701716954332942062300692087" + "506193808715233967409332888561229743938739628873817586345844" + "235787382642910048037566676934777493608199400013226603778961" + "767983065878179176099437852691381581840415294028487335814184" + "359705913795796403022353882329072812841999278936447291852558" + "968128572497367407956029126386010516040841218546640263332596" + "364434900477374007125240521422713075571772237186443808781395" + "704933482403159804140409908423471029408690971564881017253795" + "683532592671608458875707405594322989754471498482191627716499" + "623059985647863148101198460951644508745146797656322518348570" + "790574994392249644280292306896707679268682338936248112446049" + "470428346171179377813259652278973223502016593007301073724799" + "675658539879152222438587068260743628405812631733705003812107" + "928072696169776344782845288646566530062426827248787785754788" + "204034823098323378752624648063186410269617045282345847903272" + "357883012794129290951171155740484706110733426210921325242247" + "031947432945712281996375613115158529796206595654235073113183" + "229116768328986688033570396888184706095894900612660127539722" + "296354502849429049358053512594493214173703639526633300022260" + "539993994939768478780065535050030025336768841935569091193952" + "295418769626212992663315977727928629409378094031848746171275" + "022638700062740039963954423425449141952878266414881475254943" + "495837962606594204955766121034305444739163225756990557510496" + "315197857760175019686351370553955868473946854769235600181870" + "334652058422826629519051090252418555394822679760154964690633" + "135731870251253728441441127894034855357885401169158852255396" + "639699288081854756163047653011165173498858844059363317314325" + "337992118958275600750342252059241652780147872373128975930272" + "695413265811145294182418990017214027985685032786710185135452" + "796070710025751232508396762575475070121803068832455179884557" + "256396146713354003220173366339787259797424068097390744348497" + "133677887754833488593674822145911513312492765863432565891182" + "214190046527577994266053060958283589302064055540161380606786" + "890667240333781935628676127016516337623222119318995031037529" + "409927247355689957774656695089650045891746748411475239883461" + "991652532450513429435170431778399974155311268296236254817242" + "455320367729822023577459233771570012382302724878339725223236" + "524461412308558861938192318706466190317653357172677355284205" + "070293717538810250642799918525989427528167652785307564855930" + "154693751985406421867359356407962520131591444357266715568677" + "627861184481418195428000588444756576764708052752232108761309" + "370767116216033888153345559070999007492770805224496576474472" + "932991677358644527430624867238990432029754811496885262555308" + "156932915411739463731250447922108182182749719224567329572666" + "899997017005141127283165797509102920540243864496816399084035" + "238460602970884482510943589340905249650626519667989139853813" + "647643848628244980589979473423920215951052653309297415539267" + "311044820996950448378367138265965725133486376318998624075987" + "11389056234111194498836994171142578124e-4952", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x2p-16448L, + -0x2p-16448L, + -0x1.fffffffffffcp-16448L, + -0x1.fffffffffffcp-16448L), + TEST ("-9.112998829706186506321014834048549540997627039233908359302" + "451217570929221583494342023901771564568012993118368368008827" + "754917464081555080424933770188974522513709556452944829196423" + "063159514083899391553906414958526822350799483883818171478101" + "999885432027538796345957615136921788556123238264649295670535" + "656555168830888652110170198149384349220565847429757033386660" + "529893234530000541906680730080693584097577114013824488797138" + "248030638302927908719072846157325088784631875400783211446468" + "366417145208372632809262984971759958271469599865806253671506" + "148665941467176141059086775605992986647150893920167836194956" + "910549340732044378238901342114403169616619771293658127309340" + "098781806953539883415240998611008505292633721120054944409011" + "094771719058122585292273236376330708886510637541177621277475" + "388124237050940437681936303994812073160411682073448062085946" + "305372118811154133351132852246337347252699998665212489482352" + "167705562919745231565830710334083843075914276516681777540254" + "242467271363817040233616963939558863216141676162273217657656" + "468904825547982098936715199331001854831676981466460619758131" + "504286256279130046834263891194174641007654179652470752555222" + "521881010595734530303539396317948868204070581777214986146436" + "787584632193988565062001979299954888360379791497508759572055" + "500889164919896927727344221023077626909362205236140801210681" + "790306995374590904151473988022708942218135581332388074374731" + "601376907398595603196240484548455193864763652931369903351174" + "544227914190235653301814318281518707344132851054049215257648" + "822998553579843623915248343490157688045755609613688354194931" + "155095316567258520417716293863465955387522390164888525982287" + "381559819702117898832961338716666201201408518828570963323251" + "306194210542627378161868636589387165536962353855787777596576" + "710978563031098260476460305935557430711516343712631161621638" + "424297747566901295718902492493026946182667450323568568598792" + "580977411978419195554374077438549283595347906697196389997943" + "821127206870116346470443618175766845587246257442257132503411" + "376013068217734850145814471463643421637479890664657625208680" + "219057665052258447298724802437977073554005025955098694430208" + "501653797887431738591455762554777271441730120433837397235427" + "441907712019593507034623068852355183288502788155837192039905" + "218603255641396097281251518075514455032709185282558744031113" + "036987927459621719970870508223603142271888913040204537878014" + "097232781406038322711142335237865461173227252915276587188975" + "412089017354073518724435949481849511686910608709780211729679" + "423063616265710776413272977181193215639813458821362590901377" + "135567298928115902833064762050754791470792710944280648419737" + "116028237056467689588717464113777074701321446956746031390623" + "186305587652731135855965505817801019568850834786532980472935" + "789710341720048589915684158676078601107580341029439012576503" + "592092659931725826043687968325502279918751241904045306536991" + "132342810175996759727172288817628726164341863494412352737198" + "699123595406441535867371630213270061740895641891464486421233" + "297605134707109520450896967776936045188697002966298943540679" + "740957924589270564091461636421609256546506083872345409301831" + "931345863636282662528851689413776642426251033843013425169812" + "200523043408518309183421120012261021034944354267413735617601" + "999466129654555471183928143892048583210218715059190623669673" + "709078451184641215598867539008295806531959130171749496348501" + "016593279206827788351694604150601776078877850926025938963932" + "348257710184608851755301379907626287399864353397924779191438" + "696008198450280050868370731345376995801131987106068816254492" + "132279657770445691596180800594675207155679408490487848784280" + "757840485915053852076328642276460120931365062944412851150517" + "782307879807941005366882170554917224788453991203132901742055" + "651807985648804532635758643055919919823171907682230888197136" + "785695609657776957667650311147598288820442100762328807032871" + "864560877230326487537995006393010831208038878617743781275190" + "558412003007220219089126636587367218081819059766147691675567" + "771585405798025892518183423386642968922615987212237709485258" + "829589899034986438444744438813654943661868795407437525228658" + "904812581856613986614501454001745869542557985949803493369202" + "876231718093372553910516157740346758003125694394951026931617" + "535978947861060938131299416911676145021288244119060362036133" + "740174212818599501573880189231621521703767197610941072443657" + "937938012953869896148787897686753214596234235085019156025250" + "458832853791710463651895437666203902547252832579877605247633" + "242797093622461108077141606844016196969700713249758804637564" + "031033677586166560428898022693846246187767028235072650835679" + "508301416234837561554299294212011108379667366726313165151895" + "830476329518081413754725734385648977368582850960838417433497" + "042248134245755299790357229077513373338430395014449861322941" + "839717984951023221186554236475757746380955942423605912965057" + "827463769559044175127979722538378699149446690331124179105037" + "648851095593259807257640197670861588600691931413564860824819" + "137265657381188889377280059698561590053655108304078570914189" + "629664137254233685858528515552268875225114223970809842036687" + "815258661003059320145462620801188128167207188247801455632725" + "082944709186080859531835309805107316387271370578683213373930" + "527405724724502485066334073303661751380073478793232637990545" + "164168128190593725323015246035847258027356222256980634811669" + "852705683168908821634658358608716239406001024947489962630205" + "776825692692413107115696006420712968413972191633113557618014" + "858696532329910528233723435298914378716968012211255768780932" + "309932797977814035171890236317231958304220075777251395064208" + "638629746218502848288226858693654802564969763330590748497148" + "622346855218718290721826777671881908623480917243090647492727" + "942490633210766719088635904655448517979130388109126548929300" + "580321560326963512326417012573083178438865633283218615714530" + "549903912556636275934676454120536977847927177426272685396804" + "919083563678876289503745477768040694051730867535587283818464" + "530412086187505017748505307478598856959954962317953251674008" + "225476237765489460621328249350656765266995846433809943413102" + "353234238035471689081788617703430631377557454803127814187829" + "598025185330715074053608155317864680056010785645548139016038" + "200546112686635086975287688896283436056884042970495964827912" + "025457042506985430699507570505216417703168633373353363740973" + "098449441236047555752605169966501252613667375010142836817335" + "369229195079966747113425749967668461018275843584570291287076" + "863436226900429180382446487600878513931316307565128037734274" + "751419683920963106436365962521419345659878831691373235891043" + "914494428989096241797873944510540729730313852637867934309362" + "479391674181147553437778221885313432295986044940607732570536" + "758323465079498284873837903359731801022615162524897452447369" + "994156363786660485655244163243106530919921915001572936639717" + "727060908959134609147450693915078216074071190796432287614559" + "739514565025331782444586046533670722082471368442936376992006" + "432871710633235430712641944567318442895146617863508894303083" + "780006238593348534997106956499275465539308594895385688351274" + "527680872602616209515711522183485689297196476046732023220833" + "558806953101747436104574698259485603639631941783303387176618" + "127736801688930806971119771946947230290585329044021041830702" + "468732853329712319650648310981953139465377229648008743031539" + "791012497742669446849787144903264712336696905108788802976454" + "745641561589894577319528552887480349967499840509077874630932" + "006410787240379373316011071930020626071423345824245404625428" + "163528566770284308895812647657178766782096152465077867650878" + "728765790031331346983386248864167523818934527230120011631131" + "130349221973482282345629720853245305588082152846834757883902" + "418230260602977365876291924423262576905967270998981387607980" + "590173198728061164566710508280203138579629390853086417284931" + "473476503896627076093505113988019224990398993864279520509220" + "795282297369154155289507298946591008575807604025045159241768" + "053124565959288158472125768546173559933716867523084862590552" + "253795464417356834592115317041595395862621956820603128199550" + "775483058782397777574710005576429220542135705644683046579361" + "127376380818572381345373863156949724560997571282830521596582" + "676505338806880191653919681180812814185728172204622753540956" + "759118628570582119983330392951985037590913404114720365889373" + "415375522713642972968081965998964699854200925870352763511855" + "746131244738423217984936240351114193253178508974164557277742" + "082380052953358927842394019540795856889426401016424800654084" + "916008710304199673856712109217270885934221094921708814309165" + "303714869866869718931790902001741107041185283983665265223010" + "448886692863436456094906661547207546571718775198778131390005" + "604470865710049377159980709766283930814795133660201608803830" + "387062687050597694976947517673970085074048905476041868399282" + "210210811303996695447225466023628701716954332942062300692087" + "506193808715233967409332888561229743938739628873817586345844" + "235787382642910048037566676934777493608199400013226603778961" + "767983065878179176099437852691381581840415294028487335814184" + "359705913795796403022353882329072812841999278936447291852558" + "968128572497367407956029126386010516040841218546640263332596" + "364434900477374007125240521422713075571772237186443808781395" + "704933482403159804140409908423471029408690971564881017253795" + "683532592671608458875707405594322989754471498482191627716499" + "623059985647863148101198460951644508745146797656322518348570" + "790574994392249644280292306896707679268682338936248112446049" + "470428346171179377813259652278973223502016593007301073724799" + "675658539879152222438587068260743628405812631733705003812107" + "928072696169776344782845288646566530062426827248787785754788" + "204034823098323378752624648063186410269617045282345847903272" + "357883012794129290951171155740484706110733426210921325242247" + "031947432945712281996375613115158529796206595654235073113183" + "229116768328986688033570396888184706095894900612660127539722" + "296354502849429049358053512594493214173703639526633300022260" + "539993994939768478780065535050030025336768841935569091193952" + "295418769626212992663315977727928629409378094031848746171275" + "022638700062740039963954423425449141952878266414881475254943" + "495837962606594204955766121034305444739163225756990557510496" + "315197857760175019686351370553955868473946854769235600181870" + "334652058422826629519051090252418555394822679760154964690633" + "135731870251253728441441127894034855357885401169158852255396" + "639699288081854756163047653011165173498858844059363317314325" + "337992118958275600750342252059241652780147872373128975930272" + "695413265811145294182418990017214027985685032786710185135452" + "796070710025751232508396762575475070121803068832455179884557" + "256396146713354003220173366339787259797424068097390744348497" + "133677887754833488593674822145911513312492765863432565891182" + "214190046527577994266053060958283589302064055540161380606786" + "890667240333781935628676127016516337623222119318995031037529" + "409927247355689957774656695089650045891746748411475239883461" + "991652532450513429435170431778399974155311268296236254817242" + "455320367729822023577459233771570012382302724878339725223236" + "524461412308558861938192318706466190317653357172677355284205" + "070293717538810250642799918525989427528167652785307564855930" + "154693751985406421867359356407962520131591444357266715568677" + "627861184481418195428000588444756576764708052752232108761309" + "370767116216033888153345559070999007492770805224496576474472" + "932991677358644527430624867238990432029754811496885262555308" + "156932915411739463731250447922108182182749719224567329572666" + "899997017005141127283165797509102920540243864496816399084035" + "238460602970884482510943589340905249650626519667989139853813" + "647643848628244980589979473423920215951052653309297415539267" + "311044820996950448378367138265965725133486376318998624075987" + "11389056234111194498836994171142578125e-4952", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + true, + -0x2p-16448L, + -0x2p-16448L, + -0x2p-16448L, + -0x2p-16448L), + TEST ("-9.112998829706186506321014834048549540997627039233908359302" + "451217570929221583494342023901771564568012993118368368008827" + "754917464081555080424933770188974522513709556452944829196423" + "063159514083899391553906414958526822350799483883818171478101" + "999885432027538796345957615136921788556123238264649295670535" + "656555168830888652110170198149384349220565847429757033386660" + "529893234530000541906680730080693584097577114013824488797138" + "248030638302927908719072846157325088784631875400783211446468" + "366417145208372632809262984971759958271469599865806253671506" + "148665941467176141059086775605992986647150893920167836194956" + "910549340732044378238901342114403169616619771293658127309340" + "098781806953539883415240998611008505292633721120054944409011" + "094771719058122585292273236376330708886510637541177621277475" + "388124237050940437681936303994812073160411682073448062085946" + "305372118811154133351132852246337347252699998665212489482352" + "167705562919745231565830710334083843075914276516681777540254" + "242467271363817040233616963939558863216141676162273217657656" + "468904825547982098936715199331001854831676981466460619758131" + "504286256279130046834263891194174641007654179652470752555222" + "521881010595734530303539396317948868204070581777214986146436" + "787584632193988565062001979299954888360379791497508759572055" + "500889164919896927727344221023077626909362205236140801210681" + "790306995374590904151473988022708942218135581332388074374731" + "601376907398595603196240484548455193864763652931369903351174" + "544227914190235653301814318281518707344132851054049215257648" + "822998553579843623915248343490157688045755609613688354194931" + "155095316567258520417716293863465955387522390164888525982287" + "381559819702117898832961338716666201201408518828570963323251" + "306194210542627378161868636589387165536962353855787777596576" + "710978563031098260476460305935557430711516343712631161621638" + "424297747566901295718902492493026946182667450323568568598792" + "580977411978419195554374077438549283595347906697196389997943" + "821127206870116346470443618175766845587246257442257132503411" + "376013068217734850145814471463643421637479890664657625208680" + "219057665052258447298724802437977073554005025955098694430208" + "501653797887431738591455762554777271441730120433837397235427" + "441907712019593507034623068852355183288502788155837192039905" + "218603255641396097281251518075514455032709185282558744031113" + "036987927459621719970870508223603142271888913040204537878014" + "097232781406038322711142335237865461173227252915276587188975" + "412089017354073518724435949481849511686910608709780211729679" + "423063616265710776413272977181193215639813458821362590901377" + "135567298928115902833064762050754791470792710944280648419737" + "116028237056467689588717464113777074701321446956746031390623" + "186305587652731135855965505817801019568850834786532980472935" + "789710341720048589915684158676078601107580341029439012576503" + "592092659931725826043687968325502279918751241904045306536991" + "132342810175996759727172288817628726164341863494412352737198" + "699123595406441535867371630213270061740895641891464486421233" + "297605134707109520450896967776936045188697002966298943540679" + "740957924589270564091461636421609256546506083872345409301831" + "931345863636282662528851689413776642426251033843013425169812" + "200523043408518309183421120012261021034944354267413735617601" + "999466129654555471183928143892048583210218715059190623669673" + "709078451184641215598867539008295806531959130171749496348501" + "016593279206827788351694604150601776078877850926025938963932" + "348257710184608851755301379907626287399864353397924779191438" + "696008198450280050868370731345376995801131987106068816254492" + "132279657770445691596180800594675207155679408490487848784280" + "757840485915053852076328642276460120931365062944412851150517" + "782307879807941005366882170554917224788453991203132901742055" + "651807985648804532635758643055919919823171907682230888197136" + "785695609657776957667650311147598288820442100762328807032871" + "864560877230326487537995006393010831208038878617743781275190" + "558412003007220219089126636587367218081819059766147691675567" + "771585405798025892518183423386642968922615987212237709485258" + "829589899034986438444744438813654943661868795407437525228658" + "904812581856613986614501454001745869542557985949803493369202" + "876231718093372553910516157740346758003125694394951026931617" + "535978947861060938131299416911676145021288244119060362036133" + "740174212818599501573880189231621521703767197610941072443657" + "937938012953869896148787897686753214596234235085019156025250" + "458832853791710463651895437666203902547252832579877605247633" + "242797093622461108077141606844016196969700713249758804637564" + "031033677586166560428898022693846246187767028235072650835679" + "508301416234837561554299294212011108379667366726313165151895" + "830476329518081413754725734385648977368582850960838417433497" + "042248134245755299790357229077513373338430395014449861322941" + "839717984951023221186554236475757746380955942423605912965057" + "827463769559044175127979722538378699149446690331124179105037" + "648851095593259807257640197670861588600691931413564860824819" + "137265657381188889377280059698561590053655108304078570914189" + "629664137254233685858528515552268875225114223970809842036687" + "815258661003059320145462620801188128167207188247801455632725" + "082944709186080859531835309805107316387271370578683213373930" + "527405724724502485066334073303661751380073478793232637990545" + "164168128190593725323015246035847258027356222256980634811669" + "852705683168908821634658358608716239406001024947489962630205" + "776825692692413107115696006420712968413972191633113557618014" + "858696532329910528233723435298914378716968012211255768780932" + "309932797977814035171890236317231958304220075777251395064208" + "638629746218502848288226858693654802564969763330590748497148" + "622346855218718290721826777671881908623480917243090647492727" + "942490633210766719088635904655448517979130388109126548929300" + "580321560326963512326417012573083178438865633283218615714530" + "549903912556636275934676454120536977847927177426272685396804" + "919083563678876289503745477768040694051730867535587283818464" + "530412086187505017748505307478598856959954962317953251674008" + "225476237765489460621328249350656765266995846433809943413102" + "353234238035471689081788617703430631377557454803127814187829" + "598025185330715074053608155317864680056010785645548139016038" + "200546112686635086975287688896283436056884042970495964827912" + "025457042506985430699507570505216417703168633373353363740973" + "098449441236047555752605169966501252613667375010142836817335" + "369229195079966747113425749967668461018275843584570291287076" + "863436226900429180382446487600878513931316307565128037734274" + "751419683920963106436365962521419345659878831691373235891043" + "914494428989096241797873944510540729730313852637867934309362" + "479391674181147553437778221885313432295986044940607732570536" + "758323465079498284873837903359731801022615162524897452447369" + "994156363786660485655244163243106530919921915001572936639717" + "727060908959134609147450693915078216074071190796432287614559" + "739514565025331782444586046533670722082471368442936376992006" + "432871710633235430712641944567318442895146617863508894303083" + "780006238593348534997106956499275465539308594895385688351274" + "527680872602616209515711522183485689297196476046732023220833" + "558806953101747436104574698259485603639631941783303387176618" + "127736801688930806971119771946947230290585329044021041830702" + "468732853329712319650648310981953139465377229648008743031539" + "791012497742669446849787144903264712336696905108788802976454" + "745641561589894577319528552887480349967499840509077874630932" + "006410787240379373316011071930020626071423345824245404625428" + "163528566770284308895812647657178766782096152465077867650878" + "728765790031331346983386248864167523818934527230120011631131" + "130349221973482282345629720853245305588082152846834757883902" + "418230260602977365876291924423262576905967270998981387607980" + "590173198728061164566710508280203138579629390853086417284931" + "473476503896627076093505113988019224990398993864279520509220" + "795282297369154155289507298946591008575807604025045159241768" + "053124565959288158472125768546173559933716867523084862590552" + "253795464417356834592115317041595395862621956820603128199550" + "775483058782397777574710005576429220542135705644683046579361" + "127376380818572381345373863156949724560997571282830521596582" + "676505338806880191653919681180812814185728172204622753540956" + "759118628570582119983330392951985037590913404114720365889373" + "415375522713642972968081965998964699854200925870352763511855" + "746131244738423217984936240351114193253178508974164557277742" + "082380052953358927842394019540795856889426401016424800654084" + "916008710304199673856712109217270885934221094921708814309165" + "303714869866869718931790902001741107041185283983665265223010" + "448886692863436456094906661547207546571718775198778131390005" + "604470865710049377159980709766283930814795133660201608803830" + "387062687050597694976947517673970085074048905476041868399282" + "210210811303996695447225466023628701716954332942062300692087" + "506193808715233967409332888561229743938739628873817586345844" + "235787382642910048037566676934777493608199400013226603778961" + "767983065878179176099437852691381581840415294028487335814184" + "359705913795796403022353882329072812841999278936447291852558" + "968128572497367407956029126386010516040841218546640263332596" + "364434900477374007125240521422713075571772237186443808781395" + "704933482403159804140409908423471029408690971564881017253795" + "683532592671608458875707405594322989754471498482191627716499" + "623059985647863148101198460951644508745146797656322518348570" + "790574994392249644280292306896707679268682338936248112446049" + "470428346171179377813259652278973223502016593007301073724799" + "675658539879152222438587068260743628405812631733705003812107" + "928072696169776344782845288646566530062426827248787785754788" + "204034823098323378752624648063186410269617045282345847903272" + "357883012794129290951171155740484706110733426210921325242247" + "031947432945712281996375613115158529796206595654235073113183" + "229116768328986688033570396888184706095894900612660127539722" + "296354502849429049358053512594493214173703639526633300022260" + "539993994939768478780065535050030025336768841935569091193952" + "295418769626212992663315977727928629409378094031848746171275" + "022638700062740039963954423425449141952878266414881475254943" + "495837962606594204955766121034305444739163225756990557510496" + "315197857760175019686351370553955868473946854769235600181870" + "334652058422826629519051090252418555394822679760154964690633" + "135731870251253728441441127894034855357885401169158852255396" + "639699288081854756163047653011165173498858844059363317314325" + "337992118958275600750342252059241652780147872373128975930272" + "695413265811145294182418990017214027985685032786710185135452" + "796070710025751232508396762575475070121803068832455179884557" + "256396146713354003220173366339787259797424068097390744348497" + "133677887754833488593674822145911513312492765863432565891182" + "214190046527577994266053060958283589302064055540161380606786" + "890667240333781935628676127016516337623222119318995031037529" + "409927247355689957774656695089650045891746748411475239883461" + "991652532450513429435170431778399974155311268296236254817242" + "455320367729822023577459233771570012382302724878339725223236" + "524461412308558861938192318706466190317653357172677355284205" + "070293717538810250642799918525989427528167652785307564855930" + "154693751985406421867359356407962520131591444357266715568677" + "627861184481418195428000588444756576764708052752232108761309" + "370767116216033888153345559070999007492770805224496576474472" + "932991677358644527430624867238990432029754811496885262555308" + "156932915411739463731250447922108182182749719224567329572666" + "899997017005141127283165797509102920540243864496816399084035" + "238460602970884482510943589340905249650626519667989139853813" + "647643848628244980589979473423920215951052653309297415539267" + "311044820996950448378367138265965725133486376318998624075987" + "11389056234111194498836994171142578126e-4952", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x4p-16448L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x2.000000000004p-16448L, + -0x2p-16448L, + -0x2p-16448L, + -0x2p-16448L), + TEST ("3.2375875597190125554622194791138232762497846690173405048449" + "421945985197700620596855088357456383249701279390707384240598" + "382936099431912710233425550359863089915213963553756674672083" + "673128192358701197242632527769951957277781260855740340354110" + "173441284912381364143945515141786687806740155311932822963199" + "131134959539539338316310328556057915323285980341541664226172" + "265348802632447238304822896568757017013159021750199744350376" + "278243566840330589397015778833566517337174685312047058426075" + "688036665697114219175258344917835835984013214761767520398571" + "735519302688914468501077605843338555214753050109407568139932" + "147308502166696009676987494125921676927574464221699654264839" + "192243410627511520570610765229732327315423820550872393685221" + "676561948307418196052769717057382723931306989375320957256133" + "838073129463951849807075348034900035402513943244599879584009" + "391110011261908615236154859382854977144106096407982738165117" + "693915685918231984764157652755343417097983676870433731452629" + "339981084526616826599425863049784138127555181662391766144738" + "159400253422795753041594932607700680306368857466952063923782" + "760519487592638820793893796669403574411398166619131986561877" + "034635197232626532239192571857518274939275861531537920777299" + "133535479548088762634002006634954143608168633852204577195463" + "389533233992867620995583241321034602255800668175356808869060" + "608582640890741203603916133682748118680676374951545690715916" + "241859799379894025137504643469040366684778763795442214328000" + "375999444991619403217748350277527106812175542863660436614910" + "135938862296156144947361864759321605496309393905421651264941" + "669606814994816518612155298709843817262034769175075602668866" + "926449523554218142013501373514352370369126244144449924971423" + "038024236058971106053649565799145071085840022305247663313482" + "714565918140785997808209749619683146844964283106915422726638" + "184861327711776708749278315100024436584176080783836115268999" + "055336294569042349971163039294272620322160728879610722678506" + "182344928526064885227397447578450046944618127903428943538029" + "386719288345854473283987116842451647036255801966780244103035" + "425445345127067921349083698736056197567752071915587544133815" + "717564310032485290205726480489464589999677885266171263493459" + "668963623768410922688414177814149693150024191921819721215688" + "114324591287371281400636455584825253000890602388603923710921" + "026880979879158388608823700222683123228822356907857261909150" + "626993825760416437415551396973489279578569909699853422995997" + "974315036153120383930698087773157253674975950409660938084071" + "173163693891122166282318691732176374528554627905530306369204" + "877964658806333996327938827344733821685425961846791581492287" + "250044047142934607523718654369478552373072400018635730811749" + "291666457582760812726851561001954207941547404866373158231367" + "986951247388733285659455982411993350593989550494594498447410" + "984783303191128659803467713819821511544998464785455306500918" + "241648925913966507036336000231915215026183799886938007038845" + "551916478649593272604688927931953165785101738164060543643192" + "949066412847647883846835866623820426428526541564774787007791" + "235843699657232847114093617412355486871810526396392792853731" + "390841657984518997639795008374280777823099107035223998600103" + "103211166230289241182380237703814248941627178152962100972452" + "217697144954497443279450919433943252592977710901289696002698" + "225209041938801190947812141758873162203113090284565687499100" + "109623665868340184032428667217835198069330185880779776269137" + "742366802202585247113480377505916462865316253065105837519292" + "805411191872195967066157363040364443666632564266439033866945" + "366496486863801221986778957510023272290593640187551645170603" + "215150911733580059874983597994671388176488814794186236946834" + "548816837468411497151813344980969677026131105901402313456769" + "561412278508799050185582199844418197980544632067644131002512" + "557755358307705356209461595354064971347590431926479961905129" + "785864961996560707071051177738535042777950247546470241655891" + "294428226271478689174637951663865529219133988782700199051475" + "108495188941141025360733690471601309904116260484264378352956" + "830972782977747351810451586166745640802378131466232692150196" + "132319386267589275314909450293562079332893638471814389025392" + "970579695249613486078445695214422379148991006996109216699215" + "721671648754881325271879493185438097033881789311707997697928" + "860866812849648616086569281093053695399558469641977866770538" + "476039621947215238679930485285585513808236992918733520331110" + "962448142457896209307561142289713638388281085340301520317159" + "297224995464365477734040179470355969363384621039467975256670" + "339354334892926205316491997244008324897517881293654265688813" + "283579663372924392043825371743576754041055802440187836850412" + "247984570221893156921757872572872036331343007592090605703195" + "088864753777199111760713027328198781654685927174063882187275" + "850263521274368447629947228263907797373221137688424821608129" + "731003236738630502344377228987961455961818623205503012858619" + "800521948637807438081069469400793496307826769301971342062597" + "391253779410607511754278887744936774785938056823221738917303" + "119592848951788560393540150358649310736020595310015728915288" + "289821678102453433273888879288862086153270028346900686360943" + "250522514297816412678213672667152836436597491522644579383191" + "851483036048273636234050603745735057899230038434384361744893" + "838050985090837220507663282503497932038372021626246900935334" + "781144388106031405650705176699646299475436084049881780196520" + "881623075256119318210664937469946410480660118598143375898298" + "965497205621170906772915413181530577151676241283182977713765" + "317889730886996471681592298058774155948285325398399674640645" + "566475947058303746531133735308766583802401453804232106737787" + "768035926272312574958173945816077962772826443125107145322971" + "087220172175473177449006473180221085709470643042801004189714" + "505520073568915195232936144169440163547568663500508335014169" + "425050712038101167190534305435310279534374364467455668392421" + "298604104431988622194699721632249712583483143417550152131186" + "288827131347662976240916448058011869761525369135147129192405" + "037216807405860168320999468074663117771890506566769628495813" + "837909047220874786467663205170561835819702362482274133227483" + "041342457179876653773960112367066273208176545656826800069574" + "547599816180234764485446735080683694920665668954370505715843" + "455110709594838989387382250502925336743830916124954071268053" + "817964873658921319164268375226716232666274830656557657055342" + "393552148933959057023293404027940528842591460490646295820755" + "765633076707491896621769767253619370462005760078938144396953" + "018925287611875441613896820035092167912718365454954166761481" + "511451950826683236776211829914518353242818636196417736206010" + "145109509967467266157037719712666871515644277723594273405669" + "093518586548079997818085130346801040781966074621669280188633" + "856299289656492439545033914935979634179552686396067914528336" + "924678729357419403624798426886422277256625046946795576781709" + "298737741510378578072199383561520569978396254537274419476511" + "983161908266152660163477408756159700314280122283281906103567" + "067156627222418787671312246698375736071215395722993294041012" + "744631560602983489316782773611740570974847045870362276861106" + "774130949410119612624380274679529647271294627526939490197641" + "645383447755544661714281218489998189691140343327976729279891" + "077101372792811842951182338559423852563331641533781432796742" + "873181364582071661749961126386895359760476172215209100274274" + "851619657020388051618654944574445941780637669570374280535432" + "399157923698778110534174856844986671232161320063786308144771" + "068130888985636449091787794632959555876880672773686838364706" + "122084832995722603440165161942472322987408003421165899848443" + "566885769845535074102932500939450142098799833145629484519298" + "622410092757836842296697186410137365818568152771850732591405" + "340248509247875448717161746544246407280913725135059228268131" + "453903691495906528862410006254958805237716723952273129715780" + "425223305517882562616830806755498203755676925741529569939445" + "043490046171854709456730491532189688306135861932534903184518" + "717706426178028900836080044604143054210332610482947502104703" + "032028463320549525316174330585387581543470878545616097381416" + "151451037487775797335749896735101048367502483255117772375025" + "269956476872153642623856062175536913321594213515989059505375" + "135183515207096576145781316398544325320022366962008554087665" + "201050763789833457082359181807492731245904330245198691471329" + "319324627030678762142685799400660305214140453863665517807185" + "105354694177602424937823924511789133225030926924236498557565" + "212794565582753399214908928688568628950225640472058381324292" + "866007645368390366981937596341868992912741319342960598330486" + "905946276235953206760977215407164729909506118583728562718724" + "235732515062300426080741679038098122641980345051854359908213" + "563779664847422505775922437272989231878912994048540484468227" + "199282393172540734295329890896755037903724644870572648941076" + "132423009124870700536763793881894969000042397318202298868940" + "530196108237639578098191879486398269734335286831689173606327" + "500405178476864790935386838169242131756729797688220656276969" + "434749140204830563840068728357383111109865861495106613619153" + "421725274090787422508800568671498311491210197298472420373359" + "044400631309819996507004167876832936101195902219429743174557" + "163362274547892397934880322990633165889175059124060202200452" + "648684577182821651588921716304707095995039972827781680978274" + "973838841958209215836456212939412000456040621743349981715350" + "305133662772937143899882197561295808685181679238411733642697" + "748892466944352640514849114619882270112386610376024527101889" + "119004382703622803911212700216792471528793241950356942780714" + "774957204475130171711488773121937363663487116301055073658645" + "980695862570269762957141239436916216723776945522480189876803" + "386123827956059851911061129713987960026363403936931196519733" + "447116468545744829997003979525368783485129837821983305137448" + "031689360764270759437872004895754351479890333865299565515706" + "690471030702230767978923298480584997256328135245813726407464" + "159230169328539541524724878662873185450510653764301207480799" + "488602832618557388369552461881286225098286358672257087829660" + "174231705350465091313887538950130611513878400895128618426154" + "417299623157313010877679890009181366178705821415173309356192" + "686429159835537275875876767919535369607142366878476025895389" + "279625854409611312402187942369446302119309705461187450803468" + "606366203101933821675974655441744883993796837164178911391575" + "751463591650231265941242686108002052587760190005508737394014" + "453031299745602214380618917954427803281262300931789525045703" + "809571995929933387196864877982754748535701000330924817431298" + "365273697561943437891318220691072831562717726798635382168915" + "187137325209768346284183473712613689334546294053718697897526" + "843398053681374508250012035211936425982389543291022583173280" + "985811169783438836113209408147936547458073361625570571955232" + "746103236016857123149307991441916732438322836596693687161268" + "151183603534413030099360835441935243365729307681545065674775" + "655582111435085683962037818795920337874290127531069511296530" + "746308404963763022896682861683252995925040540038039172626001" + "958340013361801588367655990575379797454237110701588716509764" + "759243657077584013289594787913434812509790293636440469725564" + "222946985585616708175959944099853232059130350099233608207347" + "955460820122006976717445739825352919058005528371183277021250" + "186916447745609162301667393077050176560656798672598371789181" + "232542195795945358691713761483976100058707499929103557275695" + "937295677892604799308353051124627278706035295473126217205599" + "530746756205492173148619619059839609108464715691924592576481" + "382126740168148453274964955074129767533813576349605298268179" + "068244338581354855186516322703199278802275718580352103754433" + "240982354636196477238624205575823556321375833700666021556412" + "182358152808745703724362178773168996492870519432472065091133" + "11767578124e-4966", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-16496L), + TEST ("3.2375875597190125554622194791138232762497846690173405048449" + "421945985197700620596855088357456383249701279390707384240598" + "382936099431912710233425550359863089915213963553756674672083" + "673128192358701197242632527769951957277781260855740340354110" + "173441284912381364143945515141786687806740155311932822963199" + "131134959539539338316310328556057915323285980341541664226172" + "265348802632447238304822896568757017013159021750199744350376" + "278243566840330589397015778833566517337174685312047058426075" + "688036665697114219175258344917835835984013214761767520398571" + "735519302688914468501077605843338555214753050109407568139932" + "147308502166696009676987494125921676927574464221699654264839" + "192243410627511520570610765229732327315423820550872393685221" + "676561948307418196052769717057382723931306989375320957256133" + "838073129463951849807075348034900035402513943244599879584009" + "391110011261908615236154859382854977144106096407982738165117" + "693915685918231984764157652755343417097983676870433731452629" + "339981084526616826599425863049784138127555181662391766144738" + "159400253422795753041594932607700680306368857466952063923782" + "760519487592638820793893796669403574411398166619131986561877" + "034635197232626532239192571857518274939275861531537920777299" + "133535479548088762634002006634954143608168633852204577195463" + "389533233992867620995583241321034602255800668175356808869060" + "608582640890741203603916133682748118680676374951545690715916" + "241859799379894025137504643469040366684778763795442214328000" + "375999444991619403217748350277527106812175542863660436614910" + "135938862296156144947361864759321605496309393905421651264941" + "669606814994816518612155298709843817262034769175075602668866" + "926449523554218142013501373514352370369126244144449924971423" + "038024236058971106053649565799145071085840022305247663313482" + "714565918140785997808209749619683146844964283106915422726638" + "184861327711776708749278315100024436584176080783836115268999" + "055336294569042349971163039294272620322160728879610722678506" + "182344928526064885227397447578450046944618127903428943538029" + "386719288345854473283987116842451647036255801966780244103035" + "425445345127067921349083698736056197567752071915587544133815" + "717564310032485290205726480489464589999677885266171263493459" + "668963623768410922688414177814149693150024191921819721215688" + "114324591287371281400636455584825253000890602388603923710921" + "026880979879158388608823700222683123228822356907857261909150" + "626993825760416437415551396973489279578569909699853422995997" + "974315036153120383930698087773157253674975950409660938084071" + "173163693891122166282318691732176374528554627905530306369204" + "877964658806333996327938827344733821685425961846791581492287" + "250044047142934607523718654369478552373072400018635730811749" + "291666457582760812726851561001954207941547404866373158231367" + "986951247388733285659455982411993350593989550494594498447410" + "984783303191128659803467713819821511544998464785455306500918" + "241648925913966507036336000231915215026183799886938007038845" + "551916478649593272604688927931953165785101738164060543643192" + "949066412847647883846835866623820426428526541564774787007791" + "235843699657232847114093617412355486871810526396392792853731" + "390841657984518997639795008374280777823099107035223998600103" + "103211166230289241182380237703814248941627178152962100972452" + "217697144954497443279450919433943252592977710901289696002698" + "225209041938801190947812141758873162203113090284565687499100" + "109623665868340184032428667217835198069330185880779776269137" + "742366802202585247113480377505916462865316253065105837519292" + "805411191872195967066157363040364443666632564266439033866945" + "366496486863801221986778957510023272290593640187551645170603" + "215150911733580059874983597994671388176488814794186236946834" + "548816837468411497151813344980969677026131105901402313456769" + "561412278508799050185582199844418197980544632067644131002512" + "557755358307705356209461595354064971347590431926479961905129" + "785864961996560707071051177738535042777950247546470241655891" + "294428226271478689174637951663865529219133988782700199051475" + "108495188941141025360733690471601309904116260484264378352956" + "830972782977747351810451586166745640802378131466232692150196" + "132319386267589275314909450293562079332893638471814389025392" + "970579695249613486078445695214422379148991006996109216699215" + "721671648754881325271879493185438097033881789311707997697928" + "860866812849648616086569281093053695399558469641977866770538" + "476039621947215238679930485285585513808236992918733520331110" + "962448142457896209307561142289713638388281085340301520317159" + "297224995464365477734040179470355969363384621039467975256670" + "339354334892926205316491997244008324897517881293654265688813" + "283579663372924392043825371743576754041055802440187836850412" + "247984570221893156921757872572872036331343007592090605703195" + "088864753777199111760713027328198781654685927174063882187275" + "850263521274368447629947228263907797373221137688424821608129" + "731003236738630502344377228987961455961818623205503012858619" + "800521948637807438081069469400793496307826769301971342062597" + "391253779410607511754278887744936774785938056823221738917303" + "119592848951788560393540150358649310736020595310015728915288" + "289821678102453433273888879288862086153270028346900686360943" + "250522514297816412678213672667152836436597491522644579383191" + "851483036048273636234050603745735057899230038434384361744893" + "838050985090837220507663282503497932038372021626246900935334" + "781144388106031405650705176699646299475436084049881780196520" + "881623075256119318210664937469946410480660118598143375898298" + "965497205621170906772915413181530577151676241283182977713765" + "317889730886996471681592298058774155948285325398399674640645" + "566475947058303746531133735308766583802401453804232106737787" + "768035926272312574958173945816077962772826443125107145322971" + "087220172175473177449006473180221085709470643042801004189714" + "505520073568915195232936144169440163547568663500508335014169" + "425050712038101167190534305435310279534374364467455668392421" + "298604104431988622194699721632249712583483143417550152131186" + "288827131347662976240916448058011869761525369135147129192405" + "037216807405860168320999468074663117771890506566769628495813" + "837909047220874786467663205170561835819702362482274133227483" + "041342457179876653773960112367066273208176545656826800069574" + "547599816180234764485446735080683694920665668954370505715843" + "455110709594838989387382250502925336743830916124954071268053" + "817964873658921319164268375226716232666274830656557657055342" + "393552148933959057023293404027940528842591460490646295820755" + "765633076707491896621769767253619370462005760078938144396953" + "018925287611875441613896820035092167912718365454954166761481" + "511451950826683236776211829914518353242818636196417736206010" + "145109509967467266157037719712666871515644277723594273405669" + "093518586548079997818085130346801040781966074621669280188633" + "856299289656492439545033914935979634179552686396067914528336" + "924678729357419403624798426886422277256625046946795576781709" + "298737741510378578072199383561520569978396254537274419476511" + "983161908266152660163477408756159700314280122283281906103567" + "067156627222418787671312246698375736071215395722993294041012" + "744631560602983489316782773611740570974847045870362276861106" + "774130949410119612624380274679529647271294627526939490197641" + "645383447755544661714281218489998189691140343327976729279891" + "077101372792811842951182338559423852563331641533781432796742" + "873181364582071661749961126386895359760476172215209100274274" + "851619657020388051618654944574445941780637669570374280535432" + "399157923698778110534174856844986671232161320063786308144771" + "068130888985636449091787794632959555876880672773686838364706" + "122084832995722603440165161942472322987408003421165899848443" + "566885769845535074102932500939450142098799833145629484519298" + "622410092757836842296697186410137365818568152771850732591405" + "340248509247875448717161746544246407280913725135059228268131" + "453903691495906528862410006254958805237716723952273129715780" + "425223305517882562616830806755498203755676925741529569939445" + "043490046171854709456730491532189688306135861932534903184518" + "717706426178028900836080044604143054210332610482947502104703" + "032028463320549525316174330585387581543470878545616097381416" + "151451037487775797335749896735101048367502483255117772375025" + "269956476872153642623856062175536913321594213515989059505375" + "135183515207096576145781316398544325320022366962008554087665" + "201050763789833457082359181807492731245904330245198691471329" + "319324627030678762142685799400660305214140453863665517807185" + "105354694177602424937823924511789133225030926924236498557565" + "212794565582753399214908928688568628950225640472058381324292" + "866007645368390366981937596341868992912741319342960598330486" + "905946276235953206760977215407164729909506118583728562718724" + "235732515062300426080741679038098122641980345051854359908213" + "563779664847422505775922437272989231878912994048540484468227" + "199282393172540734295329890896755037903724644870572648941076" + "132423009124870700536763793881894969000042397318202298868940" + "530196108237639578098191879486398269734335286831689173606327" + "500405178476864790935386838169242131756729797688220656276969" + "434749140204830563840068728357383111109865861495106613619153" + "421725274090787422508800568671498311491210197298472420373359" + "044400631309819996507004167876832936101195902219429743174557" + "163362274547892397934880322990633165889175059124060202200452" + "648684577182821651588921716304707095995039972827781680978274" + "973838841958209215836456212939412000456040621743349981715350" + "305133662772937143899882197561295808685181679238411733642697" + "748892466944352640514849114619882270112386610376024527101889" + "119004382703622803911212700216792471528793241950356942780714" + "774957204475130171711488773121937363663487116301055073658645" + "980695862570269762957141239436916216723776945522480189876803" + "386123827956059851911061129713987960026363403936931196519733" + "447116468545744829997003979525368783485129837821983305137448" + "031689360764270759437872004895754351479890333865299565515706" + "690471030702230767978923298480584997256328135245813726407464" + "159230169328539541524724878662873185450510653764301207480799" + "488602832618557388369552461881286225098286358672257087829660" + "174231705350465091313887538950130611513878400895128618426154" + "417299623157313010877679890009181366178705821415173309356192" + "686429159835537275875876767919535369607142366878476025895389" + "279625854409611312402187942369446302119309705461187450803468" + "606366203101933821675974655441744883993796837164178911391575" + "751463591650231265941242686108002052587760190005508737394014" + "453031299745602214380618917954427803281262300931789525045703" + "809571995929933387196864877982754748535701000330924817431298" + "365273697561943437891318220691072831562717726798635382168915" + "187137325209768346284183473712613689334546294053718697897526" + "843398053681374508250012035211936425982389543291022583173280" + "985811169783438836113209408147936547458073361625570571955232" + "746103236016857123149307991441916732438322836596693687161268" + "151183603534413030099360835441935243365729307681545065674775" + "655582111435085683962037818795920337874290127531069511296530" + "746308404963763022896682861683252995925040540038039172626001" + "958340013361801588367655990575379797454237110701588716509764" + "759243657077584013289594787913434812509790293636440469725564" + "222946985585616708175959944099853232059130350099233608207347" + "955460820122006976717445739825352919058005528371183277021250" + "186916447745609162301667393077050176560656798672598371789181" + "232542195795945358691713761483976100058707499929103557275695" + "937295677892604799308353051124627278706035295473126217205599" + "530746756205492173148619619059839609108464715691924592576481" + "382126740168148453274964955074129767533813576349605298268179" + "068244338581354855186516322703199278802275718580352103754433" + "240982354636196477238624205575823556321375833700666021556412" + "182358152808745703724362178773168996492870519432472065091133" + "11767578125e-4966", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-16496L), + TEST ("3.2375875597190125554622194791138232762497846690173405048449" + "421945985197700620596855088357456383249701279390707384240598" + "382936099431912710233425550359863089915213963553756674672083" + "673128192358701197242632527769951957277781260855740340354110" + "173441284912381364143945515141786687806740155311932822963199" + "131134959539539338316310328556057915323285980341541664226172" + "265348802632447238304822896568757017013159021750199744350376" + "278243566840330589397015778833566517337174685312047058426075" + "688036665697114219175258344917835835984013214761767520398571" + "735519302688914468501077605843338555214753050109407568139932" + "147308502166696009676987494125921676927574464221699654264839" + "192243410627511520570610765229732327315423820550872393685221" + "676561948307418196052769717057382723931306989375320957256133" + "838073129463951849807075348034900035402513943244599879584009" + "391110011261908615236154859382854977144106096407982738165117" + "693915685918231984764157652755343417097983676870433731452629" + "339981084526616826599425863049784138127555181662391766144738" + "159400253422795753041594932607700680306368857466952063923782" + "760519487592638820793893796669403574411398166619131986561877" + "034635197232626532239192571857518274939275861531537920777299" + "133535479548088762634002006634954143608168633852204577195463" + "389533233992867620995583241321034602255800668175356808869060" + "608582640890741203603916133682748118680676374951545690715916" + "241859799379894025137504643469040366684778763795442214328000" + "375999444991619403217748350277527106812175542863660436614910" + "135938862296156144947361864759321605496309393905421651264941" + "669606814994816518612155298709843817262034769175075602668866" + "926449523554218142013501373514352370369126244144449924971423" + "038024236058971106053649565799145071085840022305247663313482" + "714565918140785997808209749619683146844964283106915422726638" + "184861327711776708749278315100024436584176080783836115268999" + "055336294569042349971163039294272620322160728879610722678506" + "182344928526064885227397447578450046944618127903428943538029" + "386719288345854473283987116842451647036255801966780244103035" + "425445345127067921349083698736056197567752071915587544133815" + "717564310032485290205726480489464589999677885266171263493459" + "668963623768410922688414177814149693150024191921819721215688" + "114324591287371281400636455584825253000890602388603923710921" + "026880979879158388608823700222683123228822356907857261909150" + "626993825760416437415551396973489279578569909699853422995997" + "974315036153120383930698087773157253674975950409660938084071" + "173163693891122166282318691732176374528554627905530306369204" + "877964658806333996327938827344733821685425961846791581492287" + "250044047142934607523718654369478552373072400018635730811749" + "291666457582760812726851561001954207941547404866373158231367" + "986951247388733285659455982411993350593989550494594498447410" + "984783303191128659803467713819821511544998464785455306500918" + "241648925913966507036336000231915215026183799886938007038845" + "551916478649593272604688927931953165785101738164060543643192" + "949066412847647883846835866623820426428526541564774787007791" + "235843699657232847114093617412355486871810526396392792853731" + "390841657984518997639795008374280777823099107035223998600103" + "103211166230289241182380237703814248941627178152962100972452" + "217697144954497443279450919433943252592977710901289696002698" + "225209041938801190947812141758873162203113090284565687499100" + "109623665868340184032428667217835198069330185880779776269137" + "742366802202585247113480377505916462865316253065105837519292" + "805411191872195967066157363040364443666632564266439033866945" + "366496486863801221986778957510023272290593640187551645170603" + "215150911733580059874983597994671388176488814794186236946834" + "548816837468411497151813344980969677026131105901402313456769" + "561412278508799050185582199844418197980544632067644131002512" + "557755358307705356209461595354064971347590431926479961905129" + "785864961996560707071051177738535042777950247546470241655891" + "294428226271478689174637951663865529219133988782700199051475" + "108495188941141025360733690471601309904116260484264378352956" + "830972782977747351810451586166745640802378131466232692150196" + "132319386267589275314909450293562079332893638471814389025392" + "970579695249613486078445695214422379148991006996109216699215" + "721671648754881325271879493185438097033881789311707997697928" + "860866812849648616086569281093053695399558469641977866770538" + "476039621947215238679930485285585513808236992918733520331110" + "962448142457896209307561142289713638388281085340301520317159" + "297224995464365477734040179470355969363384621039467975256670" + "339354334892926205316491997244008324897517881293654265688813" + "283579663372924392043825371743576754041055802440187836850412" + "247984570221893156921757872572872036331343007592090605703195" + "088864753777199111760713027328198781654685927174063882187275" + "850263521274368447629947228263907797373221137688424821608129" + "731003236738630502344377228987961455961818623205503012858619" + "800521948637807438081069469400793496307826769301971342062597" + "391253779410607511754278887744936774785938056823221738917303" + "119592848951788560393540150358649310736020595310015728915288" + "289821678102453433273888879288862086153270028346900686360943" + "250522514297816412678213672667152836436597491522644579383191" + "851483036048273636234050603745735057899230038434384361744893" + "838050985090837220507663282503497932038372021626246900935334" + "781144388106031405650705176699646299475436084049881780196520" + "881623075256119318210664937469946410480660118598143375898298" + "965497205621170906772915413181530577151676241283182977713765" + "317889730886996471681592298058774155948285325398399674640645" + "566475947058303746531133735308766583802401453804232106737787" + "768035926272312574958173945816077962772826443125107145322971" + "087220172175473177449006473180221085709470643042801004189714" + "505520073568915195232936144169440163547568663500508335014169" + "425050712038101167190534305435310279534374364467455668392421" + "298604104431988622194699721632249712583483143417550152131186" + "288827131347662976240916448058011869761525369135147129192405" + "037216807405860168320999468074663117771890506566769628495813" + "837909047220874786467663205170561835819702362482274133227483" + "041342457179876653773960112367066273208176545656826800069574" + "547599816180234764485446735080683694920665668954370505715843" + "455110709594838989387382250502925336743830916124954071268053" + "817964873658921319164268375226716232666274830656557657055342" + "393552148933959057023293404027940528842591460490646295820755" + "765633076707491896621769767253619370462005760078938144396953" + "018925287611875441613896820035092167912718365454954166761481" + "511451950826683236776211829914518353242818636196417736206010" + "145109509967467266157037719712666871515644277723594273405669" + "093518586548079997818085130346801040781966074621669280188633" + "856299289656492439545033914935979634179552686396067914528336" + "924678729357419403624798426886422277256625046946795576781709" + "298737741510378578072199383561520569978396254537274419476511" + "983161908266152660163477408756159700314280122283281906103567" + "067156627222418787671312246698375736071215395722993294041012" + "744631560602983489316782773611740570974847045870362276861106" + "774130949410119612624380274679529647271294627526939490197641" + "645383447755544661714281218489998189691140343327976729279891" + "077101372792811842951182338559423852563331641533781432796742" + "873181364582071661749961126386895359760476172215209100274274" + "851619657020388051618654944574445941780637669570374280535432" + "399157923698778110534174856844986671232161320063786308144771" + "068130888985636449091787794632959555876880672773686838364706" + "122084832995722603440165161942472322987408003421165899848443" + "566885769845535074102932500939450142098799833145629484519298" + "622410092757836842296697186410137365818568152771850732591405" + "340248509247875448717161746544246407280913725135059228268131" + "453903691495906528862410006254958805237716723952273129715780" + "425223305517882562616830806755498203755676925741529569939445" + "043490046171854709456730491532189688306135861932534903184518" + "717706426178028900836080044604143054210332610482947502104703" + "032028463320549525316174330585387581543470878545616097381416" + "151451037487775797335749896735101048367502483255117772375025" + "269956476872153642623856062175536913321594213515989059505375" + "135183515207096576145781316398544325320022366962008554087665" + "201050763789833457082359181807492731245904330245198691471329" + "319324627030678762142685799400660305214140453863665517807185" + "105354694177602424937823924511789133225030926924236498557565" + "212794565582753399214908928688568628950225640472058381324292" + "866007645368390366981937596341868992912741319342960598330486" + "905946276235953206760977215407164729909506118583728562718724" + "235732515062300426080741679038098122641980345051854359908213" + "563779664847422505775922437272989231878912994048540484468227" + "199282393172540734295329890896755037903724644870572648941076" + "132423009124870700536763793881894969000042397318202298868940" + "530196108237639578098191879486398269734335286831689173606327" + "500405178476864790935386838169242131756729797688220656276969" + "434749140204830563840068728357383111109865861495106613619153" + "421725274090787422508800568671498311491210197298472420373359" + "044400631309819996507004167876832936101195902219429743174557" + "163362274547892397934880322990633165889175059124060202200452" + "648684577182821651588921716304707095995039972827781680978274" + "973838841958209215836456212939412000456040621743349981715350" + "305133662772937143899882197561295808685181679238411733642697" + "748892466944352640514849114619882270112386610376024527101889" + "119004382703622803911212700216792471528793241950356942780714" + "774957204475130171711488773121937363663487116301055073658645" + "980695862570269762957141239436916216723776945522480189876803" + "386123827956059851911061129713987960026363403936931196519733" + "447116468545744829997003979525368783485129837821983305137448" + "031689360764270759437872004895754351479890333865299565515706" + "690471030702230767978923298480584997256328135245813726407464" + "159230169328539541524724878662873185450510653764301207480799" + "488602832618557388369552461881286225098286358672257087829660" + "174231705350465091313887538950130611513878400895128618426154" + "417299623157313010877679890009181366178705821415173309356192" + "686429159835537275875876767919535369607142366878476025895389" + "279625854409611312402187942369446302119309705461187450803468" + "606366203101933821675974655441744883993796837164178911391575" + "751463591650231265941242686108002052587760190005508737394014" + "453031299745602214380618917954427803281262300931789525045703" + "809571995929933387196864877982754748535701000330924817431298" + "365273697561943437891318220691072831562717726798635382168915" + "187137325209768346284183473712613689334546294053718697897526" + "843398053681374508250012035211936425982389543291022583173280" + "985811169783438836113209408147936547458073361625570571955232" + "746103236016857123149307991441916732438322836596693687161268" + "151183603534413030099360835441935243365729307681545065674775" + "655582111435085683962037818795920337874290127531069511296530" + "746308404963763022896682861683252995925040540038039172626001" + "958340013361801588367655990575379797454237110701588716509764" + "759243657077584013289594787913434812509790293636440469725564" + "222946985585616708175959944099853232059130350099233608207347" + "955460820122006976717445739825352919058005528371183277021250" + "186916447745609162301667393077050176560656798672598371789181" + "232542195795945358691713761483976100058707499929103557275695" + "937295677892604799308353051124627278706035295473126217205599" + "530746756205492173148619619059839609108464715691924592576481" + "382126740168148453274964955074129767533813576349605298268179" + "068244338581354855186516322703199278802275718580352103754433" + "240982354636196477238624205575823556321375833700666021556412" + "182358152808745703724362178773168996492870519432472065091133" + "11767578126e-4966", + false, + 0x0p+0f, + 0x0p+0f, + 0x0p+0f, + 0x8p-152f, + false, + 0x0p+0, + 0x0p+0, + 0x0p+0, + 0x4p-1076, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x8p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-16448L, + false, + 0x0p+0L, + 0x0p+0L, + 0x0p+0L, + 0x4p-1076L, + false, + 0x0p+0L, + 0x4p-16496L, + 0x0p+0L, + 0x4p-16496L), + TEST ("-3.237587559719012555462219479113823276249784669017340504844" + "942194598519770062059685508835745638324970127939070738424059" + "838293609943191271023342555035986308991521396355375667467208" + "367312819235870119724263252776995195727778126085574034035411" + "017344128491238136414394551514178668780674015531193282296319" + "913113495953953933831631032855605791532328598034154166422617" + "226534880263244723830482289656875701701315902175019974435037" + "627824356684033058939701577883356651733717468531204705842607" + "568803666569711421917525834491783583598401321476176752039857" + "173551930268891446850107760584333855521475305010940756813993" + "214730850216669600967698749412592167692757446422169965426483" + "919224341062751152057061076522973232731542382055087239368522" + "167656194830741819605276971705738272393130698937532095725613" + "383807312946395184980707534803490003540251394324459987958400" + "939111001126190861523615485938285497714410609640798273816511" + "769391568591823198476415765275534341709798367687043373145262" + "933998108452661682659942586304978413812755518166239176614473" + "815940025342279575304159493260770068030636885746695206392378" + "276051948759263882079389379666940357441139816661913198656187" + "703463519723262653223919257185751827493927586153153792077729" + "913353547954808876263400200663495414360816863385220457719546" + "338953323399286762099558324132103460225580066817535680886906" + "060858264089074120360391613368274811868067637495154569071591" + "624185979937989402513750464346904036668477876379544221432800" + "037599944499161940321774835027752710681217554286366043661491" + "013593886229615614494736186475932160549630939390542165126494" + "166960681499481651861215529870984381726203476917507560266886" + "692644952355421814201350137351435237036912624414444992497142" + "303802423605897110605364956579914507108584002230524766331348" + "271456591814078599780820974961968314684496428310691542272663" + "818486132771177670874927831510002443658417608078383611526899" + "905533629456904234997116303929427262032216072887961072267850" + "618234492852606488522739744757845004694461812790342894353802" + "938671928834585447328398711684245164703625580196678024410303" + "542544534512706792134908369873605619756775207191558754413381" + "571756431003248529020572648048946458999967788526617126349345" + "966896362376841092268841417781414969315002419192181972121568" + "811432459128737128140063645558482525300089060238860392371092" + "102688097987915838860882370022268312322882235690785726190915" + "062699382576041643741555139697348927957856990969985342299599" + "797431503615312038393069808777315725367497595040966093808407" + "117316369389112216628231869173217637452855462790553030636920" + "487796465880633399632793882734473382168542596184679158149228" + "725004404714293460752371865436947855237307240001863573081174" + "929166645758276081272685156100195420794154740486637315823136" + "798695124738873328565945598241199335059398955049459449844741" + "098478330319112865980346771381982151154499846478545530650091" + "824164892591396650703633600023191521502618379988693800703884" + "555191647864959327260468892793195316578510173816406054364319" + "294906641284764788384683586662382042642852654156477478700779" + "123584369965723284711409361741235548687181052639639279285373" + "139084165798451899763979500837428077782309910703522399860010" + "310321116623028924118238023770381424894162717815296210097245" + "221769714495449744327945091943394325259297771090128969600269" + "822520904193880119094781214175887316220311309028456568749910" + "010962366586834018403242866721783519806933018588077977626913" + "774236680220258524711348037750591646286531625306510583751929" + "280541119187219596706615736304036444366663256426643903386694" + "536649648686380122198677895751002327229059364018755164517060" + "321515091173358005987498359799467138817648881479418623694683" + "454881683746841149715181334498096967702613110590140231345676" + "956141227850879905018558219984441819798054463206764413100251" + "255775535830770535620946159535406497134759043192647996190512" + "978586496199656070707105117773853504277795024754647024165589" + "129442822627147868917463795166386552921913398878270019905147" + "510849518894114102536073369047160130990411626048426437835295" + "683097278297774735181045158616674564080237813146623269215019" + "613231938626758927531490945029356207933289363847181438902539" + "297057969524961348607844569521442237914899100699610921669921" + "572167164875488132527187949318543809703388178931170799769792" + "886086681284964861608656928109305369539955846964197786677053" + "847603962194721523867993048528558551380823699291873352033111" + "096244814245789620930756114228971363838828108534030152031715" + "929722499546436547773404017947035596936338462103946797525667" + "033935433489292620531649199724400832489751788129365426568881" + "328357966337292439204382537174357675404105580244018783685041" + "224798457022189315692175787257287203633134300759209060570319" + "508886475377719911176071302732819878165468592717406388218727" + "585026352127436844762994722826390779737322113768842482160812" + "973100323673863050234437722898796145596181862320550301285861" + "980052194863780743808106946940079349630782676930197134206259" + "739125377941060751175427888774493677478593805682322173891730" + "311959284895178856039354015035864931073602059531001572891528" + "828982167810245343327388887928886208615327002834690068636094" + "325052251429781641267821367266715283643659749152264457938319" + "185148303604827363623405060374573505789923003843438436174489" + "383805098509083722050766328250349793203837202162624690093533" + "478114438810603140565070517669964629947543608404988178019652" + "088162307525611931821066493746994641048066011859814337589829" + "896549720562117090677291541318153057715167624128318297771376" + "531788973088699647168159229805877415594828532539839967464064" + "556647594705830374653113373530876658380240145380423210673778" + "776803592627231257495817394581607796277282644312510714532297" + "108722017217547317744900647318022108570947064304280100418971" + "450552007356891519523293614416944016354756866350050833501416" + "942505071203810116719053430543531027953437436446745566839242" + "129860410443198862219469972163224971258348314341755015213118" + "628882713134766297624091644805801186976152536913514712919240" + "503721680740586016832099946807466311777189050656676962849581" + "383790904722087478646766320517056183581970236248227413322748" + "304134245717987665377396011236706627320817654565682680006957" + "454759981618023476448544673508068369492066566895437050571584" + "345511070959483898938738225050292533674383091612495407126805" + "381796487365892131916426837522671623266627483065655765705534" + "239355214893395905702329340402794052884259146049064629582075" + "576563307670749189662176976725361937046200576007893814439695" + "301892528761187544161389682003509216791271836545495416676148" + "151145195082668323677621182991451835324281863619641773620601" + "014510950996746726615703771971266687151564427772359427340566" + "909351858654807999781808513034680104078196607462166928018863" + "385629928965649243954503391493597963417955268639606791452833" + "692467872935741940362479842688642227725662504694679557678170" + "929873774151037857807219938356152056997839625453727441947651" + "198316190826615266016347740875615970031428012228328190610356" + "706715662722241878767131224669837573607121539572299329404101" + "274463156060298348931678277361174057097484704587036227686110" + "677413094941011961262438027467952964727129462752693949019764" + "164538344775554466171428121848999818969114034332797672927989" + "107710137279281184295118233855942385256333164153378143279674" + "287318136458207166174996112638689535976047617221520910027427" + "485161965702038805161865494457444594178063766957037428053543" + "239915792369877811053417485684498667123216132006378630814477" + "106813088898563644909178779463295955587688067277368683836470" + "612208483299572260344016516194247232298740800342116589984844" + "356688576984553507410293250093945014209879983314562948451929" + "862241009275783684229669718641013736581856815277185073259140" + "534024850924787544871716174654424640728091372513505922826813" + "145390369149590652886241000625495880523771672395227312971578" + "042522330551788256261683080675549820375567692574152956993944" + "504349004617185470945673049153218968830613586193253490318451" + "871770642617802890083608004460414305421033261048294750210470" + "303202846332054952531617433058538758154347087854561609738141" + "615145103748777579733574989673510104836750248325511777237502" + "526995647687215364262385606217553691332159421351598905950537" + "513518351520709657614578131639854432532002236696200855408766" + "520105076378983345708235918180749273124590433024519869147132" + "931932462703067876214268579940066030521414045386366551780718" + "510535469417760242493782392451178913322503092692423649855756" + "521279456558275339921490892868856862895022564047205838132429" + "286600764536839036698193759634186899291274131934296059833048" + "690594627623595320676097721540716472990950611858372856271872" + "423573251506230042608074167903809812264198034505185435990821" + "356377966484742250577592243727298923187891299404854048446822" + "719928239317254073429532989089675503790372464487057264894107" + "613242300912487070053676379388189496900004239731820229886894" + "053019610823763957809819187948639826973433528683168917360632" + "750040517847686479093538683816924213175672979768822065627696" + "943474914020483056384006872835738311110986586149510661361915" + "342172527409078742250880056867149831149121019729847242037335" + "904440063130981999650700416787683293610119590221942974317455" + "716336227454789239793488032299063316588917505912406020220045" + "264868457718282165158892171630470709599503997282778168097827" + "497383884195820921583645621293941200045604062174334998171535" + "030513366277293714389988219756129580868518167923841173364269" + "774889246694435264051484911461988227011238661037602452710188" + "911900438270362280391121270021679247152879324195035694278071" + "477495720447513017171148877312193736366348711630105507365864" + "598069586257026976295714123943691621672377694552248018987680" + "338612382795605985191106112971398796002636340393693119651973" + "344711646854574482999700397952536878348512983782198330513744" + "803168936076427075943787200489575435147989033386529956551570" + "669047103070223076797892329848058499725632813524581372640746" + "415923016932853954152472487866287318545051065376430120748079" + "948860283261855738836955246188128622509828635867225708782966" + "017423170535046509131388753895013061151387840089512861842615" + "441729962315731301087767989000918136617870582141517330935619" + "268642915983553727587587676791953536960714236687847602589538" + "927962585440961131240218794236944630211930970546118745080346" + "860636620310193382167597465544174488399379683716417891139157" + "575146359165023126594124268610800205258776019000550873739401" + "445303129974560221438061891795442780328126230093178952504570" + "380957199592993338719686487798275474853570100033092481743129" + "836527369756194343789131822069107283156271772679863538216891" + "518713732520976834628418347371261368933454629405371869789752" + "684339805368137450825001203521193642598238954329102258317328" + "098581116978343883611320940814793654745807336162557057195523" + "274610323601685712314930799144191673243832283659669368716126" + "815118360353441303009936083544193524336572930768154506567477" + "565558211143508568396203781879592033787429012753106951129653" + "074630840496376302289668286168325299592504054003803917262600" + "195834001336180158836765599057537979745423711070158871650976" + "475924365707758401328959478791343481250979029363644046972556" + "422294698558561670817595994409985323205913035009923360820734" + "795546082012200697671744573982535291905800552837118327702125" + "018691644774560916230166739307705017656065679867259837178918" + "123254219579594535869171376148397610005870749992910355727569" + "593729567789260479930835305112462727870603529547312621720559" + "953074675620549217314861961905983960910846471569192459257648" + "138212674016814845327496495507412976753381357634960529826817" + "906824433858135485518651632270319927880227571858035210375443" + "324098235463619647723862420557582355632137583370066602155641" + "218235815280874570372436217877316899649287051943247206509113" + "311767578124e-4966", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16496L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L), + TEST ("-3.237587559719012555462219479113823276249784669017340504844" + "942194598519770062059685508835745638324970127939070738424059" + "838293609943191271023342555035986308991521396355375667467208" + "367312819235870119724263252776995195727778126085574034035411" + "017344128491238136414394551514178668780674015531193282296319" + "913113495953953933831631032855605791532328598034154166422617" + "226534880263244723830482289656875701701315902175019974435037" + "627824356684033058939701577883356651733717468531204705842607" + "568803666569711421917525834491783583598401321476176752039857" + "173551930268891446850107760584333855521475305010940756813993" + "214730850216669600967698749412592167692757446422169965426483" + "919224341062751152057061076522973232731542382055087239368522" + "167656194830741819605276971705738272393130698937532095725613" + "383807312946395184980707534803490003540251394324459987958400" + "939111001126190861523615485938285497714410609640798273816511" + "769391568591823198476415765275534341709798367687043373145262" + "933998108452661682659942586304978413812755518166239176614473" + "815940025342279575304159493260770068030636885746695206392378" + "276051948759263882079389379666940357441139816661913198656187" + "703463519723262653223919257185751827493927586153153792077729" + "913353547954808876263400200663495414360816863385220457719546" + "338953323399286762099558324132103460225580066817535680886906" + "060858264089074120360391613368274811868067637495154569071591" + "624185979937989402513750464346904036668477876379544221432800" + "037599944499161940321774835027752710681217554286366043661491" + "013593886229615614494736186475932160549630939390542165126494" + "166960681499481651861215529870984381726203476917507560266886" + "692644952355421814201350137351435237036912624414444992497142" + "303802423605897110605364956579914507108584002230524766331348" + "271456591814078599780820974961968314684496428310691542272663" + "818486132771177670874927831510002443658417608078383611526899" + "905533629456904234997116303929427262032216072887961072267850" + "618234492852606488522739744757845004694461812790342894353802" + "938671928834585447328398711684245164703625580196678024410303" + "542544534512706792134908369873605619756775207191558754413381" + "571756431003248529020572648048946458999967788526617126349345" + "966896362376841092268841417781414969315002419192181972121568" + "811432459128737128140063645558482525300089060238860392371092" + "102688097987915838860882370022268312322882235690785726190915" + "062699382576041643741555139697348927957856990969985342299599" + "797431503615312038393069808777315725367497595040966093808407" + "117316369389112216628231869173217637452855462790553030636920" + "487796465880633399632793882734473382168542596184679158149228" + "725004404714293460752371865436947855237307240001863573081174" + "929166645758276081272685156100195420794154740486637315823136" + "798695124738873328565945598241199335059398955049459449844741" + "098478330319112865980346771381982151154499846478545530650091" + "824164892591396650703633600023191521502618379988693800703884" + "555191647864959327260468892793195316578510173816406054364319" + "294906641284764788384683586662382042642852654156477478700779" + "123584369965723284711409361741235548687181052639639279285373" + "139084165798451899763979500837428077782309910703522399860010" + "310321116623028924118238023770381424894162717815296210097245" + "221769714495449744327945091943394325259297771090128969600269" + "822520904193880119094781214175887316220311309028456568749910" + "010962366586834018403242866721783519806933018588077977626913" + "774236680220258524711348037750591646286531625306510583751929" + "280541119187219596706615736304036444366663256426643903386694" + "536649648686380122198677895751002327229059364018755164517060" + "321515091173358005987498359799467138817648881479418623694683" + "454881683746841149715181334498096967702613110590140231345676" + "956141227850879905018558219984441819798054463206764413100251" + "255775535830770535620946159535406497134759043192647996190512" + "978586496199656070707105117773853504277795024754647024165589" + "129442822627147868917463795166386552921913398878270019905147" + "510849518894114102536073369047160130990411626048426437835295" + "683097278297774735181045158616674564080237813146623269215019" + "613231938626758927531490945029356207933289363847181438902539" + "297057969524961348607844569521442237914899100699610921669921" + "572167164875488132527187949318543809703388178931170799769792" + "886086681284964861608656928109305369539955846964197786677053" + "847603962194721523867993048528558551380823699291873352033111" + "096244814245789620930756114228971363838828108534030152031715" + "929722499546436547773404017947035596936338462103946797525667" + "033935433489292620531649199724400832489751788129365426568881" + "328357966337292439204382537174357675404105580244018783685041" + "224798457022189315692175787257287203633134300759209060570319" + "508886475377719911176071302732819878165468592717406388218727" + "585026352127436844762994722826390779737322113768842482160812" + "973100323673863050234437722898796145596181862320550301285861" + "980052194863780743808106946940079349630782676930197134206259" + "739125377941060751175427888774493677478593805682322173891730" + "311959284895178856039354015035864931073602059531001572891528" + "828982167810245343327388887928886208615327002834690068636094" + "325052251429781641267821367266715283643659749152264457938319" + "185148303604827363623405060374573505789923003843438436174489" + "383805098509083722050766328250349793203837202162624690093533" + "478114438810603140565070517669964629947543608404988178019652" + "088162307525611931821066493746994641048066011859814337589829" + "896549720562117090677291541318153057715167624128318297771376" + "531788973088699647168159229805877415594828532539839967464064" + "556647594705830374653113373530876658380240145380423210673778" + "776803592627231257495817394581607796277282644312510714532297" + "108722017217547317744900647318022108570947064304280100418971" + "450552007356891519523293614416944016354756866350050833501416" + "942505071203810116719053430543531027953437436446745566839242" + "129860410443198862219469972163224971258348314341755015213118" + "628882713134766297624091644805801186976152536913514712919240" + "503721680740586016832099946807466311777189050656676962849581" + "383790904722087478646766320517056183581970236248227413322748" + "304134245717987665377396011236706627320817654565682680006957" + "454759981618023476448544673508068369492066566895437050571584" + "345511070959483898938738225050292533674383091612495407126805" + "381796487365892131916426837522671623266627483065655765705534" + "239355214893395905702329340402794052884259146049064629582075" + "576563307670749189662176976725361937046200576007893814439695" + "301892528761187544161389682003509216791271836545495416676148" + "151145195082668323677621182991451835324281863619641773620601" + "014510950996746726615703771971266687151564427772359427340566" + "909351858654807999781808513034680104078196607462166928018863" + "385629928965649243954503391493597963417955268639606791452833" + "692467872935741940362479842688642227725662504694679557678170" + "929873774151037857807219938356152056997839625453727441947651" + "198316190826615266016347740875615970031428012228328190610356" + "706715662722241878767131224669837573607121539572299329404101" + "274463156060298348931678277361174057097484704587036227686110" + "677413094941011961262438027467952964727129462752693949019764" + "164538344775554466171428121848999818969114034332797672927989" + "107710137279281184295118233855942385256333164153378143279674" + "287318136458207166174996112638689535976047617221520910027427" + "485161965702038805161865494457444594178063766957037428053543" + "239915792369877811053417485684498667123216132006378630814477" + "106813088898563644909178779463295955587688067277368683836470" + "612208483299572260344016516194247232298740800342116589984844" + "356688576984553507410293250093945014209879983314562948451929" + "862241009275783684229669718641013736581856815277185073259140" + "534024850924787544871716174654424640728091372513505922826813" + "145390369149590652886241000625495880523771672395227312971578" + "042522330551788256261683080675549820375567692574152956993944" + "504349004617185470945673049153218968830613586193253490318451" + "871770642617802890083608004460414305421033261048294750210470" + "303202846332054952531617433058538758154347087854561609738141" + "615145103748777579733574989673510104836750248325511777237502" + "526995647687215364262385606217553691332159421351598905950537" + "513518351520709657614578131639854432532002236696200855408766" + "520105076378983345708235918180749273124590433024519869147132" + "931932462703067876214268579940066030521414045386366551780718" + "510535469417760242493782392451178913322503092692423649855756" + "521279456558275339921490892868856862895022564047205838132429" + "286600764536839036698193759634186899291274131934296059833048" + "690594627623595320676097721540716472990950611858372856271872" + "423573251506230042608074167903809812264198034505185435990821" + "356377966484742250577592243727298923187891299404854048446822" + "719928239317254073429532989089675503790372464487057264894107" + "613242300912487070053676379388189496900004239731820229886894" + "053019610823763957809819187948639826973433528683168917360632" + "750040517847686479093538683816924213175672979768822065627696" + "943474914020483056384006872835738311110986586149510661361915" + "342172527409078742250880056867149831149121019729847242037335" + "904440063130981999650700416787683293610119590221942974317455" + "716336227454789239793488032299063316588917505912406020220045" + "264868457718282165158892171630470709599503997282778168097827" + "497383884195820921583645621293941200045604062174334998171535" + "030513366277293714389988219756129580868518167923841173364269" + "774889246694435264051484911461988227011238661037602452710188" + "911900438270362280391121270021679247152879324195035694278071" + "477495720447513017171148877312193736366348711630105507365864" + "598069586257026976295714123943691621672377694552248018987680" + "338612382795605985191106112971398796002636340393693119651973" + "344711646854574482999700397952536878348512983782198330513744" + "803168936076427075943787200489575435147989033386529956551570" + "669047103070223076797892329848058499725632813524581372640746" + "415923016932853954152472487866287318545051065376430120748079" + "948860283261855738836955246188128622509828635867225708782966" + "017423170535046509131388753895013061151387840089512861842615" + "441729962315731301087767989000918136617870582141517330935619" + "268642915983553727587587676791953536960714236687847602589538" + "927962585440961131240218794236944630211930970546118745080346" + "860636620310193382167597465544174488399379683716417891139157" + "575146359165023126594124268610800205258776019000550873739401" + "445303129974560221438061891795442780328126230093178952504570" + "380957199592993338719686487798275474853570100033092481743129" + "836527369756194343789131822069107283156271772679863538216891" + "518713732520976834628418347371261368933454629405371869789752" + "684339805368137450825001203521193642598238954329102258317328" + "098581116978343883611320940814793654745807336162557057195523" + "274610323601685712314930799144191673243832283659669368716126" + "815118360353441303009936083544193524336572930768154506567477" + "565558211143508568396203781879592033787429012753106951129653" + "074630840496376302289668286168325299592504054003803917262600" + "195834001336180158836765599057537979745423711070158871650976" + "475924365707758401328959478791343481250979029363644046972556" + "422294698558561670817595994409985323205913035009923360820734" + "795546082012200697671744573982535291905800552837118327702125" + "018691644774560916230166739307705017656065679867259837178918" + "123254219579594535869171376148397610005870749992910355727569" + "593729567789260479930835305112462727870603529547312621720559" + "953074675620549217314861961905983960910846471569192459257648" + "138212674016814845327496495507412976753381357634960529826817" + "906824433858135485518651632270319927880227571858035210375443" + "324098235463619647723862420557582355632137583370066602155641" + "218235815280874570372436217877316899649287051943247206509113" + "311767578125e-4966", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16496L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L), + TEST ("-3.237587559719012555462219479113823276249784669017340504844" + "942194598519770062059685508835745638324970127939070738424059" + "838293609943191271023342555035986308991521396355375667467208" + "367312819235870119724263252776995195727778126085574034035411" + "017344128491238136414394551514178668780674015531193282296319" + "913113495953953933831631032855605791532328598034154166422617" + "226534880263244723830482289656875701701315902175019974435037" + "627824356684033058939701577883356651733717468531204705842607" + "568803666569711421917525834491783583598401321476176752039857" + "173551930268891446850107760584333855521475305010940756813993" + "214730850216669600967698749412592167692757446422169965426483" + "919224341062751152057061076522973232731542382055087239368522" + "167656194830741819605276971705738272393130698937532095725613" + "383807312946395184980707534803490003540251394324459987958400" + "939111001126190861523615485938285497714410609640798273816511" + "769391568591823198476415765275534341709798367687043373145262" + "933998108452661682659942586304978413812755518166239176614473" + "815940025342279575304159493260770068030636885746695206392378" + "276051948759263882079389379666940357441139816661913198656187" + "703463519723262653223919257185751827493927586153153792077729" + "913353547954808876263400200663495414360816863385220457719546" + "338953323399286762099558324132103460225580066817535680886906" + "060858264089074120360391613368274811868067637495154569071591" + "624185979937989402513750464346904036668477876379544221432800" + "037599944499161940321774835027752710681217554286366043661491" + "013593886229615614494736186475932160549630939390542165126494" + "166960681499481651861215529870984381726203476917507560266886" + "692644952355421814201350137351435237036912624414444992497142" + "303802423605897110605364956579914507108584002230524766331348" + "271456591814078599780820974961968314684496428310691542272663" + "818486132771177670874927831510002443658417608078383611526899" + "905533629456904234997116303929427262032216072887961072267850" + "618234492852606488522739744757845004694461812790342894353802" + "938671928834585447328398711684245164703625580196678024410303" + "542544534512706792134908369873605619756775207191558754413381" + "571756431003248529020572648048946458999967788526617126349345" + "966896362376841092268841417781414969315002419192181972121568" + "811432459128737128140063645558482525300089060238860392371092" + "102688097987915838860882370022268312322882235690785726190915" + "062699382576041643741555139697348927957856990969985342299599" + "797431503615312038393069808777315725367497595040966093808407" + "117316369389112216628231869173217637452855462790553030636920" + "487796465880633399632793882734473382168542596184679158149228" + "725004404714293460752371865436947855237307240001863573081174" + "929166645758276081272685156100195420794154740486637315823136" + "798695124738873328565945598241199335059398955049459449844741" + "098478330319112865980346771381982151154499846478545530650091" + "824164892591396650703633600023191521502618379988693800703884" + "555191647864959327260468892793195316578510173816406054364319" + "294906641284764788384683586662382042642852654156477478700779" + "123584369965723284711409361741235548687181052639639279285373" + "139084165798451899763979500837428077782309910703522399860010" + "310321116623028924118238023770381424894162717815296210097245" + "221769714495449744327945091943394325259297771090128969600269" + "822520904193880119094781214175887316220311309028456568749910" + "010962366586834018403242866721783519806933018588077977626913" + "774236680220258524711348037750591646286531625306510583751929" + "280541119187219596706615736304036444366663256426643903386694" + "536649648686380122198677895751002327229059364018755164517060" + "321515091173358005987498359799467138817648881479418623694683" + "454881683746841149715181334498096967702613110590140231345676" + "956141227850879905018558219984441819798054463206764413100251" + "255775535830770535620946159535406497134759043192647996190512" + "978586496199656070707105117773853504277795024754647024165589" + "129442822627147868917463795166386552921913398878270019905147" + "510849518894114102536073369047160130990411626048426437835295" + "683097278297774735181045158616674564080237813146623269215019" + "613231938626758927531490945029356207933289363847181438902539" + "297057969524961348607844569521442237914899100699610921669921" + "572167164875488132527187949318543809703388178931170799769792" + "886086681284964861608656928109305369539955846964197786677053" + "847603962194721523867993048528558551380823699291873352033111" + "096244814245789620930756114228971363838828108534030152031715" + "929722499546436547773404017947035596936338462103946797525667" + "033935433489292620531649199724400832489751788129365426568881" + "328357966337292439204382537174357675404105580244018783685041" + "224798457022189315692175787257287203633134300759209060570319" + "508886475377719911176071302732819878165468592717406388218727" + "585026352127436844762994722826390779737322113768842482160812" + "973100323673863050234437722898796145596181862320550301285861" + "980052194863780743808106946940079349630782676930197134206259" + "739125377941060751175427888774493677478593805682322173891730" + "311959284895178856039354015035864931073602059531001572891528" + "828982167810245343327388887928886208615327002834690068636094" + "325052251429781641267821367266715283643659749152264457938319" + "185148303604827363623405060374573505789923003843438436174489" + "383805098509083722050766328250349793203837202162624690093533" + "478114438810603140565070517669964629947543608404988178019652" + "088162307525611931821066493746994641048066011859814337589829" + "896549720562117090677291541318153057715167624128318297771376" + "531788973088699647168159229805877415594828532539839967464064" + "556647594705830374653113373530876658380240145380423210673778" + "776803592627231257495817394581607796277282644312510714532297" + "108722017217547317744900647318022108570947064304280100418971" + "450552007356891519523293614416944016354756866350050833501416" + "942505071203810116719053430543531027953437436446745566839242" + "129860410443198862219469972163224971258348314341755015213118" + "628882713134766297624091644805801186976152536913514712919240" + "503721680740586016832099946807466311777189050656676962849581" + "383790904722087478646766320517056183581970236248227413322748" + "304134245717987665377396011236706627320817654565682680006957" + "454759981618023476448544673508068369492066566895437050571584" + "345511070959483898938738225050292533674383091612495407126805" + "381796487365892131916426837522671623266627483065655765705534" + "239355214893395905702329340402794052884259146049064629582075" + "576563307670749189662176976725361937046200576007893814439695" + "301892528761187544161389682003509216791271836545495416676148" + "151145195082668323677621182991451835324281863619641773620601" + "014510950996746726615703771971266687151564427772359427340566" + "909351858654807999781808513034680104078196607462166928018863" + "385629928965649243954503391493597963417955268639606791452833" + "692467872935741940362479842688642227725662504694679557678170" + "929873774151037857807219938356152056997839625453727441947651" + "198316190826615266016347740875615970031428012228328190610356" + "706715662722241878767131224669837573607121539572299329404101" + "274463156060298348931678277361174057097484704587036227686110" + "677413094941011961262438027467952964727129462752693949019764" + "164538344775554466171428121848999818969114034332797672927989" + "107710137279281184295118233855942385256333164153378143279674" + "287318136458207166174996112638689535976047617221520910027427" + "485161965702038805161865494457444594178063766957037428053543" + "239915792369877811053417485684498667123216132006378630814477" + "106813088898563644909178779463295955587688067277368683836470" + "612208483299572260344016516194247232298740800342116589984844" + "356688576984553507410293250093945014209879983314562948451929" + "862241009275783684229669718641013736581856815277185073259140" + "534024850924787544871716174654424640728091372513505922826813" + "145390369149590652886241000625495880523771672395227312971578" + "042522330551788256261683080675549820375567692574152956993944" + "504349004617185470945673049153218968830613586193253490318451" + "871770642617802890083608004460414305421033261048294750210470" + "303202846332054952531617433058538758154347087854561609738141" + "615145103748777579733574989673510104836750248325511777237502" + "526995647687215364262385606217553691332159421351598905950537" + "513518351520709657614578131639854432532002236696200855408766" + "520105076378983345708235918180749273124590433024519869147132" + "931932462703067876214268579940066030521414045386366551780718" + "510535469417760242493782392451178913322503092692423649855756" + "521279456558275339921490892868856862895022564047205838132429" + "286600764536839036698193759634186899291274131934296059833048" + "690594627623595320676097721540716472990950611858372856271872" + "423573251506230042608074167903809812264198034505185435990821" + "356377966484742250577592243727298923187891299404854048446822" + "719928239317254073429532989089675503790372464487057264894107" + "613242300912487070053676379388189496900004239731820229886894" + "053019610823763957809819187948639826973433528683168917360632" + "750040517847686479093538683816924213175672979768822065627696" + "943474914020483056384006872835738311110986586149510661361915" + "342172527409078742250880056867149831149121019729847242037335" + "904440063130981999650700416787683293610119590221942974317455" + "716336227454789239793488032299063316588917505912406020220045" + "264868457718282165158892171630470709599503997282778168097827" + "497383884195820921583645621293941200045604062174334998171535" + "030513366277293714389988219756129580868518167923841173364269" + "774889246694435264051484911461988227011238661037602452710188" + "911900438270362280391121270021679247152879324195035694278071" + "477495720447513017171148877312193736366348711630105507365864" + "598069586257026976295714123943691621672377694552248018987680" + "338612382795605985191106112971398796002636340393693119651973" + "344711646854574482999700397952536878348512983782198330513744" + "803168936076427075943787200489575435147989033386529956551570" + "669047103070223076797892329848058499725632813524581372640746" + "415923016932853954152472487866287318545051065376430120748079" + "948860283261855738836955246188128622509828635867225708782966" + "017423170535046509131388753895013061151387840089512861842615" + "441729962315731301087767989000918136617870582141517330935619" + "268642915983553727587587676791953536960714236687847602589538" + "927962585440961131240218794236944630211930970546118745080346" + "860636620310193382167597465544174488399379683716417891139157" + "575146359165023126594124268610800205258776019000550873739401" + "445303129974560221438061891795442780328126230093178952504570" + "380957199592993338719686487798275474853570100033092481743129" + "836527369756194343789131822069107283156271772679863538216891" + "518713732520976834628418347371261368933454629405371869789752" + "684339805368137450825001203521193642598238954329102258317328" + "098581116978343883611320940814793654745807336162557057195523" + "274610323601685712314930799144191673243832283659669368716126" + "815118360353441303009936083544193524336572930768154506567477" + "565558211143508568396203781879592033787429012753106951129653" + "074630840496376302289668286168325299592504054003803917262600" + "195834001336180158836765599057537979745423711070158871650976" + "475924365707758401328959478791343481250979029363644046972556" + "422294698558561670817595994409985323205913035009923360820734" + "795546082012200697671744573982535291905800552837118327702125" + "018691644774560916230166739307705017656065679867259837178918" + "123254219579594535869171376148397610005870749992910355727569" + "593729567789260479930835305112462727870603529547312621720559" + "953074675620549217314861961905983960910846471569192459257648" + "138212674016814845327496495507412976753381357634960529826817" + "906824433858135485518651632270319927880227571858035210375443" + "324098235463619647723862420557582355632137583370066602155641" + "218235815280874570372436217877316899649287051943247206509113" + "311767578126e-4966", + false, + -0x8p-152f, + -0x0p+0f, + -0x0p+0f, + -0x0p+0f, + false, + -0x4p-1076, + -0x0p+0, + -0x0p+0, + -0x0p+0, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x8p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16448L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-1076L, + -0x0p+0L, + -0x0p+0L, + -0x0p+0L, + false, + -0x4p-16496L, + -0x4p-16496L, + -0x0p+0L, + -0x0p+0L), }; static int |