test_cpp_int_deserial.cpp 220 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214
  1. ///////////////////////////////////////////////////////////////
  2. // Copyright 2012 John Maddock. Distributed under the Boost
  3. // Software License, Version 1.0. (See accompanying file
  4. // LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
  5. //
  6. // Compare arithmetic results using fixed_int to GMP results.
  7. //
  8. #ifdef _MSC_VER
  9. #define _SCL_SECURE_NO_WARNINGS
  10. #endif
  11. #include <boost/multiprecision/cpp_int.hpp>
  12. #include "test.hpp"
  13. #include <iostream>
  14. #include <iomanip>
  15. #include <fstream>
  16. #include <boost/archive/text_iarchive.hpp>
  17. #include <boost/archive/text_oarchive.hpp>
  18. #include <boost/archive/binary_iarchive.hpp>
  19. #include <boost/archive/binary_oarchive.hpp>
  20. #include <boost/exception/all.hpp>
  21. #include <boost/filesystem.hpp>
  22. #include <boost/filesystem/fstream.hpp>
  23. boost::filesystem::path root;
  24. template <class T>
  25. void test64()
  26. {
  27. using namespace boost::multiprecision;
  28. const char* text_array[] = {
  29. "4991075498124186",
  30. "-4991075498124186",
  31. "750",
  32. "-750",
  33. "415210192158791091",
  34. "-415210192158791091",
  35. "2172493004228646",
  36. "-2172493004228646",
  37. "993",
  38. "-993",
  39. "801484291299519218",
  40. "-801484291299519218",
  41. "294605502329193119",
  42. "-294605502329193119",
  43. "52506",
  44. "-52506",
  45. "1509449075377",
  46. "-1509449075377",
  47. "2042599",
  48. "-2042599",
  49. "228",
  50. "-228",
  51. "38666759073",
  52. "-38666759073",
  53. "611489",
  54. "-611489",
  55. "5393",
  56. "-5393",
  57. "12930071684",
  58. "-12930071684",
  59. "3606852234541437552",
  60. "-3606852234541437552",
  61. "3764404188985662264",
  62. "-3764404188985662264",
  63. "13300301596736993408",
  64. "-13300301596736993408",
  65. "3519758520509816019",
  66. "-3519758520509816019",
  67. "811951798554103911",
  68. "-811951798554103911",
  69. "2440",
  70. "-2440",
  71. "175149377023342",
  72. "-175149377023342",
  73. "5347169560611466452",
  74. "-5347169560611466452",
  75. "187134495165780485",
  76. "-187134495165780485",
  77. "761263991097466327",
  78. "-761263991097466327",
  79. "205",
  80. "-205",
  81. "7437277938",
  82. "-7437277938",
  83. "2530448830165700",
  84. "-2530448830165700",
  85. "3771546153060183",
  86. "-3771546153060183",
  87. "1238034",
  88. "-1238034",
  89. "1470",
  90. "-1470",
  91. "7",
  92. "-7",
  93. "203065689",
  94. "-203065689",
  95. "130",
  96. "-130",
  97. "74717518653749632",
  98. "-74717518653749632",
  99. "3028698162338",
  100. "-3028698162338",
  101. "3471587482356581",
  102. "-3471587482356581",
  103. "34698219712863216",
  104. "-34698219712863216",
  105. "941191493582057728",
  106. "-941191493582057728",
  107. "14803251323",
  108. "-14803251323",
  109. "552076672455",
  110. "-552076672455",
  111. "410481316632532",
  112. "-410481316632532",
  113. "6",
  114. "-6",
  115. "3851011",
  116. "-3851011",
  117. "12895806074024545",
  118. "-12895806074024545",
  119. "59538",
  120. "-59538",
  121. "944776298737546117",
  122. "-944776298737546117",
  123. "25010240662345",
  124. "-25010240662345",
  125. "29657097213970",
  126. "-29657097213970",
  127. "88000252",
  128. "-88000252",
  129. "545263458410825",
  130. "-545263458410825",
  131. "216600129907865",
  132. "-216600129907865",
  133. "262741237793873",
  134. "-262741237793873",
  135. "226964744",
  136. "-226964744",
  137. "111776857",
  138. "-111776857",
  139. "346922769",
  140. "-346922769",
  141. "7324307011273",
  142. "-7324307011273",
  143. "182",
  144. "-182",
  145. "4204",
  146. "-4204",
  147. "60455",
  148. "-60455",
  149. "35250836865461",
  150. "-35250836865461",
  151. "4100298085120029",
  152. "-4100298085120029",
  153. "6",
  154. "-6",
  155. "3262369",
  156. "-3262369",
  157. "103928",
  158. "-103928",
  159. "82055266594432948",
  160. "-82055266594432948",
  161. "8",
  162. "-8",
  163. "1731",
  164. "-1731",
  165. "338",
  166. "-338",
  167. "13202690186510006305",
  168. "-13202690186510006305",
  169. "3916209444926814",
  170. "-3916209444926814",
  171. "1801701990484582",
  172. "-1801701990484582",
  173. "54042343363098",
  174. "-54042343363098",
  175. "86",
  176. "-86",
  177. "1346703",
  178. "-1346703",
  179. "34499847353417",
  180. "-34499847353417",
  181. "870972860051498248",
  182. "-870972860051498248",
  183. "2676223213",
  184. "-2676223213",
  185. "10",
  186. "-10",
  187. "2207730666882",
  188. "-2207730666882",
  189. "256557933",
  190. "-256557933",
  191. "742",
  192. "-742",
  193. "17809514",
  194. "-17809514",
  195. "41738",
  196. "-41738",
  197. "937490350973899",
  198. "-937490350973899",
  199. "10",
  200. "-10",
  201. "2153955175933399",
  202. "-2153955175933399",
  203. "21",
  204. "-21",
  205. "9767",
  206. "-9767",
  207. "160991545",
  208. "-160991545",
  209. "5537202949",
  210. "-5537202949",
  211. "1729222816",
  212. "-1729222816",
  213. "880543773",
  214. "-880543773",
  215. "4994415770",
  216. "-4994415770",
  217. "5667270210124",
  218. "-5667270210124",
  219. "1789552738407096",
  220. "-1789552738407096",
  221. "52084908492459",
  222. "-52084908492459",
  223. "419923376385918098",
  224. "-419923376385918098",
  225. "193184120308428",
  226. "-193184120308428",
  227. "3716593161704457",
  228. "-3716593161704457",
  229. "835313",
  230. "-835313",
  231. "47794728416344",
  232. "-47794728416344",
  233. "32162267350660",
  234. "-32162267350660",
  235. "1",
  236. "-1",
  237. "6746653265049",
  238. "-6746653265049",
  239. "72924075986572",
  240. "-72924075986572",
  241. "4061",
  242. "-4061",
  243. "1776612112178",
  244. "-1776612112178",
  245. "798",
  246. "-798",
  247. "266401037",
  248. "-266401037",
  249. "6773927626",
  250. "-6773927626",
  251. "935572859041371",
  252. "-935572859041371",
  253. "2667878767142547263",
  254. "-2667878767142547263",
  255. "107694081993",
  256. "-107694081993",
  257. "2478862",
  258. "-2478862",
  259. "75439252494463178",
  260. "-75439252494463178",
  261. "502732137506",
  262. "-502732137506",
  263. "1345285828338743",
  264. "-1345285828338743",
  265. "15181",
  266. "-15181",
  267. "6",
  268. "-6",
  269. "503497089658971",
  270. "-503497089658971",
  271. "3925896855680859",
  272. "-3925896855680859",
  273. "259231",
  274. "-259231",
  275. "7499637741115431",
  276. "-7499637741115431",
  277. "16282283214",
  278. "-16282283214",
  279. "1664259700668569315",
  280. "-1664259700668569315",
  281. "63205423227654",
  282. "-63205423227654",
  283. "122839112",
  284. "-122839112",
  285. "254133246000861645",
  286. "-254133246000861645",
  287. "324448699",
  288. "-324448699",
  289. "2634830651678498499",
  290. "-2634830651678498499",
  291. "65612160397",
  292. "-65612160397",
  293. "7064926544",
  294. "-7064926544",
  295. "3816",
  296. "-3816",
  297. "1964",
  298. "-1964",
  299. "208639360759781",
  300. "-208639360759781",
  301. "3910",
  302. "-3910",
  303. "95080",
  304. "-95080",
  305. "175945",
  306. "-175945",
  307. "5880392757177227",
  308. "-5880392757177227",
  309. "17254376508100660",
  310. "-17254376508100660",
  311. "16568677462108662019",
  312. "-16568677462108662019",
  313. "193490",
  314. "-193490",
  315. "6055816",
  316. "-6055816",
  317. "4421583059373970",
  318. "-4421583059373970",
  319. "34879",
  320. "-34879",
  321. "52778",
  322. "-52778",
  323. "0",
  324. "0",
  325. "935000170463558922",
  326. "-935000170463558922",
  327. "173",
  328. "-173",
  329. "10327678",
  330. "-10327678",
  331. "45810516546119519",
  332. "-45810516546119519",
  333. "8712",
  334. "-8712",
  335. "1932876094515139",
  336. "-1932876094515139",
  337. "84388",
  338. "-84388",
  339. "2050813773845403160",
  340. "-2050813773845403160",
  341. "1542848238524",
  342. "-1542848238524",
  343. "1555584758215827",
  344. "-1555584758215827",
  345. "3571489748",
  346. "-3571489748",
  347. "18291705113053112226",
  348. "-18291705113053112226",
  349. "5713248",
  350. "-5713248",
  351. "43",
  352. "-43",
  353. "7537188724850197",
  354. "-7537188724850197",
  355. "3450872745386207",
  356. "-3450872745386207",
  357. "335595262120",
  358. "-335595262120",
  359. "481778267224",
  360. "-481778267224",
  361. "86277827129",
  362. "-86277827129",
  363. "132147177032651",
  364. "-132147177032651",
  365. "222305704702019735",
  366. "-222305704702019735",
  367. "15454425372201",
  368. "-15454425372201",
  369. "37444",
  370. "-37444",
  371. "14915074751748",
  372. "-14915074751748",
  373. "322332143987563",
  374. "-322332143987563",
  375. "126997604",
  376. "-126997604",
  377. "484901511158709",
  378. "-484901511158709",
  379. "7452547923",
  380. "-7452547923",
  381. "43400437",
  382. "-43400437",
  383. "950",
  384. "-950",
  385. "133435748899",
  386. "-133435748899",
  387. "13225323986",
  388. "-13225323986",
  389. "113",
  390. "-113",
  391. "31298263",
  392. "-31298263",
  393. "33",
  394. "-33",
  395. "11093233",
  396. "-11093233",
  397. "13921728621",
  398. "-13921728621",
  399. "256811828405",
  400. "-256811828405",
  401. "568533463853249",
  402. "-568533463853249",
  403. "384553",
  404. "-384553",
  405. "1046793359495877872",
  406. "-1046793359495877872",
  407. "3513488911471240501",
  408. "-3513488911471240501",
  409. "999",
  410. "-999",
  411. "3257",
  412. "-3257",
  413. "141868737283",
  414. "-141868737283",
  415. "97723548",
  416. "-97723548",
  417. "380232796",
  418. "-380232796",
  419. "11615871",
  420. "-11615871",
  421. "2",
  422. "-2",
  423. "516935083428",
  424. "-516935083428",
  425. "2767393",
  426. "-2767393",
  427. "74918721",
  428. "-74918721",
  429. "7083",
  430. "-7083",
  431. "497484184665289623",
  432. "-497484184665289623",
  433. "3309660146889781",
  434. "-3309660146889781",
  435. "795624163",
  436. "-795624163",
  437. "1739075",
  438. "-1739075",
  439. "38737391516580422",
  440. "-38737391516580422",
  441. "33363484068",
  442. "-33363484068",
  443. "453947517553",
  444. "-453947517553",
  445. "7206",
  446. "-7206",
  447. "912",
  448. "-912",
  449. "1070565937975",
  450. "-1070565937975",
  451. "3607679046",
  452. "-3607679046",
  453. "503313",
  454. "-503313",
  455. "5384337",
  456. "-5384337",
  457. "7913554120377",
  458. "-7913554120377",
  459. "4112847188",
  460. "-4112847188",
  461. "8191226371802",
  462. "-8191226371802",
  463. "41268527630506",
  464. "-41268527630506",
  465. "446828884957609",
  466. "-446828884957609",
  467. "17378379828995102574",
  468. "-17378379828995102574",
  469. "802194395",
  470. "-802194395",
  471. "6459076776036",
  472. "-6459076776036",
  473. "189",
  474. "-189",
  475. "456272745323742742",
  476. "-456272745323742742",
  477. "35245",
  478. "-35245",
  479. "4142317167",
  480. "-4142317167",
  481. "240455833189507891",
  482. "-240455833189507891",
  483. "32426861928",
  484. "-32426861928",
  485. "3464",
  486. "-3464",
  487. "15152220677",
  488. "-15152220677",
  489. "8550134950160679",
  490. "-8550134950160679",
  491. "226598734",
  492. "-226598734",
  493. "35686909663",
  494. "-35686909663",
  495. "59277903563",
  496. "-59277903563",
  497. "6946537179316043375",
  498. "-6946537179316043375",
  499. "516198226",
  500. "-516198226",
  501. "54",
  502. "-54",
  503. "27406574726722597",
  504. "-27406574726722597",
  505. "717765982",
  506. "-717765982",
  507. "540734180837",
  508. "-540734180837",
  509. "381",
  510. "-381",
  511. "2883798342",
  512. "-2883798342",
  513. "2454889904722697593",
  514. "-2454889904722697593",
  515. "5324758776781459411",
  516. "-5324758776781459411",
  517. "0",
  518. "0",
  519. "3",
  520. "-3",
  521. "758016775051877",
  522. "-758016775051877",
  523. "6368641396491647651",
  524. "-6368641396491647651",
  525. "2409862725919775",
  526. "-2409862725919775",
  527. "19831125",
  528. "-19831125",
  529. "19839578195623645",
  530. "-19839578195623645",
  531. "19556929453271",
  532. "-19556929453271",
  533. "245",
  534. "-245",
  535. "83382",
  536. "-83382",
  537. "30044944",
  538. "-30044944",
  539. "10307835790108389",
  540. "-10307835790108389",
  541. "266904",
  542. "-266904",
  543. "29",
  544. "-29",
  545. "1691697088175268",
  546. "-1691697088175268",
  547. "6361142035143",
  548. "-6361142035143",
  549. "440939789",
  550. "-440939789",
  551. "19836890767598",
  552. "-19836890767598",
  553. "78676472953102968",
  554. "-78676472953102968",
  555. "1663",
  556. "-1663",
  557. "7103",
  558. "-7103",
  559. "2602952185917450011",
  560. "-2602952185917450011",
  561. "8018",
  562. "-8018",
  563. "244",
  564. "-244",
  565. "1908",
  566. "-1908",
  567. "394626",
  568. "-394626",
  569. "559",
  570. "-559",
  571. "2692219006891972",
  572. "-2692219006891972",
  573. "13265871632018922",
  574. "-13265871632018922",
  575. "124",
  576. "-124",
  577. "222927115625",
  578. "-222927115625",
  579. "1283014176523",
  580. "-1283014176523",
  581. "63800278885",
  582. "-63800278885",
  583. "0",
  584. "0",
  585. "1829",
  586. "-1829",
  587. "13920824467759",
  588. "-13920824467759",
  589. "5133342577177325",
  590. "-5133342577177325",
  591. "11207577826",
  592. "-11207577826",
  593. "1482655119893",
  594. "-1482655119893",
  595. "200471339",
  596. "-200471339",
  597. "14758141",
  598. "-14758141",
  599. "29794",
  600. "-29794",
  601. "17080244",
  602. "-17080244",
  603. "699",
  604. "-699",
  605. "33751076",
  606. "-33751076",
  607. "16396192",
  608. "-16396192",
  609. "98",
  610. "-98",
  611. "81983490866862",
  612. "-81983490866862",
  613. "102679",
  614. "-102679",
  615. "13",
  616. "-13",
  617. "300",
  618. "-300",
  619. "195317",
  620. "-195317",
  621. "8257",
  622. "-8257",
  623. "9944069581",
  624. "-9944069581",
  625. "63162",
  626. "-63162",
  627. "2814124367772394",
  628. "-2814124367772394",
  629. "136699870",
  630. "-136699870",
  631. "2298044154057333478",
  632. "-2298044154057333478",
  633. "14",
  634. "-14",
  635. "15514009231077760",
  636. "-15514009231077760",
  637. "183794877561119741",
  638. "-183794877561119741",
  639. "1799598",
  640. "-1799598",
  641. "1873291206216770568",
  642. "-1873291206216770568",
  643. "31",
  644. "-31",
  645. "5025013349",
  646. "-5025013349",
  647. "26376",
  648. "-26376",
  649. "905247925",
  650. "-905247925",
  651. "36545804839",
  652. "-36545804839",
  653. "960743",
  654. "-960743",
  655. "90208569247342191",
  656. "-90208569247342191",
  657. "148711261716954186",
  658. "-148711261716954186",
  659. "15491943",
  660. "-15491943",
  661. "15539960",
  662. "-15539960",
  663. "15",
  664. "-15",
  665. "39",
  666. "-39",
  667. "7901",
  668. "-7901",
  669. "2124324987051603",
  670. "-2124324987051603",
  671. "45033487059826453",
  672. "-45033487059826453",
  673. "87387056",
  674. "-87387056",
  675. "13621",
  676. "-13621",
  677. "36002",
  678. "-36002",
  679. "130430",
  680. "-130430",
  681. "65703401",
  682. "-65703401",
  683. "7703922866",
  684. "-7703922866",
  685. "171",
  686. "-171",
  687. "61731",
  688. "-61731",
  689. "1387",
  690. "-1387",
  691. "8049274895",
  692. "-8049274895",
  693. "1951008680589745867",
  694. "-1951008680589745867",
  695. "2763480591525312699",
  696. "-2763480591525312699",
  697. "446243894833471417",
  698. "-446243894833471417",
  699. "5396319104693",
  700. "-5396319104693",
  701. "162371331057",
  702. "-162371331057",
  703. "370769520766475",
  704. "-370769520766475",
  705. "1",
  706. "-1",
  707. "361477542",
  708. "-361477542",
  709. "999",
  710. "-999",
  711. "5869928506",
  712. "-5869928506",
  713. "10725949",
  714. "-10725949",
  715. "16",
  716. "-16",
  717. "4934609875259411",
  718. "-4934609875259411",
  719. "3909261",
  720. "-3909261",
  721. "1",
  722. "-1",
  723. "96362",
  724. "-96362",
  725. "24",
  726. "-24",
  727. "206089594430410490",
  728. "-206089594430410490",
  729. "104",
  730. "-104",
  731. "5836462606744621",
  732. "-5836462606744621",
  733. "4267837773445",
  734. "-4267837773445",
  735. "485898",
  736. "-485898",
  737. "115640927033286",
  738. "-115640927033286",
  739. "1554",
  740. "-1554",
  741. "8719162940811",
  742. "-8719162940811",
  743. "2870768607",
  744. "-2870768607",
  745. "1052349661",
  746. "-1052349661",
  747. "23867197",
  748. "-23867197",
  749. "45326966103",
  750. "-45326966103",
  751. "90260998217302",
  752. "-90260998217302",
  753. "1523891",
  754. "-1523891",
  755. "666993",
  756. "-666993",
  757. "107936212247500",
  758. "-107936212247500",
  759. "1559140486984",
  760. "-1559140486984",
  761. "5874",
  762. "-5874",
  763. "5388740994398251",
  764. "-5388740994398251",
  765. "9448163810439",
  766. "-9448163810439",
  767. "1654654",
  768. "-1654654",
  769. "10590",
  770. "-10590",
  771. "54734468",
  772. "-54734468",
  773. "30749964",
  774. "-30749964",
  775. "9811424",
  776. "-9811424",
  777. "526166608342",
  778. "-526166608342",
  779. "4115859427270797",
  780. "-4115859427270797",
  781. "596517644188027",
  782. "-596517644188027",
  783. "14364215824260",
  784. "-14364215824260",
  785. "187",
  786. "-187",
  787. "24260378",
  788. "-24260378",
  789. "55791469491162660",
  790. "-55791469491162660",
  791. "2106900391",
  792. "-2106900391",
  793. "217782523580138",
  794. "-217782523580138",
  795. "1216259",
  796. "-1216259",
  797. "3275398462",
  798. "-3275398462",
  799. "343016100304169644",
  800. "-343016100304169644",
  801. "957668440",
  802. "-957668440",
  803. "6471546279",
  804. "-6471546279",
  805. "614957732",
  806. "-614957732",
  807. "130810411909693",
  808. "-130810411909693",
  809. "792104",
  810. "-792104",
  811. "465",
  812. "-465",
  813. "7782172074",
  814. "-7782172074",
  815. "55034847",
  816. "-55034847",
  817. "6775527365",
  818. "-6775527365",
  819. "12803753747546578",
  820. "-12803753747546578",
  821. "6126135608700535",
  822. "-6126135608700535",
  823. "12740679",
  824. "-12740679",
  825. "1266634072040501",
  826. "-1266634072040501",
  827. "348269777058432218",
  828. "-348269777058432218",
  829. "2184392953733",
  830. "-2184392953733",
  831. "9522770891",
  832. "-9522770891",
  833. "37077445",
  834. "-37077445",
  835. "1364",
  836. "-1364",
  837. "375540696398769",
  838. "-375540696398769",
  839. "24230",
  840. "-24230",
  841. "43119671230",
  842. "-43119671230",
  843. "1029673322569841213",
  844. "-1029673322569841213",
  845. "14194736",
  846. "-14194736",
  847. "4439459006245050525",
  848. "-4439459006245050525",
  849. "2016679919307343642",
  850. "-2016679919307343642",
  851. "68490",
  852. "-68490",
  853. "138373187496830016",
  854. "-138373187496830016",
  855. "12",
  856. "-12",
  857. "72731399395",
  858. "-72731399395",
  859. "103249241",
  860. "-103249241",
  861. "686434193208",
  862. "-686434193208",
  863. "2220097226366547",
  864. "-2220097226366547",
  865. "389615851678",
  866. "-389615851678",
  867. "1188756152",
  868. "-1188756152",
  869. "3527",
  870. "-3527",
  871. "64606107042",
  872. "-64606107042",
  873. "1628835",
  874. "-1628835",
  875. "14",
  876. "-14",
  877. "3398525351",
  878. "-3398525351",
  879. "192736533293843919",
  880. "-192736533293843919",
  881. "62739",
  882. "-62739",
  883. "29797",
  884. "-29797",
  885. "27022533997970320",
  886. "-27022533997970320",
  887. "85203884819644813",
  888. "-85203884819644813",
  889. "16723",
  890. "-16723",
  891. "720455425",
  892. "-720455425",
  893. "21193",
  894. "-21193",
  895. "911",
  896. "-911",
  897. "7564",
  898. "-7564",
  899. "9937",
  900. "-9937",
  901. "17698",
  902. "-17698",
  903. "3154835669492701",
  904. "-3154835669492701",
  905. "714419922",
  906. "-714419922",
  907. "3441710384",
  908. "-3441710384",
  909. "2302757",
  910. "-2302757",
  911. "13",
  912. "-13",
  913. "191092534665719086",
  914. "-191092534665719086",
  915. "2671438117955",
  916. "-2671438117955",
  917. "269195401",
  918. "-269195401",
  919. "1257367614616",
  920. "-1257367614616",
  921. "15233",
  922. "-15233",
  923. "242652372681",
  924. "-242652372681",
  925. "379035516581309513",
  926. "-379035516581309513",
  927. "234696334636228",
  928. "-234696334636228",
  929. "2190428804113181503",
  930. "-2190428804113181503",
  931. "5182131",
  932. "-5182131",
  933. "35710270",
  934. "-35710270",
  935. "30830418043327",
  936. "-30830418043327",
  937. "157",
  938. "-157",
  939. "56976290639537",
  940. "-56976290639537",
  941. "429094",
  942. "-429094",
  943. "8166",
  944. "-8166",
  945. "259284720",
  946. "-259284720",
  947. "1974",
  948. "-1974",
  949. "414549061889",
  950. "-414549061889",
  951. "12126192",
  952. "-12126192",
  953. "477683",
  954. "-477683",
  955. "26",
  956. "-26",
  957. "200991115623",
  958. "-200991115623",
  959. "105657935189602",
  960. "-105657935189602",
  961. "137401581416017",
  962. "-137401581416017",
  963. "3133",
  964. "-3133",
  965. "41301",
  966. "-41301",
  967. "9120545960887397",
  968. "-9120545960887397",
  969. "615",
  970. "-615",
  971. "1677628",
  972. "-1677628",
  973. "487311",
  974. "-487311",
  975. "6467819698256",
  976. "-6467819698256",
  977. "2721454",
  978. "-2721454",
  979. "356423793",
  980. "-356423793",
  981. "525408497",
  982. "-525408497",
  983. "1791793366931794",
  984. "-1791793366931794",
  985. "16267730984",
  986. "-16267730984",
  987. "787",
  988. "-787",
  989. "82",
  990. "-82",
  991. "8594582631777749056",
  992. "-8594582631777749056",
  993. "494351",
  994. "-494351",
  995. "5138",
  996. "-5138",
  997. "404787056092544",
  998. "-404787056092544",
  999. "235074602368269",
  1000. "-235074602368269",
  1001. "14",
  1002. "-14",
  1003. "364870",
  1004. "-364870",
  1005. "592299531695979194",
  1006. "-592299531695979194",
  1007. "243533",
  1008. "-243533",
  1009. "228268671797977",
  1010. "-228268671797977",
  1011. "150",
  1012. "-150",
  1013. "2109092292",
  1014. "-2109092292",
  1015. "10814341",
  1016. "-10814341",
  1017. "229344736512",
  1018. "-229344736512",
  1019. "506659",
  1020. "-506659",
  1021. "15065",
  1022. "-15065",
  1023. "73012461469893725",
  1024. "-73012461469893725",
  1025. "183623698",
  1026. "-183623698",
  1027. "30820",
  1028. "-30820"};
  1029. boost::filesystem::ifstream is(root / "cpp_int64_serial64.txt");
  1030. std::cout << "Testing cpp_int64_serial64.txt with T=" << typeid(T).name() << std::endl;
  1031. //is.peek();
  1032. BOOST_CHECK(is.good());
  1033. //char c = is.peek();
  1034. //std::size_t s;
  1035. //is >> s;
  1036. boost::archive::text_iarchive ia(is);
  1037. for (unsigned i = 0; i < sizeof(text_array) / sizeof(text_array[0]); ++i)
  1038. {
  1039. T val;
  1040. ia >> val;
  1041. BOOST_CHECK_EQUAL(val, T(text_array[i]));
  1042. }
  1043. boost::filesystem::ifstream is2(root / "cpp_int64_serial32.txt");
  1044. std::cout << "Testing cpp_int64_serial32.txt with T=" << typeid(T).name() << std::endl;
  1045. //is2.peek();
  1046. BOOST_CHECK(is2.good());
  1047. boost::archive::text_iarchive ia2(is2);
  1048. for (unsigned i = 0; i < sizeof(text_array) / sizeof(text_array[0]); ++i)
  1049. {
  1050. T val;
  1051. ia2 >> val;
  1052. BOOST_CHECK_EQUAL(val, T(text_array[i]));
  1053. }
  1054. }
  1055. template <class T>
  1056. void test128()
  1057. {
  1058. using namespace boost::multiprecision;
  1059. const char* text_array[] = {
  1060. "27388486965920179246162874599461",
  1061. "-27388486965920179246162874599461",
  1062. "144684",
  1063. "-144684",
  1064. "40075268927703813213972787292005375",
  1065. "-40075268927703813213972787292005375",
  1066. "185882978840350932616815972016599",
  1067. "-185882978840350932616815972016599",
  1068. "118042",
  1069. "-118042",
  1070. "18836407318976510834104635573348923563",
  1071. "-18836407318976510834104635573348923563",
  1072. "305594372610563985628870243265194313",
  1073. "-305594372610563985628870243265194313",
  1074. "992608567",
  1075. "-992608567",
  1076. "1079802217950896854831728",
  1077. "-1079802217950896854831728",
  1078. "382261429251",
  1079. "-382261429251",
  1080. "7995",
  1081. "-7995",
  1082. "1691954012304306190464",
  1083. "-1691954012304306190464",
  1084. "252558125876",
  1085. "-252558125876",
  1086. "63408135",
  1087. "-63408135",
  1088. "1923885021482774859879",
  1089. "-1923885021482774859879",
  1090. "218151618018868077912122028563473880039",
  1091. "-218151618018868077912122028563473880039",
  1092. "1830482607233486577967554117978261568",
  1093. "-1830482607233486577967554117978261568",
  1094. "232684363792492642717810801641182199046",
  1095. "-232684363792492642717810801641182199046",
  1096. "18951107105103656564987041230801322761",
  1097. "-18951107105103656564987041230801322761",
  1098. "18602001100058210837668227206289280804",
  1099. "-18602001100058210837668227206289280804",
  1100. "619312",
  1101. "-619312",
  1102. "3300635207581175104869860370",
  1103. "-3300635207581175104869860370",
  1104. "35913874076527213864347472731883210240",
  1105. "-35913874076527213864347472731883210240",
  1106. "22584003535744275158325315387889625225",
  1107. "-22584003535744275158325315387889625225",
  1108. "1087569784912004503372385117646999025",
  1109. "-1087569784912004503372385117646999025",
  1110. "53419",
  1111. "-53419",
  1112. "6365946347248672643",
  1113. "-6365946347248672643",
  1114. "923074766928095495451885549346",
  1115. "-923074766928095495451885549346",
  1116. "791386027675064089452885112122",
  1117. "-791386027675064089452885112122",
  1118. "1095850863769",
  1119. "-1095850863769",
  1120. "585462",
  1121. "-585462",
  1122. "7",
  1123. "-7",
  1124. "14396352646034696",
  1125. "-14396352646034696",
  1126. "103513",
  1127. "-103513",
  1128. "236879494739813627852695329647307484",
  1129. "-236879494739813627852695329647307484",
  1130. "833105528657041028703317",
  1131. "-833105528657041028703317",
  1132. "403987552870100762517310706932",
  1133. "-403987552870100762517310706932",
  1134. "9241069445104304081394313010837003",
  1135. "-9241069445104304081394313010837003",
  1136. "7747462702643357490732429745555870341",
  1137. "-7747462702643357490732429745555870341",
  1138. "24325940392988231200",
  1139. "-24325940392988231200",
  1140. "3169332595628505508931977",
  1141. "-3169332595628505508931977",
  1142. "2956433455556566120076606972499",
  1143. "-2956433455556566120076606972499",
  1144. "97",
  1145. "-97",
  1146. "162358208806282",
  1147. "-162358208806282",
  1148. "450940116154946927404473774882465",
  1149. "-450940116154946927404473774882465",
  1150. "451641858",
  1151. "-451641858",
  1152. "1225696755823790187144596188382442861",
  1153. "-1225696755823790187144596188382442861",
  1154. "29784146626131423063590613",
  1155. "-29784146626131423063590613",
  1156. "234254347872215512272431905",
  1157. "-234254347872215512272431905",
  1158. "1188109449997714",
  1159. "-1188109449997714",
  1160. "67931289973154010244863599404",
  1161. "-67931289973154010244863599404",
  1162. "15985550526478899202524298413",
  1163. "-15985550526478899202524298413",
  1164. "44969358144856504665069077764",
  1165. "-44969358144856504665069077764",
  1166. "2433869372731414379",
  1167. "-2433869372731414379",
  1168. "389948478409995",
  1169. "-389948478409995",
  1170. "42980455782580666",
  1171. "-42980455782580666",
  1172. "32377741714896213765436617",
  1173. "-32377741714896213765436617",
  1174. "14147536",
  1175. "-14147536",
  1176. "7281984",
  1177. "-7281984",
  1178. "1940499846845",
  1179. "-1940499846845",
  1180. "431464371512114469628917178",
  1181. "-431464371512114469628917178",
  1182. "7407337220313553496076208494128",
  1183. "-7407337220313553496076208494128",
  1184. "30",
  1185. "-30",
  1186. "1327411295501",
  1187. "-1327411295501",
  1188. "66903469770",
  1189. "-66903469770",
  1190. "1681234517540805320612830262883456",
  1191. "-1681234517540805320612830262883456",
  1192. "100",
  1193. "-100",
  1194. "1619033",
  1195. "-1619033",
  1196. "31778",
  1197. "-31778",
  1198. "157454929543174151967897543014505981946",
  1199. "-157454929543174151967897543014505981946",
  1200. "71577966086399886868276034834304",
  1201. "-71577966086399886868276034834304",
  1202. "39053861540146327519720396203958",
  1203. "-39053861540146327519720396203958",
  1204. "744644565611021440442223814",
  1205. "-744644565611021440442223814",
  1206. "141620",
  1207. "-141620",
  1208. "2207944969567",
  1209. "-2207944969567",
  1210. "203426602629118177589459157758",
  1211. "-203426602629118177589459157758",
  1212. "4687930831049614526662210561259545215",
  1213. "-4687930831049614526662210561259545215",
  1214. "13741620425001328569",
  1215. "-13741620425001328569",
  1216. "28",
  1217. "-28",
  1218. "19919840763987597711639960",
  1219. "-19919840763987597711639960",
  1220. "58845502926990870",
  1221. "-58845502926990870",
  1222. "46503",
  1223. "-46503",
  1224. "227899590091810",
  1225. "-227899590091810",
  1226. "520269641",
  1227. "-520269641",
  1228. "533635134464326491653819104191",
  1229. "-533635134464326491653819104191",
  1230. "32",
  1231. "-32",
  1232. "2311765742988497575052179436185",
  1233. "-2311765742988497575052179436185",
  1234. "104",
  1235. "-104",
  1236. "13174010",
  1237. "-13174010",
  1238. "9157004287034859",
  1239. "-9157004287034859",
  1240. "13439929054075798978",
  1241. "-13439929054075798978",
  1242. "1005710832260650449",
  1243. "-1005710832260650449",
  1244. "45810516546119519",
  1245. "-45810516546119519",
  1246. "10111031832823515595",
  1247. "-10111031832823515595",
  1248. "1556666498630726306813245",
  1249. "-1556666498630726306813245",
  1250. "3776079563026301615061583892830",
  1251. "-3776079563026301615061583892830",
  1252. "3554220000452135447940601650",
  1253. "-3554220000452135447940601650",
  1254. "342914370059615129601458555955512766",
  1255. "-342914370059615129601458555955512766",
  1256. "37211915143242116097464702285",
  1257. "-37211915143242116097464702285",
  1258. "8426589576380612848355737491164",
  1259. "-8426589576380612848355737491164",
  1260. "32989222860",
  1261. "-32989222860",
  1262. "2242563523293104833112476952",
  1263. "-2242563523293104833112476952",
  1264. "26340698264302762867393911",
  1265. "-26340698264302762867393911",
  1266. "7",
  1267. "-7",
  1268. "690707180838394286313288",
  1269. "-690707180838394286313288",
  1270. "4152835666147840816597477625",
  1271. "-4152835666147840816597477625",
  1272. "4307204",
  1273. "-4307204",
  1274. "5538028691958331075031052",
  1275. "-5538028691958331075031052",
  1276. "15605",
  1277. "-15605",
  1278. "779689768131768618",
  1279. "-779689768131768618",
  1280. "31804890425581409493",
  1281. "-31804890425581409493",
  1282. "82342246867680606750756320822",
  1283. "-82342246867680606750756320822",
  1284. "9901401020017005286056280532528545058",
  1285. "-9901401020017005286056280532528545058",
  1286. "23964619045267142735208",
  1287. "-23964619045267142735208",
  1288. "23105481037040",
  1289. "-23105481037040",
  1290. "9261441758156913859636303647639218",
  1291. "-9261441758156913859636303647639218",
  1292. "60070546007507763924924",
  1293. "-60070546007507763924924",
  1294. "12326765403330476150347768542599",
  1295. "-12326765403330476150347768542599",
  1296. "1754723286",
  1297. "-1754723286",
  1298. "28",
  1299. "-28",
  1300. "89432086134972543173032616112",
  1301. "-89432086134972543173032616112",
  1302. "57126030796671809943615335657436",
  1303. "-57126030796671809943615335657436",
  1304. "14251136561",
  1305. "-14251136561",
  1306. "34939118696445841694152507070732",
  1307. "-34939118696445841694152507070732",
  1308. "62242533492272937541",
  1309. "-62242533492272937541",
  1310. "743045397928995080970748460370011005",
  1311. "-743045397928995080970748460370011005",
  1312. "657268729381871210499613874",
  1313. "-657268729381871210499613874",
  1314. "5257773746486582",
  1315. "-5257773746486582",
  1316. "40168363520567402312420813782551098",
  1317. "-40168363520567402312420813782551098",
  1318. "61834553929623600",
  1319. "-61834553929623600",
  1320. "8827879038299859860036523950621910882",
  1321. "-8827879038299859860036523950621910882",
  1322. "18187363614017047925823",
  1323. "-18187363614017047925823",
  1324. "1117818522952984212179",
  1325. "-1117818522952984212179",
  1326. "2656685",
  1327. "-2656685",
  1328. "409037",
  1329. "-409037",
  1330. "184490923222475885977498171480",
  1331. "-184490923222475885977498171480",
  1332. "802095",
  1333. "-802095",
  1334. "1362431392",
  1335. "-1362431392",
  1336. "22261578528",
  1337. "-22261578528",
  1338. "29290981558101942713268861928118",
  1339. "-29290981558101942713268861928118",
  1340. "47302301317848473766508256110200",
  1341. "-47302301317848473766508256110200",
  1342. "148503360374909444835237781907560612329",
  1343. "-148503360374909444835237781907560612329",
  1344. "30589987607",
  1345. "-30589987607",
  1346. "9336827203045",
  1347. "-9336827203045",
  1348. "30107043678267266207220294684045",
  1349. "-30107043678267266207220294684045",
  1350. "1084118892329",
  1351. "-1084118892329",
  1352. "7041095740",
  1353. "-7041095740",
  1354. "15",
  1355. "-15",
  1356. "610704633153562426576938052064937496",
  1357. "-610704633153562426576938052064937496",
  1358. "595347631",
  1359. "-595347631",
  1360. "7667191853556",
  1361. "-7667191853556",
  1362. "44454027936868155101947565993903816",
  1363. "-44454027936868155101947565993903816",
  1364. "85883611",
  1365. "-85883611",
  1366. "360758748839243518516454792370840",
  1367. "-360758748839243518516454792370840",
  1368. "2790927324",
  1369. "-2790927324",
  1370. "3742465736365768915898498156617091585",
  1371. "-3742465736365768915898498156617091585",
  1372. "147479413949146319856130",
  1373. "-147479413949146319856130",
  1374. "1039208893123161146877445631451",
  1375. "-1039208893123161146877445631451",
  1376. "4014354216767740814",
  1377. "-4014354216767740814",
  1378. "119781181099519678732165162824065718973",
  1379. "-119781181099519678732165162824065718973",
  1380. "78562776301070",
  1381. "-78562776301070",
  1382. "559",
  1383. "-559",
  1384. "11280106118161133960100664534446",
  1385. "-11280106118161133960100664534446",
  1386. "4606016388942561437580270830022",
  1387. "-4606016388942561437580270830022",
  1388. "57670561868327441370011",
  1389. "-57670561868327441370011",
  1390. "71416894909097014471844",
  1391. "-71416894909097014471844",
  1392. "3968198792173455589573",
  1393. "-3968198792173455589573",
  1394. "13149823145733642608775252727",
  1395. "-13149823145733642608775252727",
  1396. "264546856712400799367073649733688068",
  1397. "-264546856712400799367073649733688068",
  1398. "181571595840115131057831601",
  1399. "-181571595840115131057831601",
  1400. "137320082754",
  1401. "-137320082754",
  1402. "106737570210691788059038313",
  1403. "-106737570210691788059038313",
  1404. "266197717365288449213562655531",
  1405. "-266197717365288449213562655531",
  1406. "2641672529147341",
  1407. "-2641672529147341",
  1408. "151305657535708132064629059130",
  1409. "-151305657535708132064629059130",
  1410. "8838288455460932557542",
  1411. "-8838288455460932557542",
  1412. "229580992302363",
  1413. "-229580992302363",
  1414. "381276009",
  1415. "-381276009",
  1416. "2189254995814346543537",
  1417. "-2189254995814346543537",
  1418. "241062663892019429783",
  1419. "-241062663892019429783",
  1420. "1289",
  1421. "-1289",
  1422. "3768499169854362",
  1423. "-3768499169854362",
  1424. "46",
  1425. "-46",
  1426. "113123194090149",
  1427. "-113123194090149",
  1428. "257162014338572986111",
  1429. "-257162014338572986111",
  1430. "125826984535179834218224",
  1431. "-125826984535179834218224",
  1432. "380714866068747567944322727593",
  1433. "-380714866068747567944322727593",
  1434. "104303598841139",
  1435. "-104303598841139",
  1436. "1065280345148327648773363223393307192",
  1437. "-1065280345148327648773363223393307192",
  1438. "20248493338789246233167313227932895840",
  1439. "-20248493338789246233167313227932895840",
  1440. "162538",
  1441. "-162538",
  1442. "173739",
  1443. "-173739",
  1444. "5359750034437798426950",
  1445. "-5359750034437798426950",
  1446. "665876738146930",
  1447. "-665876738146930",
  1448. "709289441745698432",
  1449. "-709289441745698432",
  1450. "202728866936448",
  1451. "-202728866936448",
  1452. "6",
  1453. "-6",
  1454. "15800583732744199482624014690",
  1455. "-15800583732744199482624014690",
  1456. "29779074291232",
  1457. "-29779074291232",
  1458. "984339779461760",
  1459. "-984339779461760",
  1460. "767398",
  1461. "-767398",
  1462. "415462781851563431292700828131108380",
  1463. "-415462781851563431292700828131108380",
  1464. "1147933945700269690596156182506",
  1465. "-1147933945700269690596156182506",
  1466. "42450738679031729",
  1467. "-42450738679031729",
  1468. "2577950950157",
  1469. "-2577950950157",
  1470. "2522521710801514347400568661434422",
  1471. "-2522521710801514347400568661434422",
  1472. "13819658998892401541",
  1473. "-13819658998892401541",
  1474. "496658145774859954943564",
  1475. "-496658145774859954943564",
  1476. "518126",
  1477. "-518126",
  1478. "1401",
  1479. "-1401",
  1480. "65673247548918355271934",
  1481. "-65673247548918355271934",
  1482. "1902619525684055188",
  1483. "-1902619525684055188",
  1484. "32325262934",
  1485. "-32325262934",
  1486. "768343207102",
  1487. "-768343207102",
  1488. "7717131697976593508998559",
  1489. "-7717131697976593508998559",
  1490. "318668224221205716681",
  1491. "-318668224221205716681",
  1492. "373695949349041942234118586",
  1493. "-373695949349041942234118586",
  1494. "2374230638947377832537387112",
  1495. "-2374230638947377832537387112",
  1496. "38727149332417950712342749093",
  1497. "-38727149332417950712342749093",
  1498. "50641097967663747879422486643603294439",
  1499. "-50641097967663747879422486643603294439",
  1500. "155679557293775199",
  1501. "-155679557293775199",
  1502. "9584524694361179551000251851",
  1503. "-9584524694361179551000251851",
  1504. "1555",
  1505. "-1555",
  1506. "153598430081275298827470966254180164",
  1507. "-153598430081275298827470966254180164",
  1508. "1792977580",
  1509. "-1792977580",
  1510. "40513995299101921791",
  1511. "-40513995299101921791",
  1512. "205149194684558953622782831493255495",
  1513. "-205149194684558953622782831493255495",
  1514. "8569592230593344920443",
  1515. "-8569592230593344920443",
  1516. "508895",
  1517. "-508895",
  1518. "19768102480409470254",
  1519. "-19768102480409470254",
  1520. "137276814223629775094893592279819",
  1521. "-137276814223629775094893592279819",
  1522. "294000609851122741",
  1523. "-294000609851122741",
  1524. "65049209437230122275",
  1525. "-65049209437230122275",
  1526. "23362940999728532813",
  1527. "-23362940999728532813",
  1528. "88836918597358775734007849873044275046",
  1529. "-88836918597358775734007849873044275046",
  1530. "434035006963316670",
  1531. "-434035006963316670",
  1532. "622",
  1533. "-622",
  1534. "581347029549389573249184843256799",
  1535. "-581347029549389573249184843256799",
  1536. "180338559687589565",
  1537. "-180338559687589565",
  1538. "561053757585637776917747",
  1539. "-561053757585637776917747",
  1540. "32239",
  1541. "-32239",
  1542. "33901075413575967103",
  1543. "-33901075413575967103",
  1544. "8932885164594123487128517542485517028",
  1545. "-8932885164594123487128517542485517028",
  1546. "83521148713289418108751633969571232369",
  1547. "-83521148713289418108751633969571232369",
  1548. "7",
  1549. "-7",
  1550. "97",
  1551. "-97",
  1552. "148574175322938930280707441746",
  1553. "-148574175322938930280707441746",
  1554. "34819851973902418549646788688822516665",
  1555. "-34819851973902418549646788688822516665",
  1556. "8315372482034321202893445528412",
  1557. "-8315372482034321202893445528412",
  1558. "78070260632520",
  1559. "-78070260632520",
  1560. "1694579890551276986736768820881486",
  1561. "-1694579890551276986736768820881486",
  1562. "148949594888574520284515061",
  1563. "-148949594888574520284515061",
  1564. "7155",
  1565. "-7155",
  1566. "54025120576002",
  1567. "-54025120576002",
  1568. "6486075462638233",
  1569. "-6486075462638233",
  1570. "381736014892858568664127676041586",
  1571. "-381736014892858568664127676041586",
  1572. "20417033368",
  1573. "-20417033368",
  1574. "129",
  1575. "-129",
  1576. "4369312912082114047863415327506",
  1577. "-4369312912082114047863415327506",
  1578. "3425863567263779336359928",
  1579. "-3425863567263779336359928",
  1580. "126664685306324611",
  1581. "-126664685306324611",
  1582. "79290635423234192686030222410",
  1583. "-79290635423234192686030222410",
  1584. "89904040753844842469288403271470296",
  1585. "-89904040753844842469288403271470296",
  1586. "303078",
  1587. "-303078",
  1588. "24403696",
  1589. "-24403696",
  1590. "71519894287768242731407528483177175738",
  1591. "-71519894287768242731407528483177175738",
  1592. "43562121429",
  1593. "-43562121429",
  1594. "27030",
  1595. "-27030",
  1596. "24600",
  1597. "-24600",
  1598. "248387716733",
  1599. "-248387716733",
  1600. "371528",
  1601. "-371528",
  1602. "4787877250361840261744279869821",
  1603. "-4787877250361840261744279869821",
  1604. "4997511746500297909058528782721320",
  1605. "-4997511746500297909058528782721320",
  1606. "1586",
  1607. "-1586",
  1608. "31554014671157226899246",
  1609. "-31554014671157226899246",
  1610. "2859985988700258455304314",
  1611. "-2859985988700258455304314",
  1612. "4509508709806307404851",
  1613. "-4509508709806307404851",
  1614. "9",
  1615. "-9",
  1616. "1637744",
  1617. "-1637744",
  1618. "12479552255352789077760938",
  1619. "-12479552255352789077760938",
  1620. "976489633596851129859012248183437",
  1621. "-976489633596851129859012248183437",
  1622. "851806998881827048562",
  1623. "-851806998881827048562",
  1624. "906771089783845862955091",
  1625. "-906771089783845862955091",
  1626. "80038352079069729",
  1627. "-80038352079069729",
  1628. "17388136706500",
  1629. "-17388136706500",
  1630. "61145989",
  1631. "-61145989",
  1632. "94774844620540266019",
  1633. "-94774844620540266019",
  1634. "408281",
  1635. "-408281",
  1636. "952903032817435",
  1637. "-952903032817435",
  1638. "1631092620569808",
  1639. "-1631092620569808",
  1640. "2138",
  1641. "-2138",
  1642. "212824926871186875960728065608",
  1643. "-212824926871186875960728065608",
  1644. "4268162925",
  1645. "-4268162925",
  1646. "36",
  1647. "-36",
  1648. "223723",
  1649. "-223723",
  1650. "16415665053",
  1651. "-16415665053",
  1652. "25788643",
  1653. "-25788643",
  1654. "70220421074486178069",
  1655. "-70220421074486178069",
  1656. "4575797377",
  1657. "-4575797377",
  1658. "76884751129407965501107148587666",
  1659. "-76884751129407965501107148587666",
  1660. "29088346935783207",
  1661. "-29088346935783207",
  1662. "45914004714587007155631909758206960989",
  1663. "-45914004714587007155631909758206960989",
  1664. "248",
  1665. "-248",
  1666. "5579572272102752655174722938686",
  1667. "-5579572272102752655174722938686",
  1668. "30175831892260274369581289965353458",
  1669. "-30175831892260274369581289965353458",
  1670. "1237805257371",
  1671. "-1237805257371",
  1672. "4843618316827222290521953980935538236",
  1673. "-4843618316827222290521953980935538236",
  1674. "240",
  1675. "-240",
  1676. "15807477184070179658",
  1677. "-15807477184070179658",
  1678. "4142567393",
  1679. "-4142567393",
  1680. "12811809209743734075",
  1681. "-12811809209743734075",
  1682. "1485630615919152225304",
  1683. "-1485630615919152225304",
  1684. "7910273036167",
  1685. "-7910273036167",
  1686. "8463758727276424785250829495444564",
  1687. "-8463758727276424785250829495444564",
  1688. "64731869997654405671780238192304416",
  1689. "-64731869997654405671780238192304416",
  1690. "23615438174870",
  1691. "-23615438174870",
  1692. "352157140910141",
  1693. "-352157140910141",
  1694. "5",
  1695. "-5",
  1696. "59221",
  1697. "-59221",
  1698. "2569479",
  1699. "-2569479",
  1700. "542857439184063766884246909368",
  1701. "-542857439184063766884246909368",
  1702. "1823313067549638501383110895210828",
  1703. "-1823313067549638501383110895210828",
  1704. "3270724720703321",
  1705. "-3270724720703321",
  1706. "301251143",
  1707. "-301251143",
  1708. "2479800639",
  1709. "-2479800639",
  1710. "91698905921",
  1711. "-91698905921",
  1712. "2871719453817880",
  1713. "-2871719453817880",
  1714. "15334399950643828095",
  1715. "-15334399950643828095",
  1716. "5526",
  1717. "-5526",
  1718. "233477156",
  1719. "-233477156",
  1720. "133654",
  1721. "-133654",
  1722. "16379095557010108528",
  1723. "-16379095557010108528",
  1724. "781428672272181160786182179076882317",
  1725. "-781428672272181160786182179076882317",
  1726. "8296349327720787412560043280221269761",
  1727. "-8296349327720787412560043280221269761",
  1728. "10281035380942381640132947771350381026",
  1729. "-10281035380942381640132947771350381026",
  1730. "21040070113550157615461288",
  1731. "-21040070113550157615461288",
  1732. "25742884982404545443527",
  1733. "-25742884982404545443527",
  1734. "32454973901024441799985592013",
  1735. "-32454973901024441799985592013",
  1736. "743",
  1737. "-743",
  1738. "48093509516189552",
  1739. "-48093509516189552",
  1740. "3310081024",
  1741. "-3310081024",
  1742. "555885664598428773514",
  1743. "-555885664598428773514",
  1744. "12816465810736",
  1745. "-12816465810736",
  1746. "318",
  1747. "-318",
  1748. "11177674634623001920713776522758",
  1749. "-11177674634623001920713776522758",
  1750. "4478260629000",
  1751. "-4478260629000",
  1752. "7",
  1753. "-7",
  1754. "16047003680147439",
  1755. "-16047003680147439",
  1756. "183",
  1757. "-183",
  1758. "59147119480091828181670682607031985",
  1759. "-59147119480091828181670682607031985",
  1760. "14760016",
  1761. "-14760016",
  1762. "6274417502047620562218369346380",
  1763. "-6274417502047620562218369346380",
  1764. "14026544807038936634796795",
  1765. "-14026544807038936634796795",
  1766. "17158839999",
  1767. "-17158839999",
  1768. "15548352769483287520249305142",
  1769. "-15548352769483287520249305142",
  1770. "362163",
  1771. "-362163",
  1772. "3476850886273368477018353",
  1773. "-3476850886273368477018353",
  1774. "12190143908040407488",
  1775. "-12190143908040407488",
  1776. "521525508150081044",
  1777. "-521525508150081044",
  1778. "433309060522200",
  1779. "-433309060522200",
  1780. "2165455650813681324517",
  1781. "-2165455650813681324517",
  1782. "6819348098387524497126647285",
  1783. "-6819348098387524497126647285",
  1784. "464251630203",
  1785. "-464251630203",
  1786. "145993167313",
  1787. "-145993167313",
  1788. "23955493117052698447116654044",
  1789. "-23955493117052698447116654044",
  1790. "1249962737542647752328381",
  1791. "-1249962737542647752328381",
  1792. "25985762",
  1793. "-25985762",
  1794. "8825811397396758414408048174991",
  1795. "-8825811397396758414408048174991",
  1796. "456322584656453621447742298",
  1797. "-456322584656453621447742298",
  1798. "3635296824314",
  1799. "-3635296824314",
  1800. "48071792",
  1801. "-48071792",
  1802. "573327609505513",
  1803. "-573327609505513",
  1804. "32947066161183",
  1805. "-32947066161183",
  1806. "3572119014464",
  1807. "-3572119014464",
  1808. "339951878200713991932774",
  1809. "-339951878200713991932774",
  1810. "9829263561931267281756747918204",
  1811. "-9829263561931267281756747918204",
  1812. "99133551353390277845579505558",
  1813. "-99133551353390277845579505558",
  1814. "87647698384969946179713959",
  1815. "-87647698384969946179713959",
  1816. "812",
  1817. "-812",
  1818. "874259982778101",
  1819. "-874259982778101",
  1820. "427106308211321596930989851275848063",
  1821. "-427106308211321596930989851275848063",
  1822. "182604408166381257",
  1823. "-182604408166381257",
  1824. "1027122202590661838104329309513",
  1825. "-1027122202590661838104329309513",
  1826. "1354315694936",
  1827. "-1354315694936",
  1828. "6079470672663034486",
  1829. "-6079470672663034486",
  1830. "141187763548195492188625309258190962",
  1831. "-141187763548195492188625309258190962",
  1832. "5948423816691427",
  1833. "-5948423816691427",
  1834. "3790826071191932816",
  1835. "-3790826071191932816",
  1836. "475187449013755049",
  1837. "-475187449013755049",
  1838. "134916830618137216019136180544",
  1839. "-134916830618137216019136180544",
  1840. "289548281081",
  1841. "-289548281081",
  1842. "56088",
  1843. "-56088",
  1844. "71309468310269123716",
  1845. "-71309468310269123716",
  1846. "4319226187100950",
  1847. "-4319226187100950",
  1848. "64155929243330777086",
  1849. "-64155929243330777086",
  1850. "1346606607492942300949980881912922",
  1851. "-1346606607492942300949980881912922",
  1852. "56691962171349121239043134503543",
  1853. "-56691962171349121239043134503543",
  1854. "179884054884043",
  1855. "-179884054884043",
  1856. "1457175629136147646463304750253",
  1857. "-1457175629136147646463304750253",
  1858. "298847019807831033427383443102915235",
  1859. "-298847019807831033427383443102915235",
  1860. "3724333984635632125440253",
  1861. "-3724333984635632125440253",
  1862. "75997801235764509433",
  1863. "-75997801235764509433",
  1864. "624924035973776",
  1865. "-624924035973776",
  1866. "663853",
  1867. "-663853",
  1868. "39794266307878236329712249281466",
  1869. "-39794266307878236329712249281466",
  1870. "68236356",
  1871. "-68236356",
  1872. "874551267305634766833",
  1873. "-874551267305634766833",
  1874. "3069873585346853407835416677633253152",
  1875. "-3069873585346853407835416677633253152",
  1876. "128022182325463",
  1877. "-128022182325463",
  1878. "102685407245351562527197662841526650696",
  1879. "-102685407245351562527197662841526650696",
  1880. "1268696403523315749290280644252872285",
  1881. "-1268696403523315749290280644252872285",
  1882. "962551179",
  1883. "-962551179",
  1884. "5397346809016967977013332103668812",
  1885. "-5397346809016967977013332103668812",
  1886. "19",
  1887. "-19",
  1888. "1383556287038543763721",
  1889. "-1383556287038543763721",
  1890. "596132342851497",
  1891. "-596132342851497",
  1892. "386032274487026935724854",
  1893. "-386032274487026935724854",
  1894. "913487342891468949707909122983",
  1895. "-913487342891468949707909122983",
  1896. "60948098701787507435146",
  1897. "-60948098701787507435146",
  1898. "2022832067596000203",
  1899. "-2022832067596000203",
  1900. "25656479",
  1901. "-25656479",
  1902. "2346119770800025007571",
  1903. "-2346119770800025007571",
  1904. "376371975341",
  1905. "-376371975341",
  1906. "9",
  1907. "-9",
  1908. "2942356530044344965",
  1909. "-2942356530044344965",
  1910. "3932381905103911287794534670998227",
  1911. "-3932381905103911287794534670998227",
  1912. "3218056320",
  1913. "-3218056320",
  1914. "102738821",
  1915. "-102738821",
  1916. "234572888397008437041293767052858",
  1917. "-234572888397008437041293767052858",
  1918. "5858001549782605027037905592031557",
  1919. "-5858001549782605027037905592031557",
  1920. "90718950",
  1921. "-90718950",
  1922. "39428225166028193",
  1923. "-39428225166028193",
  1924. "1383746282",
  1925. "-1383746282",
  1926. "915121",
  1927. "-915121",
  1928. "8970289",
  1929. "-8970289",
  1930. "4322641789",
  1931. "-4322641789",
  1932. "260209037",
  1933. "-260209037",
  1934. "6609227084602664174553003642710",
  1935. "-6609227084602664174553003642710",
  1936. "37231518369001507",
  1937. "-37231518369001507",
  1938. "4301528568595403190",
  1939. "-4301528568595403190",
  1940. "2333077100212",
  1941. "-2333077100212",
  1942. "11565",
  1943. "-11565",
  1944. "255726621336514413017008354182674709",
  1945. "-255726621336514413017008354182674709",
  1946. "17395422733913073065750181",
  1947. "-17395422733913073065750181",
  1948. "125019234224449492",
  1949. "-125019234224449492",
  1950. "4740360722276299853297125",
  1951. "-4740360722276299853297125",
  1952. "7568347",
  1953. "-7568347",
  1954. "17122026961016863428287",
  1955. "-17122026961016863428287",
  1956. "112577394987931131505768113032531171",
  1957. "-112577394987931131505768113032531171",
  1958. "7046212555452856822490707564",
  1959. "-7046212555452856822490707564",
  1960. "33256103762317100748101545285090311772",
  1961. "-33256103762317100748101545285090311772",
  1962. "104639691131091",
  1963. "-104639691131091",
  1964. "74043463548796243",
  1965. "-74043463548796243",
  1966. "49942702457067622169669481",
  1967. "-49942702457067622169669481",
  1968. "12806",
  1969. "-12806",
  1970. "4194227136755752775246633399",
  1971. "-4194227136755752775246633399",
  1972. "22363149786",
  1973. "-22363149786",
  1974. "53844",
  1975. "-53844",
  1976. "6204108132585699",
  1977. "-6204108132585699",
  1978. "133987",
  1979. "-133987",
  1980. "47357030709179941308475",
  1981. "-47357030709179941308475",
  1982. "167735124254221045",
  1983. "-167735124254221045",
  1984. "58394613871",
  1985. "-58394613871",
  1986. "214",
  1987. "-214",
  1988. "97085709128533841718123",
  1989. "-97085709128533841718123",
  1990. "9049249133086876221572990732831",
  1991. "-9049249133086876221572990732831",
  1992. "1860834869623152381150863486",
  1993. "-1860834869623152381150863486",
  1994. "3868776",
  1995. "-3868776",
  1996. "714752211",
  1997. "-714752211",
  1998. "117044601375672047600456567336894",
  1999. "-117044601375672047600456567336894",
  2000. "38202",
  2001. "-38202",
  2002. "1706135867048",
  2003. "-1706135867048",
  2004. "568201454130",
  2005. "-568201454130",
  2006. "10071543790040355676774628",
  2007. "-10071543790040355676774628",
  2008. "3955606956905",
  2009. "-3955606956905",
  2010. "1710822834542941",
  2011. "-1710822834542941",
  2012. "28185453895207483",
  2013. "-28185453895207483",
  2014. "2241403707806732425937134125743",
  2015. "-2241403707806732425937134125743",
  2016. "24424908461669836348",
  2017. "-24424908461669836348",
  2018. "39965",
  2019. "-39965",
  2020. "5776",
  2021. "-5776",
  2022. "161984235115107451958835599550261843326",
  2023. "-161984235115107451958835599550261843326",
  2024. "29821471341",
  2025. "-29821471341",
  2026. "3087720",
  2027. "-3087720",
  2028. "234408055908870511236228564329",
  2029. "-234408055908870511236228564329",
  2030. "367687929171771055426419375659",
  2031. "-367687929171771055426419375659",
  2032. "31",
  2033. "-31",
  2034. "14038375921",
  2035. "-14038375921",
  2036. "1272562766857183500104765994611086188",
  2037. "-1272562766857183500104765994611086188",
  2038. "5395131009",
  2039. "-5395131009",
  2040. "34630426722601695384252351222",
  2041. "-34630426722601695384252351222",
  2042. "16553",
  2043. "-16553",
  2044. "11084856402443484655",
  2045. "-11084856402443484655",
  2046. "4497048086787",
  2047. "-4497048086787",
  2048. "32568631422747274845485",
  2049. "-32568631422747274845485",
  2050. "262201867566",
  2051. "-262201867566",
  2052. "3603196342",
  2053. "-3603196342",
  2054. "32228667062769096924274427075075163477",
  2055. "-32228667062769096924274427075075163477",
  2056. "693196875773858622",
  2057. "-693196875773858622",
  2058. "375838207",
  2059. "-375838207",
  2060. };
  2061. boost::filesystem::ifstream is(root / "cpp_int128_serial64.txt");
  2062. std::cout << "Testing cpp_int128_serial64.txt with T=" << typeid(T).name() << std::endl;
  2063. //is.peek();
  2064. BOOST_CHECK(is.good());
  2065. boost::archive::text_iarchive ia(is);
  2066. for (unsigned i = 0; i < sizeof(text_array) / sizeof(text_array[0]); ++i)
  2067. {
  2068. #ifndef BOOST_NO_EXCEPTIONS
  2069. try
  2070. {
  2071. #endif
  2072. T val;
  2073. ia >> val;
  2074. BOOST_CHECK_EQUAL(val, T(text_array[i]));
  2075. #ifndef BOOST_NO_EXCEPTIONS
  2076. }
  2077. catch (const boost::exception& e)
  2078. {
  2079. std::cout << "Caught boost::exception with:\n";
  2080. std::cout << diagnostic_information(e);
  2081. }
  2082. catch (const std::exception& e)
  2083. {
  2084. std::cout << "Caught std::exception with:\n";
  2085. std::cout << e.what() << std::endl;
  2086. }
  2087. #endif
  2088. }
  2089. boost::filesystem::ifstream is2(root / "cpp_int128_serial32.txt");
  2090. std::cout << "Testing cpp_int128_serial32.txt with T=" << typeid(T).name() << std::endl;
  2091. //is2.peek();
  2092. BOOST_CHECK(is2.good());
  2093. boost::archive::text_iarchive ia2(is2);
  2094. for (unsigned i = 0; i < sizeof(text_array) / sizeof(text_array[0]); ++i)
  2095. {
  2096. #ifndef BOOST_NO_EXCEPTIONS
  2097. try
  2098. {
  2099. #endif
  2100. T val;
  2101. ia2 >> val;
  2102. BOOST_CHECK_EQUAL(val, T(text_array[i]));
  2103. #ifndef BOOST_NO_EXCEPTIONS
  2104. }
  2105. catch (const boost::exception& e)
  2106. {
  2107. std::cout << "Caught boost::exception with:\n";
  2108. std::cout << diagnostic_information(e);
  2109. }
  2110. catch (const std::exception& e)
  2111. {
  2112. std::cout << "Caught std::exception with:\n";
  2113. std::cout << e.what() << std::endl;
  2114. }
  2115. #endif
  2116. }
  2117. }
  2118. template <class T>
  2119. void test1024()
  2120. {
  2121. using namespace boost::multiprecision;
  2122. const char* text_array[] = {
  2123. "199116592524695642085302184291534972104821103496846288349049702743455488423756865233534697793799569802866670981662356904270988544309072648691983459024063468708849163858558300444260495432655880504371186304007206097685833870163932928823469130199562442992",
  2124. "-199116592524695642085302184291534972104821103496846288349049702743455488423756865233534697793799569802866670981662356904270988544309072648691983459024063468708849163858558300444260495432655880504371186304007206097685833870163932928823469130199562442992",
  2125. "900593985907599133309438051698408853499625",
  2126. "-900593985907599133309438051698408853499625",
  2127. "1999874529133918706984995533406759076286565612920872635155416162504047196283513226624804224664215451103787410646351770677862238993331622942206185777454355265435238628326337253875004975201674224657309748975788962678417182798452737039836018579998386385843839364431684621083773420995",
  2128. "-1999874529133918706984995533406759076286565612920872635155416162504047196283513226624804224664215451103787410646351770677862238993331622942206185777454355265435238628326337253875004975201674224657309748975788962678417182798452737039836018579998386385843839364431684621083773420995",
  2129. "3984622917724894533997006216154563211907361459910318973090457115167740283771041468834030135879776466911564784436671674308756100400008317797390250537451443539509892669634431827675333761787371583170220547281395030543315815109821053621124047969069733480692532",
  2130. "-3984622917724894533997006216154563211907361459910318973090457115167740283771041468834030135879776466911564784436671674308756100400008317797390250537451443539509892669634431827675333761787371583170220547281395030543315815109821053621124047969069733480692532",
  2131. "3232318919913083002600961037970380935109",
  2132. "-3232318919913083002600961037970380935109",
  2133. "31063287987662242043295268121189412701158946907681323476663158129071217086758046387444487305432940821201595312001091888440038537739012180871591529361766112029121819690067004102150186222757899576567650712850787690098182019345491656562683693940513570929164008316791512277994247388861874767036310283032",
  2134. "-31063287987662242043295268121189412701158946907681323476663158129071217086758046387444487305432940821201595312001091888440038537739012180871591529361766112029121819690067004102150186222757899576567650712850787690098182019345491656562683693940513570929164008316791512277994247388861874767036310283032",
  2135. "551891699448873731005410917251662274314405815829594429768196331539904618164780043996715480720882109933893638976491102937306842056459564612366897777250359518885611699552940726261111066137661097166708199216229508773692203174236076409923801944639195246263554709054412966237162836449108",
  2136. "-551891699448873731005410917251662274314405815829594429768196331539904618164780043996715480720882109933893638976491102937306842056459564612366897777250359518885611699552940726261111066137661097166708199216229508773692203174236076409923801944639195246263554709054412966237162836449108",
  2137. "335366696367917734077308183957523963605452915968160245855756922088011",
  2138. "-335366696367917734077308183957523963605452915968160245855756922088011",
  2139. "516747586835313993425742202038941743391184401954870801073750702371672555461045948927255871449025485037535181895965683819085832663856528858925035833888106053116851498798112586463619731478072279623",
  2140. "-516747586835313993425742202038941743391184401954870801073750702371672555461045948927255871449025485037535181895965683819085832663856528858925035833888106053116851498798112586463619731478072279623",
  2141. "266698476906140000185555171296233707414383217616977634049828438937252114299738535337312010987594",
  2142. "-266698476906140000185555171296233707414383217616977634049828438937252114299738535337312010987594",
  2143. "1742740128166122778815789893503",
  2144. "-1742740128166122778815789893503",
  2145. "9724178186350731882862121812371154796147496227432585250532513144071077406366937493221094046638206862261142165156227060439590867019554905722401562859987295808994814401942",
  2146. "-9724178186350731882862121812371154796147496227432585250532513144071077406366937493221094046638206862261142165156227060439590867019554905722401562859987295808994814401942",
  2147. "78669120642064259414462176059292690866387576703089703385165678245138348243792107699164",
  2148. "-78669120642064259414462176059292690866387576703089703385165678245138348243792107699164",
  2149. "20818242466417733255855534640058104588616172091806661117670",
  2150. "-20818242466417733255855534640058104588616172091806661117670",
  2151. "4285795302257142023279557595265352619153550443850366091691013701573116876759469534501053640452948548428208657312557380072256478428969426137868124810140942586250078976271",
  2152. "-4285795302257142023279557595265352619153550443850366091691013701573116876759469534501053640452948548428208657312557380072256478428969426137868124810140942586250078976271",
  2153. "582604000062572804923757892130426287093735944713405746172610139142407500801888662008036220641936720421041737454101798928020195070207248743108048751731809924563484418793905813766932871306262995484219521766924610729803972858084042961494083239630079092513694133586118612073236719306830956983397633251414977754",
  2154. "-582604000062572804923757892130426287093735944713405746172610139142407500801888662008036220641936720421041737454101798928020195070207248743108048751731809924563484418793905813766932871306262995484219521766924610729803972858084042961494083239630079092513694133586118612073236719306830956983397633251414977754",
  2155. "15244715246682897475794438496539784661328456725495852276384174914973848673559621029178770197754207946620279120766931180917955631763555863913554513123775304647102553401018292948818112379521732233018874991323186887132286586138108436833252904592044083624364585617172057137372527454560587256796482346",
  2156. "-15244715246682897475794438496539784661328456725495852276384174914973848673559621029178770197754207946620279120766931180917955631763555863913554513123775304647102553401018292948818112379521732233018874991323186887132286586138108436833252904592044083624364585617172057137372527454560587256796482346",
  2157. "2162895251469736394155373749298870491019042810468937007114239114834965434324532372477043450771464135064045267665496385710799863273304844467062688237563757141742551576106360777697871874341148850361709074093167368004234386954371485929893986000482110508651966963502456247924228172005161782355542551339301544053",
  2158. "-2162895251469736394155373749298870491019042810468937007114239114834965434324532372477043450771464135064045267665496385710799863273304844467062688237563757141742551576106360777697871874341148850361709074093167368004234386954371485929893986000482110508651966963502456247924228172005161782355542551339301544053",
  2159. "1598979420051373213779067102428825857258960753077031910510837547866117340690938015398588975672437163347616966444506118889316096334851198017036793976867532695462600493286904022181865571035930456030653116939922200581824528814030699118802949188745959300411809512397337408237271478944565611123755566305",
  2160. "-1598979420051373213779067102428825857258960753077031910510837547866117340690938015398588975672437163347616966444506118889316096334851198017036793976867532695462600493286904022181865571035930456030653116939922200581824528814030699118802949188745959300411809512397337408237271478944565611123755566305",
  2161. "16972265575362228409871949532650408574482631199000565615577589612763707133618421955651468786564593364791708076161039592041831568321621510957105628787468779948579969928175938436896904310402554255504042135507367561049409553354413837219069382497010795375231533129182910408442845936728120354915635936898",
  2162. "-16972265575362228409871949532650408574482631199000565615577589612763707133618421955651468786564593364791708076161039592041831568321621510957105628787468779948579969928175938436896904310402554255504042135507367561049409553354413837219069382497010795375231533129182910408442845936728120354915635936898",
  2163. "6578842255326490592104075020940649831283616551660",
  2164. "-6578842255326490592104075020940649831283616551660",
  2165. "21683239365736925204171059844091235529220850759783534345105279221261364632686763920546656745741380892718845596049305277834093327836699551790128153290026473154694088594033146472697265593756340629571314831536187835497879992488",
  2166. "-21683239365736925204171059844091235529220850759783534345105279221261364632686763920546656745741380892718845596049305277834093327836699551790128153290026473154694088594033146472697265593756340629571314831536187835497879992488",
  2167. "82705023096235991529043144815694768432078642064433253929157769869969882959684824083733064475507849892985247689495254462302557886989778499312762640233348268023648079139590178633699092745191633841431797230103981800388019961016410936969661694491101422518397720383375579079432440889617406834440612316345",
  2168. "-82705023096235991529043144815694768432078642064433253929157769869969882959684824083733064475507849892985247689495254462302557886989778499312762640233348268023648079139590178633699092745191633841431797230103981800388019961016410936969661694491101422518397720383375579079432440889617406834440612316345",
  2169. "182226847821689839702269917063301483274601928154240894497051272590070015871573462612330908644446070144310876769617182637134479859518870301265103824148955731473219622377635930380500965073993471768564617573332989796817488809960475386339256946590978228792909775228312826022751099327081513175259103822462404",
  2170. "-182226847821689839702269917063301483274601928154240894497051272590070015871573462612330908644446070144310876769617182637134479859518870301265103824148955731473219622377635930380500965073993471768564617573332989796817488809960475386339256946590978228792909775228312826022751099327081513175259103822462404",
  2171. "5047815496286192631875136121482961684854345143375644371655857541129061222585290469283326779682311519927896776754142231238721306654582346292285270137340078762804088754913299932236143865279819208519978638432654788640663782736369734346995034407838300134017424349501474133378173964391719130592921725",
  2172. "-5047815496286192631875136121482961684854345143375644371655857541129061222585290469283326779682311519927896776754142231238721306654582346292285270137340078762804088754913299932236143865279819208519978638432654788640663782736369734346995034407838300134017424349501474133378173964391719130592921725",
  2173. "22536736652558441743601984420319740",
  2174. "-22536736652558441743601984420319740",
  2175. "327447539579270438292704828441807528233522606163188888154105354488483374541037700785580710347093169240568594799687437260325328617564586900214241043337",
  2176. "-327447539579270438292704828441807528233522606163188888154105354488483374541037700785580710347093169240568594799687437260325328617564586900214241043337",
  2177. "576979741896869527546425470124797714231020028752356356333225775983321871157857129520067018389689110139112275805449955044770978296650876883361429976430221447982628049254445385786013507310850518003697984237866336100952912645415854388908568224414707",
  2178. "-576979741896869527546425470124797714231020028752356356333225775983321871157857129520067018389689110139112275805449955044770978296650876883361429976430221447982628049254445385786013507310850518003697984237866336100952912645415854388908568224414707",
  2179. "755708508440402225863498155833596268190934339616501653733913066972752009318647339364141109604780235018474569114884922495929398288656171192074004071372424004589137926220537255429717898046520571796147507616408370836807000016827363741604261172604190",
  2180. "-755708508440402225863498155833596268190934339616501653733913066972752009318647339364141109604780235018474569114884922495929398288656171192074004071372424004589137926220537255429717898046520571796147507616408370836807000016827363741604261172604190",
  2181. "28048724901616569597172899970128263950954786552499389660847160202213362969018987235256727605",
  2182. "-28048724901616569597172899970128263950954786552499389660847160202213362969018987235256727605",
  2183. "173167043910755577166191737374818499849624950",
  2184. "-173167043910755577166191737374818499849624950",
  2185. "48",
  2186. "-48",
  2187. "18463009925253820920449684292621801312807473363997541122773157125946854399091765241363833326106601909427978296931833223183788301543",
  2188. "-18463009925253820920449684292621801312807473363997541122773157125946854399091765241363833326106601909427978296931833223183788301543",
  2189. "31164619961775222493397145731379707",
  2190. "-31164619961775222493397145731379707",
  2191. "1816096570786800455898299961483294949815377533170208282553387279497784999672154364831631933541855425071102266426105906939977630773287626616160771806315066360322795263086589842632991562964241768039371149116395673886243340566387264938743398973079853460222114803451321466708714785006727",
  2192. "-1816096570786800455898299961483294949815377533170208282553387279497784999672154364831631933541855425071102266426105906939977630773287626616160771806315066360322795263086589842632991562964241768039371149116395673886243340566387264938743398973079853460222114803451321466708714785006727",
  2193. "286006007227658140199584887789816189451349886507993355022297173895214040208905643298365570365441499922605759964419143497079708873231260957597650186760056343574600947950687835678669676590667783184666",
  2194. "-286006007227658140199584887789816189451349886507993355022297173895214040208905643298365570365441499922605759964419143497079708873231260957597650186760056343574600947950687835678669676590667783184666",
  2195. "18358404935882372210070601728050732884947257854425817110955248936260198050228809460271322586740505320746909919918679627100695097433534409202108416481259416338560209999440019558569552164395624923489329323411399738280552853025588689733098861097523",
  2196. "-18358404935882372210070601728050732884947257854425817110955248936260198050228809460271322586740505320746909919918679627100695097433534409202108416481259416338560209999440019558569552164395624923489329323411399738280552853025588689733098861097523",
  2197. "4134722455319345214940599980631794346657332870755359010455452155626594269008814501180484509879573967565890465226873255542092192607602138135728673418643645201766135430371744351074472506612976620427027592918016747144700651239945277040717933887512645490432181939225775342965",
  2198. "-4134722455319345214940599980631794346657332870755359010455452155626594269008814501180484509879573967565890465226873255542092192607602138135728673418643645201766135430371744351074472506612976620427027592918016747144700651239945277040717933887512645490432181939225775342965",
  2199. "54920807074733793884577529077249631831162657302693894027178095216669108940322624411834499900757281913727092273510264248215928273287884179463378853565331877701638585020489866284361829333257710807106023052404897652297092714031250456279772808462426750654556160069174238558295987347555132735561420095",
  2200. "-54920807074733793884577529077249631831162657302693894027178095216669108940322624411834499900757281913727092273510264248215928273287884179463378853565331877701638585020489866284361829333257710807106023052404897652297092714031250456279772808462426750654556160069174238558295987347555132735561420095",
  2201. "399265560197794252401617167580850085282220794173216714093253564006986475971645145366672323528680289510504223856530994241334812625576574784650620927403732184",
  2202. "-399265560197794252401617167580850085282220794173216714093253564006986475971645145366672323528680289510504223856530994241334812625576574784650620927403732184",
  2203. "31621966437344909804014117858935966136505781977117316516659445266533686603282356943749115958158394083237531612132476116831423261618528802877894233115470068483988764082981116838784931515017818535550110918",
  2204. "-31621966437344909804014117858935966136505781977117316516659445266533686603282356943749115958158394083237531612132476116831423261618528802877894233115470068483988764082981116838784931515017818535550110918",
  2205. "1606985215548409716503362538444761880543201213399618535731027289265156579177336621807120077949866098802813413615868269176538634784089984273973440941833767736805385007543715097934592673987261460898859324638806817938705575451364443949120235151257544",
  2206. "-1606985215548409716503362538444761880543201213399618535731027289265156579177336621807120077949866098802813413615868269176538634784089984273973440941833767736805385007543715097934592673987261460898859324638806817938705575451364443949120235151257544",
  2207. "285683190193",
  2208. "-285683190193",
  2209. "8061697887583266465310973659826347597097558972448901485453524610917952084739066859639084715521710210973596165921",
  2210. "-8061697887583266465310973659826347597097558972448901485453524610917952084739066859639084715521710210973596165921",
  2211. "6219223289787909965098172528033914428025426344931365048240610134846930087708486382224526942350364117413020461482722657384885935391455080562169318712277658961972965925941924792948343565934378704158420349097774074011993945850670748056251470218258676908828627471885",
  2212. "-6219223289787909965098172528033914428025426344931365048240610134846930087708486382224526942350364117413020461482722657384885935391455080562169318712277658961972965925941924792948343565934378704158420349097774074011993945850670748056251470218258676908828627471885",
  2213. "697258758163542187076749918900636966609908531786609361940000240519",
  2214. "-697258758163542187076749918900636966609908531786609361940000240519",
  2215. "1046098084657831111818175325887422175023162118504873435909952452494852374571808810176243062515313047215471029884493246457829292480590847793716267629027995295229796393654811459791589585169546388254745922345946744655803804613032804268083425871981695717315478983498539611218241664930157839795",
  2216. "-1046098084657831111818175325887422175023162118504873435909952452494852374571808810176243062515313047215471029884493246457829292480590847793716267629027995295229796393654811459791589585169546388254745922345946744655803804613032804268083425871981695717315478983498539611218241664930157839795",
  2217. "2484434366380099043156299869169661345741558449531766681226478781813341982338634464499146134940119727735818398667362505498484418919464161091166892386016324225384189876252889149071097656823108497551033588357003722",
  2218. "-2484434366380099043156299869169661345741558449531766681226478781813341982338634464499146134940119727735818398667362505498484418919464161091166892386016324225384189876252889149071097656823108497551033588357003722",
  2219. "308286676308193197031410043742676292328591745213481644733897249474373496522533072738438449939815750248898922885290011346375849968712988888608255565930075126704466104946675008196710396726585487442780152614905677",
  2220. "-308286676308193197031410043742676292328591745213481644733897249474373496522533072738438449939815750248898922885290011346375849968712988888608255565930075126704466104946675008196710396726585487442780152614905677",
  2221. "1578729146192540123786163537348004400750916878495381648015362308555564957146975794392752284685500828245809393902172165166570",
  2222. "-1578729146192540123786163537348004400750916878495381648015362308555564957146975794392752284685500828245809393902172165166570",
  2223. "753635193017654981561112585877756433926946338453536513833144933556077262395793429496030381482043731560006145122148417766008778064151654898372617208349138764363280371778703526306929669285807019015087056633479893959366709941765720251266",
  2224. "-753635193017654981561112585877756433926946338453536513833144933556077262395793429496030381482043731560006145122148417766008778064151654898372617208349138764363280371778703526306929669285807019015087056633479893959366709941765720251266",
  2225. "1023056796494340203037740397557237363844811192683830278749294166121707658052654599305485368530300819052987687826810994785603794931372101763295285975973124930171986523205085256147491724466952116413750593896486505408297359237231028",
  2226. "-1023056796494340203037740397557237363844811192683830278749294166121707658052654599305485368530300819052987687826810994785603794931372101763295285975973124930171986523205085256147491724466952116413750593896486505408297359237231028",
  2227. "7279368955234841237989689629914561920962002431310686381873314222568640123479287155739276546923764190325442924090937031964044572030997024902955450149096922769606827151526955803170246823486172000556133026264782831784752812128580068",
  2228. "-7279368955234841237989689629914561920962002431310686381873314222568640123479287155739276546923764190325442924090937031964044572030997024902955450149096922769606827151526955803170246823486172000556133026264782831784752812128580068",
  2229. "424617380576309116241807458648692744450386557212868763669113075114477578778872841574527732081207492431831870311301491048670446826911900920994644694",
  2230. "-424617380576309116241807458648692744450386557212868763669113075114477578778872841574527732081207492431831870311301491048670446826911900920994644694",
  2231. "7046686003127119093099476961562427444038611347486414217752094860417190797774076723407713585872307944642824878964077822345",
  2232. "-7046686003127119093099476961562427444038611347486414217752094860417190797774076723407713585872307944642824878964077822345",
  2233. "19949119701600514825288852843654302777880460105733015351003691242645123465142555331932685718332487926262997425529449487067278953683",
  2234. "-19949119701600514825288852843654302777880460105733015351003691242645123465142555331932685718332487926262997425529449487067278953683",
  2235. "16469140092633375339743693580164888653727421730589027379476942842394844761208703483677054585417793177811566576822391363212778421263249183342676114446881502895872964885316569671443951931393367071689754985",
  2236. "-16469140092633375339743693580164888653727421730589027379476942842394844761208703483677054585417793177811566576822391363212778421263249183342676114446881502895872964885316569671443951931393367071689754985",
  2237. "1061702816480363701187846694728343109042150409401045998",
  2238. "-1061702816480363701187846694728343109042150409401045998",
  2239. "7391047600385760425390763210856013417540808412389899",
  2240. "-7391047600385760425390763210856013417540808412389899",
  2241. "3720217478561502591416009227591582869882982470098168796813426264578076670286029029195560760567",
  2242. "-3720217478561502591416009227591582869882982470098168796813426264578076670286029029195560760567",
  2243. "66106892589637039037744676327200772291368517688108041167197715930935273497569759111332854815299471155925869011997907566713674005971100914739364454164984587128896600583993354569858550495377843782520710717979164977585093",
  2244. "-66106892589637039037744676327200772291368517688108041167197715930935273497569759111332854815299471155925869011997907566713674005971100914739364454164984587128896600583993354569858550495377843782520710717979164977585093",
  2245. "655105381318829622535325161492573443039473032159228692157069475333288969363672255837498503071757247193471076794288004751047135238604867298249068617214132553959376152373616588040808707670098140225261882200984527500899566180951300745344526414599508",
  2246. "-655105381318829622535325161492573443039473032159228692157069475333288969363672255837498503071757247193471076794288004751047135238604867298249068617214132553959376152373616588040808707670098140225261882200984527500899566180951300745344526414599508",
  2247. "32279098297",
  2248. "-32279098297",
  2249. "91236285260894969491370094562444170610185292123928049180398654028165920269699400153752501142438076",
  2250. "-91236285260894969491370094562444170610185292123928049180398654028165920269699400153752501142438076",
  2251. "76148543022827828542260034575767140554118312303651220784462009876431985956698652362044",
  2252. "-76148543022827828542260034575767140554118312303651220784462009876431985956698652362044",
  2253. "83588868584829923837376678742649596503169974719002042708417338297148455364317505115231903770625036463360146776147319869172298475847924715607135999201658410499586149882123548133278995113231076277183588359228055211291455848766205373827838498451914146847385535315038611426",
  2254. "-83588868584829923837376678742649596503169974719002042708417338297148455364317505115231903770625036463360146776147319869172298475847924715607135999201658410499586149882123548133278995113231076277183588359228055211291455848766205373827838498451914146847385535315038611426",
  2255. "963957921647213",
  2256. "-963957921647213",
  2257. "13301565202923219609572812103802050473736468733",
  2258. "-13301565202923219609572812103802050473736468733",
  2259. "4746350713999103687568954691814",
  2260. "-4746350713999103687568954691814",
  2261. "2001142907044963200442678450863815898813903676660733058871895239756077633074421909013654237542517301596550011117510574893770558703407744684777702961205416292826384730912647565673208707968211244040320246494312087239093502776249390829799552970184550131203169359608726456455152480928583576591394902496106626144",
  2262. "-2001142907044963200442678450863815898813903676660733058871895239756077633074421909013654237542517301596550011117510574893770558703407744684777702961205416292826384730912647565673208707968211244040320246494312087239093502776249390829799552970184550131203169359608726456455152480928583576591394902496106626144",
  2263. "107594281614292318387817778890700162347725421105656330924973717308436245329157596183845769858366750239404646287651057292302740816759738471158092800874582432179112119211566698620828469639621669897519755264598100204713172616980523260714264267451063089420215",
  2264. "-107594281614292318387817778890700162347725421105656330924973717308436245329157596183845769858366750239404646287651057292302740816759738471158092800874582432179112119211566698620828469639621669897519755264598100204713172616980523260714264267451063089420215",
  2265. "1748285028280968559027056769483145164710362048627307365465656148480028444958644903475995728328069875726460568057080202853997524099097288749318318801615657840242878599655077486108729249226195564937733374638566648902211364103190286203200478747078106163053",
  2266. "-1748285028280968559027056769483145164710362048627307365465656148480028444958644903475995728328069875726460568057080202853997524099097288749318318801615657840242878599655077486108729249226195564937733374638566648902211364103190286203200478747078106163053",
  2267. "11460180193889065606722132385926501525431980106546682247601052575855000134486061731618687473242633808411918689848577390823351808790715520481001965421879800810352399655561482898353748786253207752078326991084961012083",
  2268. "-11460180193889065606722132385926501525431980106546682247601052575855000134486061731618687473242633808411918689848577390823351808790715520481001965421879800810352399655561482898353748786253207752078326991084961012083",
  2269. "574927035874041759213679385423821561867",
  2270. "-574927035874041759213679385423821561867",
  2271. "120643345454198941508563017089006360092589256126170227342940319190269214269775023269721267117406618",
  2272. "-120643345454198941508563017089006360092589256126170227342940319190269214269775023269721267117406618",
  2273. "43211052397169822368769320044098366176065820670381470825125490923898893035078574715878390619044493658716106759475917845349930472007385257270090791727486873231922936861573077702054193955871675235660795444516942345577520753954381850029768",
  2274. "-43211052397169822368769320044098366176065820670381470825125490923898893035078574715878390619044493658716106759475917845349930472007385257270090791727486873231922936861573077702054193955871675235660795444516942345577520753954381850029768",
  2275. "9844479373748707013063227964029459596247847016794211846228318515960354387966950301750833297921955723417061013994092483915173465284502461089399372968661262420490350455873655690633576331503541999665999411319072898423762904939498903689838493823091884957816736065194017711554932378966207638596446",
  2276. "-9844479373748707013063227964029459596247847016794211846228318515960354387966950301750833297921955723417061013994092483915173465284502461089399372968661262420490350455873655690633576331503541999665999411319072898423762904939498903689838493823091884957816736065194017711554932378966207638596446",
  2277. "1549569662025720311251404569332722105893198679127923795355656951920288528581705427103792360667449800130523485559533763978458224547356178202688985769505",
  2278. "-1549569662025720311251404569332722105893198679127923795355656951920288528581705427103792360667449800130523485559533763978458224547356178202688985769505",
  2279. "36315742657",
  2280. "-36315742657",
  2281. "8921164792041877158829344493852966827789686565858639796763485931102357440731861058782552324538917399828752311227018705861210803742330995498617328892413590387831390338234562492080836551321361310716484078814",
  2282. "-8921164792041877158829344493852966827789686565858639796763485931102357440731861058782552324538917399828752311227018705861210803742330995498617328892413590387831390338234562492080836551321361310716484078814",
  2283. "3564428449813842615037566955460603551635405941961408429533479906924825068973042239756262262787799344453371579266807953907224412476869508",
  2284. "-3564428449813842615037566955460603551635405941961408429533479906924825068973042239756262262787799344453371579266807953907224412476869508",
  2285. "803208608149818042371281509635155439483",
  2286. "-803208608149818042371281509635155439483",
  2287. "4866189324296232234061833332746205890326919472641667725283106186358795590420827732306960443344464312769726502055107509",
  2288. "-4866189324296232234061833332746205890326919472641667725283106186358795590420827732306960443344464312769726502055107509",
  2289. "207298564235033398879052037508717471071493511497187540585110196743",
  2290. "-207298564235033398879052037508717471071493511497187540585110196743",
  2291. "193717918520883498325012985935003601959305178471191450716579245791510632312265720137365047580022087853055977679260908512014775411818562756581294466392949427067700253919565514470785071872659525583000795812531290669561365815697655594188906",
  2292. "-193717918520883498325012985935003601959305178471191450716579245791510632312265720137365047580022087853055977679260908512014775411818562756581294466392949427067700253919565514470785071872659525583000795812531290669561365815697655594188906",
  2293. "2437877491739207",
  2294. "-2437877491739207",
  2295. "37013774102202564305419053038604891745828779816673570038156288209445014156533018002446399548329104265253840467051874818175306349349752734572291264362672503100264435752942371629071789078883405034467875813374259058124047248097835249024123072756933",
  2296. "-37013774102202564305419053038604891745828779816673570038156288209445014156533018002446399548329104265253840467051874818175306349349752734572291264362672503100264435752942371629071789078883405034467875813374259058124047248097835249024123072756933",
  2297. "354494755327",
  2298. "-354494755327",
  2299. "11780642893082070770985419994433169541426957824422257433844",
  2300. "-11780642893082070770985419994433169541426957824422257433844",
  2301. "485430660154648600595640793061533874664308049695155979729256186778257302321647241550949220266916178753497849914452979205318162",
  2302. "-485430660154648600595640793061533874664308049695155979729256186778257302321647241550949220266916178753497849914452979205318162",
  2303. "23858852603627264837843140314865296322097028936336850188878465502728409524610276592851077626292364546252755103916928846389671162429425418906991891502973",
  2304. "-23858852603627264837843140314865296322097028936336850188878465502728409524610276592851077626292364546252755103916928846389671162429425418906991891502973",
  2305. "2073475025890625790912875485180905813499103080617022204722722710095631077512485124044881139986135538169181486312704584071614904004373594716419",
  2306. "-2073475025890625790912875485180905813499103080617022204722722710095631077512485124044881139986135538169181486312704584071614904004373594716419",
  2307. "15280710757061816529388583850582811170979066299366854920512818520549969116440063183787310498271091672343434592650388724950511822972092076",
  2308. "-15280710757061816529388583850582811170979066299366854920512818520549969116440063183787310498271091672343434592650388724950511822972092076",
  2309. "6382485371693619169022055595031229091762638736860010414889365673981891166426242136610234221929171470107008843300114050380584829581671837693187024514818",
  2310. "-6382485371693619169022055595031229091762638736860010414889365673981891166426242136610234221929171470107008843300114050380584829581671837693187024514818",
  2311. "12185224224701673175361331319115762816895575796767843658049699617134858039026831564288739190981827007791493862865956911735574421879562096311558676154252796632277351699205162505700258194809563580445507",
  2312. "-12185224224701673175361331319115762816895575796767843658049699617134858039026831564288739190981827007791493862865956911735574421879562096311558676154252796632277351699205162505700258194809563580445507",
  2313. "34003980273948488873087243030302546934071096333462110121575903766367670827215796429777573314114296018716373089777559546454127470648315079633590832262220530391541976999162677539194732289306375110039265026554808460597438607169664283497662076280786",
  2314. "-34003980273948488873087243030302546934071096333462110121575903766367670827215796429777573314114296018716373089777559546454127470648315079633590832262220530391541976999162677539194732289306375110039265026554808460597438607169664283497662076280786",
  2315. "122848198938353223588037911092014612429998780961520627899382186456109045142826399845219049519395028055840868305519753136489752495357572137972700299899629238691174342998161949671331013802430679284465951931850871392212632",
  2316. "-122848198938353223588037911092014612429998780961520627899382186456109045142826399845219049519395028055840868305519753136489752495357572137972700299899629238691174342998161949671331013802430679284465951931850871392212632",
  2317. "43537967438743700082839955990027575248714598937547106788531846714509188167960975769453819977500278194590313507781727399526395127656584060420218121352097776308452702567298202679209230473699619650828718821287113120498048345913575657082695406163703126042367182026511481872506111256791596",
  2318. "-43537967438743700082839955990027575248714598937547106788531846714509188167960975769453819977500278194590313507781727399526395127656584060420218121352097776308452702567298202679209230473699619650828718821287113120498048345913575657082695406163703126042367182026511481872506111256791596",
  2319. "58406767675650075287505789516356411545831826432139397101494864325157903449602707567656548116973052773130530151058837990354645940288559829449340220508188691146281802100553666536211206823508084744153463134410959296949868335640749454837",
  2320. "-58406767675650075287505789516356411545831826432139397101494864325157903449602707567656548116973052773130530151058837990354645940288559829449340220508188691146281802100553666536211206823508084744153463134410959296949868335640749454837",
  2321. "845873210129906374353022076245969947869460127750482252356111232286849327159845231580563758295137285209548293776383830614553566014483472912208993044958366148170162204310293796785477227702675371216304957228188615867576567406231041038281756292397397561",
  2322. "-845873210129906374353022076245969947869460127750482252356111232286849327159845231580563758295137285209548293776383830614553566014483472912208993044958366148170162204310293796785477227702675371216304957228188615867576567406231041038281756292397397561",
  2323. "53588224463377221082233930622411910641801456988689291134720826079004949443094787414435",
  2324. "-53588224463377221082233930622411910641801456988689291134720826079004949443094787414435",
  2325. "72112722851930798700228005210608826370783262851441860040831117968729809788108346159403319971018904246301591088717098607465649205797470097967252119620134427778008686902310907006410363397508152328805949858597088819284277",
  2326. "-72112722851930798700228005210608826370783262851441860040831117968729809788108346159403319971018904246301591088717098607465649205797470097967252119620134427778008686902310907006410363397508152328805949858597088819284277",
  2327. "641918660703774309882129738043218549030513645540611429936046631082566036061356980177384685321883957675631751681520848096394297317163463488891570190724496654177980091225725954578443264041706056677969812886935701",
  2328. "-641918660703774309882129738043218549030513645540611429936046631082566036061356980177384685321883957675631751681520848096394297317163463488891570190724496654177980091225725954578443264041706056677969812886935701",
  2329. "30",
  2330. "-30",
  2331. "6394573041749544637932142063252660876011988517352129759808021807615786602503160259195561963658103141713195046053277921040817887800559226509891982140334607813922841396821838502087774297750475588617168795",
  2332. "-6394573041749544637932142063252660876011988517352129759808021807615786602503160259195561963658103141713195046053277921040817887800559226509891982140334607813922841396821838502087774297750475588617168795",
  2333. "1786466222561817425577249373742981037566301146961591730677121116610853649457567467081637483584212899635954801237845898555279493690732411882920175456222801107258417531725553455448259056866349458253419178431317512242742160",
  2334. "-1786466222561817425577249373742981037566301146961591730677121116610853649457567467081637483584212899635954801237845898555279493690732411882920175456222801107258417531725553455448259056866349458253419178431317512242742160",
  2335. "137832029750529182794342751962197941412491800492104",
  2336. "-137832029750529182794342751962197941412491800492104",
  2337. "8108038128324706368474080686463548136481517039342729533539080912561382244733668445971779623479147878923993970600643926905142316004585446689923640217524203592135814813370649929971097550423245537858260",
  2338. "-8108038128324706368474080686463548136481517039342729533539080912561382244733668445971779623479147878923993970600643926905142316004585446689923640217524203592135814813370649929971097550423245537858260",
  2339. "5002261098184392173934780113066967242",
  2340. "-5002261098184392173934780113066967242",
  2341. "690951335667913995812417540653386648776452918801140879728454196755039750563977820072442505506359908874725801630758561609054355988759175228289",
  2342. "-690951335667913995812417540653386648776452918801140879728454196755039750563977820072442505506359908874725801630758561609054355988759175228289",
  2343. "10674213497798883899476403327832261239905267095517429500221095458852845305968864392299051608409658803957443554649236067724400487971044164121242198029786220",
  2344. "-10674213497798883899476403327832261239905267095517429500221095458852845305968864392299051608409658803957443554649236067724400487971044164121242198029786220",
  2345. "17992446102498398809906415490084711513529803098403245836231064924343042871622653363618957583240979467823413823373231710836844132776133330230504849252207785917957852664671150869449421757327447929003162434828411052366071580989788644644058346",
  2346. "-17992446102498398809906415490084711513529803098403245836231064924343042871622653363618957583240979467823413823373231710836844132776133330230504849252207785917957852664671150869449421757327447929003162434828411052366071580989788644644058346",
  2347. "33842687090178160518628086932775600899160163731425276680317104716407292755478424345380082755988441733647290183079908808136196734777398636133355822624652625917768049717031860506349867723992592655421369270624555109106177714680336653018611913032875963068852500326353648887921416851020395037162987766",
  2348. "-33842687090178160518628086932775600899160163731425276680317104716407292755478424345380082755988441733647290183079908808136196734777398636133355822624652625917768049717031860506349867723992592655421369270624555109106177714680336653018611913032875963068852500326353648887921416851020395037162987766",
  2349. "1054083826397869852970042065169251590328234555837539271102624160027471295945233271106117930450857346874100524858325086710499923040919634021718345296558298025504382070214470223730",
  2350. "-1054083826397869852970042065169251590328234555837539271102624160027471295945233271106117930450857346874100524858325086710499923040919634021718345296558298025504382070214470223730",
  2351. "136407237437852413879681494779911076041207111591826209650287776324941155126675066585977968663006698647245",
  2352. "-136407237437852413879681494779911076041207111591826209650287776324941155126675066585977968663006698647245",
  2353. "2224879942826211211569920900726660211869323323310097306306571308813333981073744504097938050565302837264530253763057896699924896596092066791400879438413472679293844669326318441711505238433328261842523388469632517312478257062414756535170295711651910005290949014898120581894",
  2354. "-2224879942826211211569920900726660211869323323310097306306571308813333981073744504097938050565302837264530253763057896699924896596092066791400879438413472679293844669326318441711505238433328261842523388469632517312478257062414756535170295711651910005290949014898120581894",
  2355. "4047288308565310307500509489225346109923522467464514519968591592559230455772855713422415453581291554663695129034041054508221015627588797163542760075301595269083019308332323602089140",
  2356. "-4047288308565310307500509489225346109923522467464514519968591592559230455772855713422415453581291554663695129034041054508221015627588797163542760075301595269083019308332323602089140",
  2357. "1035816948031741587849086409216542916935656696246164119153928232713320856714123588940050533131790722677035036233284471386922732645880058503610308346951059222695446014860710224009856786160873437306753478940623814638264314179274958950671363159961289293",
  2358. "-1035816948031741587849086409216542916935656696246164119153928232713320856714123588940050533131790722677035036233284471386922732645880058503610308346951059222695446014860710224009856786160873437306753478940623814638264314179274958950671363159961289293",
  2359. "1718216153801609870534260896130470102834028900689159827595233108230047",
  2360. "-1718216153801609870534260896130470102834028900689159827595233108230047",
  2361. "157320",
  2362. "-157320",
  2363. "4922208547816973044459635133646703969879372571533096054296883386644122380530951726299847426987732042397595779976830474678726947018304354845591378517358359470056483109237714380888286233563680472388849805778688479350769638569123934902",
  2364. "-4922208547816973044459635133646703969879372571533096054296883386644122380530951726299847426987732042397595779976830474678726947018304354845591378517358359470056483109237714380888286233563680472388849805778688479350769638569123934902",
  2365. "3067476257285335874566823333688543442128450810079871657467124491543338509419265027748695014643813306181544035536165512867635982606378678645467114585754422748255288790715628747169903578478381870157776988838327310364853622786578500012302428307039672498275",
  2366. "-3067476257285335874566823333688543442128450810079871657467124491543338509419265027748695014643813306181544035536165512867635982606378678645467114585754422748255288790715628747169903578478381870157776988838327310364853622786578500012302428307039672498275",
  2367. "883397505237211649947418585007890070022882946801242047716792933816916920312758",
  2368. "-883397505237211649947418585007890070022882946801242047716792933816916920312758",
  2369. "1100016596294277930396702074837291475694950629762363744759571589030108139933298189695770187024515803626715526690351811923084433342467648792302262756272887683638924910835436501074742486120762849764143752164258427412169550392618539176353678199434066032915",
  2370. "-1100016596294277930396702074837291475694950629762363744759571589030108139933298189695770187024515803626715526690351811923084433342467648792302262756272887683638924910835436501074742486120762849764143752164258427412169550392618539176353678199434066032915",
  2371. "3318653243827753930075076609367167950215271547197165956541578677095035789105230285577300537970253024380004869448887191421072498566168883197146749684037295491",
  2372. "-3318653243827753930075076609367167950215271547197165956541578677095035789105230285577300537970253024380004869448887191421072498566168883197146749684037295491",
  2373. "18917325422442253597680054225840324956976833511185836470606776355469702018395215498115502098244359450586779118546945991879765584863693947599352077215049091215099400154668038964846442469328921458041398569034401548536622210828439622386945359553017072968575829651399459030775837160233158886103",
  2374. "-18917325422442253597680054225840324956976833511185836470606776355469702018395215498115502098244359450586779118546945991879765584863693947599352077215049091215099400154668038964846442469328921458041398569034401548536622210828439622386945359553017072968575829651399459030775837160233158886103",
  2375. "254366786216910043665990950804997231945088908428747001184159373059058493118875749329803453882635522927040165937386417763335659992218458086511885522609981363333096153519757022667758401739961262948319999739472528794701",
  2376. "-254366786216910043665990950804997231945088908428747001184159373059058493118875749329803453882635522927040165937386417763335659992218458086511885522609981363333096153519757022667758401739961262948319999739472528794701",
  2377. "37544442396527426899195446849672655465276344502770712178079384432684510232491164260359865664795991038222782506894463672347582854",
  2378. "-37544442396527426899195446849672655465276344502770712178079384432684510232491164260359865664795991038222782506894463672347582854",
  2379. "15673578372504731899692149900135775418224632075238646337867467957107034530818946478167665455128984412394389268797819166734444989508179006505772666514111230952795610254140089645092544526629237404643329919824803563866840859270664303879742294839213766102351871211663636813556965",
  2380. "-15673578372504731899692149900135775418224632075238646337867467957107034530818946478167665455128984412394389268797819166734444989508179006505772666514111230952795610254140089645092544526629237404643329919824803563866840859270664303879742294839213766102351871211663636813556965",
  2381. "27481560151479303283253590172063634693210359375791056643367262359056676411581745877899312410880682306069203702180378974272137310962",
  2382. "-27481560151479303283253590172063634693210359375791056643367262359056676411581745877899312410880682306069203702180378974272137310962",
  2383. "59764850084546321076270115679381459961266663920938595034931337715038895288728780241940147905268936247355365797839452044959717373177405268037975305459371499345817108953258614141073965011536848191412758145014880201415800076045236677519189441266640929126443802253464497061850704733496580039504966534",
  2384. "-59764850084546321076270115679381459961266663920938595034931337715038895288728780241940147905268936247355365797839452044959717373177405268037975305459371499345817108953258614141073965011536848191412758145014880201415800076045236677519189441266640929126443802253464497061850704733496580039504966534",
  2385. "236346389410506959600114343181511587020869234266420558654132661642154355113727359542557485608210379840787154866691122790684707204957449484562815548156526563035046035495563526969340",
  2386. "-236346389410506959600114343181511587020869234266420558654132661642154355113727359542557485608210379840787154866691122790684707204957449484562815548156526563035046035495563526969340",
  2387. "8815935276532889936007554615797399527468399687615548740700254897861864429815615560728972825692565852981716178182277189313249729477257089767951370396136769451014576455113",
  2388. "-8815935276532889936007554615797399527468399687615548740700254897861864429815615560728972825692565852981716178182277189313249729477257089767951370396136769451014576455113",
  2389. "15766842373922966734945972936934487778733908393732",
  2390. "-15766842373922966734945972936934487778733908393732",
  2391. "6595752830737826074851600247398704243439581",
  2392. "-6595752830737826074851600247398704243439581",
  2393. "883607119507167020680444599092885224088612050268051636998275726360170767104266391951078564780752590643878108107048593830807317310688757872408858062530074042278525133611486569437859217448040432508288719355266779546627635013182590336527",
  2394. "-883607119507167020680444599092885224088612050268051636998275726360170767104266391951078564780752590643878108107048593830807317310688757872408858062530074042278525133611486569437859217448040432508288719355266779546627635013182590336527",
  2395. "33694907409791755762655404952802940988899691249",
  2396. "-33694907409791755762655404952802940988899691249",
  2397. "323333915936767999634844119809319135460509879311229599308354939953168279",
  2398. "-323333915936767999634844119809319135460509879311229599308354939953168279",
  2399. "109533461242727456317187321637480456637352670377446387229311720642342270936669079",
  2400. "-109533461242727456317187321637480456637352670377446387229311720642342270936669079",
  2401. "1385911310557366456440256909064094890695543397784942861180089270740259394708721160036253862597269877264942393141524860354011688095362554758164667579347793400229024555480224078270156224230580104617746710199310164986752840215359839845498564497854670854",
  2402. "-1385911310557366456440256909064094890695543397784942861180089270740259394708721160036253862597269877264942393141524860354011688095362554758164667579347793400229024555480224078270156224230580104617746710199310164986752840215359839845498564497854670854",
  2403. "29774115054799535833930768716897017350284486426186383584162324318962025027678962428276603554895692141466695531519088683268104074739324371129542465293986416152097350166384444454811692728264434003142202934260616565733198831279676615440572524973775003086833767426",
  2404. "-29774115054799535833930768716897017350284486426186383584162324318962025027678962428276603554895692141466695531519088683268104074739324371129542465293986416152097350166384444454811692728264434003142202934260616565733198831279676615440572524973775003086833767426",
  2405. "74696367101640724890251441072354635571976155536130046140237438589798381789554793148406818355661257862104683281722318017709028012486180422540427675980472782459468162926394976288225872264456693023891477557259759177462765826175659413065496505969367440547828089465241517425279607801825661125137502490209352550",
  2406. "-74696367101640724890251441072354635571976155536130046140237438589798381789554793148406818355661257862104683281722318017709028012486180422540427675980472782459468162926394976288225872264456693023891477557259759177462765826175659413065496505969367440547828089465241517425279607801825661125137502490209352550",
  2407. "1204196594639385922414846449687106633371016123988162000948048507502126642148118",
  2408. "-1204196594639385922414846449687106633371016123988162000948048507502126642148118",
  2409. "846833858170919771038203149272750341572762713657689308208261686002409383861625765452744323828942233333",
  2410. "-846833858170919771038203149272750341572762713657689308208261686002409383861625765452744323828942233333",
  2411. "182161452241374047273456867899515861555380897442569148219001470598361338903885535593714631480225974535244035939079461012689178031931288032512442603044979036705163872936026346865633839654342088060028594652808131903888369770826412770233292335398149959646",
  2412. "-182161452241374047273456867899515861555380897442569148219001470598361338903885535593714631480225974535244035939079461012689178031931288032512442603044979036705163872936026346865633839654342088060028594652808131903888369770826412770233292335398149959646",
  2413. "982677520230623904675071524585093908331832014895485448777250229533226440326748097093798644810",
  2414. "-982677520230623904675071524585093908331832014895485448777250229533226440326748097093798644810",
  2415. "2470642728099219780778259687407342337194729387462688122808418202258274933287",
  2416. "-2470642728099219780778259687407342337194729387462688122808418202258274933287",
  2417. "21642",
  2418. "-21642",
  2419. "28109476527429648692470007325789564480573483619310804793750563939329019602047743826734114282192488430735600284398989680911911960943283501628534649887574302741936678165842670818369902783900366003306472118461382044113045381589251197206074842928328220219584087542112389580462137108895790086",
  2420. "-28109476527429648692470007325789564480573483619310804793750563939329019602047743826734114282192488430735600284398989680911911960943283501628534649887574302741936678165842670818369902783900366003306472118461382044113045381589251197206074842928328220219584087542112389580462137108895790086",
  2421. "24473934394139795039432356490797923225705279667816043556538102097065",
  2422. "-24473934394139795039432356490797923225705279667816043556538102097065",
  2423. "967666937415492520370655115944840613051857445576119169258498049770608556022671644163127742796054969198094856",
  2424. "-967666937415492520370655115944840613051857445576119169258498049770608556022671644163127742796054969198094856",
  2425. "8777670436928270404636672844045971126192291209566648012730356503650458463860437163044293866063131499188106079322582985846405009457295181485284286775546965040263973340573887093705724765371051485505998527923498980801571623582212444207027545811844533625560957194790459778850062900748",
  2426. "-8777670436928270404636672844045971126192291209566648012730356503650458463860437163044293866063131499188106079322582985846405009457295181485284286775546965040263973340573887093705724765371051485505998527923498980801571623582212444207027545811844533625560957194790459778850062900748",
  2427. "10519677007822794739900735125229787943972331835720269482799977",
  2428. "-10519677007822794739900735125229787943972331835720269482799977",
  2429. "1590072871278743537180333082100146324295480429097445157011611168462260468069742799519303496051313133424632939883615906533434106640128123864165917007171699524724790769928823375793283671051479570198286895253998686473352852617282646423776591164499455695311138248299",
  2430. "-1590072871278743537180333082100146324295480429097445157011611168462260468069742799519303496051313133424632939883615906533434106640128123864165917007171699524724790769928823375793283671051479570198286895253998686473352852617282646423776591164499455695311138248299",
  2431. "383577258388475022706431955525247573599499248581278423720457780337892379126935",
  2432. "-383577258388475022706431955525247573599499248581278423720457780337892379126935",
  2433. "4092674502161259843824589343985242161447501042778080381002610852870457757982768392530808942900298511043488661625193784801456963642409098266685508736530379429664593489447947572985105744943017018734265426997872693998175650632205202701888817395372790067319643794599452089403576233527127077671169622",
  2434. "-4092674502161259843824589343985242161447501042778080381002610852870457757982768392530808942900298511043488661625193784801456963642409098266685508736530379429664593489447947572985105744943017018734265426997872693998175650632205202701888817395372790067319643794599452089403576233527127077671169622",
  2435. "13404427613900927247182634952369430867149749267930075884187025351198408344520192279603454195813154024830997527858376982434391797362547445527455503408360391999256823815839930266546427915841779",
  2436. "-13404427613900927247182634952369430867149749267930075884187025351198408344520192279603454195813154024830997527858376982434391797362547445527455503408360391999256823815839930266546427915841779",
  2437. "1782731694176936358469465341561020425473553201468123279175729849215977910638614519237563454448377541145186523281923996935231617014737050458102419525422740666362815640052502503060273650753054955785368306923652680382227789211754118567371586934",
  2438. "-1782731694176936358469465341561020425473553201468123279175729849215977910638614519237563454448377541145186523281923996935231617014737050458102419525422740666362815640052502503060273650753054955785368306923652680382227789211754118567371586934",
  2439. "71445070949104597011738157784103420085714634511010244724089831548057084941763190363056184849082451693612273802898122477866754965092090652561708550",
  2440. "-71445070949104597011738157784103420085714634511010244724089831548057084941763190363056184849082451693612273802898122477866754965092090652561708550",
  2441. "29824403422520048745171796949849941396331286906646046322404644703962912292598789686250791183932008392905170486032131129329348882564734443795544653928497362304776093305233881623231624358963434097033411434801644527775046832916455013625115699965097251269229855092992005057236242615322851235046388965677957662",
  2442. "-29824403422520048745171796949849941396331286906646046322404644703962912292598789686250791183932008392905170486032131129329348882564734443795544653928497362304776093305233881623231624358963434097033411434801644527775046832916455013625115699965097251269229855092992005057236242615322851235046388965677957662",
  2443. "3305915750647269729664177438631754300633043385617699516297426765949911376314744190602062381040796872234391958",
  2444. "-3305915750647269729664177438631754300633043385617699516297426765949911376314744190602062381040796872234391958",
  2445. "3478784122562389625603",
  2446. "-3478784122562389625603",
  2447. "92086546733522598295324541515522297712847163647680019382995445215746554554174953976307228051786981849535290733112403050554954140651771516865900059530798935625857134201153825877196274813040051834092674214044263432436343855130586740109759258782054166065929",
  2448. "-92086546733522598295324541515522297712847163647680019382995445215746554554174953976307228051786981849535290733112403050554954140651771516865900059530798935625857134201153825877196274813040051834092674214044263432436343855130586740109759258782054166065929",
  2449. "65957872354116509297400621319564903702253130516097675674670945971981309842410416012915540911950348439255536201700835793048055599890677253563036692899622137331645054971331690373584438379720134181489517623643988341292887235850459604282122921452528",
  2450. "-65957872354116509297400621319564903702253130516097675674670945971981309842410416012915540911950348439255536201700835793048055599890677253563036692899622137331645054971331690373584438379720134181489517623643988341292887235850459604282122921452528",
  2451. "4165190074711498372705686642027748628010631591673700346085849569414502903758312031393196903476997644869669022781414821544378466903717692187198478658086148256293129853045819435002914",
  2452. "-4165190074711498372705686642027748628010631591673700346085849569414502903758312031393196903476997644869669022781414821544378466903717692187198478658086148256293129853045819435002914",
  2453. "502172553703744753908380772164642649304217792528090440716191580724484473328235664927817984771636372875409898830005825976063650593238541433729038373056225370315599153406133185392320847",
  2454. "-502172553703744753908380772164642649304217792528090440716191580724484473328235664927817984771636372875409898830005825976063650593238541433729038373056225370315599153406133185392320847",
  2455. "25810339190726741831136349797818105994358611764887668315197822821632935574011575463532742868091838388104842551381619490991039627647851601302773448573544037953054558472548",
  2456. "-25810339190726741831136349797818105994358611764887668315197822821632935574011575463532742868091838388104842551381619490991039627647851601302773448573544037953054558472548",
  2457. "4665422938667922731390545239525991067478667357298476881860826251089436662146540827982134227087684685030991914103761128873483160892760746361799786480055617662181625815248230938316973880302906675299954379007760370823224832674779",
  2458. "-4665422938667922731390545239525991067478667357298476881860826251089436662146540827982134227087684685030991914103761128873483160892760746361799786480055617662181625815248230938316973880302906675299954379007760370823224832674779",
  2459. "2223735597830224864049890057834039493638098960775167604145066375240100821674008194961337124741661084219067145508494176034464042665143434078149689607318313818865277681569064932224810481504434495675653041063465302100041302802648038458370477008560806359234416742985635022084248641500377",
  2460. "-2223735597830224864049890057834039493638098960775167604145066375240100821674008194961337124741661084219067145508494176034464042665143434078149689607318313818865277681569064932224810481504434495675653041063465302100041302802648038458370477008560806359234416742985635022084248641500377",
  2461. "42345447563490737654515925924136916105150662665879987625806652403110474948139404742355256883201223238547442445427767854602327889485658289780295383306283583160293766253974742903668207523228749309062814526339073599070",
  2462. "-42345447563490737654515925924136916105150662665879987625806652403110474948139404742355256883201223238547442445427767854602327889485658289780295383306283583160293766253974742903668207523228749309062814526339073599070",
  2463. "40757494492054593189505181124883370961902335356122875708839948469462201920152164929215445",
  2464. "-40757494492054593189505181124883370961902335356122875708839948469462201920152164929215445",
  2465. "489422217562968312762274110453276604934633603473056760608254327080440181671628006090249666021287247215269380617364913734802444913151007354363389984204873709403053283740243705411640696405073698784366581571968399",
  2466. "-489422217562968312762274110453276604934633603473056760608254327080440181671628006090249666021287247215269380617364913734802444913151007354363389984204873709403053283740243705411640696405073698784366581571968399",
  2467. "203828256280853345400063519072625079280180030947163985710628295241982787474897521472368518281000277120011930353824152022905149681658066777399408021281560972784695745183483128330447721487075906552349941557379095078354083487747855104922",
  2468. "-203828256280853345400063519072625079280180030947163985710628295241982787474897521472368518281000277120011930353824152022905149681658066777399408021281560972784695745183483128330447721487075906552349941557379095078354083487747855104922",
  2469. "12579256107866823853770946314828592500732374403508913980712874463292391864755987195690537357503818366347747743186695890433",
  2470. "-12579256107866823853770946314828592500732374403508913980712874463292391864755987195690537357503818366347747743186695890433",
  2471. "26755461309842501536357032592700549777692476999989333013567704060006230872678556198949194222172481328325450314710024939575841488411640806870121381285742075565712411648904027990740378131995279017965737335010708563099143288460848557783",
  2472. "-26755461309842501536357032592700549777692476999989333013567704060006230872678556198949194222172481328325450314710024939575841488411640806870121381285742075565712411648904027990740378131995279017965737335010708563099143288460848557783",
  2473. "179718434482969588987690660522936295504619795328517541448501507443327040584026830018965223706205351139318424383916072860628585971720095475736018979361135523338248920218527202",
  2474. "-179718434482969588987690660522936295504619795328517541448501507443327040584026830018965223706205351139318424383916072860628585971720095475736018979361135523338248920218527202",
  2475. "4559476727415984415667742638506394832394804942241662737080235712002719322907465863068712531182175979070036317680566622",
  2476. "-4559476727415984415667742638506394832394804942241662737080235712002719322907465863068712531182175979070036317680566622",
  2477. "18056873734891410248496182290389914805111823879862689239017282732",
  2478. "-18056873734891410248496182290389914805111823879862689239017282732",
  2479. "28355632329442976457768532159881703427555635510700435885472670967222653884076177077876502624372493819303621756857250806505170393973261606631093857830885883244831587318220509004",
  2480. "-28355632329442976457768532159881703427555635510700435885472670967222653884076177077876502624372493819303621756857250806505170393973261606631093857830885883244831587318220509004",
  2481. "1459732654931833317515433139762665712773308964783227471709926780387231673576225461320924899820938949422193790260955695331912805657904286897274122419209888368548603",
  2482. "-1459732654931833317515433139762665712773308964783227471709926780387231673576225461320924899820938949422193790260955695331912805657904286897274122419209888368548603",
  2483. "841297417411594292128977",
  2484. "-841297417411594292128977",
  2485. "4242195673983737600970155103235752981938372024288592013363272064075708471058134960551862070710453189027317281773782487650970",
  2486. "-4242195673983737600970155103235752981938372024288592013363272064075708471058134960551862070710453189027317281773782487650970",
  2487. "197127905405798244",
  2488. "-197127905405798244",
  2489. "6563407470658357675196420807382675727943443587151170499642011999875762151944659352887984041897388778521562733",
  2490. "-6563407470658357675196420807382675727943443587151170499642011999875762151944659352887984041897388778521562733",
  2491. "171120862433529862507872013528755671195868254123500416552655719933624587064946914905766882327146949422149531556848478731913777486790475986722345662117903207153341",
  2492. "-171120862433529862507872013528755671195868254123500416552655719933624587064946914905766882327146949422149531556848478731913777486790475986722345662117903207153341",
  2493. "187214460763227398586269742130045771591887383985328887736156741862960369193610822715922978601952519088940029424980096549841026833488303831185375087247455968007157419452960145311595471",
  2494. "-187214460763227398586269742130045771591887383985328887736156741862960369193610822715922978601952519088940029424980096549841026833488303831185375087247455968007157419452960145311595471",
  2495. "2673090487374081993731207525489391145288488762290600450482603424170240599600446740180718555900667741328318482506598059839151491967628487386391045037818794920023261735737921639708995039726148095626857322210114264941784225627483927045402749218",
  2496. "-2673090487374081993731207525489391145288488762290600450482603424170240599600446740180718555900667741328318482506598059839151491967628487386391045037818794920023261735737921639708995039726148095626857322210114264941784225627483927045402749218",
  2497. "299586874531112789052013025908546379682766040499696938471256503832571345345612339844529913907580250563145642647",
  2498. "-299586874531112789052013025908546379682766040499696938471256503832571345345612339844529913907580250563145642647",
  2499. "405538475580851874887939920459327617092961192248480802208813876830531489658564864824178266672271683879464330412787024584249226414349424728066961849584546083679996737251131765131648932944495100981642907933045304884221229278087094810231012513599884296417415741723145516546902774087770992604",
  2500. "-405538475580851874887939920459327617092961192248480802208813876830531489658564864824178266672271683879464330412787024584249226414349424728066961849584546083679996737251131765131648932944495100981642907933045304884221229278087094810231012513599884296417415741723145516546902774087770992604",
  2501. "4289997525579508886804910999084475469759259557183118236485054735737485047460566798688052482933027075995626140181076328124548622067825535609834113884951451721787266314523910215228638324453588589604475728750868849529649579405314779527171490876426202137784122981787297800640695809335850632264276817218",
  2502. "-4289997525579508886804910999084475469759259557183118236485054735737485047460566798688052482933027075995626140181076328124548622067825535609834113884951451721787266314523910215228638324453588589604475728750868849529649579405314779527171490876426202137784122981787297800640695809335850632264276817218",
  2503. "8307592530302620538620421474950064873013",
  2504. "-8307592530302620538620421474950064873013",
  2505. "668153113826415803744690433659063449914674108460",
  2506. "-668153113826415803744690433659063449914674108460",
  2507. "46917857009025361535384034419352878543368877134948287044907072634745489626203425426919312434872888667388137952819558853009128820322712955326948275185023832843664510785316937903",
  2508. "-46917857009025361535384034419352878543368877134948287044907072634745489626203425426919312434872888667388137952819558853009128820322712955326948275185023832843664510785316937903",
  2509. "72692276728923532198738657661593229541714898424777445103294553106601965453652630548922019551752677856073619742879036073418",
  2510. "-72692276728923532198738657661593229541714898424777445103294553106601965453652630548922019551752677856073619742879036073418",
  2511. "1365147498021014007274145395277247416653740352472059016216427940658523565320578614021663036729154339063385098348763260722534882240886880631939819",
  2512. "-1365147498021014007274145395277247416653740352472059016216427940658523565320578614021663036729154339063385098348763260722534882240886880631939819",
  2513. "114300720014386070718720229683003272046146186775381997423967458204765959963431901037954797839956346151530366909939183214",
  2514. "-114300720014386070718720229683003272046146186775381997423967458204765959963431901037954797839956346151530366909939183214",
  2515. "6762",
  2516. "-6762",
  2517. "52958329794842511544564431607079502085929565913139912125121000214082684350382689340216127453430020886928460043472604757294523852724883994706799227072659732722150629405334684502120793494615254736603105282342926917766772004919",
  2518. "-52958329794842511544564431607079502085929565913139912125121000214082684350382689340216127453430020886928460043472604757294523852724883994706799227072659732722150629405334684502120793494615254736603105282342926917766772004919",
  2519. "176688206756700071063559027466389453920766491733115376426152125336429137613213551729990793300311032785623",
  2520. "-176688206756700071063559027466389453920766491733115376426152125336429137613213551729990793300311032785623",
  2521. "1922483080110348257033411950111656752298655371856953617086529843662865561409994291993287457671153478029077149725149857725",
  2522. "-1922483080110348257033411950111656752298655371856953617086529843662865561409994291993287457671153478029077149725149857725",
  2523. "116652054071220139544336382432735630060274666911983",
  2524. "-116652054071220139544336382432735630060274666911983",
  2525. "5174104538080339543938990263794928249064915674657896129852899608936285960971761863486556625630466310050160624211680012958157394810117796321101931191821302341708281726643201876685372393200977149042032383466554582623637450297592330981838876150680862436764327264788138788126029954523641986",
  2526. "-5174104538080339543938990263794928249064915674657896129852899608936285960971761863486556625630466310050160624211680012958157394810117796321101931191821302341708281726643201876685372393200977149042032383466554582623637450297592330981838876150680862436764327264788138788126029954523641986",
  2527. "56602051214329308908684928399837460067357624824927409574521689818931407829513021195830603280968596169697964984976489620035360483629559652883726214824557656337088813049173231800245733072858891481768028465352155733037356970930661713472640527903665",
  2528. "-56602051214329308908684928399837460067357624824927409574521689818931407829513021195830603280968596169697964984976489620035360483629559652883726214824557656337088813049173231800245733072858891481768028465352155733037356970930661713472640527903665",
  2529. "50465855132621952642877529162542254312895872248149199085828932352785530557943935823716975491349313488156548806716473058702726383127266",
  2530. "-50465855132621952642877529162542254312895872248149199085828932352785530557943935823716975491349313488156548806716473058702726383127266",
  2531. "2103822150383069790413887708626272542825699206757181614299988243654634518589287733034323781018255",
  2532. "-2103822150383069790413887708626272542825699206757181614299988243654634518589287733034323781018255",
  2533. "2884145868221566190464654384898336516944031094549949335240745089189320393412625205715458573411537464678090067152741985416827426839574623518965109414118185662809105887512018969132683541056905460490486376635525002751775036410408309529607280059108670794204594780445621",
  2534. "-2884145868221566190464654384898336516944031094549949335240745089189320393412625205715458573411537464678090067152741985416827426839574623518965109414118185662809105887512018969132683541056905460490486376635525002751775036410408309529607280059108670794204594780445621",
  2535. "17151949587338385537174755341574689039375819189521363664160085642631581896638291949680521029535105884955679278095750173056302788876858996886433270550139444896998901",
  2536. "-17151949587338385537174755341574689039375819189521363664160085642631581896638291949680521029535105884955679278095750173056302788876858996886433270550139444896998901",
  2537. "480533356849702776352763749832742587425919427139102525668442168835109831060078665166920712330431373189225474215620302495581803094913110624590177406888394624128938633526464614177040468306987399",
  2538. "-480533356849702776352763749832742587425919427139102525668442168835109831060078665166920712330431373189225474215620302495581803094913110624590177406888394624128938633526464614177040468306987399",
  2539. "4048293905596052205036948911452380394795846231788449",
  2540. "-4048293905596052205036948911452380394795846231788449",
  2541. "26995137345178218227830930364666340738",
  2542. "-26995137345178218227830930364666340738",
  2543. "774397441571262230984201650112220858044164538606555323635490088358801192583611522683260312754942754317572391764052135170163899209038840031703432786259696586141227827701639190998818229513",
  2544. "-774397441571262230984201650112220858044164538606555323635490088358801192583611522683260312754942754317572391764052135170163899209038840031703432786259696586141227827701639190998818229513",
  2545. "18762561208181880394479657197069746737270753294648933008217092757003616838536799737540224936022419848244051559923181261528435902887894811151076237",
  2546. "-18762561208181880394479657197069746737270753294648933008217092757003616838536799737540224936022419848244051559923181261528435902887894811151076237",
  2547. "907239775827042770755661550314761787115062100342977397902609610238855670466824379",
  2548. "-907239775827042770755661550314761787115062100342977397902609610238855670466824379",
  2549. "752510106807455900379909618532778973994453687695730898309343615105390212836204453042377052183212876905061",
  2550. "-752510106807455900379909618532778973994453687695730898309343615105390212836204453042377052183212876905061",
  2551. "1594387591422875707361322970839625151131381378174641793551465510142159417127028702651513859466122585110982922292801583543059620610053622982905425511766811223211156471041084636387606630303692709955363035",
  2552. "-1594387591422875707361322970839625151131381378174641793551465510142159417127028702651513859466122585110982922292801583543059620610053622982905425511766811223211156471041084636387606630303692709955363035",
  2553. "23316150037708287470080374296114607254763375473373018965703611900047553929551418522455587001961482391010828529091929849671267100179126145618520750402550331537136654",
  2554. "-23316150037708287470080374296114607254763375473373018965703611900047553929551418522455587001961482391010828529091929849671267100179126145618520750402550331537136654",
  2555. "206570606519236414660405117101821960086150934143523942248291980694989781221204732295572458288359135192620910534498754440751275665591490740002481374496819362873621178489882031204314197626575326338703982006151642904",
  2556. "-206570606519236414660405117101821960086150934143523942248291980694989781221204732295572458288359135192620910534498754440751275665591490740002481374496819362873621178489882031204314197626575326338703982006151642904",
  2557. "64632739363686102310668199833121081452653123828159756435580680576799270035485260582762183515021072594277553694799435773660728228989363057503956061322371391729597055325808343868799201699918264379213943162952380242502610323",
  2558. "-64632739363686102310668199833121081452653123828159756435580680576799270035485260582762183515021072594277553694799435773660728228989363057503956061322371391729597055325808343868799201699918264379213943162952380242502610323",
  2559. "589421411734420159501267976455896411309276255208891167201590523330271039604417032437154142085688410405533459836702131617092573518938815446609802434772431958960872071215171855513041280388698254907927340515117391166070141683457342784",
  2560. "-589421411734420159501267976455896411309276255208891167201590523330271039604417032437154142085688410405533459836702131617092573518938815446609802434772431958960872071215171855513041280388698254907927340515117391166070141683457342784",
  2561. "78879805619934569024599381571707822806614963415349200270284875054237164864359624372158647647863797008340316828012300755667110314855460503179181117097385701319739187114139718329827695009617428401620773545555394848573360317456047893463046622890050301003010952433178967879125505419476694805185008787411114258",
  2562. "-78879805619934569024599381571707822806614963415349200270284875054237164864359624372158647647863797008340316828012300755667110314855460503179181117097385701319739187114139718329827695009617428401620773545555394848573360317456047893463046622890050301003010952433178967879125505419476694805185008787411114258",
  2563. "23502781763641178064404023959903165549857567200280242514656186491195674181432757323176594593508102253721487854615955222259753262265267416938",
  2564. "-23502781763641178064404023959903165549857567200280242514656186491195674181432757323176594593508102253721487854615955222259753262265267416938",
  2565. "409297139610776763506123895143481451963282099839420969098705456374184360544846067009871040867462673178544358986308342020083146065020599826820240081787171394155098100110040672410422987400472449240126519719022700797622570738",
  2566. "-409297139610776763506123895143481451963282099839420969098705456374184360544846067009871040867462673178544358986308342020083146065020599826820240081787171394155098100110040672410422987400472449240126519719022700797622570738",
  2567. "23333202714794325323697505",
  2568. "-23333202714794325323697505",
  2569. "88926553698672071141130629238070206100425021951043909308812007686747474756572535280975280230894876905612920792259781652532353624660383165526934048092970256374163978700915230573599950689593884285235239417830600259906139092309559397593337924686035082341037174504874298230037865321327",
  2570. "-88926553698672071141130629238070206100425021951043909308812007686747474756572535280975280230894876905612920792259781652532353624660383165526934048092970256374163978700915230573599950689593884285235239417830600259906139092309559397593337924686035082341037174504874298230037865321327",
  2571. "193216483164388919875865726156220378900478525465101761599275916110098513",
  2572. "-193216483164388919875865726156220378900478525465101761599275916110098513",
  2573. "445147927105811334112201187535182947887817402193430490222008844342623483790016955826328140200646698573333197769902932812101243075968229955686369555029175781",
  2574. "-445147927105811334112201187535182947887817402193430490222008844342623483790016955826328140200646698573333197769902932812101243075968229955686369555029175781",
  2575. "404724915427015100236245877077487335897861954733139220931559056131326351438847042320598819539736832267015136080413912317007525653866157576085879981310860858916082141809558153661155248226776118160741627797764071433035028151035984348656570943456141740411122305727778772350559929918941",
  2576. "-404724915427015100236245877077487335897861954733139220931559056131326351438847042320598819539736832267015136080413912317007525653866157576085879981310860858916082141809558153661155248226776118160741627797764071433035028151035984348656570943456141740411122305727778772350559929918941",
  2577. "15881033668267446564985922502808887168130126414945171534501886241573767046656582600501857191275522198094812554481448361027945717673462595782212036129626347287630493102505400",
  2578. "-15881033668267446564985922502808887168130126414945171534501886241573767046656582600501857191275522198094812554481448361027945717673462595782212036129626347287630493102505400",
  2579. "2137415689988797072560582676089346590053122445",
  2580. "-2137415689988797072560582676089346590053122445",
  2581. "323798850186148580554863589187091135845440166774430133093440314556959379021941132307127400322225854705093073925068652013957143959242670668925116774275979824",
  2582. "-323798850186148580554863589187091135845440166774430133093440314556959379021941132307127400322225854705093073925068652013957143959242670668925116774275979824",
  2583. "173508106063459544226297157276274728721118210069318517925122848577242175434996938459695476331454013223646557993405407002578179119005445994337106614223750746479653994536225606203430489837348181146905602085037927766933972128185498665420530967676198121700174",
  2584. "-173508106063459544226297157276274728721118210069318517925122848577242175434996938459695476331454013223646557993405407002578179119005445994337106614223750746479653994536225606203430489837348181146905602085037927766933972128185498665420530967676198121700174",
  2585. "78355099355274385235041105626642472390321765441120677546321753788293394435411913702107288104186287888107050196021354011143759436476044341380451",
  2586. "-78355099355274385235041105626642472390321765441120677546321753788293394435411913702107288104186287888107050196021354011143759436476044341380451",
  2587. "14082584100725485095810331470851521352703939751219746773401724408039845947212432002741091564650266209598267452042246073901010147451656273871799778680203026839107331149",
  2588. "-14082584100725485095810331470851521352703939751219746773401724408039845947212432002741091564650266209598267452042246073901010147451656273871799778680203026839107331149",
  2589. "2451726111242013614644472867015070800954350593117210091845723358334627905121894871023262409519589588967063261046514660829821816464168656627289239433694932574140916666824",
  2590. "-2451726111242013614644472867015070800954350593117210091845723358334627905121894871023262409519589588967063261046514660829821816464168656627289239433694932574140916666824",
  2591. "20065158625055757494521923831526555875918181556943569250588125153526936260221797604217490757723244157360646025073105062346371489195519447915244240862375631489025063124997553195851549786517441567063889510370756857238499576234680378947724748027600877684623953611544337343413268969959530489689129071097842283967",
  2592. "-20065158625055757494521923831526555875918181556943569250588125153526936260221797604217490757723244157360646025073105062346371489195519447915244240862375631489025063124997553195851549786517441567063889510370756857238499576234680378947724748027600877684623953611544337343413268969959530489689129071097842283967",
  2593. "2877720628966736569525036642910772915862211025917410379176852591593786965122381483084242795700755306144132542301154682139822037092615315519",
  2594. "-2877720628966736569525036642910772915862211025917410379176852591593786965122381483084242795700755306144132542301154682139822037092615315519",
  2595. "3795119948781692972575431",
  2596. "-3795119948781692972575431",
  2597. "117633423107664842386614454295318823031546808284886498133093442797780366695865088951102734835036375188027702346663647830425172733187275067584200082224814835976110754843437513016147344252016745713239843138800215136235719850541984478206795380204540097476184957279443",
  2598. "-117633423107664842386614454295318823031546808284886498133093442797780366695865088951102734835036375188027702346663647830425172733187275067584200082224814835976110754843437513016147344252016745713239843138800215136235719850541984478206795380204540097476184957279443",
  2599. "6028200577464886742220964264433220606667469744201474633845587044124944417457573648621749660231277732832613157240821087790368844691241612",
  2600. "-6028200577464886742220964264433220606667469744201474633845587044124944417457573648621749660231277732832613157240821087790368844691241612",
  2601. "1117820580139700758941594748763781946255037110167582749384133756752449839190401944216912957650664993553129645500059553210763046702311000117537213965255288711420760932554622971299296197897",
  2602. "-1117820580139700758941594748763781946255037110167582749384133756752449839190401944216912957650664993553129645500059553210763046702311000117537213965255288711420760932554622971299296197897",
  2603. "894440058986616656162159749909897",
  2604. "-894440058986616656162159749909897",
  2605. "11758059164722075820822351813564721682251718268398125058702252593271794825804844012676212580269973081943948588059900469592179919885984813401833621636489306",
  2606. "-11758059164722075820822351813564721682251718268398125058702252593271794825804844012676212580269973081943948588059900469592179919885984813401833621636489306",
  2607. "48260623373995703142149825869126942692445720237750683695954821352777035904885960923027672480964040682023869233942201916828693522743832886088998972188767776078279426029402097202986260065462533610836932273188567823090315418748142243190815560532101505961513910649086153182477090526300312187507612192",
  2608. "-48260623373995703142149825869126942692445720237750683695954821352777035904885960923027672480964040682023869233942201916828693522743832886088998972188767776078279426029402097202986260065462533610836932273188567823090315418748142243190815560532101505961513910649086153182477090526300312187507612192",
  2609. "155032044456958560653742313851007803134963800248495609164183285804227615140653638264588439258316691251377924988538500569549816017742093617863981847156274851353234781166567436349214058632603830394495548221403249818520855020397602702298881144444526972675887598504476681959777521420493375210129749627151599",
  2610. "-155032044456958560653742313851007803134963800248495609164183285804227615140653638264588439258316691251377924988538500569549816017742093617863981847156274851353234781166567436349214058632603830394495548221403249818520855020397602702298881144444526972675887598504476681959777521420493375210129749627151599",
  2611. "117",
  2612. "-117",
  2613. "31151175335",
  2614. "-31151175335",
  2615. "35374964788462894211615124919986334396217303170433399786403229831899783789349053619411986131305536842776505623498475004759495592581325624956208728845327562674600497034793430703900584828213353358028973193115581365893453195729236094397513635",
  2616. "-35374964788462894211615124919986334396217303170433399786403229831899783789349053619411986131305536842776505623498475004759495592581325624956208728845327562674600497034793430703900584828213353358028973193115581365893453195729236094397513635",
  2617. "11796859242834559349330645424007719279425086069437451547961817738176345052586077262730615110965711332407717403184353050831388270460861280643450803074302303211224953369570563468013937668078037503909168201005260137906679740236981824660385730820591421051254923150011711560287985553001992949325890751138512",
  2618. "-11796859242834559349330645424007719279425086069437451547961817738176345052586077262730615110965711332407717403184353050831388270460861280643450803074302303211224953369570563468013937668078037503909168201005260137906679740236981824660385730820591421051254923150011711560287985553001992949325890751138512",
  2619. "170647522893580509002975714845089353418304318223993041052613489603839464032767136346831417604396147862171608710351258359424720597066331032122844389758062085194297618983116731697591466836398130208912823480520907032976237477074428855652406620425725105496",
  2620. "-170647522893580509002975714845089353418304318223993041052613489603839464032767136346831417604396147862171608710351258359424720597066331032122844389758062085194297618983116731697591466836398130208912823480520907032976237477074428855652406620425725105496",
  2621. "5281478654865951520041163170269381080147277352244478257096792252048711710697114547916527006005288159091362187924",
  2622. "-5281478654865951520041163170269381080147277352244478257096792252048711710697114547916527006005288159091362187924",
  2623. "4612981530909908953399866319425198830164041651329116814589068706471983209837216442140437916749761739590696654721694691453248631167747384468652625616153898389404331335686814768720227658621123619760490072200457566243849427676890450504279708348832752925128591526859889728",
  2624. "-4612981530909908953399866319425198830164041651329116814589068706471983209837216442140437916749761739590696654721694691453248631167747384468652625616153898389404331335686814768720227658621123619760490072200457566243849427676890450504279708348832752925128591526859889728",
  2625. "230942413272730226530444519509994205060147713549648054777582719550812782352234600742222169014506643621109087605680440174002739494059492224354791764876753787909937534165450961813280650662325436679754051868455414",
  2626. "-230942413272730226530444519509994205060147713549648054777582719550812782352234600742222169014506643621109087605680440174002739494059492224354791764876753787909937534165450961813280650662325436679754051868455414",
  2627. "528690042093345595850504247",
  2628. "-528690042093345595850504247",
  2629. "31537765402865704303346035013066893813209666897703115111579537190812318360668479310525622135277986713283804",
  2630. "-31537765402865704303346035013066893813209666897703115111579537190812318360668479310525622135277986713283804",
  2631. "1599362772260782365940237955777469665833441883265981514825058091831969039328944925726126036206151420504388513842915084045761",
  2632. "-1599362772260782365940237955777469665833441883265981514825058091831969039328944925726126036206151420504388513842915084045761",
  2633. "22018294718309903690696646065850459504307668740106965970119563766751726997751841635147532383629353261767951801681466624415627829013290232821085001690020179707527003163210966668639431417007076432036482650137410011799888860384641536214437778644612376970907784011215",
  2634. "-22018294718309903690696646065850459504307668740106965970119563766751726997751841635147532383629353261767951801681466624415627829013290232821085001690020179707527003163210966668639431417007076432036482650137410011799888860384641536214437778644612376970907784011215",
  2635. "139228864110515195216553853606798559408959520596931103855825362443397424774758172",
  2636. "-139228864110515195216553853606798559408959520596931103855825362443397424774758172",
  2637. "438362563301076",
  2638. "-438362563301076",
  2639. "536477710240446158400855952047098861739032777002422842180036166459742934651199360607978321612514452622744911025658574877961214107174719449789017540265828279486524590338437269953368890994755662873267173870955360800125978287820421262971848425170065",
  2640. "-536477710240446158400855952047098861739032777002422842180036166459742934651199360607978321612514452622744911025658574877961214107174719449789017540265828279486524590338437269953368890994755662873267173870955360800125978287820421262971848425170065",
  2641. "498862087303189047484286815556440094292974761004818123941676688570935488959257235857771896260779999415327140115975996793571922312686472323161351487622438079274047587863856806852283080757914159158900221821",
  2642. "-498862087303189047484286815556440094292974761004818123941676688570935488959257235857771896260779999415327140115975996793571922312686472323161351487622438079274047587863856806852283080757914159158900221821",
  2643. "397485490350112467732556257997195088092587231213238688938663359508903507782996482344687130558398493814503644541315765003280501133111",
  2644. "-397485490350112467732556257997195088092587231213238688938663359508903507782996482344687130558398493814503644541315765003280501133111",
  2645. "849712043650971777004742171643106324862754090831744200814795006972518085972931752076874433562783731671435108431684162545599206785950669723461026526402295759448129538027792947274880743875232398841880484354651333627643180878756213653",
  2646. "-849712043650971777004742171643106324862754090831744200814795006972518085972931752076874433562783731671435108431684162545599206785950669723461026526402295759448129538027792947274880743875232398841880484354651333627643180878756213653",
  2647. "31939357424827970804026114453315327769012263471221072258182242042519626638563054352273477096407109171097657867287701617587164195568409977479696410846577473709461543239341493963739506308939662837999529461859333741861608567355869490150265338213466190360633042086859245316851129010609",
  2648. "-31939357424827970804026114453315327769012263471221072258182242042519626638563054352273477096407109171097657867287701617587164195568409977479696410846577473709461543239341493963739506308939662837999529461859333741861608567355869490150265338213466190360633042086859245316851129010609",
  2649. "59075219415446517463799317419672630289040",
  2650. "-59075219415446517463799317419672630289040",
  2651. "61544636348619846793635535253831658039274289566061329628",
  2652. "-61544636348619846793635535253831658039274289566061329628",
  2653. "470399936237982365631161793432085070263103572484796818885564848815758149943921811891860946060341559711899471195599373649384438242044515090831782134530922053677106020022279456123296157017910183495235140194390296804039743799564279602012304465862001339612585603213921336997140271860031180936085302533520084",
  2654. "-470399936237982365631161793432085070263103572484796818885564848815758149943921811891860946060341559711899471195599373649384438242044515090831782134530922053677106020022279456123296157017910183495235140194390296804039743799564279602012304465862001339612585603213921336997140271860031180936085302533520084",
  2655. "4263018257494613144043214865050835432323223259669979976818528797978364036590648420",
  2656. "-4263018257494613144043214865050835432323223259669979976818528797978364036590648420",
  2657. "1030364360168890027890816549580",
  2658. "-1030364360168890027890816549580",
  2659. "792685786141580556314148491833336274593743818",
  2660. "-792685786141580556314148491833336274593743818",
  2661. "641446086312126555467875106303989084781624843543297958597183735580271101775752996685163",
  2662. "-641446086312126555467875106303989084781624843543297958597183735580271101775752996685163",
  2663. "5495154319842093167496249323058689957423462",
  2664. "-5495154319842093167496249323058689957423462",
  2665. "11789599234651983989010071854908355935861398361186377696491616773407893531669446332781833177934487486443699554324479061335467496521890118734937498733191672611144989167953103344991959519028482263752023000602387955366518706202210024461852086754020196",
  2666. "-11789599234651983989010071854908355935861398361186377696491616773407893531669446332781833177934487486443699554324479061335467496521890118734937498733191672611144989167953103344991959519028482263752023000602387955366518706202210024461852086754020196",
  2667. "11868320247536683221143642841170454891656934116545619261841381472878070159790790558172360288429121201484338870667354265884102674537478716958516286215910855456088033052883980008436942265685062267471783017549551768359416886934474316919451518061351858590202914987178911670",
  2668. "-11868320247536683221143642841170454891656934116545619261841381472878070159790790558172360288429121201484338870667354265884102674537478716958516286215910855456088033052883980008436942265685062267471783017549551768359416886934474316919451518061351858590202914987178911670",
  2669. "1284156757531040914593221",
  2670. "-1284156757531040914593221",
  2671. "9523156885736314276851029956129745152608513178870686801769759111308470996123088771851122858908132203444859152976097503444227519069060806081448518797562327844612222984531692130770",
  2672. "-9523156885736314276851029956129745152608513178870686801769759111308470996123088771851122858908132203444859152976097503444227519069060806081448518797562327844612222984531692130770",
  2673. "31415032545650652773467205308921957370624743383488073117109921420678201637023554362493982589097031342230335705038785983149366806922747914694551472092848890719761600241693293020110370962350805350",
  2674. "-31415032545650652773467205308921957370624743383488073117109921420678201637023554362493982589097031342230335705038785983149366806922747914694551472092848890719761600241693293020110370962350805350",
  2675. "38540294830367981299370153716758943624066595675817723365819908936210186285351422767835324962411068698716556932780434832522209505361628036446058246936860795564022909013649",
  2676. "-38540294830367981299370153716758943624066595675817723365819908936210186285351422767835324962411068698716556932780434832522209505361628036446058246936860795564022909013649",
  2677. "1489",
  2678. "-1489",
  2679. "2270684970894467473228397152522666196967234885",
  2680. "-2270684970894467473228397152522666196967234885",
  2681. "623594270429426955031234189496487600662597646571928622449980935215346797035198838197888222869632091525558748378610334926140669245375114542239425712378426359715133474059991644743953906535538195465100677512751053",
  2682. "-623594270429426955031234189496487600662597646571928622449980935215346797035198838197888222869632091525558748378610334926140669245375114542239425712378426359715133474059991644743953906535538195465100677512751053",
  2683. "60223901057086672916139687208371207252559034742838976658538850201068490068101652675647609676435807962967919811849514616239086913537412970210091632651259826174103338368751134965303230126211398438698151879240977404460468186851886617548182773561840252412981638510923",
  2684. "-60223901057086672916139687208371207252559034742838976658538850201068490068101652675647609676435807962967919811849514616239086913537412970210091632651259826174103338368751134965303230126211398438698151879240977404460468186851886617548182773561840252412981638510923",
  2685. "352083164097278474078005845682075986531119761078051415723391468152762696096016941577257179144242535089572306180818322625093102190964224730315213843217203692079968682",
  2686. "-352083164097278474078005845682075986531119761078051415723391468152762696096016941577257179144242535089572306180818322625093102190964224730315213843217203692079968682",
  2687. "256914715526573594304760664453685512541013676570328830117752884150636769825195172277797835580253224279327546275273345112399482552434310216245805227544453571042746897560531287112979681556135355",
  2688. "-256914715526573594304760664453685512541013676570328830117752884150636769825195172277797835580253224279327546275273345112399482552434310216245805227544453571042746897560531287112979681556135355",
  2689. "3929812712463085187666519605941080752665430680003082969619532219612559124276337233356486033607557565841182562299051203553436156356748939",
  2690. "-3929812712463085187666519605941080752665430680003082969619532219612559124276337233356486033607557565841182562299051203553436156356748939",
  2691. "1342865274232326934240128816495975896816628726930390134403022164244814040962732527145178443776536620876592577",
  2692. "-1342865274232326934240128816495975896816628726930390134403022164244814040962732527145178443776536620876592577",
  2693. "75482499101235806844482700363651520608393572186840116071510831",
  2694. "-75482499101235806844482700363651520608393572186840116071510831",
  2695. "157079333706470320589362721287335446436100673921262275021919536009571391130921654202277262407403872423297032197476611916298599850639905615780935087993369908937",
  2696. "-157079333706470320589362721287335446436100673921262275021919536009571391130921654202277262407403872423297032197476611916298599850639905615780935087993369908937",
  2697. "21096758435207806377330934948465784354053655",
  2698. "-21096758435207806377330934948465784354053655",
  2699. "7296202760566732448484088809683111106213594240238214600327977304983210800704941723091693567279115428088283219305211898160182",
  2700. "-7296202760566732448484088809683111106213594240238214600327977304983210800704941723091693567279115428088283219305211898160182",
  2701. "9473711847689244707278408760608984165904137893454069938633516224794155238069623008814110071678551847797982066773376077",
  2702. "-9473711847689244707278408760608984165904137893454069938633516224794155238069623008814110071678551847797982066773376077",
  2703. "424157689387860814675639",
  2704. "-424157689387860814675639",
  2705. "2311915845008175998603844058297620909349923283750536586587937434312377733844702049651807722475434283757267961177665307169760829875889028168476878787006491399930630338344642910500797043234542368361571429181649829252175786093011520179318",
  2706. "-2311915845008175998603844058297620909349923283750536586587937434312377733844702049651807722475434283757267961177665307169760829875889028168476878787006491399930630338344642910500797043234542368361571429181649829252175786093011520179318",
  2707. "74548539487073557220326968093479867500276859338046876248826540472060313997",
  2708. "-74548539487073557220326968093479867500276859338046876248826540472060313997",
  2709. "11654322736763",
  2710. "-11654322736763",
  2711. "53007278098826078101002711940372616336",
  2712. "-53007278098826078101002711940372616336",
  2713. "79488890173950413261690334491844393856301694056413503617980571504653230048955",
  2714. "-79488890173950413261690334491844393856301694056413503617980571504653230048955",
  2715. "408713674815985937940894525901270256192656939969702057871",
  2716. "-408713674815985937940894525901270256192656939969702057871",
  2717. "793896474068238367668141234719022911425186020423846578406386752245064555357695445408188930726837363615519065571656957027286833070564842125230923415365473419",
  2718. "-793896474068238367668141234719022911425186020423846578406386752245064555357695445408188930726837363615519065571656957027286833070564842125230923415365473419",
  2719. "174808944301193943551146900431326706416195767876909997906726651518289372951",
  2720. "-174808944301193943551146900431326706416195767876909997906726651518289372951",
  2721. "15518425275704712437859509478557555507942868590674242179846381629609574039655947926978374551659365245896461352380663149726832850553382303285336261869176813113104452944002526144559297701143263522625331250816271032050756743914895178056748128568613436826595",
  2722. "-15518425275704712437859509478557555507942868590674242179846381629609574039655947926978374551659365245896461352380663149726832850553382303285336261869176813113104452944002526144559297701143263522625331250816271032050756743914895178056748128568613436826595",
  2723. "704584697906407199708590092378103021972791431202757824957775774072784740246334320005088181512002963310761780580704786814454975765",
  2724. "-704584697906407199708590092378103021972791431202757824957775774072784740246334320005088181512002963310761780580704786814454975765",
  2725. "657607704878895067543343694899228430336912631528241927302696775319590907402199923852512833112461947631065129028125536463067298383212071017877117414800369576545371975736320978897530313093703317591926126573581594016017999087405971954224745504107290022634832416486976440197266126685274050284770811156390509",
  2726. "-657607704878895067543343694899228430336912631528241927302696775319590907402199923852512833112461947631065129028125536463067298383212071017877117414800369576545371975736320978897530313093703317591926126573581594016017999087405971954224745504107290022634832416486976440197266126685274050284770811156390509",
  2727. "7494538701531220",
  2728. "-7494538701531220",
  2729. "7300727560805294687539012803042995909238449713032452769229667883869087209620881400305875438962218813943386360970483979638425963787311826059269116699436735359914333529525984293006337531416122388956292154685035813667508959604499191395591577891525195678171",
  2730. "-7300727560805294687539012803042995909238449713032452769229667883869087209620881400305875438962218813943386360970483979638425963787311826059269116699436735359914333529525984293006337531416122388956292154685035813667508959604499191395591577891525195678171",
  2731. "255504587698518445312717922712930691081197792561411090916056798257637114731417865482714584651043811829851492818242972929470506766333616107450122580899272969326648134119416080989201012163771767787520485155594757300555185954280304839051723173371630921394024027714555984796981691309",
  2732. "-255504587698518445312717922712930691081197792561411090916056798257637114731417865482714584651043811829851492818242972929470506766333616107450122580899272969326648134119416080989201012163771767787520485155594757300555185954280304839051723173371630921394024027714555984796981691309",
  2733. "1957270404535432491577732407654814296272924990076105665080976425316855184394075979033347631859",
  2734. "-1957270404535432491577732407654814296272924990076105665080976425316855184394075979033347631859",
  2735. "403660520770889026052145363858883993968408567876919963129339377184354008618147803968877043087318952555532301757740363864562971760902711427500126603597011858241477379568684342423222828785569617251693287873736233651273385183220731182322820758659074766543835657767799241434709242669340338048971",
  2736. "-403660520770889026052145363858883993968408567876919963129339377184354008618147803968877043087318952555532301757740363864562971760902711427500126603597011858241477379568684342423222828785569617251693287873736233651273385183220731182322820758659074766543835657767799241434709242669340338048971",
  2737. "1360462270574406",
  2738. "-1360462270574406",
  2739. "41324796834060083364741632465744604155931640433410301186397363904266930128665463361513275697352082859944863112972305377171961651196393476069297383272360",
  2740. "-41324796834060083364741632465744604155931640433410301186397363904266930128665463361513275697352082859944863112972305377171961651196393476069297383272360",
  2741. "3704475702528052685702177087226789799951985298635254026584051739803799717979",
  2742. "-3704475702528052685702177087226789799951985298635254026584051739803799717979",
  2743. "15324664249401045013727127578266722880923015582445744082290396086739217665923549238159714472241913755511109729288179218537980252473553017573593867710189",
  2744. "-15324664249401045013727127578266722880923015582445744082290396086739217665923549238159714472241913755511109729288179218537980252473553017573593867710189",
  2745. "991713895885660445361195566630120268552033337199519129194545503121325658310309321599773356998546067469176345858459212673467904704287664190684736527585420239571896710231",
  2746. "-991713895885660445361195566630120268552033337199519129194545503121325658310309321599773356998546067469176345858459212673467904704287664190684736527585420239571896710231",
  2747. "496917928889709928816019707237559067993121139550552680620307451932907944813916325593269613319259002416192",
  2748. "-496917928889709928816019707237559067993121139550552680620307451932907944813916325593269613319259002416192",
  2749. "5420780319939699155212032775979062279900280911343420051629512809105059842240345509925762577052334971725879572674586223682520124367213762780782010484201065072155930114824432335178466411605479995327050114745584339793378334895820002004268553531081904844570983717097867410603089",
  2750. "-5420780319939699155212032775979062279900280911343420051629512809105059842240345509925762577052334971725879572674586223682520124367213762780782010484201065072155930114824432335178466411605479995327050114745584339793378334895820002004268553531081904844570983717097867410603089",
  2751. "34178515956045799076849256172156569827315750483663840127186371829050429609564171778221768139311136758783705861242122641003313096493057103420927909105632095530710317446888521007163646123762242884609239534269531565599291518871943322912836596141732912619557997670259415580841015283",
  2752. "-34178515956045799076849256172156569827315750483663840127186371829050429609564171778221768139311136758783705861242122641003313096493057103420927909105632095530710317446888521007163646123762242884609239534269531565599291518871943322912836596141732912619557997670259415580841015283",
  2753. "24753103731553244306801885710094553322976800783421479907592940309642834383335499833992007826858595009726122",
  2754. "-24753103731553244306801885710094553322976800783421479907592940309642834383335499833992007826858595009726122",
  2755. "1303658351822779358400767265190404914258468501671414115714852481575404440331055726991532424857235529818287464081864",
  2756. "-1303658351822779358400767265190404914258468501671414115714852481575404440331055726991532424857235529818287464081864",
  2757. "82442525420",
  2758. "-82442525420",
  2759. "40181847350075911374014072545070982",
  2760. "-40181847350075911374014072545070982",
  2761. "6331081104259962585725418329411543440752124680199",
  2762. "-6331081104259962585725418329411543440752124680199",
  2763. "669444625991257897062056995037426293652388602030282843269573026219936289974215349592874907406715089995765108583608936617284270069188005340481379259012388729065198804182112491651898040335690016003489264765600281922569438256615076042625367641",
  2764. "-669444625991257897062056995037426293652388602030282843269573026219936289974215349592874907406715089995765108583608936617284270069188005340481379259012388729065198804182112491651898040335690016003489264765600281922569438256615076042625367641",
  2765. "1168675103592556804163240443883135991575851814861660107303310966160744170850036726911375287483597293098658196142018318809369957616827451967868069658172182991177709289250815148540710360498467949152008438530805196222119517692659923705203865993818359838900924606163081858543",
  2766. "-1168675103592556804163240443883135991575851814861660107303310966160744170850036726911375287483597293098658196142018318809369957616827451967868069658172182991177709289250815148540710360498467949152008438530805196222119517692659923705203865993818359838900924606163081858543",
  2767. "2496566005249030514809106685776267657051598627391700353125416989638685021308242404184826752692976528990582207413089494945",
  2768. "-2496566005249030514809106685776267657051598627391700353125416989638685021308242404184826752692976528990582207413089494945",
  2769. "75831002519613645538052701409851076434071446092420445852577692671",
  2770. "-75831002519613645538052701409851076434071446092420445852577692671",
  2771. "1595257514333333836407007696922732712451830781457969960247677871324618039799",
  2772. "-1595257514333333836407007696922732712451830781457969960247677871324618039799",
  2773. "2352103706291595728734823852677068972089963637096939637892631185119057636184628093243",
  2774. "-2352103706291595728734823852677068972089963637096939637892631185119057636184628093243",
  2775. "55150603036064305927003551612930888862894407146543079948823875920053285006001048840253371944560550042245523051895932284432859",
  2776. "-55150603036064305927003551612930888862894407146543079948823875920053285006001048840253371944560550042245523051895932284432859",
  2777. "183652285344198865127020235735671716726282119574663849914811753120306798386549535194663979983946501785937569600701888628541389188176220321121981286091051",
  2778. "-183652285344198865127020235735671716726282119574663849914811753120306798386549535194663979983946501785937569600701888628541389188176220321121981286091051",
  2779. "1670967627370678916184944999086",
  2780. "-1670967627370678916184944999086",
  2781. "1779553803107116970428487453385844908445190212603430402358107740295247",
  2782. "-1779553803107116970428487453385844908445190212603430402358107740295247",
  2783. "163081585689520939847508610298505981110843",
  2784. "-163081585689520939847508610298505981110843",
  2785. "24608823059620600828775541561806855624217762717902459681958610060078155650689789569089307408156194776319918700684027035605476736967141308737778808097438",
  2786. "-24608823059620600828775541561806855624217762717902459681958610060078155650689789569089307408156194776319918700684027035605476736967141308737778808097438",
  2787. "176229540909991348680999108287461921475890812511086227972678364382149132437628380310728470828832129727355735848528049467023561657293359463509078809812981500824290722272220174525789664137788219060477887820838690954729061422727025173596051655147380497411055372159528861310774057097642760262454",
  2788. "-176229540909991348680999108287461921475890812511086227972678364382149132437628380310728470828832129727355735848528049467023561657293359463509078809812981500824290722272220174525789664137788219060477887820838690954729061422727025173596051655147380497411055372159528861310774057097642760262454",
  2789. "1521679829312851456536026361859335013780557838686738466687399128709926436847394871570976840503705308125705873792672378389916115357657382793749503126640771533338992032259981620506047817865492352874670892991966609760209061301594191537869902100817987599206558753487441796712670736855202929172147294",
  2790. "-1521679829312851456536026361859335013780557838686738466687399128709926436847394871570976840503705308125705873792672378389916115357657382793749503126640771533338992032259981620506047817865492352874670892991966609760209061301594191537869902100817987599206558753487441796712670736855202929172147294",
  2791. "4157696366999482544605875019162016856282588665242578471972156413342580075270416675018859586511300869507848273592737229363773252760313860357749814761595582127449880857952033970115380383676900743584438652262171904692777471245621134891056589732734422433379524779439127971588536170244050150621694478",
  2792. "-4157696366999482544605875019162016856282588665242578471972156413342580075270416675018859586511300869507848273592737229363773252760313860357749814761595582127449880857952033970115380383676900743584438652262171904692777471245621134891056589732734422433379524779439127971588536170244050150621694478",
  2793. "1080490672913509861800536351320773525291317691569674170377657976498332490333353859955175522548201462648648619481614475899104059632553936657464424434357970937863187647621979084401315431140833788114037982",
  2794. "-1080490672913509861800536351320773525291317691569674170377657976498332490333353859955175522548201462648648619481614475899104059632553936657464424434357970937863187647621979084401315431140833788114037982",
  2795. "3194906436319924706167835645658948826079202290534790460576542221669512825113141647211107781595153842508704176837984748167835595231049849647151228364465638129922085890581512323653",
  2796. "-3194906436319924706167835645658948826079202290534790460576542221669512825113141647211107781595153842508704176837984748167835595231049849647151228364465638129922085890581512323653",
  2797. "66347107100300795802324266184385521196001191250641925506321442631467978776436571080979857829987956896197464196707824641007632965810482791998323932299431716570622215408517414037865201951734572676314196738287234254247520531646927798844",
  2798. "-66347107100300795802324266184385521196001191250641925506321442631467978776436571080979857829987956896197464196707824641007632965810482791998323932299431716570622215408517414037865201951734572676314196738287234254247520531646927798844",
  2799. "11755070349326455201",
  2800. "-11755070349326455201",
  2801. "156651043578414506824194498430628709042640792209942834690006663445469241908219457011408374641207896652700963717365255757469753081082784",
  2802. "-156651043578414506824194498430628709042640792209942834690006663445469241908219457011408374641207896652700963717365255757469753081082784",
  2803. "6564614203586776498688508944538260136293893809517937442849470545503761844",
  2804. "-6564614203586776498688508944538260136293893809517937442849470545503761844",
  2805. "598962115054858410821731842471416988283668169539322479066058751789827287104304434155465947780173527582423899421590786844022599493768874809775192652719882115272582161354987",
  2806. "-598962115054858410821731842471416988283668169539322479066058751789827287104304434155465947780173527582423899421590786844022599493768874809775192652719882115272582161354987",
  2807. "14443508661606107679701498958114275550218690763128482677663411487796540412372251008043398613017374358807500824",
  2808. "-14443508661606107679701498958114275550218690763128482677663411487796540412372251008043398613017374358807500824",
  2809. "39256841936111992",
  2810. "-39256841936111992",
  2811. "22003604980409010500616552575366573651583935479333537954768716122155414073009794841075971673796002258058407019824164705801672155808939681382770846685292342660131406075122591374505200827365481659521834044185780365112968118493953141135082476859603163146563",
  2812. "-22003604980409010500616552575366573651583935479333537954768716122155414073009794841075971673796002258058407019824164705801672155808939681382770846685292342660131406075122591374505200827365481659521834044185780365112968118493953141135082476859603163146563",
  2813. "892612825794032675237656399315067134384177542558409873295423125742291209107349193521326932311978865",
  2814. "-892612825794032675237656399315067134384177542558409873295423125742291209107349193521326932311978865",
  2815. "124621",
  2816. "-124621",
  2817. "39935862547719441432334200243323687785328282085889753818085154826607463592957499184719152632875679930608636031007549318604365",
  2818. "-39935862547719441432334200243323687785328282085889753818085154826607463592957499184719152632875679930608636031007549318604365",
  2819. "53150384435463",
  2820. "-53150384435463",
  2821. "5038617365140462881167623487900113792134127235018266576334866703847563260548724132738580936393867769669999269123356358833922994762144381270134211004782972194957315491988474542647182488355728455727224128393875804308265676177706683756178477181259888932449640561270717525443984031839",
  2822. "-5038617365140462881167623487900113792134127235018266576334866703847563260548724132738580936393867769669999269123356358833922994762144381270134211004782972194957315491988474542647182488355728455727224128393875804308265676177706683756178477181259888932449640561270717525443984031839",
  2823. "18681375094308610932506726878974665535026964461038388",
  2824. "-18681375094308610932506726878974665535026964461038388",
  2825. "1694490961016050821118863403337160606621945374045986683635096733891067660467665114977365173029439236924493435715113229950328428294138767438612886428848619529462540214870987656585503501640006260787493433146977269874730836153316545758154447988098965049",
  2826. "-1694490961016050821118863403337160606621945374045986683635096733891067660467665114977365173029439236924493435715113229950328428294138767438612886428848619529462540214870987656585503501640006260787493433146977269874730836153316545758154447988098965049",
  2827. "34981000632270288897102343437813403379909519445061202916917950066646896121823399718762441640573618996405513221104482936830650441434933771175014497076492252938974657476531072878259814088155492254761929",
  2828. "-34981000632270288897102343437813403379909519445061202916917950066646896121823399718762441640573618996405513221104482936830650441434933771175014497076492252938974657476531072878259814088155492254761929",
  2829. "68186095594637277569008966718516358384203015123161693897355580993692840848969688",
  2830. "-68186095594637277569008966718516358384203015123161693897355580993692840848969688",
  2831. "1134126702908819566229008255313053760389444389322516415435539141233919754193425951992416106929842896080872524876962976885893778825250951315557865558643443244064361902243653517585491772912650759627537475187929799073482588432081",
  2832. "-1134126702908819566229008255313053760389444389322516415435539141233919754193425951992416106929842896080872524876962976885893778825250951315557865558643443244064361902243653517585491772912650759627537475187929799073482588432081",
  2833. "1219660173804105678519644769228717229961",
  2834. "-1219660173804105678519644769228717229961",
  2835. "9337788234986472797155798668633720432652335098955723216110827539222560791046580758896359512684081023719629520191135356937552064341414985563338865755044029781700472823138498290646709782655770432472849",
  2836. "-9337788234986472797155798668633720432652335098955723216110827539222560791046580758896359512684081023719629520191135356937552064341414985563338865755044029781700472823138498290646709782655770432472849",
  2837. "150424008592708034173259810113475930440810989335879628469427925370034758050373228994166602606657381400670968588175849346743433462784970176019171026242734",
  2838. "-150424008592708034173259810113475930440810989335879628469427925370034758050373228994166602606657381400670968588175849346743433462784970176019171026242734",
  2839. "10709102135708711290774115917568703434210917471089837954174155027939142290457621570052339242896415391737492196297186964273273691467020576606",
  2840. "-10709102135708711290774115917568703434210917471089837954174155027939142290457621570052339242896415391737492196297186964273273691467020576606",
  2841. "590791035282122817187786741012881114662078084344037620155645055415644697693432897703240908766855757699902350106663298",
  2842. "-590791035282122817187786741012881114662078084344037620155645055415644697693432897703240908766855757699902350106663298",
  2843. "6644806769073273664533505828539666955754832084759883392732355768142191452695685189350231701935219212931529500767858294148963537439795792593286239876735316935797953104882",
  2844. "-6644806769073273664533505828539666955754832084759883392732355768142191452695685189350231701935219212931529500767858294148963537439795792593286239876735316935797953104882",
  2845. "176511387805688073718855394072841750443509085589889404547084544683339270522709736525152936011885659232618530216217042113370236595468110548243408426032715706575057369503893468170961068580632412998988853143083945510800966719",
  2846. "-176511387805688073718855394072841750443509085589889404547084544683339270522709736525152936011885659232618530216217042113370236595468110548243408426032715706575057369503893468170961068580632412998988853143083945510800966719",
  2847. "18197814169943971748763655537459580789924675680558018542859068281859940671016292870607058355",
  2848. "-18197814169943971748763655537459580789924675680558018542859068281859940671016292870607058355",
  2849. "53665744969332986906645019910160121106654070883148709396576439910412784742262054480460348",
  2850. "-53665744969332986906645019910160121106654070883148709396576439910412784742262054480460348",
  2851. "15114701057818447666738431676226302502804615316350076959331191793491140183426763779197478527183420304400143976231566802442732838190730866504640269901006105030291550705062305121857555495397899088813125248050183715824996357342602508",
  2852. "-15114701057818447666738431676226302502804615316350076959331191793491140183426763779197478527183420304400143976231566802442732838190730866504640269901006105030291550705062305121857555495397899088813125248050183715824996357342602508",
  2853. "4538684087847049584760102928758931951663047136365690317969652570682351595540576228149035948547456528545997589204036236408244581413584178489307193893093917026883317801237483886776457347545442242",
  2854. "-4538684087847049584760102928758931951663047136365690317969652570682351595540576228149035948547456528545997589204036236408244581413584178489307193893093917026883317801237483886776457347545442242",
  2855. "68104327977018907402564677909296985240865850899633815987571",
  2856. "-68104327977018907402564677909296985240865850899633815987571",
  2857. "21126389218307474702937983111939394337442364463717300558898463056361786715220551813192286109604739592089468027639535160949266165405455186969313451687709111127347596851523580180558147019220445717949314588542773729044755127625855190216933115799293871340",
  2858. "-21126389218307474702937983111939394337442364463717300558898463056361786715220551813192286109604739592089468027639535160949266165405455186969313451687709111127347596851523580180558147019220445717949314588542773729044755127625855190216933115799293871340",
  2859. "78222020599461507025837080263377239508386033815939450849751163859949403589369059725826445373571398499131861482443466775202688633343807807754044978711136865112845737811903231211872791854642958065042325855161499335",
  2860. "-78222020599461507025837080263377239508386033815939450849751163859949403589369059725826445373571398499131861482443466775202688633343807807754044978711136865112845737811903231211872791854642958065042325855161499335",
  2861. "4085759411276713693098232266986821269735231020974977020052575836176404619187789208196423060444205",
  2862. "-4085759411276713693098232266986821269735231020974977020052575836176404619187789208196423060444205",
  2863. "1184210350766462097978915832676647869625660103053116596342",
  2864. "-1184210350766462097978915832676647869625660103053116596342",
  2865. "194539222104802835983292205414714434524058762756885327380706701321718655745439492716048166059927935241719149428879885478",
  2866. "-194539222104802835983292205414714434524058762756885327380706701321718655745439492716048166059927935241719149428879885478",
  2867. "302225946492334746161844140625842416406247812604200025274581247745184222647724964120371508273766497009905662425211",
  2868. "-302225946492334746161844140625842416406247812604200025274581247745184222647724964120371508273766497009905662425211",
  2869. "28866482602752218187265274692665814018194886187165103251546083935605515506785082873738653268219928502362268",
  2870. "-28866482602752218187265274692665814018194886187165103251546083935605515506785082873738653268219928502362268",
  2871. "5544952079050015240077157700940320243659550435014574041421348665396935579816611507888574593385073797911479160663545693602347256422370826097076074812916781822541849687962368590784552937977886205",
  2872. "-5544952079050015240077157700940320243659550435014574041421348665396935579816611507888574593385073797911479160663545693602347256422370826097076074812916781822541849687962368590784552937977886205",
  2873. "323710452268087591982845307319501376132372316351918100708894690678941776259635618528227710164786257540427054071430282571860354523279847215012107332817795823639212909924515178824923234673149086462596636590350327539723310798213754665082582892561015344012",
  2874. "-323710452268087591982845307319501376132372316351918100708894690678941776259635618528227710164786257540427054071430282571860354523279847215012107332817795823639212909924515178824923234673149086462596636590350327539723310798213754665082582892561015344012",
  2875. "6298178214804809482382903740893261997309254126083786539013344521457218202089579665480198608566443109151164759409311083172285986019510870966646266562147239668466233708302275847273212515270194723859620577435475775917236877537636439092304144350",
  2876. "-6298178214804809482382903740893261997309254126083786539013344521457218202089579665480198608566443109151164759409311083172285986019510870966646266562147239668466233708302275847273212515270194723859620577435475775917236877537636439092304144350",
  2877. "577024710470352032965427500450059067959437337861971906117178872729996600387523062943239129117535935908310731558466601208272240830153365070900204066680943610473920336450708951789975218349225167580113063050191",
  2878. "-577024710470352032965427500450059067959437337861971906117178872729996600387523062943239129117535935908310731558466601208272240830153365070900204066680943610473920336450708951789975218349225167580113063050191",
  2879. "37972747755906620986262153",
  2880. "-37972747755906620986262153",
  2881. "183829698115229455555876942979003514516640128880295179243921716692283845612914437405435307612733660894727800824835948",
  2882. "-183829698115229455555876942979003514516640128880295179243921716692283845612914437405435307612733660894727800824835948",
  2883. "2423832959667360118257064702737609023425800632192836723430775336591100757144072935869557583342500327350488117394557246526227000890820814931134670064874494870718496008517213657614840456624436847012780602721278103167235601948187645617975091973272873241569047573971620372584048698612150640",
  2884. "-2423832959667360118257064702737609023425800632192836723430775336591100757144072935869557583342500327350488117394557246526227000890820814931134670064874494870718496008517213657614840456624436847012780602721278103167235601948187645617975091973272873241569047573971620372584048698612150640",
  2885. "3689827013849535585619411952203826247332426367647260820678883970327796902123440577075450728217270007491470250603087878349241859733492652613679",
  2886. "-3689827013849535585619411952203826247332426367647260820678883970327796902123440577075450728217270007491470250603087878349241859733492652613679",
  2887. "38998054937697595881540875647042048333681659113425435564641134367164935592905762620334835531916327661633470289669510511757807865630506235328273222918421117111281556873070254844441312814372799410820410797988722601761642743512387994633124078",
  2888. "-38998054937697595881540875647042048333681659113425435564641134367164935592905762620334835531916327661633470289669510511757807865630506235328273222918421117111281556873070254844441312814372799410820410797988722601761642743512387994633124078",
  2889. "1742133972499057105001733325633478018605566678002165515479191311988758932166961086848659714709",
  2890. "-1742133972499057105001733325633478018605566678002165515479191311988758932166961086848659714709",
  2891. "2553559760939673132290078919768155422943752579897989356503182382672252331377594911957598202962666902881961594758670198463065653145968650999812730247666",
  2892. "-2553559760939673132290078919768155422943752579897989356503182382672252331377594911957598202962666902881961594758670198463065653145968650999812730247666",
  2893. "51684745772714675394936241781816223514919452679364520537119434050698905337439734233644472369565180889405426257288782419010082579894095799847229362421193687113981266355014802762308095739808334529392234853485537967988890313769779739241401223407407962126345943032536670110549434751102",
  2894. "-51684745772714675394936241781816223514919452679364520537119434050698905337439734233644472369565180889405426257288782419010082579894095799847229362421193687113981266355014802762308095739808334529392234853485537967988890313769779739241401223407407962126345943032536670110549434751102",
  2895. "672712112462360351910518120594120040601436948606148058222300198559244738922266341042360305651450642724475561271288385956130680220169715",
  2896. "-672712112462360351910518120594120040601436948606148058222300198559244738922266341042360305651450642724475561271288385956130680220169715",
  2897. "813447070819324251037079581265526580292907576372477729204338404955584410222478934593619630935314222063003252993694281837026881675600656782635846343833",
  2898. "-813447070819324251037079581265526580292907576372477729204338404955584410222478934593619630935314222063003252993694281837026881675600656782635846343833",
  2899. "1117610225194419065337568894513493776564803226432743080986022521406296090276409739149656072953983798754546991402130235309864912523411568994",
  2900. "-1117610225194419065337568894513493776564803226432743080986022521406296090276409739149656072953983798754546991402130235309864912523411568994",
  2901. "54306983641232120685850754812687679873466315381427348676538013927626387380179070467333206768501131364932160162454016646002006230714059820560113529334910854401021111543333022008153795820172235468858146103351502311717114025204496145038",
  2902. "-54306983641232120685850754812687679873466315381427348676538013927626387380179070467333206768501131364932160162454016646002006230714059820560113529334910854401021111543333022008153795820172235468858146103351502311717114025204496145038",
  2903. "113450443712297816016750119935548807386514765087946158026225637996838314569438356054721778395168",
  2904. "-113450443712297816016750119935548807386514765087946158026225637996838314569438356054721778395168",
  2905. "7352437924947754601546368441398130",
  2906. "-7352437924947754601546368441398130",
  2907. "9846278286558101102640461230277730613939270868227307780570935600269093778822376992893008780014141741647103776048800092788896154696011762350215865588521108549",
  2908. "-9846278286558101102640461230277730613939270868227307780570935600269093778822376992893008780014141741647103776048800092788896154696011762350215865588521108549",
  2909. "73473583275712621559167315389071668112406649781987949641633299346855217310106910560443921944813054763213555679810164708505",
  2910. "-73473583275712621559167315389071668112406649781987949641633299346855217310106910560443921944813054763213555679810164708505",
  2911. "44337393529749818041445106472308772039346354808448275796454672077580119659002042203928900642842510640740800196651911559238276834896411685658708100385336014325",
  2912. "-44337393529749818041445106472308772039346354808448275796454672077580119659002042203928900642842510640740800196651911559238276834896411685658708100385336014325",
  2913. "3029057656526271554842230678161240050706458471766453329711413581607557927250588221517218424325311508555983065479955684772259815134067055583713776773155106422220131994155338255582516687249210697344355756374535219768311432253647445765860280496088041768667890441415297183",
  2914. "-3029057656526271554842230678161240050706458471766453329711413581607557927250588221517218424325311508555983065479955684772259815134067055583713776773155106422220131994155338255582516687249210697344355756374535219768311432253647445765860280496088041768667890441415297183",
  2915. "730896103566527607730753327836819245922931354292181064204035921357800084090450560460429017252539616543803713640582458341962589048267291080308369681271304618861351862971290465709198912575367354463123427808437784040240907793877567792057788579265909741136",
  2916. "-730896103566527607730753327836819245922931354292181064204035921357800084090450560460429017252539616543803713640582458341962589048267291080308369681271304618861351862971290465709198912575367354463123427808437784040240907793877567792057788579265909741136",
  2917. "875972480821342956908137350797672986141068914679963791517259506036957992167704898826150763674879737404204136150",
  2918. "-875972480821342956908137350797672986141068914679963791517259506036957992167704898826150763674879737404204136150",
  2919. "80978095866121182143792129768500985270760294511412625411940522384234727394805988434574920055266468176140927390504528795674710202014688877516082928870193399763361133821060656660414289111945500870045554749239179606901392281466574470956468260058934",
  2920. "-80978095866121182143792129768500985270760294511412625411940522384234727394805988434574920055266468176140927390504528795674710202014688877516082928870193399763361133821060656660414289111945500870045554749239179606901392281466574470956468260058934",
  2921. "5108366192611283244622529332098588886037670912044545212175942213533408183226647011059305581499429284848730575416013640342256910485443191764062474694987448384264155646101960915742145430768592056025304400156363995432483639209748602875976799644331086294285921358845745557709942066403846",
  2922. "-5108366192611283244622529332098588886037670912044545212175942213533408183226647011059305581499429284848730575416013640342256910485443191764062474694987448384264155646101960915742145430768592056025304400156363995432483639209748602875976799644331086294285921358845745557709942066403846",
  2923. "6930180124964356147220207591422279016208371685360099598238746492283122379172191493127595009844321810224523734815981086376030176488602168657385920504832784693281301596520980175713179280297526196841775",
  2924. "-6930180124964356147220207591422279016208371685360099598238746492283122379172191493127595009844321810224523734815981086376030176488602168657385920504832784693281301596520980175713179280297526196841775",
  2925. "127195984139760103169058839514903174746000769823723851981181127452175305070890259297605399965306923149188386831728624922603033165495625460062407066507409867399121450024",
  2926. "-127195984139760103169058839514903174746000769823723851981181127452175305070890259297605399965306923149188386831728624922603033165495625460062407066507409867399121450024",
  2927. "766856719860424381068595879781443086540018712198126893034614346925577170838696737465130140374926102571846639744916246",
  2928. "-766856719860424381068595879781443086540018712198126893034614346925577170838696737465130140374926102571846639744916246",
  2929. "24452524790653436824651691432192056396622748",
  2930. "-24452524790653436824651691432192056396622748",
  2931. "21600696784921267417096322615448095147085787610512586576154030214298480866233496998058741115961394009177458631301020467184235259516317585587331608708009650567889604390408691257559911506849475326601795863368339333809604283115447728657967640020590611529",
  2932. "-21600696784921267417096322615448095147085787610512586576154030214298480866233496998058741115961394009177458631301020467184235259516317585587331608708009650567889604390408691257559911506849475326601795863368339333809604283115447728657967640020590611529",
  2933. "3758893374497950117544956548495424355416942972081749559738750",
  2934. "-3758893374497950117544956548495424355416942972081749559738750",
  2935. "139402452879531227967305026093373374931960661729048047992046850704933112027363474989587334281949398194424695097699435389253833391313981068405251271500306551642365788",
  2936. "-139402452879531227967305026093373374931960661729048047992046850704933112027363474989587334281949398194424695097699435389253833391313981068405251271500306551642365788",
  2937. "25612506870374484873779089622294846964717659760278221279975070009760319283018786412097109135597197982352674303356191527475964885419517878154272980015867348900662204209918494643594136945278141027429152743583659050244679551461363259179124592558207169009059175419818764353589040423929215554316106",
  2938. "-25612506870374484873779089622294846964717659760278221279975070009760319283018786412097109135597197982352674303356191527475964885419517878154272980015867348900662204209918494643594136945278141027429152743583659050244679551461363259179124592558207169009059175419818764353589040423929215554316106",
  2939. "2947281537862409310348470927599528845929360328199550369835553099926787046871370053629653311891644595607839493",
  2940. "-2947281537862409310348470927599528845929360328199550369835553099926787046871370053629653311891644595607839493",
  2941. "5238370098473928109261593022401423141534005322972191017431019829640519389374820628584873426299810704519554264840639788753962805520465217577654353515132848032321812308255870691241084866912560646162061587045231920247690379479011365117594385434098375615768143923448693726900625714250700557084631365841487720",
  2942. "-5238370098473928109261593022401423141534005322972191017431019829640519389374820628584873426299810704519554264840639788753962805520465217577654353515132848032321812308255870691241084866912560646162061587045231920247690379479011365117594385434098375615768143923448693726900625714250700557084631365841487720",
  2943. "12442661493742591574470274906943075194519541250480406451734421223577085372382129292566795701869646895013888531785728273885219518563236237522720693500170071741905622101669444727271767185013757679737024246566421692125582577245793910930758790508707497799356723763185459314157218014300646936606",
  2944. "-12442661493742591574470274906943075194519541250480406451734421223577085372382129292566795701869646895013888531785728273885219518563236237522720693500170071741905622101669444727271767185013757679737024246566421692125582577245793910930758790508707497799356723763185459314157218014300646936606",
  2945. "196768397706108832434401218046908395079672619951322343962935515221968814879",
  2946. "-196768397706108832434401218046908395079672619951322343962935515221968814879",
  2947. "105448359738523054755775683879539460376932545724741416465977687344195271654833613392218097960778272870252224864512166575087075095234145517359783987574090392012176562600550144885565709822164722304408771214923078090216303447672907406306494260347265557611811281654313383497",
  2948. "-105448359738523054755775683879539460376932545724741416465977687344195271654833613392218097960778272870252224864512166575087075095234145517359783987574090392012176562600550144885565709822164722304408771214923078090216303447672907406306494260347265557611811281654313383497",
  2949. "427047",
  2950. "-427047",
  2951. "81856543863229949865307411717645038275510945758537814749232160844289351485471852172626662270166132792505150910334705532703104971400349296170150117058939300885252778996956",
  2952. "-81856543863229949865307411717645038275510945758537814749232160844289351485471852172626662270166132792505150910334705532703104971400349296170150117058939300885252778996956",
  2953. "1157793815124456718861516590400363995161915570086903147642852686851669744820819994596924330213342515606147016987948857909",
  2954. "-1157793815124456718861516590400363995161915570086903147642852686851669744820819994596924330213342515606147016987948857909",
  2955. "940896637988538567397975357071445094467989790092928263312671948706628805236843480432542018263224679720038185333011214261501267693681777878339707753984890375587248023646920869739576148750778030",
  2956. "-940896637988538567397975357071445094467989790092928263312671948706628805236843480432542018263224679720038185333011214261501267693681777878339707753984890375587248023646920869739576148750778030",
  2957. "1277092697774915455425325818506548913089778045288703511320462361515661192684081707471069783269077123507880082821996357021946680618631451261991566032521034200533398597806696743013088727321199529921154950435385831032453193119895011784079743410",
  2958. "-1277092697774915455425325818506548913089778045288703511320462361515661192684081707471069783269077123507880082821996357021946680618631451261991566032521034200533398597806696743013088727321199529921154950435385831032453193119895011784079743410",
  2959. "12484594365439504824667126116411560379532608011162188261784732952579595718551939216912931261112627180909253846258363935011877417495984302385508560070358584377699655038250487243650598",
  2960. "-12484594365439504824667126116411560379532608011162188261784732952579595718551939216912931261112627180909253846258363935011877417495984302385508560070358584377699655038250487243650598",
  2961. "1741383885783666349682975645698617932237500743715841391107227784204719855585223522172382200426887024717924383874873388819696857115564677905327552504",
  2962. "-1741383885783666349682975645698617932237500743715841391107227784204719855585223522172382200426887024717924383874873388819696857115564677905327552504",
  2963. "9368096919796958094889245340222417626105947858557433047800723019",
  2964. "-9368096919796958094889245340222417626105947858557433047800723019",
  2965. "76669478098694609561491577319843969528266563067895013521486786451595735010640930020326448743208375914951894083260394091483935932234283855098968632145970697415601093343",
  2966. "-76669478098694609561491577319843969528266563067895013521486786451595735010640930020326448743208375914951894083260394091483935932234283855098968632145970697415601093343",
  2967. "1876639712516985144893922794716264029310990922149953750634405350881578456885688177463809312620",
  2968. "-1876639712516985144893922794716264029310990922149953750634405350881578456885688177463809312620",
  2969. "186077",
  2970. "-186077",
  2971. "24038469015057796648084289920894727399732658423825146209930020877671076098132117966877846149087015358546337692428012385515366055633105998821389203",
  2972. "-24038469015057796648084289920894727399732658423825146209930020877671076098132117966877846149087015358546337692428012385515366055633105998821389203",
  2973. "20641259550745643346234485579665129143463532482322387615585139677830682894079763990366000612134891527828252798370386444670430513385825695220928137556290078834398139256712344468615779923734232143070994661634892049806652900001420233970754048793898042171067992448201191787158435561",
  2974. "-20641259550745643346234485579665129143463532482322387615585139677830682894079763990366000612134891527828252798370386444670430513385825695220928137556290078834398139256712344468615779923734232143070994661634892049806652900001420233970754048793898042171067992448201191787158435561",
  2975. "90558282393161622936261650596857143828421884875124973816361813844395166",
  2976. "-90558282393161622936261650596857143828421884875124973816361813844395166",
  2977. "893374152282726891992085958120127485743572202276100990922171",
  2978. "-893374152282726891992085958120127485743572202276100990922171",
  2979. "104601387324033669002784175389856736439866138446091862232274237956270168921868535320405566731385430625654533746364405250312870593863224985439702639684142355791792905233795969344981850689932028254291726954427057743196839190399880526778270712454970430735459654847",
  2980. "-104601387324033669002784175389856736439866138446091862232274237956270168921868535320405566731385430625654533746364405250312870593863224985439702639684142355791792905233795969344981850689932028254291726954427057743196839190399880526778270712454970430735459654847",
  2981. "1100640547822452822259608780637373041065326977053681954192776181527618577050122442455730624660403304296015412329954372289398853654524721225006003581004995451247487399511260858844108588935136691954558538445962684147337611140312567681054887671734241832035049841922672004195071",
  2982. "-1100640547822452822259608780637373041065326977053681954192776181527618577050122442455730624660403304296015412329954372289398853654524721225006003581004995451247487399511260858844108588935136691954558538445962684147337611140312567681054887671734241832035049841922672004195071",
  2983. "2967167885422023119778255262377939967247041745814218496240360",
  2984. "-2967167885422023119778255262377939967247041745814218496240360",
  2985. "2766027933722171046554231292404911532459570636916540872038932307272865118512724883948205112046666709093487559219830075352753072061667201",
  2986. "-2766027933722171046554231292404911532459570636916540872038932307272865118512724883948205112046666709093487559219830075352753072061667201",
  2987. "1003655344057107767912014692725976261732681876044961311820943946784371",
  2988. "-1003655344057107767912014692725976261732681876044961311820943946784371",
  2989. "21900502732037517315370094764239443613058564433",
  2990. "-21900502732037517315370094764239443613058564433",
  2991. "45583003657081227658306304711498324162428223935090104",
  2992. "-45583003657081227658306304711498324162428223935090104",
  2993. "204245432840569041148483982796093177932369679988233999329901019356075995960",
  2994. "-204245432840569041148483982796093177932369679988233999329901019356075995960",
  2995. "54884247902140437035368361407902527545416356458607442580170745253262030",
  2996. "-54884247902140437035368361407902527545416356458607442580170745253262030",
  2997. "5334518155628744158007803052398794311169463840470474113725097881874982744596886959948255678621385420985539108742608260405936297075345765000664456806209794363451383928857878909914356480954702762980348813177584480927161733854397043441077512115118243",
  2998. "-5334518155628744158007803052398794311169463840470474113725097881874982744596886959948255678621385420985539108742608260405936297075345765000664456806209794363451383928857878909914356480954702762980348813177584480927161733854397043441077512115118243",
  2999. "586483295964769639990961973863221490702912450472376751506581704396550840803536849728609056194074161983174132325139036388003751640146943",
  3000. "-586483295964769639990961973863221490702912450472376751506581704396550840803536849728609056194074161983174132325139036388003751640146943",
  3001. "5160489070412055213478248749143153314027313193274772183541029614946527505345515388990899156035333461408310459047357741425430914259324755065994103",
  3002. "-5160489070412055213478248749143153314027313193274772183541029614946527505345515388990899156035333461408310459047357741425430914259324755065994103",
  3003. "2027629455583867858236950998133711110883394281732352207813586603417947074456218393483520509566027",
  3004. "-2027629455583867858236950998133711110883394281732352207813586603417947074456218393483520509566027",
  3005. "5188557124098846103707325218",
  3006. "-5188557124098846103707325218",
  3007. "400020709349724273938863924454731823809936035083490166372176005731818513778095755824243823423942457408986667759613017098976884623086030827980554523509430858361367786615095252152639811158705182507617454882805400018345969632806081496172562211701111188286396198492796040003060705842273291",
  3008. "-400020709349724273938863924454731823809936035083490166372176005731818513778095755824243823423942457408986667759613017098976884623086030827980554523509430858361367786615095252152639811158705182507617454882805400018345969632806081496172562211701111188286396198492796040003060705842273291",
  3009. "5077741618469045793277646564358992920960476333244601450034145830501181786188670069707891777075377020328052369395749044352605314330803964782636667529924732654192256597972743806214879074858492363595605",
  3010. "-5077741618469045793277646564358992920960476333244601450034145830501181786188670069707891777075377020328052369395749044352605314330803964782636667529924732654192256597972743806214879074858492363595605",
  3011. "7696189909584112429236607890412659528293987626026266720440261172438548134466224807156242301070086176781584925647653568383958946454001",
  3012. "-7696189909584112429236607890412659528293987626026266720440261172438548134466224807156242301070086176781584925647653568383958946454001",
  3013. "417308020029030078568441933098093721107857721939799845259428192907357371830765301672126412079562811182564973992528737210195074535804805307396531464692210817793443042424312992541689337630019211372",
  3014. "-417308020029030078568441933098093721107857721939799845259428192907357371830765301672126412079562811182564973992528737210195074535804805307396531464692210817793443042424312992541689337630019211372",
  3015. "1322555438304138854190608504305314090997872332525802468309",
  3016. "-1322555438304138854190608504305314090997872332525802468309",
  3017. "2243252463390097730206022598597097545362441865345445435367208364900608574068701725911900977005694987837525981666534993121316833074810732688679185645071871012387337549509711648733018",
  3018. "-2243252463390097730206022598597097545362441865345445435367208364900608574068701725911900977005694987837525981666534993121316833074810732688679185645071871012387337549509711648733018",
  3019. "996999631246356886686476319402220462702895536107891846414650166937411337235327374798687258137003461594493394303654723633588050290355700009203863700819430055925538137094125943576776423062708423296431824562515335853105906638174471031706521164070138118239692600817313403027773040755",
  3020. "-996999631246356886686476319402220462702895536107891846414650166937411337235327374798687258137003461594493394303654723633588050290355700009203863700819430055925538137094125943576776423062708423296431824562515335853105906638174471031706521164070138118239692600817313403027773040755",
  3021. "7407232727584141857860413969133193973271286288996885370643743601041844697247425570485073230177615935516189249509933008589795827697527731537095440446937896691012576063103682886965547257404970422133160836803032660735755375228",
  3022. "-7407232727584141857860413969133193973271286288996885370643743601041844697247425570485073230177615935516189249509933008589795827697527731537095440446937896691012576063103682886965547257404970422133160836803032660735755375228",
  3023. "66507856432274251794176455954413617080912111625650403908424515766595169565610373272262880697471290673940957493067336542878127434500093321175322023848113318710961186458831481208336221616883931621941707175292010516439902743884847403671155360181449053131615233540637713255704186616742945621336873834200241",
  3024. "-66507856432274251794176455954413617080912111625650403908424515766595169565610373272262880697471290673940957493067336542878127434500093321175322023848113318710961186458831481208336221616883931621941707175292010516439902743884847403671155360181449053131615233540637713255704186616742945621336873834200241",
  3025. "31961863828553380988033812855214593359459211110640445946699728653449149746905536006308298520671497324063634041",
  3026. "-31961863828553380988033812855214593359459211110640445946699728653449149746905536006308298520671497324063634041",
  3027. "119618377523937755424839832529346904290447125277702998330825686745624714380165535983701718800753406524499580430492483313401840673306022",
  3028. "-119618377523937755424839832529346904290447125277702998330825686745624714380165535983701718800753406524499580430492483313401840673306022",
  3029. "405681915481957710524110670648088015005969944212725894176433228902381563426021784100141533714164168640878972504794623170560976727288628780986689105062652396339731589340681696758070055865849332874664598654305386",
  3030. "-405681915481957710524110670648088015005969944212725894176433228902381563426021784100141533714164168640878972504794623170560976727288628780986689105062652396339731589340681696758070055865849332874664598654305386",
  3031. "80071205989351736846133464673563483",
  3032. "-80071205989351736846133464673563483",
  3033. "9700773864531435625616214899914065324460851600463291968860331922457988802290698665249481817160070262860115617949877440060186269123630022169856579023685715276196199558700467573542360702057439871151548632003937134635666",
  3034. "-9700773864531435625616214899914065324460851600463291968860331922457988802290698665249481817160070262860115617949877440060186269123630022169856579023685715276196199558700467573542360702057439871151548632003937134635666",
  3035. "64944106993602113652248278796057650905995695388886180354923002182559697540323513",
  3036. "-64944106993602113652248278796057650905995695388886180354923002182559697540323513",
  3037. "37929576313535611121803978435959309812321783154717",
  3038. "-37929576313535611121803978435959309812321783154717",
  3039. "1201000338412478811264460901269015663629403940922465995711563366282532392888117164309460791962587700786925689531323402454933712",
  3040. "-1201000338412478811264460901269015663629403940922465995711563366282532392888117164309460791962587700786925689531323402454933712",
  3041. "470447114867440006531646544662395180489380",
  3042. "-470447114867440006531646544662395180489380",
  3043. "1886414975033222890759454788368278722523410826550821944244006726465034055937087351501071112805393425149681091697659539390880213755450593178650888546158680682861726300055346238147353584",
  3044. "-1886414975033222890759454788368278722523410826550821944244006726465034055937087351501071112805393425149681091697659539390880213755450593178650888546158680682861726300055346238147353584",
  3045. "4664892726074011412424061191534682518434402852534244066439859284421669515547644494221267860310050082413903960265959420616932209365599069348",
  3046. "-4664892726074011412424061191534682518434402852534244066439859284421669515547644494221267860310050082413903960265959420616932209365599069348",
  3047. "28780798756024002725983431800204693077146606485161761312577563898465001036018344",
  3048. "-28780798756024002725983431800204693077146606485161761312577563898465001036018344",
  3049. "32330329650876",
  3050. "-32330329650876",
  3051. "2119979291121167235646126537631495326938621591198105160016067466298282031395514388037592761773940160529230271536093864046314956321286102399202685013097514391108059946817681956440747156573",
  3052. "-2119979291121167235646126537631495326938621591198105160016067466298282031395514388037592761773940160529230271536093864046314956321286102399202685013097514391108059946817681956440747156573",
  3053. "263699852555513851494126759556555000194041870735492675256368970869569739794241286439438865360257448383332427174288750874993061959293095843277366404592822430413842608440069138162513296663098194916628650623285377787520407274835441660863529425698257",
  3054. "-263699852555513851494126759556555000194041870735492675256368970869569739794241286439438865360257448383332427174288750874993061959293095843277366404592822430413842608440069138162513296663098194916628650623285377787520407274835441660863529425698257",
  3055. "1128694221447083514833565943172494061961392351570236661606778701297263608082693757967704225149730415407045688293665284383612835316877341572601586213504558102647155013466806252198360829785603030320627697854353131933390896",
  3056. "-1128694221447083514833565943172494061961392351570236661606778701297263608082693757967704225149730415407045688293665284383612835316877341572601586213504558102647155013466806252198360829785603030320627697854353131933390896",
  3057. "6916983731776108089130775823204431120044571113273264",
  3058. "-6916983731776108089130775823204431120044571113273264",
  3059. "75914457793044064895413508037682032379902701971013411488690441608545",
  3060. "-75914457793044064895413508037682032379902701971013411488690441608545",
  3061. "8879499247714081140479921556021160510154213025912153490299817518668111141293995912780879974244590421191162074944570118497100570991099380592606670090324723096261264086252974733149488230484359814997329229447712203652808121303397231512080257394400660537777330",
  3062. "-8879499247714081140479921556021160510154213025912153490299817518668111141293995912780879974244590421191162074944570118497100570991099380592606670090324723096261264086252974733149488230484359814997329229447712203652808121303397231512080257394400660537777330",
  3063. "1724506383335075569722951957439066815",
  3064. "-1724506383335075569722951957439066815",
  3065. "1194371342067583821224146035467746385145120448082902327311395191487125759843115454058224224089457130",
  3066. "-1194371342067583821224146035467746385145120448082902327311395191487125759843115454058224224089457130",
  3067. "116571209611185337284731713897921002952811284109399364843701582086430272601727355870457693093",
  3068. "-116571209611185337284731713897921002952811284109399364843701582086430272601727355870457693093",
  3069. "26168929789567416417896877953711683735315284288420053745760833960409035809279614614583672230970848586995471196762264833662013726559369765619103011658619869727814614782931489481458661981043479676591818357",
  3070. "-26168929789567416417896877953711683735315284288420053745760833960409035809279614614583672230970848586995471196762264833662013726559369765619103011658619869727814614782931489481458661981043479676591818357",
  3071. "243012047985288247713378637185988647187985010392388570351653505841125573018162558460717652828862937",
  3072. "-243012047985288247713378637185988647187985010392388570351653505841125573018162558460717652828862937",
  3073. "10664054546419657059895154308389295209775305216580625182685797954089483388356503442301133821162999463846286618424679215827037042324",
  3074. "-10664054546419657059895154308389295209775305216580625182685797954089483388356503442301133821162999463846286618424679215827037042324",
  3075. "93382430984727342024648229617198660330774557968214720265565362040755873830899272200516094884487181897372100083086702655979998495443",
  3076. "-93382430984727342024648229617198660330774557968214720265565362040755873830899272200516094884487181897372100083086702655979998495443",
  3077. "13126062810625043063456380164790384012915764511630796458248365510538114092330596186281347044586364215270683612292866613952971844005196715563009674494624957852022027173471052976928718844001264455268592601375542242160924315548654836823549859553",
  3078. "-13126062810625043063456380164790384012915764511630796458248365510538114092330596186281347044586364215270683612292866613952971844005196715563009674494624957852022027173471052976928718844001264455268592601375542242160924315548654836823549859553",
  3079. "9368582362765814557187196024001227849888168077472266659772600971697428366492708926906258905590833059706396684592884687526358204703256054330603971127944678906",
  3080. "-9368582362765814557187196024001227849888168077472266659772600971697428366492708926906258905590833059706396684592884687526358204703256054330603971127944678906",
  3081. "278701771665221100457912961846034172",
  3082. "-278701771665221100457912961846034172",
  3083. "382464310254920012603200760",
  3084. "-382464310254920012603200760",
  3085. "1086701652931645659413181704075891369501487115000150234704055924790606399915277424771761502385407750848874457084738431566772206432850777390818546802908541311070886519070558468667864533850452989704316665227997074954119733405730362633188789872620053510199052652185571293239445061650299573526583634686290646340",
  3086. "-1086701652931645659413181704075891369501487115000150234704055924790606399915277424771761502385407750848874457084738431566772206432850777390818546802908541311070886519070558468667864533850452989704316665227997074954119733405730362633188789872620053510199052652185571293239445061650299573526583634686290646340",
  3087. "1436027919103852779047018224513001412434295916624702899496423156978055321701822379",
  3088. "-1436027919103852779047018224513001412434295916624702899496423156978055321701822379",
  3089. "358956740433261819154697401028765647885314537021358004573",
  3090. "-358956740433261819154697401028765647885314537021358004573",
  3091. "2570919810686260443090976956907911580117431201667893432876299852175711324820817103455438469322058313607578962386364736310503021461418759938196980029731001153192509640082331671491566785848363799371983266719541295357316341488191889371987260280114237",
  3092. "-2570919810686260443090976956907911580117431201667893432876299852175711324820817103455438469322058313607578962386364736310503021461418759938196980029731001153192509640082331671491566785848363799371983266719541295357316341488191889371987260280114237",
  3093. "25162923422743354542149586612896418135445747897968173426132346622460254031452425686287824478617146278670264713886155228992283141903843330748647605337845897726364270262270221388553425764365596646869122752625837519793121116201637138123589",
  3094. "-25162923422743354542149586612896418135445747897968173426132346622460254031452425686287824478617146278670264713886155228992283141903843330748647605337845897726364270262270221388553425764365596646869122752625837519793121116201637138123589",
  3095. "4278027626",
  3096. "-4278027626",
  3097. "13701895078474585475247137503379489809369496012756504256009512583880126487325483060",
  3098. "-13701895078474585475247137503379489809369496012756504256009512583880126487325483060",
  3099. "840786904525379769789300537711189060152537247097220818494507832789559514433741881148404020369408737305833463880040532404710981950433015449671738772090021173041178316879389133142755654332186395733035047829330146580877246938698632854141466195209370012956133251007728880713807067719044277",
  3100. "-840786904525379769789300537711189060152537247097220818494507832789559514433741881148404020369408737305833463880040532404710981950433015449671738772090021173041178316879389133142755654332186395733035047829330146580877246938698632854141466195209370012956133251007728880713807067719044277",
  3101. "3276292788321967735809171244238550320799741743618059640716169790896705284371",
  3102. "-3276292788321967735809171244238550320799741743618059640716169790896705284371",
  3103. "1444750318330952168038880813831551223482419869563017466378766743222046493652050967605113492030925684948366811229446235163057029451862026449099533578455062305802501669339640305034074716552601620379378463996993533643594750826540",
  3104. "-1444750318330952168038880813831551223482419869563017466378766743222046493652050967605113492030925684948366811229446235163057029451862026449099533578455062305802501669339640305034074716552601620379378463996993533643594750826540",
  3105. "24086541858702055427502392901637",
  3106. "-24086541858702055427502392901637",
  3107. "4330081338691920762224608526717824389301173480290111106078901689480766861452007892469366598230052182293662205113692558414456231710116801557663552676919",
  3108. "-4330081338691920762224608526717824389301173480290111106078901689480766861452007892469366598230052182293662205113692558414456231710116801557663552676919",
  3109. "27418448940760548112970686808757044592831257648000991603843244426565505080207854209562533723933529598541150",
  3110. "-27418448940760548112970686808757044592831257648000991603843244426565505080207854209562533723933529598541150",
  3111. "4864349348505372641735591623253935562079434294533303015906939805788562228545435455999490952132421630107381486091394263343039603335970384360527032450993718152333512135859319365168",
  3112. "-4864349348505372641735591623253935562079434294533303015906939805788562228545435455999490952132421630107381486091394263343039603335970384360527032450993718152333512135859319365168",
  3113. "1626611771502100547320818336906281142864525046004643066115702536679123387159152005305066",
  3114. "-1626611771502100547320818336906281142864525046004643066115702536679123387159152005305066",
  3115. "14293419224795219525714860242008460020503397376158988250120766700936504062",
  3116. "-14293419224795219525714860242008460020503397376158988250120766700936504062",
  3117. "8260753138917023233566421292298962764237807151943318525543970544500632597376493524337437826032865212814429643010352970402898369401423576606526232369458199913160215970566401517084565439231237176671986172844275163759328663201716196906130863901168073596480102005930047541965611641872232312988889482629",
  3118. "-8260753138917023233566421292298962764237807151943318525543970544500632597376493524337437826032865212814429643010352970402898369401423576606526232369458199913160215970566401517084565439231237176671986172844275163759328663201716196906130863901168073596480102005930047541965611641872232312988889482629",
  3119. "5277758874516137277732773354886538661032533122667342258245153872341673598212237223809452902009488931372563068631458175710208259076234089320690",
  3120. "-5277758874516137277732773354886538661032533122667342258245153872341673598212237223809452902009488931372563068631458175710208259076234089320690",
  3121. "1604105217156493424796219158328988017738562338480346273566670218046",
  3122. "-1604105217156493424796219158328988017738562338480346273566670218046",
  3123. };
  3124. boost::filesystem::ifstream is(root / "cpp_int1024_serial64.txt");
  3125. std::cout << "Testing cpp_int1024_serial64.txt with T=" << typeid(T).name() << std::endl;
  3126. //is.peek();
  3127. BOOST_CHECK(is.good());
  3128. boost::archive::text_iarchive ia(is);
  3129. for (unsigned i = 0; i < sizeof(text_array) / sizeof(text_array[0]); ++i)
  3130. {
  3131. #ifndef BOOST_NO_EXCEPTIONS
  3132. try
  3133. {
  3134. #endif
  3135. T val;
  3136. ia >> val;
  3137. BOOST_CHECK_EQUAL(val, T(text_array[i]));
  3138. #ifndef BOOST_NO_EXCEPTIONS
  3139. }
  3140. catch (const boost::exception& e)
  3141. {
  3142. std::cout << "Caught boost::exception with:\n";
  3143. std::cout << diagnostic_information(e);
  3144. }
  3145. catch (const std::exception& e)
  3146. {
  3147. std::cout << "Caught std::exception with:\n";
  3148. std::cout << e.what() << std::endl;
  3149. }
  3150. #endif
  3151. }
  3152. boost::filesystem::ifstream is2(root / "cpp_int1024_serial32.txt");
  3153. std::cout << "Testing cpp_int1024_serial32.txt with T=" << typeid(T).name() << std::endl;
  3154. //is2.peek();
  3155. BOOST_CHECK(is2.good());
  3156. boost::archive::text_iarchive ia2(is2);
  3157. for (unsigned i = 0; i < sizeof(text_array) / sizeof(text_array[0]); ++i)
  3158. {
  3159. #ifndef BOOST_NO_EXCEPTIONS
  3160. try
  3161. {
  3162. #endif
  3163. T val;
  3164. ia2 >> val;
  3165. BOOST_CHECK_EQUAL(val, T(text_array[i]));
  3166. #ifndef BOOST_NO_EXCEPTIONS
  3167. }
  3168. catch (const boost::exception& e)
  3169. {
  3170. std::cout << "Caught boost::exception with:\n";
  3171. std::cout << diagnostic_information(e);
  3172. }
  3173. catch (const std::exception& e)
  3174. {
  3175. std::cout << "Caught std::exception with:\n";
  3176. std::cout << e.what() << std::endl;
  3177. }
  3178. #endif
  3179. }
  3180. }
  3181. int main(int argc, char const* argv[])
  3182. {
  3183. if (argc == 2)
  3184. {
  3185. root = argv[1];
  3186. std::cout << "Setting root directory to " << argv[1] << std::endl;
  3187. }
  3188. using namespace boost::multiprecision;
  3189. test64<cpp_int>();
  3190. test64<number<cpp_int_backend<64, 64> > >();
  3191. test128<cpp_int>();
  3192. test128<number<cpp_int_backend<128, 128> > >();
  3193. test1024<cpp_int>();
  3194. test1024<number<cpp_int_backend<1024, 1024> > >();
  3195. return boost::report_errors();
  3196. }