diff --git a/fact_registry/scripts/3-deploy.sh b/fact_registry/scripts/3-deploy.sh index ed0425598..d5d8d0b97 100755 --- a/fact_registry/scripts/3-deploy.sh +++ b/fact_registry/scripts/3-deploy.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -sncast --profile testnet --wait deploy --class-hash 0x3eff97e91fce62babd596c1a34430ce9541ab70325cbdad5d41eb355d74b407 +sncast --profile testnet --wait deploy --class-hash 0x03f536515a407d546d806777a64326302d8758b9c8aff8f70d51e26a1d535a70 diff --git a/fact_registry/scripts/4-is-valid.sh b/fact_registry/scripts/4-is-valid.sh index d3e3baf27..63efdda9f 100755 --- a/fact_registry/scripts/4-is-valid.sh +++ b/fact_registry/scripts/4-is-valid.sh @@ -3,6 +3,6 @@ sncast --profile testnet \ --wait \ call \ - --contract-address 0x58272d465628862ccae526250cd3385b26f6a5ea14636d48e507a9e89171ef6 \ + --contract-address 0x3ba45c52dfa67d8c85f75001706f9fd5e34ab582b87d7f536f347ce35584ffc \ --function "is_valid" \ --calldata 0 diff --git a/fact_registry/scripts/5-verify-proof.sh b/fact_registry/scripts/5-verify-proof.sh index 5e639ca5c..80a63ce28 100755 --- a/fact_registry/scripts/5-verify-proof.sh +++ b/fact_registry/scripts/5-verify-proof.sh @@ -3,6 +3,6 @@ sncast --profile testnet \ --wait \ invoke \ - --contract-address 0x58272d465628862ccae526250cd3385b26f6a5ea14636d48e507a9e89171ef6 \ + --contract-address 0x3ba45c52dfa67d8c85f75001706f9fd5e34ab582b87d7f536f347ce35584ffc \ --function "verify_and_register_fact" \ - --calldata 7 22 100 3 22 100 2 22 100 22 5 12 16 18 100 8 15 100 4 13 100 4 11 100 5 0 4 3 2 2 7 30 18 18 4 100 14 32762 32769 2110234636557836973669 0 6 12 1 5 37 104 104 106 106 106 490 490 2538 2538 1 290341444919459839 46 92 1 290341444919459839 2 4 3 1226245742482522112 4 4 5 74168662805676031 6 0 7 290341444919459839 8 1 9 4612671182992998400 10 5189976364521848832 11 1 12 5189976364521848832 13 1 14 5191102260133724160 15 1226245742482522112 16 9 17 4612389712311255039 18 5198983563776262144 19 2 20 5191102238658887680 21 5191102242953854976 22 5191102247248822272 23 2345108766317314046 24 146226256843603965 25 4 26 5191102242953854976 27 2345108766317314046 28 5191102242953854976 29 5200109442208333824 30 5198983563776458752 31 3618502788666131213697322783095070105623107215331596699973092056135872020480 32 1226245742482522112 33 3618502788666131213697322783095070105623107215331596699973092056135872020473 34 2345108766317314046 35 37 36 0 37 104 38 106 39 490 40 2538 100 106 101 106 102 490 103 2538 104 10 105 144 0 0 2764629743498766892704300083230748068011340340362374505415148514737953556375 381970329659517389536461531950842031430175492973504008611879230744989020339 2915127294788105309571562527975922176856739937049536846639916832271975035368 135 180008445952236600928847481266590135930228661541297285261086681138671927471 3050072195678287257563233935364053287160253418943133451227617637397323112995 956464287449158124465324308677800041968125660520784150844696195414623756412 215693466151550462530656035271502075468795229861759772679589691826442599242 2420329720020286749244807505965715998742083779391658337164029612147310573993 985119831112477399496969255507036890148486606350799184071337618617668362490 3601977539219258395879244520420440083186883443984470768652769342382898017068 180993753175946751889180054185293930209536951421732851165108196838745098344 2406566170865494286499348319980703829950378735751146476590476066878360569643 2309181411675047165188183333653087164161605072915127901449569975524663917225 2565117029025656083451626704046308277970616574580069263490727908598750556621 3108401157267327702100160952574680519062321982684154969865178907607613570557 2721452196345493411234521403274003224780303460461478234172281170013733072696 412729940389101846139040019473109799449390971098510660697496416073820514544 2157904900855513512029992179876062992503380561614074224726367316517856225621 3088013113187543487971516838657283263592039068403752100117697327748444409691 2170755354593190402696512558363318541891725201877474017916109215462479596825 1808808861725366317755675584318308834926124850893289618592705433956214046615 3228031496207950750294304853644963140682366692046129710730873469861791970710 2796757923503331799809334286460054934549694503439449198181319494714744791587 974760242334547237703695461527391550558628065075745646011901381937448327231 135847929506965177519197680860003443333446879538691800513979960770869802628 2667222741852732886656422321826898399283361266556080415930607877102141205856 3503324738053202219802446343224545786393361472577136510957929115154726027501 1782550118194237059619392310690310522908257954856103648084861560033867916351 1327499452021549695410892641775633957776788491590688936540893837579603560502 226377369201945248194453247446472206969492273466097618186367352749183392015 2935512372405394390701049594718029043561307412855440955955398943068058624 30037935017397718247343254860628916100416323075449961236109062260410962390 1671342013377286507169235849675001233654429368886986038871605322677310937789 2616427169950325044142039852392197444068833540653793848966528648355337044136 3044297967951442946509028420029237646172359849084933521299918311162901153865 3541922034256707104685285367926373884926625536441659482310596328588372593114 2561464502663404145214548174533639704747848867606499332279536716805076160860 2575190796630132194546897389723633992663166473122806508991391975465926258369 3020594933217012102329644020495663336857728430955867054689662308295375456002 1665682846158224256402042714866750909404462553903793738128833124367139520218 3438696015332153014703531783125350476347675414895849276666538442770952416461 370118902586171720506725119373477218740451094215959787388316507015869136056 1631288379558279732335070519525237172134675735210744503632766171408526051330 2305025620952541622902290510286934070147811236006579256155280812233667197232 1670047033603408097452903848224177201886691814021415222788662111068267415972 921546782886745176234598818020248586116394947273557412953877064382666854532 2337602521984209450664949634800922186508353790758163267991142753985279646226 3487237324116826310659039587094783643536206724685703431243545604981679647102 1374346699551356925706894373335837830518447965252881767541956613769420881121 1240312657027942058326840779254807731995883330124278298992725428377816968498 3440665787366565764656406138743090156991807902641786253396611124533757313537 36440138876912917711226455297289953048417449472782498733755937775190582897 2764724399124525295983143848591946388107473165873685495597465055015641426125 3156252124371146799293933528253077176981576876812447817915190999192150979472 2180647859182086357140620141553653247032232988571617332700708956957742423008 2438953881034544262722243084881291999190513567558019395748635175845549171764 2555531677432536488383871875413949704148183150199723596989376280571946510754 1793215443412629822585156691406798253544248219361299942426206331307256901702 162851487221166548173956624750595971357838350456170334779685161100435735003 3596194115601205527985747529712655061908165767433353233921996920205760103949 62637763563816523269768308702506233632004372724968256350401474111945166829 2552194979984387088723413148390556634254967523601117275441557101435386925778 2796032476832002210472293946444156707350447480229925049129888324808725134727 2668836646943777142097515146976039874109295222695138038105227343663292449185 3469070363495350577354548684023909001746246081044666234083558899738371559951 72907054887999848472467055117844672150627913138281131760073020227570697695 2861237040886713210021214360524523610318691601735946137914851998586464820000 782791186924212836663715223224291238420901536897622550215006199800697843066 428902511782543553842195234829257844971350687832407056906175485969618284348 1464800788897841181056192829346099056505397980545681598510746164243921777377 1633748328315553567019086424805646026835395885013377309605444710706484771059 619778663856317028449232053854626889861887191611984948588995145699006624608 3162234164942702343850995676084736339826538999378862020712538356778758322408 582746435956227695555573026953646942755199038104565869536714187717879101627 3307317309399786043227634557373688678461131259814203177353108878136392292744 2154689474521535487802625957587037983046283778416700840909967063676555458321 1090385819660855170381408062305267169694181405615939521609420207230372739799 1810648006230274927606579849894433632906865920220138430688474634204068305871 179088515076729812347618768054672353323355787132432175576023308806431922484 154408655321625509315709163519322634280224750004645389753319956678087744609 87928269198875749330561638350871891787727986524529550794457868386991579037 3247396977430165595412519583980592129449240423332828279069148156044445476401 1559905540514616869610698421681625710411487178312250791431110545961945400812 885023658060282801605068446039049519501191239940260511029073315482101026725 2501586189139301973021611760007183884224381617091093051283280465299285916173 3280467358690994960393594808744700735823727330563310146939866393253881867598 1890968743976978561470096764487008636922433346314752766028121856514596387052 1431567581879241063578919780312183831961011642228077276202405476424138439453 3242946549359240167940918607137281614380602611368001918182764104442934173291 1934673185619978315219709780283127427470568465502351802249490346248814131000 710043113751384930564593810572372562799458499056850581014613481143507789163 2270483120198392343126978202052894775978021245960187024833325820374587913451 1699344399434375582616706883633458464358609878529723162645909794470523696922 3424245457457014698270562004206727877998676971022619050974057149796541227463 2229447681557661054353533086200193032738984705228044526333996087189671208914 895206707555665589213544500574964201865336342895667131363772017774422926252 2030610648566497773056022291373281972192619306254097223919615717279645910032 874949935113560337809903295026550042644912316169337507471893516620819321044 1439978091849618046167338024514416482328970053772259902303913892743719004985 880185086834052768873396488999852362774331428327174720574876976467166558580 1353505995433986602930778949060195131401014651281796523433561890162315013967 3520582804776847330390049239386027140282520915353439652752948220354032771053 2793871611430159689378523259139010352480137151110032257169174112499757355335 1655059733634925520969135512312088754441453080819505174231498061861797275565 1277530525659754251135708877392795355155839214776040471801188228869920790922 2307475894552415357731559393853440493894997662354651199529287137404546033104 688670458958112401361268243640991655345023399993138453452280063678733866924 2074117265813683634161736115053139871031240762088082115129608534768631591685 2360734173347646854989902185470124776133869710376574774572977487359495731101 933783839527469723147807576219839225176063741578372308833606003582656259258 2985883830430784571664864167287718279084235078185676061277222645558735843331 684348538864588905315038334840106354901412904942386296577207754401391381313 1456404392771325501374591286780856442313803932498281805798214761951804378894 179903974917072219972773140426397343805727901040027596226522336065692001755 1189475665372138114913820842529353544728333772272776413448590067456194469299 1595106043088300382147186001929843540598760222102750383179565554318957824758 425248365376404191303871670964638454505269623580832442927413870005328996981 2902775711239484349524638590758011841291947953462143918539776915542942242870 2571667590614300964437977499770478731799043919550490674690486792651582198713 954217780868209481474682035841131620781497121012179701775990119383956373668 2128803148799452715609094268832009802609005571461744293664005851855558806723 2307225455325481841240887387777228788783321662263518887425988010039289750373 2186524917933401441046242312510241450112603220604178974521974941205586293321 2266937649622101184147803690924060823308500758910082900155936220838718718666 3159534720454634500267327051559693725001258835737487226695005688340868220436 2246370169621457331755298266799213237644443489757171837205041156665800941073 2783482186136469000307930458623190744005449032809889502259729896991467241266 591921733298027342923529709240661234374799555140389448173667651080291794870 1052765925693717085481568955080803341683521037486764762123742900156639862181 985450692853798261501497560823356925522794971926315465171869302941337900956 2297132301070680281576600756159426107809178238850102394857370508853940889202 2941729520078769478789186156620163646306212802393927246985831708552176560312 1929268141141309943108368795088252641268967527465615717471226900046839329981 2259982570915192845211615019284096124499471523762108952711189916087031626138 67698994391717713718092251999781395060199335951558658622210181034146753366 2077482163531748378916347237483307927186462159182871203567011565929411115540 1478680280914565202349483066554715758331899903550021947612246787230492070836 3614048570510935164320127435635219140978435201440111288736570339410242317490 4 1118553890591560418374579037472656712022449604384602106944817354860577530310 1110503570344425973204023457227410002632536097913065290434313767680988493739 2891842018821793510145776375619214281459147002841669839048606726986466283716 3157485039281944117802282516968171794109115264214110792866561639156389060137 128 3255274452214225863700718958958000886788632808273647870185295011598996021048 1733878373577608522299701239921101468630732859943896922890525264191060717063 2884744349331006895143689968521926029479029699321993632338323825062764827510 297503847087934385972854473878833056785143599283055599586076656536927238302 2205149107088947521470627018263821433977075283983076302401465314808182667237 1028293719168797088498993077572615947050791016210231277425087207780754815 1330372438532221685806222431920473484372460064472093904446537337028693693348 2635279687403976627912785353772430733717655933043592702187983681393575583595 2531701853097289651294005926060041494305400517620281188519073737704059277178 272641403045948334326151847876087597223039570127923223322082250490889884915 2020978312897566216642546280651416561119490933337782250509832106896250620748 1721867112534323957097052429551195759571927955573227984231740410663919641776 493549744278490661538410974416672665792559260622231370368847615429489876497 3292748286579583991014737796840913147203059530690048773233722524870114104227 3311952212242067553713182051540486490635929241870095814409901001897448129588 3283444400397140546077318752997158465368111746839039369501845772611584600524 3550274077853071262819114927576553574451128173343604006751545769323131659824 1129944350846551965806021191350519841721301940571585762722927807661119025443 623585540393386687634066532027083752898758110698308813973650482385062562072 1934284009703138662229686887698457365544843708179480007555397998136750505338 1665781533144031396915361143442250898020205944747890351780822010259562926620 3558441665459591373859475678348328627650780832680200130978352351963090464705 2172051973540166264938321436012778272641750215312705980858358583912136266693 995942543663015782719639526084798813834905122055105108704227721324672328726 353143609714118349436242207417904520682949468658100488860650606228100798743 2533229246918509481220835483002062696341871415905940267932264926555245520931 2397022785328259951311294170369651391223057614167698141920637518378119518216 934209179854684430609851035973838714826980363837886602724887983854371537171 1359321073175021690052926215422345098196654556788752360825675024594765998179 2955624593454003363822447873900075433070651979838250911671251233535099528007 3587594526949527949732697440232479852011776331856060460874707681553181527957 1723743404693678612512270950823806339151587172386690528399857929611625303673 240806044812418239087778101317353643232368680118280494671499290478883793434 3186967738330492445443512025821648605680381501214856202958641913173883602214 742716486965144780230004099134978545132445715839010859543773675265621725247 3310661057803630955826593201748693504603685436312784235433951198802649438798 2792568808047276383250313464496289482399848332717342198215014223454480432339 569109267283888394910014715185364764501770656892680510498296390401572799469 1600686842695469816584045056221657241842877354343524472905770253986862675477 2003518389648659465361151250667925708574221714968566374385220223055632721709 1246575084436251573286271129485930103218853435850468340906797949140413921185 2670257793430052497418504777575612713283962798446114848520958858099942067764 1693585124456696443669897285396895989175155812739262781392097944113186701123 1865434170305587955424037577115830237800530266101629259945047743755035552845 899015699967307522583902555532487327115256977983311641963483054446691177066 653511100000006422511203064017749631321424475514536490055307549278389868946 2085960911756989202818990338381189253956597822380396157480239515614088575426 259642056863227473342690075231306266169825482849818704186234707254784334944 1644889143404369686813366052880165245684070462691314953985042397532444069696 2172662689242499516472164444195620852298891185610187693797786271339078836902 1729288895442309830674238179477851065036078010015009267557789082607129151849 2246725984364240061548073781622937682831601093592444596026678808277385249256 763842985810589147087806620825329966151708687850709856565829794147865265075 1411361079143414082094699870083003536296059259851701533654722258004095672684 3090391464919137506259510624906749945445780254296451878412064052552780630698 30678107675985568110086103919156362823817682110932754723122907308044049889 238925473253227684871011298927006304989507653273364182240360950723224406765 747355704197618498996097368956729424458189521138805646657008533563884269528 1956187356546773569250048632693762567273334727454718271772986292895919843451 1845325980216386511228362960246496052440838864440843243876859655384911762464 471012252548236562078153290559943818116998739264339258825395415220713435876 2732399806289230327481093459961175497066446083375118396921896070692944747975 997821411927694340965649868218186943543675961596978537281381445567496627368 1351756360358398654128991879240341713868711350573763786681533908304443048690 2235816129145727074038551288529655184032688963209466948322073205791536925730 3604000493585576740673522828985304503057885022373992758619462220715581073874 3055065213679689311321373934499731727305296164360346458991901354721477975675 1174864077645041393043186161507125811710236091572653618680531375528598718466 2023015952108479596411111046525727025244738837614126715022439179688416236933 989920364444724001299542559354302083057858230801015965034603624687548592672 2714516140926548038148660019105635798608695351998306678127241605771722746661 2013345925520599775598997853157909507670067302857261186159143610560049127470 902275275467613706137434734240701168361436997180780844936737006093042081100 3500951619953151942197382047382879897169741307466427252774504419728246423451 1917997221026418137155706720231729664383950226996282832061499055706607089556 675351515788875648817705982783519676202543094038233926024996000634821175218 2970466044511067479656763721202587790615106143042795158399687567399339680064 1591851939193256189705540777237340028689941271392722464468146230792469362629 954967312385507855900812388194115813856224128207013926304230478342848535775 2691604317778869474755519389362641851043666204452526210310997337420894265690 212620217135719025359130584905101405240498495660212220357484231512179740655 3012598714923156747742813011651638485650941108140104453394988380485898953815 2906920427694445092158161824833262181227921238771341188673390632717176675323 1790785226914153600100211090258170892548374027839225018424803553946770881124 3604432998522643475366395721514816351169899888086164832607458393142357101343 1315396971558767275004824467012225745504978444742275019446628407958490774293 608439381011663251677452184604162721462108009515424840764428457461603938651 266036569697784298684753534846427320025301463700665083480013351077182134510 1807187043958836833972464219441803715151809244836832403779953856565727530909 3432046236491669076244873159197595918928816123035871709544681559044388664794 1870503506866152094547556498125627853891685706539036677749814185633877178424 219763700975466518500665381128738450479628933270156118048038009938041552996 1641271229778146863467030629465068084425628559552051002280955289116115166760 356701633572745299356217316881805066837189643354577584792356874524091481965 862960513217800150255251197557081273182589362605185204030387600884130023942 1237064429119517461748808566934905130458222212917269054278420151920665102191 2521236242161419421830873864203035812926534200723930916380033835767486828319 3091849823566587019537452810096329639938782420496515078454845689205243235626 573758714502783644993218391280724985162381598183216910390388842976523955009 345720957110115820510859187531272941294575594701869119663130194812189409031 1848770854134534654312039253882326025092550203981589781731624786367410606876 722049514953765596506207672472188989078286479923537878174416413414430919695 3574979178091549917987954532820634323607931865520831913347685518020522258201 98678013505724655807393247342344939595276735366687656127620062440544831851 34996471948310130631134253432034033245430687364558611620950770881591792827 1747136773884885407324430313387095246621427567585597621199827440534901372248 3484565623516005083867986119618083551288340594238447063187745744086617466833 2187181009100997714897909055623261976590706345088969745726328906570504055744 542993545713648355518568464142840293390630810884242597500238112267746627419 2274110616567717967818936819308286400660920176637363232592741498017063251805 3515999978329015389982795397808810519895950441303263403407087406516431185735 1419672934663809999214974608155671836603965450879891620788558231866061974425 704466121499033001634945612146279834873119842150535999883909442740743028012 458727472852060688830302105757840722246028781512926864149995845369403405294 306601860105805652511507081514410388436295730977549868171708944815664024950 1889648916902687801598074464728427890949335688659201711743768364538850529531 2157160943993022317134475529544061372795713913565828597542875847378855400982 2184773549161588086406439647534119773103247570616587384384228168680161593424 2386164330497591440899072732169397245623364332347429521442784644084101314137 810712168618267273746975927365652360992245224083983906538446381111226443730 1108429292583193533628296115192255874411457479345113605530251884060070853478 765527295456879406378055696287966883622990269180647996423409063163936023376 2757800214679275862736425173246013039104182836609095728449213291262431741516 2091025574715090238689909564133088399620037953420265436572776960288957033353 978228417518758793484122431208825886170961999605487245788995874908394385279 1915445782840528371051447934458808145428373314841216127951047628874920685044 897923355600705652135604023660546867877216501635915227934114302570634404236 807280138868126687204941914390474049815274680791655315017739650355723812530 1414247253 126 126 1997135261059915565993139943537079077606181307630894642674167846223344146142 2172799378398870414122064531196958624346681392140286216809263588632082310601 1710413155570826105441927317279198808298960728039919954560386989544959307176 1335778455451774575413224908386866194314851066643660877120171999029387920546 2937739850538038241011345886180822527691212624629472668162288299119770584658 3234024598880322247250207226151130647425020931488402291107327251080564370000 2694554965776206882660220721839543998210897202871607951257542833026054265476 2110615158010495095423337079516013930947544671300693915259877410927447436507 1112195592388894897404287924801357991131240481316342979451013132688600549215 3479430010760523313876664818288235983135760994273694833431211809732837106694 3120262615813526458886557470328189307763572113782514070665941442097492765773 520642970967082461417475307814085796988180015633080769991210985585437419883 557229967669349273415668705681056837330825168710066198572195619271061830868 1308303013712539344651977299458523279962743141009157874315732161287213036737 2233783491339866476680991315133798571285214824008004785730629116646110642157 3188841940883645870836299948613008148728274954636243656317785074300508302985 988390986279375899257178490017798303699823814590410070473478338512448635974 54156074597948778336852194540017864542336825972272955730996315542070426208 1850496177318586949866094411225443561691331865068821921914468598807809602222 78141377109051984477876437297958817042820677980619462373969378799158571559 3386212202086698538449686119991966831421792923430678880169743562294930472811 1057721968201574224708147755645474815992644759934591282289832232712289827994 1924349667048502210644926424556389203368041026012945382054796811874223317375 3319667715124796958691961106100401591672642597501751860064181702592243662068 1981352672999903098983835215208654041718430599619842462526369092404501587155 1333629400996977774142353182998957780663101456116091895134384087763173566644 1061110756182336038897130801983961067681126739456502373384713627912153582908 3284071752157750842913082425306211025918856620684077672872037476398393714503 737741362754745108746814061681305494943245391739895852290237352948104985274 1189402329084056786202177526981674830548337452339112718875461636092036099656 230098264280928372505141897971895966938787633526077179729180008201019048053 3075386709589813661628671770617849659018038871560996673478515540890200031054 1392737745958084160347951451538631672229665524035768079512680282786875689256 2521650591241102706907696835972327427437332785669059314351874208727174114891 394420325925469293662028249758342676139088131477978971463111284879750658056 380153015337854021366406943283849910881689714651218920378733922622358858329 2690647197206035052327087956135996785907337794729412481999043705700005152250 1367012772857850164027874435217380917340006122514769225269818483634116255303 540820744271199033352047206500349735233632034805211076398791963222103737166 2730311944848927386764566030196296401208133045187311939593378671143289799320 2971860681089600103030273846413676220646713199171341789986470124563810622392 2546091913559719038542433309295702758874649433244116275005882988993948770840 3346646387686448068777816774468721749675102767115285989381170610271453246910 1774559534227072125526905878553495418668375033605877085471027467453456182896 469537182901345822567187760501638753091617434348876555765048692203344203931 2200636968246857882013514251567313821304560006190379317030264733193814105242 2853539720151607302193204569599964032735875801096583284090390355634877378500 2631966638589350460097673584236998140628902638233370548974150734510037288732 2035404706297612474027425534364525504781661764611432177713368880274383043379 1226260253010347582464335088828422655911130791261502149707695041675671880355 1243411294731748224329767182303233407529284281337692929952331291429297990296 1736409736179249327258202302309032378637744911112930798829815380209598493677 2742782075446748553521355197147819553966107547011625634268727876610589810518 1987372518259221324544221816227705557003081053036896852580792095527156760184 603468826549456221875232698713222148718564872990341419107593437045535281870 887561904733222215648943900344174872461204228933327640374273191169482094353 2366424459017794185023700266925887949430312133522778623419194068963910907668 568407062378829946593129555201347344527984256983334886313399034644664580188 3200108487605641918963567739654632190672247394486401328532499302967237342797 3446867742645643414656397554629927930547210036500870692837613088416602614609 821247373239997686064488330764285347577530117189330592596503410921926569268 761954186328901769598154335965883140734363098721121710650598497368964681054 172165818543291203727962595912611507955422732223502071863844646699181501132 340160672628458194040248508900336971232539491150468994732473816830983036029 2454567854859449184014318822214717380310532995447284770556108905763956916492 2816629987965108251453369200016243561502566620666049116693564524838337289849 101207586303199279624791229989636007138279412598406646846336668003926228454 3614769781861914619342964777388363057686607419390845306667462840671967604591 2888585842163261684751059685805672256052312980370942162315861849085885696933 717549050408683087641935156503715094439466050160075789073188370228416406426 2032241302254157917511871877352176950242233549355174161784811201479292811895 3500424731960684892741488103202522971490143032311044038097760370674683986456 627424120597839269563112299257990946798503301231947047976160369546028327816 1642489870881262506251532947463691179565778501162629130165162062230837238897 1642113328812019977804572247763946606341362778224064837113197077880963121712 984601908492813488370715578389855684375749209055057877123860446825067864081 172020888214797521951770992847947585021772865139269204912181952142409555289 138384023010934346769201240976063106341411959952927248804928101094252923160 8608758297633078015512780313821608765091751104484778028830195544736559934 1251029127013426540875531444947893833380190175860565015092379941827819956498 1180451697782171472041953253323397173347739107814124821938877370072681060316 3511327375811136444133340825560508576996650639188231174420594325832901477352 2508763901745966590323339888927069480682474026485795821032852263514479268485 1815284862159066804681317648312595161576116509636466412998924247037820467665 1631826811432959308602581265703305034735654442130493299337121260075150824039 1344338004567205494966591589431984150705088970611622148316763898077495099649 3050266891296051438656474099362957659679660893131365092658185540988698594199 1699021297916816373948224700004815616090296225820541870968795255874571042639 784185365113209434207461801702241934938337043064258204490252550740096902473 90665138783327385099970978385898400675069054236697280997563983082125195738 1146863516379868066057996620783235665360755259722127753636739966275189855045 2601390372568271316392036200813074246436582101644179101486824374475329705726 2063501318365814636421076278434358177304801701346772689809487921081975053682 1898443508364456178529205004805756669122050846316551765616326687227505012509 627545938855716079857277290682011891776852646532773430258742882982097756114 3177789478139045261951230192157219536153976551260692739453366410577807805026 3363923423782491130092762630938211091767948821413341925709015087688445111695 183348659116215281161789524643707814092796760819464703426840969110813820371 2165429552236580777450644877185601316039962401012307091658516300212598065005 2362632514487962427871497925420711940760689853632408841323261310442903885727 958051556434523605113434784018193306068427682953802650155917321361448074332 2922976214352843772328641020557929351091634018869432839982436922165712123009 1889384029031706869161696173454293515654752319935639711724127744706708605156 3265370846314241786995476172999119180545763645494593226728003601548137265234 1781982157985724145510767580248874435199924775494858089006817313179291672543 1810906902154655568875220938096780353058286037339622349876645480780100930142 1435412902704198250625288151761881453950346555819566154719772712797709154908 2163044451649471426900860341265511765654746464830634971360638815175642733970 3230318887180233745099615068176858836688524243730893638253907641536810144480 2149266375571601099502613561701760688498064307386233367337677312350835765810 3341470696372653603830611102994954466385874909361361661571904457688984479827 488378942306025824892058406678633006605226687282405654722260869114582997613 3138902427417637473770810558374371707651428736234273343466933164076407414611 2671864060560651007042416264075877126748066614664045617731374581118345381903 1686453763814969550708090019980929829166213075995607255117354003471726607058 2836934289473833059883508968801125672456433551694521141250244590164823988727 201826954481265109765562546518239317347558833463338873573067381848878776928 1082982719707470827404344658545115899904648992873556632835913683022971743036 729379764362435667199258027979636764612345114591377585604084835029387065577 3473660780903100681095084235710928851489440664361574538386762833378934454936 1306224606680230986420507147866198839376010765048984255086712838209406465203 2585646317351477711745342603138675820417754574434722900805095518631901008885 1325660663286519648135625847419413665899000147765672859808113464444318680815 2914582273208573149552770846399292838474308823326200855381554203153138787748 2218593643461898277752574871227854585645609100193884541742945230651912528531 1781847884712738791031647618617872416493152033875907706472782377437227472742 54 54 422907040455398954466689093931652111147414399696509693843243263826700933557 475702916738190476381539563072578348035426618248161856105379236563418241699 2741925324742877908042634450065848336092177041514347918204737901916740310135 907873198846501656981663267117359305164136253711129434494806287972797614932 2000062593907420964362149067959222983761965197786688624187526450219335910423 1666433056334289620263563353198912908795936914893126112084725598232281927642 2414922178091894511437853177374257781788176902760405989573497733641886771833 1469061588969019726179381863596909727164147353697527113513616559305393241156 2198071105748326386423191607767202449651223539524078038506549120447736595096 1199411385774438066749061535362600228225096308479862721050941350737978508052 2899609310799189883756744351489454010470581494201164623846890386500358042119 213558704297921570711869378880089203317672074903736105868070324660982786396 594875257683427976944175688060035593405537029420801336710462231041673275079 3568561201601042549891052653301430650906773036404871293825334573148675052002 1464201834562988811627686957332834806942934073420679251663917346036458897459 1334251925069063936093068366663613665476896820861121198013731547349113372768 1302650791257580926112892321643721348012900425873474501177871274879219911416 2662746772454102537015332938936033081384771829583544194892334241951997696385 2428662746250103861564383166492514844382385055363312170393614255522850721528 2013614047315382067136892703306560588416406476355250598383248258686912415471 2440195952028032838658046161250470993389874512265924352171899547635045726767 948440520885130387424791590571767479209660424376036301575336909527853111516 1692498553514502601584910046088627767738156652041975372310955302720664831859 216443358798519653796131309692735746860637678347623924324753583876499560856 1639090291320260406540529205726542401378327617523492207850927063411961821149 2430248441733024969305188025532417612545734595726061339233428314633327561021 2721500081336580115140645600348909716140212154149500072409406039865787638819 1847150983741769954500479061165939163404178369589858396255720931828768303133 1367452694456232266802200328707193056062391860333384379384370543314902203756 3362754240370485773584225069441588670801733741096429362612373857687082631604 1680967296656472239701769666870172270220702336470844604463107216739786434946 2737399759207153357868730002463140951286774077544017497872536245422625940164 3277763121892935492188679972857942682809914017132445424596927318841153968819 2927054378625830073225093125690147826544556633150132835139982533920496257536 1394484726560486335393665937157940555829841189098740785657991221399093807518 1101535759640190681056367217478137814190661261641006402539258334029083776193 924950870509441687175615182028826569522614899311629694633655050237329822571 626826950503957343830708479805274154633598287839236017706313832404875087718 2815038509850973460259426951212550858145092790077229524087896579491976315516 1081858957432319459210553477585821759113633656622274196237733570558382409652 232699679930730270546327236633078166349141237323748539024098346265500714211 491326224965849037859220353151142055023871333540847421724846769531783917919 1113486099514859803768479458590666266339327905702174700113423674385032064977 1406993948803600245164387953292338116909376887411760629941127471733678157154 2883521569666549000321701154842870518767603837924109279275375511075174304679 2256546257547143638467664852031424453330351755857705459936613871111079780134 3565990660776404331775627462011802875158939891046502364180403299210888787897 1199957089841448960237664869123941629406223410002689801757576534177030441532 2090352772535417247885102677286268773574593580960888770836299272833970733905 3324670473978284514449500589707773478922186732062972995544055250773488100893 863865641813975403307500535505826535473475746699047832946257968019454214339 3563200976588285829593750873818300241930987723498140108035943243004676281260 366605099513364752444370111602785640330293249860896522315024402356439494809 1932216869261263837715528774947481840336807679185135025893567584493490896959 300 300 341833716718381284127259917367180562674549629764 8289027008898431601395545613338242644168134097 1144970049544478586772824535253935701557183579879 32160602275055583104778865686083266488349573302 184983957789006515461524373167813944775124521114 1329801301422736318831217408931076603069641169937 303852060676972564807508498866944058909207532122 929105537305075211058759288352316939226824189815 1415147560649397390011823058524385081779184918847 1155340274203857244865532187757274620492561039609 313843466319173767384114562648862223166882897345 1314619358749752585395636731322276279684482184406 80295644783768073480748503588145649753700772110 1146549072643876502555851221213996904275024246265 644437535353732354743280372956043825753948079185 1125444881774538921257668539387544531499853939281 736062058541554431723755141415657611331264561614 231244227473007195135999526778255723546806163893 1601172136172745415812381229285275680436000152320824104305712524001999861355 202077516006328433144719520414286951193890338374563259574979370582825494582 1518541937728719982824024122984035546701528917157042569103044168273195777103 3342686003998970541044202858074558513720053505270537735547403663814770952237 596011898789262989858821179274210329345733312431882950089888640935582590704 3400407103713273953097580511468447773035824711979022716945900537840632853598 858297732631729778513690933411421380576530628242300362957471840085259626986 1476863568502593438953805434956894517286710194595206573748803291267198196773 773780088582170144504236836016050949814490608309384476454901158881250537424 1370178538202900961398214881528586122227395554921050433245536876342913340197 1235995145426825077471980755457817245315051396475848564820118759436447519464 704795271720981420967069585762986684854144861296991599475479962266617226849 2706025657551114354136904893756926691476106792611772955456115222284107090697 370693858669970632451804755401582470797142912773107681500148156782499706919 2663845215666591455056235223990477205367257628473555405954221146132158108864 244800622871426335357543967211644001023458065956696221898720850125955737018 2811173419218027650920592120415616907617300923156651064144586768531982812158 236826251147184490372404449017830885020455597427965909026037460182992919386 2219406607462902563616892572196774756913690571229252356794842758280033667862 193318202529683343049269477761240158573346493886650720987318239601245532553 484503582441881191836162191146883923513537915224735438622463914734637500525 2412304184752751112283074334410747946281901107285916925597697139403860442482 1222688449564235272743082763482615151021001556443728943199800748833368871482 3273798223380505321825816480346495692251691153313153521577479463550162108553 1286333287793205372904580846067092875310473185472802001659725039396023538923 353486987656873512910352576934377559368441577952858085472059456269545783380 2117895311794707521068541667191802997537016712867170408661552542533104680738 2681077710219860575965208037960725635030505656427904767720161789660331733850 530244782843856251404702455440652030361454654132170358488284929716783682064 1620582019796587019756178683185947350970142589133631068886537732599761621182 604935108468734957365840848593592120226378944555708319311459861531506584581 1644697739391705344245910823144732167852942388389666015823228463747563693086 3415575683520251191014787212932335134803268803887120282483127035709772353892 1436007057904849632876326420747173848535602126737134279470970347274826134856 2097023037726827746882813131257624308711516521495481714431703630086495570431 1735164440420256291438970600320824195812736309745279819319750543219018439954 2006629328278075636916994748366364107765107983578317314174165899169509567447 547746984632285291317485141417060886799644862104359661260522544266690555304 2312164630893393647576897305847574606128657171898843987426691028113604834267 1322263226445850902395130816583993661768855661432704468486681439600258515267 2647037541563093932406086323477773149822146856500473365959513454437328836898 2338510790577866846676007299564839818617384611696107019363583040785996279019 3482236328149841125315467995997454570009078920090299831255041074180252377222 3056694096422953377782566520522420264268170947459379536951849764531440907064 2685979162919134094880372242585797202362783826595774401723276336716081458933 1361323807962637691599996660305156457140758728909931763222254592233679028133 165233608208396407707645154702977653376325104206361955675564744406642274973 395430258819976934593622695422313880481946418510432830913201516592108309224 2135525106945261002836424264394485020633183933215210650385739314078877756865 3177737845872059863766135832366174628033798917071705641914489989448094101810 2347094440546558922106601701648744709099335609621868410746939180708525203822 1486740071785819901771636594566641195407098594761846891441300187264202470910 2041285928166660163577363327532557283419592764418708621850817143060665170518 2336923724528208258964428897390761877672865923034722500115392024579249107388 2333080427106513829743807491670682258282003843748069562830670594571114179326 3291592489597829297281397586595831351047745586921907280025544750537097143342 2138460766135122680753372704493603353641828244801634533574568134802103070430 1888242733441686718006412355369648374042858869836882869956212231232655414062 1491876256871207076618342527702136207502596637231821489480831086770180584992 1290737107469986638416048271365005480826135018143219883898608437862709707817 3248067582536120877368312288070899406208052451074071929422245878205713266049 2598165670822510456940824717081774807189097062747514045148732058838708483946 517675624312093435237778131415430329412002126695553257534158185624279188148 162662537433448889908980528564478603586466462117935846816014336786673807611 465305254207123071421268974583437667616681595486907848013324335900730686707 3163839651525235724767360788748211606304373593521444594037317158057990325392 2113470652297327130518862077151767553077179178015401758234123716948653941688 2580879293184440791442562599893482449232352870143139327944944939365649695912 1836195997935803323669372064207197344476082989918872044940882797872772057626 1846405088326512243886069818387225058807601388414910000959863769600827323161 1555781193533992773094433133833382891549581304037894839774534560647626982477 1082536956461632913630742061120492627674123896633724702099056487831589407193 1214218235481220198551629492342354302706758590760351918821272185187141408219 1890808278093644824464296815574703609519145063420667208670338196743229888123 1608347706598078342595189194666341380842981394445703583372998418656438082590 3590411092575372888787518231343954769435001264445380042230264715734346427559 583798319769199036043359402800136830690909306138739164211154558426543277838 2956530303447087977007041298944032101771459653257900599124732123301403707028 2724955307274772014243520414191250965326621054241730211925164853387842030804 582346811460258060731481347106530129023263194753694156667501496065305347397 1929555832664579622004390721116261782236924069899309787319751112787394015877 2371241622980451234514542777912646742116870418280712876797459904106151550952 144801042096369588274099164407430922620249195749362631949258076587515388748 3241624745407519641100531868357894431468663522913145839681918156449640420225 2802571222903036010271968781188816290466101701606187667924531356557098245624 1798205962894004692721028683687298369325680112010871477073952381036413410246 1491906828195242282648219812298467061500116644506856697494725408123402840521 1974265724369176335624261329443301106163434657368191598699834991595475339359 1520561866510084819461271351366950901102953216796510648069047658385986391521 902026037765317074843662481818486445640698818757307408164282598383264578167 2039258105780014255266960870889076475793410297441920507340910724816008012366 3212159919104086663371040994307192231453361594968739199957192029125180593310 668479066344422037832279935912503361148472567949845537627722746317931916952 654825486074542136430881846502854490978346304352666237482253968770732247271 797855021399256805308053621094786422023241429849067421394623540569621006447 1858564964052592223244104984373824012176515853232451879048842297464072738916 3162533880043135038610002255525437328644852973195715999283083431358410609170 981290912650601703685278248365361593208700950734691459930733382603528801501 2076469126235304509338677831236031863699109816952667507930956124997596491599 60579790776162434247499541054650741445517295358793861140475252185703019706 1840698394522379122494193117413143129160469249845384254538460317736471562804 103152222963098782423709912645982168014155728409275530743913283227751849576 1680936174730270982249437164934946188207871651998718886853370298090102627754 1646780731402547546473720447730821944785939713653833660449792336211406291581 1413988795259411633718574808978161111262315290582495435525309220145845171 29770851792455631581556549600175757619510024850200974716203446097417202105 3316303969344125797669646429559921563222617587314029013441332008280914771213 282743426699928622668271204467510583191112329891742404957069560224200908082 2975617768937432758940340577185234488880791736651268904313557510316589472310 1455764171295772129208022594839280349007026167723749940676569349809399263223 2352004447468818869018547647685106654924244056354826503028517272464144587501 3018511165293778588552186562774741015469338500700147443853231399245485364764 3152713926832381486829971709264598593201557199826060005544116502428557993291 1526567359913336480864982493787517627743131224295851665991741100476386097298 1699032977299182404193234783750295870240995757218987701234374354959223183384 1589873194670208972427358344039969144292925500873495615808212057979794293267 3459979913583313254386706332210410947521451226220871895634142261187870793637 2682225443019492825584463775547945194542785682518968366747353593613002731306 588413882485727164915620848081851018829932105381745626152018675927746204033 2182672782021399658591764977559853567236688249614594558037276783206822183920 3194403163376013087348185025110511046814380596433795512206353258678558287838 2419948458800009225804934171364181442243367888940758069450580505557271107658 3060699564495520032968953839935612968521933763051265291248578798606198898189 843876220388504855022557921984869125820104506476094665143574121881068408328 1403771895949061054261216655314815704304345989980376588827947533880808035890 1595406685498456056023151265041954331578548996250156779062543930664538095779 1375783444698723838923957969906993167119587990406132739944300264677042778823 2965776741625320502361226465495146741382306244605638868937864028682054737883 2322898434160948551594519210421596879276261064992773566209800038199802096823 3174429949739876272675735727009021414488188904095549571584431157380457866990 3099243744439389111569751194679106115357133239072681011144020572647061189126 3087164786197494113723929173093899540376341481219964306124664426700170551925 941592622659839409775844290531085292433513700440381459208690033426853567403 287261081842539757166770093892069324153169851046119835252770559588955390141 1402076937730693348628293258286025146687714780515160902657396881190421303745 3447834114800376771130915656532024418457733102652439798839796727624225564796 2956941278484071751544465446516410164672612034553129708041517092264811853227 2941335894806416284013608280314665376688628211931105643576788776392010764580 313935214784675273176603619453903089337264272823317591284480818839896665836 1704265264796753485556012453464440707066351922510255138188936256967461426472 516208106809088060767989843774178495384846170004588149647182656299881174942 3420033807453717635746981608446858807218592816989042317396056893591445837276 2817051664360960690378475430814508751237550234236239995385374025558501046455 2867070121432983265916209932545383131177720964291965870591013278865576185757 3268435590275448224801046577550164538191382651032196282023586353551006174311 1775868342751070533379285152220245702754997212214721467151603940213760708054 1921270029630777133393597030252773346004567061856104864900866852196097239850 957735339894446574765249666891930556166569616538001411246679158878496617476 1026363640239924831169266658195133464308022795326547909134530786434432700603 1044238784687664049817775764808937938228464047470045563179031198242495769107 232218584516245924658785002150344829143651014351812122270500691039828707125 1678245046442077866795057065087446836204397244830198409740744413956793307366 803979035321644767101766197230485145792654130609736993305496912948922503283 1161062311405309775905452607332510798099811566792475575667718486397237210356 3338376735646283049227516492641354770006687963068105733127444459326009199136 2604542055922745320493171457766358127087964245511917389487809710169915486321 689260420227779143216418015445787879020308265422806617203037494192088766606 1943404711895775585596728990741899348668571247083285510237217313723205052566 845641279806361551179457588615638161395150429210075638154520778628014061521 2365495662685552348475771865203083612158672642826816027056081103603990463232 1596870941256703882293717084762834185115565447867407994216293833082735432902 3299676841463991648364465012904793908481746290081191095631421989961969673414 2529226446761833775142131501638272568065184759906431753708640706169242844140 659291898690181063166880717616723780682523694792160185388166160782628610674 1062946306379015825746643496622921342256170637605888799675369905640560953605 421131082511456465407404613196599955682587096576243411512445237300394240028 790633261502710586006924829531808241779247863736946201060122747068066718982 1628770409085015056356946329547487959473909955064292710751327247951527826915 1770330464536341486101252463745627819377057749555488566008902963779240779589 617751977197168791378062991584928923044852758775549749210762070391857356373 3395997604342240972672238760727408445355265493761445991907715106133445974579 1609620346970977100537577035348668307887645995854090536372815077145416846050 3360356012989220895337197676069832140040189116477070621967377991412617437619 1098044103434894068035697202802329585096052451014576969047701767174328044222 1247011501944396569759381172062181561997078334340784459653949529657046103696 3319951362736096507940568876785295330488502939335831184614196503005136814275 1555260602661402600175749233242439167705082353280061848406365585605904871761 2740114933117764811571633551507717895401899365341121414670546986056646903156 4401538750325764401711962555962865680271499587569467339186459429572838869 3241113752229046748907189437101666987014458276842883434699743095137211751653 550312551907190277002042827303634722777276058070173854085790222372287738076 2749101726079427967817069239045575986646901141559387868991998376314394239592 816922996803116745264151465992860056660425579211710494622122553461595800548 1225547922254487950942028391832165564401604160166386627722398089077515186874 610708291067570682574599795030774400810018245196582578796214745801343533394 509872585603458762075970925395588850231673077142850015854691648611408097719 3341735740201914889437905816695542313999548533106888139036681199504236860704 563252757004439966423766972216655746418114024598794317354529293807875717934 2985506490503578092942543570156091890005866122194703611421114426600840213603 1566747415352026560100686234120888157782337841438952897628113995640028123150 3345977361309151582087766271575141320359662596516975611227610615156485611795 518976753146240327366068127222164413376780446431375047247083552979475599090 2608831164060267068702069924147525168057094307532856672731403245517580989625 2266384749599928768701478146908237956413019755537335041631281780940098283340 431003623788853350886886279195308121708975563698795603459845588605262551688 669499176316145712116161642854827141199444770702836621150837479255357107430 2621824284593635971825077202225981095764552062786334008975020346997787485636 1577219242580607876941351140790923000010122151436867661605946554859650330398 1808025883015643516636785931837357794885358873790170581503913430183727619015 200420280199386503460576373295552097511706651744699746924344748040003583993 2689661831596600331620312350770336197746493734645042045842084918121809701039 1641215011641203871053115131931028499616719400040941282062884925289942234224 2857550793756808765180847468150335080559127120215523978997373907161068802393 120227702981010266595270112407949549398199456840252584156230722526115819586 2860105264239554351430046970695298754562634054067409650102331739048748983878 1702577290662958739796664123610967520761511467278642189261452443197420076279 2881007398669999488277303212348123980212164972932084218573615020161213967124 59017131304824960091337197743055426503930342260849036775568202182660247516 739031809219799802606976294683736115188120997442803436954969400783522265217 519788222660522770531942645401782375296830893464848569995104244855095643179 73944360014300087593828038415169998115419549416537583341584100510098493053 3176589534336388590246162781199587678732429962977312283336527043551162048116 2204097702410705890397947307360833510603182404437163113338616911678333375205 929961237791108011408701130522091378734156613341735570230062032903083253773 1849742912740207018185794530503441647448825247089660352970000282101568164744 1741323601097465994155165058523023751660797704246539166123613640888055399507 1817949662055179665310524983241064260184974284781081674825123643212494329326 2223321840361912626033666454772106265628651946417942002544744588484442379013 227835930658114576430679097981639017795180175681676143115115950217673193384 2182759247196895694836997684561014086347480352831670225484336487670271616837 2976440219750562939392128792406106401696706428259342811487791583334023170993 90784616050076982484172906187865811969775457585618895873043598020220479255 3607000028089418348233471480457620894626164225157964711035283901174013728183 2770479587468142226230600491685191541175210435514326420737398325944810866460 961004260041714590886118363288067613409067847259973839051691528662938525716 3137672452009811573841762095502656299538365698815676429057466034461947497913 2450721367314188094348585787707463561125911138828584933797404755834951334754 1869084176922954545942197338137676408982372356959448676553941242211525698355 675909740446992329298125743955549364407765766678318563242325505818188052415 1378545454106265983542992912543273069824497279886164121266206179674754923199 3415650454035321586469827980658473256328981922129267917412646451069323757419 1314180152821674696520348291326640674913910624312126267963038343554622236109 2208811035874613759582049652721466189245231670600958719959154481004353081263 2302640446531381100368805119329536292392672775465126714699846940173073508419 2156227991803362045813983034809483328482415128394939493924601511014817832997 985343242369802699023981057103866282703297003186545963759726991814410997862 2993732096170198734960401506260567513567857362166871173202624555123067829090 506699168718216939189470002253727199219400316179920477007522990274896559750 932881666080974557449609452862510875261331712525023503159505332363778941639 2563529959396556164135538653809679277820723337395699495485501263884263475960 246949688193793887011203153402734692164331976777834091737637436344215290557 447461297188077516234166257934785813669794287980531051275328703512476749002 753827942879042158941510366100384249680102907315809738698805579669156025871 3253840152610306581085233109335188301128937937900798736831634520583910577129 115798476020515581207828096750691650335928021348453934546662665322797020155 2473615873417433325178213096481948923137604595594912413915457606307930126187 1205336891997674093228354013287112143863643833914519825730900749604411769827 181393231097422941331063362881169889881411623301668248677966452032164706078 1886660853196879533089666072226002400689815322164012115587589928567963368802 1084250250634552084855045870600564280934798912333409354784365018505057867664 1884925707806847685168736840849027071659046355140709164591029087983222031200 1354744374283498365372957749530620718625980458208554044521497014604260088302 1688811300869615185016724892054415064749819467146143184950399492576407176145 1541862517334470809296117249347283520946244983982359708936246689809052509629 3554368749998533776307649553972294580727913885761552068562838198226961086330 2058220267551805036584604789506914497135187419507366124494634579323335878597 3613660011331090912272271032812730389385087290683097793671979448441840888297 2158033398358397440431987858005721811371824073031508271969696328042806784420 572529470952089457856212002633668543320431893395764179049650079020327727361 2855783153270546773265556647928486012287974874416814233930063138578880376935 1753940995619448214931684247951754809791680733136057667060226407420097943123 3314783771858272898683142283968554554200699328286508658017515316483955176229 2331218124393884015701137716386079427379568598873036449241001321655621683860 1947788608583587098706255295156802853064887941945810206653170795659622553974 948253644300815490654192149935712371679278494818958592579348736373578901153 32064066880932439469086209502859910204592787704734709750922036916289058635 659585550159474567914111667676102338451922531277420288952224463251233223372 2323644394379730242982384791573721190414680697167569769459126886713286698 2454886306961422578312757061614103604278754607182245808966646181714847103080 231732151194537285429669808944151544879111240452614708997974354032715755715 2687992599618966860380496118952671215837847977636991034735662823735306228754 2100420709228184155822276885374353314184394521763350498998348545484262354421 2401652294421910178504262813793313767535618633386023131971989821934108532404 1996340298988210523532458898681998649606773551230509056102172007413300117398 2729291168979299467102632082867695850861973465765417917552842140010117935850 3238196819806582811510243590282549101930210370229984231223810991533510829746 2496630701218274113542236584511984723575125822902843087274529769223191268505 2524851368702899847729624924916628280873192408751009834538846782933720435517 928073045725899908052447947665768665177488240593014573809908033434057268381 3485292456520716552412874022724656065853250028247516100354145599758709092148 404264168399791121677296948001187660968636046893320227848209135931091709385 2053082834567146024445864873617671985472270472228344128975482099576060319192 300 300 1217916222112202303377058950609635416213142236415 278485580914512628337970054376666896581835089841 580149414340021115303487342902896755852666221450 634633076792733991129001313651762285397515256591 377514285204168282425154217615608122699525680380 938301820180063770159459741431341952191136802068 304528837374104896220901592345279448578540689815 412348622750034685476273692158778434724505268897 479484994193710780004838338996032675261312629895 755066167426357095957690253655140143705960192985 1442574766549679543890931310064134346142709742570 707432237738005123534999618441118929884023574005 401145816378835264753443326537693010086274624276 1417203120375131160285884043246379785528285999485 1187529693883432823873925951487618670804311623082 294625178873319311668455448200003954977274359483 882931459450140716465656015321153590951509430812 302915687595611347229122840859172390388268522459 1150928531774352472800017502174425758054670850288766632467831415632372942758 537985331702584860167114859926249911895008917791730987099496494391708517228 35827793648694347571295527373788840287640953656584089367215210983297951900 3370655404277993531877264029129426111881334666162933957643305306290039139111 728654371426401298103644072074801847365232018630943289784745284799537133450 1107691844647633466623902592673871223377742186090887116210312675532691335160 726709427342653357648968094075487244594265468498180065216681647334540437243 1994948191561472634389522188214717943450182231994876426139367265555133298756 114797355759983900653012695635200427556658185977649853274507415322001201055 1488982147046427505092511681292787044869452267988655967987035789065336090515 409225507405393192714831445857277501267901431101730365247746159209543259508 1707380574008012145735355687662761644351231523294843231106394427966933388901 2676765318766862012238594625352477798016041166793082324309773061446116692926 2476885512460816544370562327807546632703417551421959070303856290267217768726 2782623554095418145111333141315492799855227005114660954761974237739833045340 2476268526294613444096163024557960213871304748135098881460603289953641225829 2810449244095703488154426757748927527475058738625839838754849526545257446318 262555811330672140072405977461327738182171072104714867484958086319627373416 1525052845195262206181212925481610614228819930026727971175292474287477347599 2681369491229464105000638340641780665154193868437105625546139144644263128806 2419929938632216246581538299104728919356923305540097698844160731316309014643 3595690739464432459446050724599738455571787522820892115847585663487523108511 2361642485825366232355646327628403544369833021192385769264889294618801358415 526897233719491949732959516906326649414976092430514521752953711405061014113 2851317941372537639508040371874578578891942707843099042868515800082114252591 1741461545649025220647971450482861289358023652224201284244089977418456300027 2880057738289890884173375445828758883133702466894754633472503095650578892290 3342505951895861185816526402180977710568351552732390681847117607495705881571 1940664378666803655947853166157322037679383704126541336507030232663705472988 2403810861000761173638057111746018529943528805465079182613224219064390235547 1940356691590869419396625018708221322923667098722181839110686251050835712241 862238305314009015451557915126776846522032042124857290954711969113673322943 2663354065851098033066859990648236679953450581802064706753898578994315549828 2578902351333964430255692934632396128614322550428060960879518953145705163398 1915152955593876898703245814659082560478668914710735689665323757580791157442 2471992486634925748313379903276884265918627680265736538611440716752896837176 1660562524690162864846025361243403331083569453745927837123176474683086029787 1065182452282778230123187020121634034084639488396854915999807182424977844446 47740068059461532561935455484921820180309906006847398855868748436496159454 3543778578513185223927819315114097907668873196666263297657946956411209596381 72627645880266846205976226107995487889313863055908888424128644040291300696 2444235513209752091231957691299384826152865325355434360725328666449806568663 1557590104689795359405868497208355334318989773720727613002287565829375166439 1454229287385169897043960737324236389429896356174480136535804399655639382625 1278572854939039968167776020235447264995876124665014144596521840180727826253 3106767061739114996631116003721472152612697589123825846292343406138756627971 1753080928638650495115539630423710387273465210306799482174261844024090468652 2156510444501326914443192199957766147217818195504751268411559132828945690105 240271691159222879849727187837287674999041500653893919083202370833767396723 308469596290412889035715148035294476604788930816116700477611044358250887354 891180413681450588703646384086265400425681348158370016880225121284585114606 2837682709026293488645071081475596702089320099494298924015716091890463506139 1459870005660985415176508209401378145560937110406320202300113247218089373117 655065150830849401836546431474094947213468003853165876603032747754648796398 1299869848139942217733313341927780836773620871961612038174151307493492076387 883486684927437945347428027510161147672794499479291305407061380336676518913 106607429033279374777282001810590163648021832954224998899858039726659023550 3426658371881385887112033406846724261773645539730035768810546874402492640362 2972795290315629889700602464124415192337284978385331438792510798444305067065 2181109036910190283987497530929463668158434587044358866285438693184912454878 2355995511818367470134696938987249406221648399599167091252853479507478529678 1044646868828835536187382923758948540654706494658796673526631279331103105126 443980024376966846059456058888258203399187358234719813871487505767313771060 1884975906454514627547606711747357829241887511187821122783667119793781051667 3106225995649183334111009861651869474087067039131078149814860996739484330262 3339657365468934358676594867782083889468007649277299149003331767888695441841 2553088670645879014028019733584634356593790391190598041764196341382741707578 2996416630995086489588319621946074369106196492960801662634430745467271660272 1033933557848311954729656026152499545481855860624095595216269312053853978183 2113113934040667306124604380589068209508955041494631759291725860051422324067 530149652933423676370223178363926909048519465738707155338301983129155123191 1294741705788515594756149536291237550041555443399172767026303754061676856187 711461686600826918470703243731918743781569377016220080336347867424301187394 3564419692816370442358222210561032672427324406561150321450820225578123501067 2100535638198332818813666995238046507760171574918170534505368060226164487536 3104942291758517405067497122154268390333415590089670522395012287325706154302 2955700763390032674755728240634829169162099699977819342762016915619231953169 450064451257293125656298063117336822049319565384821752417221546399991391326 2910615375559652805987228154060258792268275170154453967723799856517095029791 1581351122524630859849303413601231675711739986709165867364343429172139643822 3044817969004720947840723340603461500142942772428595999668598931981005708528 649073323842356310890427834780179642855564348078232394297492032757718791644 1623173405265141408932633034443725501509941560852515254094845327472167809718 584325110426652741211324532326272313205186259078553113618232534030702703699 1360792447782285832364686783549030098520525747081825074873126818920034512460 2713394329110759973335017933416734938857192231858831517525649243077111929788 2773112139439945756546565968148331945795372247329401000214831042249143563352 1138687029048866085742407094795109482384486745350431359974801467533687434376 294318498599515314994652088626899199813641841311461156505421269662367853924 1182133645780984664850128942961630140085399749216551035559923922748308936284 3082778050065639499912412007850452454206659893919260431392741633474234909940 1217875079595438909429637939218213409990421340895723150448813474249740316757 2372898853922650906093070600614520410811694534285841605171972844198117530206 2668054527227607377519942424365755169407596128331286937486523443546525888030 2255555525105126147156695586388191955891006312836893489545873443232423571789 2958809700553492688130518077503668585691975882210271530815463927518671310265 1821535618845813269154392857960805917025284805357625646663682025478085050532 1287300427431274695007707639012315681185618917916592809925048280538764179997 2262667562199211834735983543581483362550593120720364390951853613720917341613 120941583805510929340178288278339923333655905740898565725841721689933185865 362570409975699007734649752961806933777928398346577389183160445100175612372 1431235580867538065578406388065089484702972852913288094243459860391733824099 2068721537249633477425345561699269358687655432051358580433526002746653457707 3086045262593037018032828293024932186765998898149400556256746686384651481349 2153600075577524632168726978199594873466473020999554228753089191320194555520 2021497503483816247961203748608068476067564333962439554006835938759116851822 350007876812717346286158784529872047384215765406452467434398199488971312326 47743095428644959823222426183972672462655814874450155767244131647903430589 3408692186452726607278759818110173779197476325520360636141016653276112912342 1989313713885270447835445910938739145415887450869837864534786419019260447131 288978070440992718114446411862330495496235108122890833926630189739697339739 956638528723394527631452353106974289111366399382420983993603024522553728590 211582316156142847252806282104106833014087937342025032751531203420712652398 3526337204339532305515426684322480762523042348188586957584168787841528383689 705038831575385792246311769195617695020154032770158643781055971447210893130 3562031515005177044584616444750802127913517770591136827007726721046241474016 2406339894893236122947195894803375200102942633046608244309702826577698351026 1855722711854067563908149498813661908867588918338532212666728772790770576126 2601221992139051740335154784705076055646013099309065425140915804404179238672 3274549030388724984014221978645828837272807011118204443396828228742249198809 2099120947572365555861574902873333526854213048435370599578172175029573509175 2332963783834776577567900328493731891609619933674149368305660890543022141827 688555828275487923122059762709788316497103984373157074402952871667743801400 1438734068532150948886087178788613560594525928681445685184122936330248055025 335708916760195657805147957186320488069683155597308808268421501768723027555 2369937302037285721258014037144246857235361186534763757577127681462932362853 678232768421750512208399519255769287248430006028032409682642898748528603575 3424042856940845104262961757937539981368307091318544973827709058571285467477 41091031903827896058594239636159455122166294516979629511922067930902536186 3577023155093654623708658231696959273785937837175801050271130158359349626776 38038172882176751525358573549354038583465541150057588928652255836059024177 1396819213208007806589530102288042672779149548178910756099437333283602207178 1047776455109853087948148295571481534629327658580826110618764741197704735861 3318969983647455294440948209592817166740863432156570546162417367660197936776 2563647607588143732729048491039630217120779953750191799512447768435146613043 2949202277878932648293529155782228131767777206424417467182896319163313301281 992755512276058225271087888130703491415365454659783751966026930803108042151 1715774701547932635116660470662458095826006016088563379472983428055906391025 420321826385687557381661640402911978962624127279952661622277161944922566598 3472848751256308898763319845330556715415160434202712367137848943478353131852 1051398539086929320379466640185147053704757422623826586901152786681974294384 2262824251244580308669597477419857580534610355835845424113312004302063083994 2521252719944194049075996163985525774966048029661598001239092091807101517784 2618368001638295537092130860109844267469687394906056027028540492986185994 1353543895821087282674002356154601469443507863700786370181077262318697043098 1735385059252433609237944001986716004179885544224320781353002676578195826760 399126105195907567730753853396905385385487114186641743929123519269083089746 1591831555969646345547375487668563169826449658202366988730106465355151765131 257847940062697740914749697945166423624890739274811788620278608195868856270 1312665761394935992522034967182821126883547074941757740150921301564412086199 3559203406910376904198738352436647396046484106835321583845925949677085540438 527076159429580446854551157043093500620305257832663854170270041969857733257 317870337730500892379396683574988843267679834308937472855763663138402539384 1099437167317127520424555465002030581219328495840353379973649807055537036677 1565202185499681848008370262520346309752171881865524419176405975258665487358 1822144848751354884981760787547585413487701714655633748482176262295088647355 2698534281178075003971266451265494086173501286115407878512973433311726329845 3121092875309905628575622736101915838386578663221406448899070708505437524183 1973660017690354655705863043303419734305160524505090912116916978187356922874 431618455786736514679106133431769652740546205771088316195712644695735288103 1106431928459137385108167224925522225525794118702415402986385262596977444536 1520566922117300618728412813390245426264201065933518315662929768781315207466 1805690966237004422242096059297772522927005566134562025250624848764663277561 2467621872126403942327697327765659785878980831562772992924243981591665988419 249435956602238736370718153021243129242964236005982134624359328394473595163 2845228913514658149452839961216724121855354073689776272151115669010650172867 2103909245470151158427011865694616400242626165922520712458208576769281144039 2922087513479481774128204287024682345423979841488933128529874010072003899429 1721843586517741316786062574163047470504417327459504971749052627679365420137 3177521812597484066982110700238859293524500186185241301005092346561654879403 3305494422274593739537134784572156759618834227383514723687836334263635780726 1354983710457132749482136028126447558273799981893358530539230486121995050623 2079387921275919942745563168801554824910601918035956398776968853800528376548 3156775332389361353768836563708679691128360348762499280177318553036591054681 1366373959638824226364798426870734128563828232558012073750836968744170639851 1570406722064726183088019315601728287997851687005007047277017390053178375486 718487685611953319585418577254016436883465116921945976656531754559506108141 1639996023239255209374844003568100457742440256368298390581537820399486656163 1815326067020136316837102855567692416303452828714196813563731707028407278476 2697101695920328501208833096243978967131566015729930829199626150347081807934 1352304914563603250750315300390054653129258652260078256865138476961282574443 193557937340812482500733890752646137572045351376024664308306031958243561476 681174955600883206381690219992742620270093501287110158723963851841976510688 2420439635484325830117920864831541648904397063098653769420334813425504616621 631188691768675415810766578184614896360285080447367594680838933190876195683 2726299148231567603688445966942294029541762398971888169515465097864028760651 1455132393447276160620526407725861490431471400162419861145466628938800236833 1535464957010476744111875224382378926749642231885982013216433872025302262046 1329740548014465815778008990652523218741974540298248341503083319133610497066 3316389871997272954585676113279123200780087239670628794782914586307703573539 2484662637523382866578195125003638359239600095849724508992215442224344113675 2097299249615520353211844816581691596756306431936334938579998634129045658556 2112342617857739790819043266335403033887870857786970840577616750464436787733 648964051461169231597579699355913287620366391458078006379684096660335219266 3382339002898367112508271356286055472301382702706288487873485269993903682226 2888529096960534795726265379056910448075368118650092183531902939660220376096 167061469645034727554196047984944954745203793432270093030749933345352162980 2114996955244526484352471086127685150231981635225170961556619164424502148721 1888314434899101378837936628678253930643956194258945532827437109237138868782 2208499600021940522658439348954907219497624540009839044354576738206219814465 1104066848726938167545084735897744266878876819038885765307559454081519758506 1570528968368857074532147001906660162838441310555706315562241256507053879451 2893986548183749842438051505505393707507835537698740001531087318605152061960 512309700406476589764677365315343127883934386601960373598288899564782245224 1023405089575185629683449323320248556667115532440964357629643121678040147880 694861460355313274526121869766608202948389976556779986737728410734768568561 2803137505003765295647369056367379720693722456665987981568165465880286278841 3518503148976740561926615641515804234949958929649270966134331099246129546389 1241278588299556949037021528277615941791181525288052182692039212763272543026 1819313480501679073689004380924667473615927240836415897988302835830098211812 2963350887513904767106003387735090940068374159547992614064993471600167510698 1394649737956293060280572443114430869626680948632299428552842681465032120965 1480500066341179189179627844981778934495589805287016078338137620489639672436 2863959267249268314982071400117453437021118498121724577585058188152858750760 2522694219821038801852663073801760152481270991345662089490385159791192901088 3002493706259935116877153478807204211557883951554571033237789720937198797608 2505936231235604758062257318386215227028184360090795997944214642585760023550 814021113587097427039039918481727209546870252836245135450346619721672371000 1942164917521266454624211667099143587448327425319109051852185082626658529560 2121438285035873659301906025739986169593482974062706867308160076460629757196 1279774496687936941651185770331296364576390865102936704936296105192873307742 1918428732312856737507666200917081894935173731353120220464883752765126573035 2997413168995504206316808901341134369939442760551293775205016791348896874372 3167892580699270914416733366372679716229017874264672644491815974187332213255 1228018411263706289826147589420698473018864122238671126299328059751749989943 1985755822602171864666843697720730519666474807151955633027602930490443890623 613708595071378429347378393711844932954855774017902535551777927587303341079 3347130056288519591957075882180581981756757592215530262400169192988196137664 1968531132682964589155916993484029110638973837874818788225532247671740947149 3053893249514113125243714513232859508648629945163105876667697790042598513071 1754985976402759296092697430933448680531717677590296080951129266740049485427 2273583452980154593056967607020421848890816493002855649589593768207819698927 2920090462796034428109544841617776153293029016059319201057447253977366546457 2302825592293550620590006326824841091319749152975837553150549908987414688286 2627367870903723399355670325136165530646978231680759088407874213640205436348 624991303462553992633260670318275483394765134835525264660536043772926771678 2561248955185537594923750964034266855868732895150237530134566889751169252285 2376705253209684188117616973055818266722758385535353724231475861715362304445 1249839460668699716095531463116965422610825038485472487320309442963928446007 3143049659320188637479017658109199615947875430718790522351446551073019342460 549707638506719891413717274121961563025743205005156869260245391950521562760 3506177677750607058608026123916347749462830459597370812446979287433954586041 950930468522348388674258388191071073501377627986145408360719977338317514337 131689209061970134308364986594592688005417227255066587068367938720885747053 2609677311570530442319664774612053584347854808517849028677086473709695042312 76832135482498382019191137972457285910014235825856141041500229887042458476 1861747329323107550179776451944929229573465917069915194407124405741204479915 3322171467384000773167661766517475152306051635335816309286748342584141069190 2240601594846482579633998520921776734892074935696376560687933561122761561453 646674352840267882375207008762579665634309872445615930206813228284310837164 3275891162342939535336839260058694100163111806621933536634883865428956800142 749053144501696902445500076511057136172044463837467136992290555441707728811 215289090096885776904362970250839865303531503085193624073401304057079672234 1570391316616765508131008274056274202828509366096345251131820427388655284745 266986097557943471156281778871318431849384356970603846770205073537271720846 1808918218434821448785508406888775603414357142255611294494681727181439877479 2254569293408112462703077627911282545231947791832367299467967501145261549909 3027293990608189432363997918707207185294446918378967048841705223441828541670 1990842089376260706104302828003661040410174548726448426233876522826006051391 463203242802239152714227689506812787921537478868529715503430773688630792482 1277219970322113717353409565988542198672153432102562255888813709480734176041 1694241819565122049658493499363548839714125831701198581291158903016273757304 2634761814990317034917109124188723585068291932580851931622825631195717617201 1313764901121241725106197965513943019737167586739611403197297204608612144680 1699761377830229894073010089889578820883622211580930436027716839557336892284 1746598562764511079263164566235939120658927496894520154509018026192865115956 3284273123051876052880665939944341258921494137532779587280346490668533178738 1579596999784969011101595702026075823241407349133586814098742797935997865335 863955977092016913999994641622050284832804901042732516014042843142364010968 1567802653654019286221862518931289078902379597670065898299176650269743297145 3277142310635381882709654159245443798196517596215776094383564800301391278810 1870319937501840902397380974777562039595491852458470539020303188275613493946 2805176361791644846675529711744012493783027284326126652456418509768361069890 2448379958586124441218047958796077028834707941842431308014772829375144462962 1872973471162127275469593939742795945772542004564840117365352374201542900446 1922437324323235954870428604084713312371427147687319024329791430784462472833 824959213357327149915402322369976158013268781036936786292101059540872060880 3421550819875882986570636308706971687882824277305492678976844406418906168502 3035009553781637524867336298567212702933992264414196888666738556164089914213 2497993049190040812859281497465752272252093329180851474341918244575137609679 48664380863847779995754271539428220519618549455804002879438258874470020653 1544792687589632391360101023420200853295818497184567140975533912439302112200 36 36 2425143115335565909418172695557922742901394970738328747848824213732642036829 1661452191043714987610491494776491004785141530934168126042213454432017088180 2406663862122902857951774984008694657112166335860734359720849163150413409668 1993910630024979642872850106897197227996453277807151737345969790461768100941 3093803489140368064837213572282030706892870231399513378964741462575524680602 1992618663755082564650555303696451671539738426606701117485581902251403427663 1565172175767378810244118822956007797864371218867406535968840791428779412407 102965594401436930174450049987489117777710664463391599301290397898098002076 1593494670604694618801191777793036544997717367447640292996919486537704952599 243106109323420745100950551327177950517509121176308649474374517081705344037 19903821048561114609334107115251929188997052844323998561825608700252657787 2688166946718899422044870569635134668298291468103684149858455121431969321414 158903629807869879134632168343401009423205472818146440388063542792486104839 1827453985846853272580501496999084383511264820094131418629769513954264773011 2942079902233197672348879757889569613182409896100970058864626820607520355346 2901627485523086607015089662262768755666078960193925464217328688073196213464 2630602834766633496975984326062185231329949870878002273133174743485418663762 1764039943982311620013807135768163139122179854730309242523185802654134398252 85487320355806127189932588092221494572246607551022642427051131363029907081 2658890165651963043324489541210888394586256283243144691040561011947961251033 915594783194348690679810262538473276895639829149491738154185097142010424628 3149685030109348023642840896924106685974799023460028517988624974965849149734 2923753934296494229687645945617586419429129818619953513395267693543827133305 1316038867495010646770358560103652278846766737054165196066506940334301032183 237237310667160725818895994825321717242164976971203929310595813163795078418 1297016066628669998853202417638928844135373449437657009400109463188194792299 2975903512108925011634634979952977670987780255924916587226757208406494813921 2087166050914432973579991146871662040981689091524617807285545129736564176886 3405773585615005075637157933296530361073399016825534495840362808549524955500 326945427278696657168650376279230773798204377773925937842750019079738383872 532634950538332758906306471939151359802673659264750925089266255123537964599 1199616509328348921274383125316184663651895624945531860733209740375810541432 1099286495431159021562086502847044357378934110151789377576387616953985247395 1763451199479410627617909066461261818901426801982168664933887675460423006051 3485594436461154227389432007459933102966118711674586705665529203725734474363 1592776546049478637615605578086789554224528729679122041600756344663598792087 300 300 1321189852343340759451935876533586029795166594617 502937045317975429163683283870922012522658246029 1334242200732332831728158316505874902103921302 783286554567740259790846870388128263148750756212 972229184273368090857076015179486085386528430079 575770074734381323606957453862399620651998788591 587992994981619745612267001210563372438803201300 156436485246920361647426459192228625295003274903 923728310574665015379895304167430893958318688251 1410219044890681287866026971528814814211810704697 330314211312763966711352973434212569119622821465 1162933482982148787865950637968502964321859738344 886748220372821898827300206591917345153115192775 1021153324994577831761282936922399942296150716511 63548444149316007189017041791496929798569534661 283834770126862475530718903905331557439526656730 783139196144569169137644345378127397197697037456 900566070650139224197265677370655339483774634439 620785423594670324707440153012235204027528588979002013041517201966612900314 3492843552354198100868610681187818227335312064576823557430946221085046683897 23135951528530796554926219733172317334857250956344585482087890133061024537 2578633789164181587382090104287197631706776113929758943353922810883643350997 61717326849312527550585637953977991860783297563441374254431216032921327807 749286827955961899503446586839978366639678906805929357391195889199206912151 2421244546409910690697622299597549769038668012413694606969557206294973649771 2344890241902989014468211673297975087040485021356542250442243524506793044868 1062013898749085934755053436170705537198531511279920568734191942634689443598 1899132691838857054659311376067648707232114999511265691169864694236995502500 3437261730276970581834595052820185088183614302387180787805226891962577727202 3063631195727061628813829784103992985219359941309104789602466130404122649078 2541507347960570739845039966785952276457186806922677577689548764772251008390 2520136927123134888147881783825534025234826587115632317376880871410390909990 1473305485485509351423235517941413913753952560694480917947614336953057057694 102126755926816136424806732596411736007822348645382484052532959843428279508 1906793673494709813006181484338494594647471486443483596532245654482050704694 230476031709732197994483166617643906372421915476176068553444612721060677413 1104675178863732812708849548316496795169046634734829589468211984295911148955 2046169113080499487529671396366037094759996015200287339531210018257400606986 352323876039550135725938485340738359199841649577078269901659098124776394916 2621840200609936032214779287739779048523535142782077047333048559532505909480 3609359225835277432261454952086892277951301088983528319802802365733644117704 2330771568725250861063189952917310203458577313696004419389845243198821440184 3038925790699765219626742784513069196975574045875078727990172527273195790918 751778807463121800765888084737342904631781981231010700641981082283450079274 1878056528310864114830771104849151960659010186750889114348194285454274801404 3049200829627750470335510409215548619392089941950962175393376033024700568606 3120515636652592337391534760728994016019710846127879045846195948011911211233 2666717463806550858147285902530130530817089856655934046519616750609047749055 3616786367540495012508983879302967720624679391131219996224343213674001440660 1226353303247111678255491375978166168504729971553455285811523791649767723512 443388344799556382971788815993493447388382618037888440385286410040919174740 2976994018504394004898650334719252688132991234132028155272360409204991488294 1255700116151764767341696650600858758894343306377676194626607436969402225006 2134229984972361182460075945927494477294899913949574325439094070123242146741 376489064038529066946912614609048057944842150221152823782152993168848460878 1447563356695730118811578254717438988344715890902921149805347900155926179885 2224899385825927165621053799157815590363213810188751444535918179127787775317 3214435258509123022244414567933275571772876666499594038939234678014093756572 1615977658402800574331771384369898615747772554027015820901671084520427429966 2519863833517611204759059097177181375598789957928589630560205746843544225620 1685103374337572330910287687442805767807071994804182052984483958753995896026 1758144086857382948774336520734080247413554870231592152497372638641897313583 798779927519686004301039756165011463888021176697299014903348548683691214988 758835854562487382096418334082976719847076245747338880392683308399188781785 368645437888478601781924855422477662857054645069900057556209462664049112595 544758206166962837561290344538764121978237529982493570571988753599311883987 96388593760665744136530979990866359657738724112620985053794337837157654955 1735687019705999701612808293951835803503558571665644083007793900864100684062 105178950419936420886871790930155541402786940608411593456781083944505032915 791880048649993708323235613235359369554634195261704139654115894001247874425 115081546084788049784471280856055040909330825529638421013583536532461963398 2318787839149054785218791139685124029021003686465456834863607343414876596617 1534430776089974804019998627265886861121252224931198428587484641044114150352 687183898619320409387284660900680327731315529168787187488270706515702902686 2616587518565575801609565382052849014116702508248631730496673013250032523148 1215848785431649022936979327510407950377451697450376100553566516644123024095 2144398031810920134533523785755339222183043994603935657136915282715685256265 803983113254305499992469927346740985087877859344457367521226122919815080120 1100283866099236468891703147480560257205089391813272069316130200911331757630 3395072383346538765069127209401576229400028905695774602965134191196192179144 3197348469207392028103223933738571251596481837234498601606038866132528135986 1250106975448488271534758268591204182451331766579151330785420808780810794352 1699655540585892488500731439036474779845352948870582624715358214053867020132 1860262838831379378237081751188121347127964707523994569853050697531329714973 1177622673630583426231679646686586740112438048045686189266226988898178779564 456983633456378314645323077923286001095504624593354448757405774617904643381 3393917321619411969999724476162844525740071525549350139363580381583894253877 3238879981174964644175541213573515795259185535332398456894222158582097847950 216692782065049289678132270817284965793471724703488023939045678934619310946 3458478110589859293174236231814611203500519284095651973909731375505947937342 814042840796097899732940865925890780495510014501509513383879664143164401412 66155388908047248630421098186559810979269856189625280586008918459020848685 3152851616323884929755726593354869826968923669510132852294707949953374966182 1869422609435357269227068367825735571793418407672428670648925178699237872403 3496348565070924009263539631530031929212030513754183056541621317607921678191 1852899699575029625055332849010695926849444165797115837317236182441187546554 2858754600176278428138823606922253182147091606389978252905288520705734588178 2627754925753529178901512489527747563768816870245172793973803747220441366017 1135321006521556199532987196385586680935427907574352434169526272225451666424 635886976874085949002439467752943759628654274123668432938246788895499407029 2508930252797729985172538014012448960306313770547035465538236018432619977931 2014973409551574253787560248480395355978416379477597974557407445884154970242 280568758288787342553164683602168854307677518708708462532121157846531763294 3439687783850965941915002803166472758128309455001097748592379496327816544632 2254863684363903472021228632128504917493977026264726042673989574326895391768 127856418209983064373024979578809950119205757096413372306342497197594439408 1539107198448099746125566719085669711822840025780063351171635560565210585035 1190979657826425004910063600656340707001795391503361534947630279602842802634 1808069228222517163581177799803114589255921880927886354712373602027210097343 817663726865995066541475061616825286230365394285302662287766019151041908484 264556692175286886490264538406363738807762963231156617102146324692769176774 3073371832892850382975272292635723930176898229857288391254867665355102042113 2126759401204556892816730967788565523435923419245452956559518530270541893047 2818648860692225514929554413739335693861433929670746770276729338359400038485 2916335438042689420472342851441384792371437925958635105221282535213474868828 13844286566692289432525577269839341151986447422592840219366422348466058034 1040608591561840466960114044748685836401964977182549988544698620256759376450 1370457145424960687237406402268969793666605045807988216886855204662132930156 708216312596397873251476831468792932561536894754815912927566697915679220240 1038453662938010760960278586319391612928147255191028903740118857505036071671 95220969912401491373257961191956187527669470963190177638721326055033247720 59278479647107225827404855368818446642785730600165033628864849662339229687 2318713285749417461045110202624613612004895597511994288148998409130334084874 2373072527087392368121841113639818796622670313192344390029749229764469024840 2538314516010524605156231121979693514130687693684860447886927265048009913877 3586320646160040068058239942018729988088614592256320724332243131504095494038 1833923487592256940200799857420360170005311693628391028905757330876879220041 2126038593535647341153185529250369116021153247695338675751790108925792466652 2186500971807113110387141535477668642596995755812058829535504989978902071236 3599383463077247629432843036387948221318646233372050081241959017674106053170 3176061009552125560709726120377823780392824672438256834842540572654324664716 704566131613892769262840831162092174519135642558251694202062104821095802309 898247662791771635220184816801556371971143976406856454259991047857173214534 1289917946299140269597149494443634988747894995237050674580201890579226005458 2493408385410279981860848232594571667011833743630577367184906516329469794857 2470368938110119089904765943559923239447569073278156242176188499759430625986 1491851345629278915725973102591688743523832902186321924254877193965011521940 2113638063343676659858642049763506980619804851916653462486280052135860371472 3039469428820348015695472379015719315989568070094647787853393167436948100486 1556387190263629399950437170127677899967201791589555660629324148892680222484 3161593618231622788853635370365690816154126014175574493079648777361836959872 2364999091012766453055531477920242824428357905979572224520023708171489903362 37017706967604016789043897901218121671690592722643863426573996817457485836 2907073980597976088187693894649769921861515898027890191582901765579907867742 2147676833131192036186394983162847294624861928839218284874381200073992652861 501667012544580510089590888992165142945135498120443180438087440119563544391 3455560651528763698890177758014369540152292669438959400997883534364635362897 2901716132334952051319075908675725811483609725575401990729852075573610716503 425545237008954735545682693184267179149723053372368047973174518421727249744 3231940864013442167322408699669298901340943204844706697608540974389465296615 1890402093764414002270756178119094863900608211675871814317118138500135677978 1106058477076672659153974116204421020886981960622219287013723562897092568492 458786665688778671723229030343737292677860401737787517379673299712310748964 391107139266983379085122225507332472781255364106904039973730962012669896779 284373113301308413662175594758978310011926834585653961173671306929830628038 657144610669678021442882779448432695493447023663989461028161956891695455066 793178247706519306115692279492073235646203125037620296578405261454786727375 194738468523477627243162388807758088618811857325822002749864241623004870776 2272558366291103890914825413554820510271708865255828777047321681579647964184 93510686131037879391911104109019382341868827543381563802701376469014953148 1525805111533682649565737907372950563384700736469967725058381714296568466278 2397186471746884331271602079659622318178228236737999721026315707271073319134 1817485833118833129850177170352212643300784419769042929720602269828634926135 3268706263070782104582439288863650547461654031643693843562948993761785545433 3561867864534929997580761011995894155864645863369557981269497917414457155815 97212705557142274523634637916706243272888669460951860881204444400788425976 3103322225809007792816495800523576016309613159962780842109343228374727930125 2254856904919342255642635667993875736745449476930937902233643645559433297680 40832018402545868363734923478224166971285029508826819954565864351467751745 3461039206993632634111774138932439029981670643515470373618270576352521313901 2834113836288970734397327551693463633948903177763184269958276297854277819785 2207970641120985257046708256572605640701072991276459448167260322244273228112 166099722242228961527480886675243906805703408316457126841888345182299651741 1651422618688069339162513191691402805674034154725000510270752231793052189291 3358044912868692773836342194755837424619035842480197336182902499897804829360 2649226929545407759892173190634179326653240719502691239208133188577204509821 1489857173379602370404652086032528196579512788680779812737567304448788594587 385966629524894958077972637626482882698900934086139754533137124818439802565 2529472994021237613665733461251983215027052960388138000390563993069527812573 2784772254520253684413295394196153995867258698902619893434150795053086883996 1502742581092891166849912459641593913943673462791429639219927090926353317090 2935040909826061616588867142997578366791989076745650902757230608470889908368 3082567047574451914272154405584060087608049733041591855817119367344645655227 2827523884733652980171000494720434128199565591707924690610720257206382448328 2834243588705392482967664589004705437228822909625074873551561129979400275035 3130364976329478328389465450528563400765623940555709680687459960911681225408 2627511746005098846377198779687965857286675586787077769606954841872299409853 1983319163749490740034836122377004842555847706365530613136421897749077880530 1782985891570725602515051480103192763268149652284241126624479210556497172270 1810251152633288667197590857584870369258067787143179376519060897757453143994 1758772620490888902777276317405170012674650167015669891288495222628417561418 2723609208276714206287728544219066169063227127509436706519002331618725006109 2527349886963183663687357938848733358697147521289506710521618039349194725198 1282597250406676943636679043737913233994504149704855890003389869768665063242 661811325280907337686474078760280945655705692051503915354216667601114824581 3442969299961190404781575265916972860470846694031538046757952879954115719353 1784679305959121460072500376679800982400815917255396414200902560794284021901 3147244639969352190824124917901842832888129050301804442728626282890091314285 1795561754488555819396741515618483412989397235178931517611672003668079193622 1415741209659009160501376708046751549933247822551474922499961731841449785108 3618292593038239352974944236331050448604576614919523859828236674810659709292 2305538526954525302592151903761080737499760349668161197556554042919230887827 689565003285656459020006063004838488054409810408159431213496547320373809345 1988426784069356346356105041222945181181560583791685361307790529372690801335 785715874117346140262773120680024655412433087965353036873911022812997053654 2489017608271327801578874729999502733127588619821166485358709231358733644379 100486069169185567369312585971709215586498900224503546024652278793922105733 330604319749647484115300036155634318269402833981869330003500864467797528894 2532822208784809500444611559410515374618045359155798539949092908966793903702 1008487288948266788631121332463425084963008262674035323945223829249142130021 727795692180627793540095453856486453347550801915458565848340512881588536650 3321571565090491703235143057121434219727427595533424061090957615910207166049 1315511524385856892311848175605365132905704651078355226143688816853949490460 3175020056366393526586866635772084416861309603664285070201111525261985893831 1010725202693003177975430970093093761252341230042957362561220636547526911572 81577025405329685086641800695292498743699878001228179362861990656628279354 1115277037934827034061096032344626677321052423854578331269581214950816964386 532847007437361266770532054260903301679254312792653061514628754941124514958 1786536995621669814574852436315562598719505579654097634578417420436636695496 1856963862635558644011579304411369878904558718198475314273438833713315441165 2348984382981916994932050396079433685866604692466691807016708598172834281117 2949183088777177932605860350619852050530879319146191003582001647323721219069 2410578057932981967870770526770900480170255533982648335489466756777946194419 2390606884826223036525336185382449190346733045632073734548532709855887695702 485071725187243759498335559572687426143025387214673418325545607068595877896 400969427783013930455485889846509283118939802621488879275118438595283545099 2547600058122828378709272852318646509541092200381413384603650065249778813186 3128961511317099575656574298886486509625548976835843330898361905215707170385 2356161419369223669291110732131833817826321702529253072700137626176506667859 1177314162877068876515659376246566958660163542252350765424498040250884982477 2768803091301032040398237974769114165663246116901920125133798931198461445873 1873333810438395160097530914539941166230957262138467519018014929280761981026 3087978862286403224777283038878365925767970959258021887462323412292625226214 2949585494060731291055241779069747490085037178761555365099115189432901597781 2480829481550396407864285959800623386482903597292154811320310928607862778135 1769131941798460366255090938806125209139788646933054351057180185512806827258 123782467471686544119018218785817982832256898623361905454963683764536251308 1667972055095558137989332549181497856205040965748011532616395633384237080982 3241066546110029324124457954360696242456070849100073213182804095951926832477 2683037016123013953930102983972535597029535548751921018525134405763746227586 3566831222480944282957746192922179977152597134056142924295416288157019100722 448309036043581060859412971571066678516692754008340415074897153065886678705 3312756980861536817555142591036700103178084016037403976666965296873636492810 2165954685136129264091260025672959091150624195350406139324437722473793827613 2472977364205642700771046034108921072496507998882743231185163839644619565890 1328301049475373455875119575781380283748873320188853922380521272771720549673 1348263746950856722152122751672188503150821857051315868662014888981676502992 1074545429882138559887161152438308235245548745327238911149419787661958250286 324905173540822147225045954881424502037800596635844281534265647806027231118 2990419266971360147604550026018102167993401255031716920454974711020033079 2357847700074326258807014219784794100111262900057564357690319888422774803612 2942580530885065303527128344655863235833905384980602538145459967623241773973 1009281857648363589814009192553632707856714832135562496091384289741991541499 1538138052237068499251981214794425111194077982088779421087627945143303538363 3251383499486994273577595378817931762022983735207796164455318985960912478224 1095777725796282533545426058523891773337603270657651074852223050203611969263 2093122189596873832525551486169389575041943514237671520962467705063835751722 5150282213873817315859594924978071485873156509988612034413025133285054883 3258746222626579372005944251745697812402780450135896667600910911478417616277 2470607054426704751847470229495119234630662251085302246609479231022515172504 447647664824723656074809958087436012490355718182870089056925928712796649946 2491904883468543822935708993999330050286837956878565246213803579492501184853 527078562827941327969355290361872133161815069979976443382245793961666994106 3064138504852854845784736824135427674580313652935855867805316041161614612116 1665568599564562021623747559442090666308536086465604617946624336824266923998 937119863222940643458720421694001744001921159650180789363766986136889376530 1541755062734636814212657486739090502084919320657293562265891017772207167333 1826324651613897102227624415369939263341523441341061178435757669336097677424 3316632834523535150252304617706742194924015719961521320580067539858322007646 1761355589904403675293695428324183470207371748512406597947756278947609187771 1744832929983026316320750813364060971902909194255448323487216066567785577736 2036933060638315324738647612204558015604465211729425164976804572437865959220 1665216429323400450783567102779047145591733613376656322113565370226843859339 1248321115355919941094779495985296165100606846161594350133981705569769763794 691363568671982938976295805012270889328722770017840019896678551592534355446 2649364731972831839812514475631286442555418186658688974210657586363026295592 2414618643396311556267030944425593245828725085611532459063208712714564213137 3530076509439517369017568996561478807590222186615334515648366137274577654252 1770036706377036691822037325217891526568243779106924405305465472301367498531 2066951553770091572922083205885462014510799896623932031323320879156055910171 1381393979612606950279651367475603977493306419545402047385648501057649901161 3320939809586047585584902010375811101984486299581909710722450657345252114582 3131960006121055458404449123021070185263689638481010063964466559184040274475 1004132843034875779335532758225199013690146737651428352129846194664446836388 1973274539355875843184639673834109722305177263990140459860610784026887531806 2565457901758876774398626167156325570086311325639767419046263320096091605078 736182596392449603153927768987033707550603934067226871119765515408022043896 725422008111181157123435753281150054588121071692295074956540095873067096353 21139059901812981155411373094703926683670379089175804011211980315500886199 445804149716094060191766977594790857320434061548456559683019673378223603963 3022457534756449934242334586615607751223870526416786204268271678116701157993 1456836071480738201561774505015470148471301485098777216409511043244622865201 2815052371871254748133948938437556530801928353676185810834380086387134710142 402156138877115609899274917462625250243507714065764704202223102366725235342 1263659148489875946402463019859714254604203598420891362278497262965481042948 1658522513475464572289336929754613197556415586807649135332742736103387812168 3289121196990811228032010840131921633916691613511949889022157327262966478438 693873105911389748048694597406077829663184990637888030028065879583780488880 400178759997076784027680355800750274378722566305532201241909988996491971021 1500918426971141232287753286561801731761410544587335679118966851121928413207 1154 270 2736403776154850220004129959018692035928511845531266833719214291317197580222 3103054434343715847354077752219037631903893913329487309132353835555355638967 3554376301910774855215568764235009728910297815555500118623797103352510117607 2441839600916142578428535464295296480660709283000887271869405325087833755222 1245536964829720367617154671893322636686130283010465622261782620360434400140 573534375060002225542353274287134504257777873013008822287336910444503085146 2767297157442787271124586869300375582550675009233814578892252786072576048512 2780404550821111973898960488597313582953801017521891255299246383620181067648 3196535434802753624382293816609467800941345597517285139591180851478619098595 1725018230480707477951662101489245538410735186286935067280483720033591793056 2334397149842612169775517225256080229638850778449172207921897842154402747928 3400541820250808253810095312007885242148998458906304607307606761046529598276 2231846169051883498142831071465647409479044235072085223382486419030748121063 350971829331198940406562338822917343063912804307868166431662733045112172865 1780068056923371100398921383736103225304820376248176772627463409877619840760 2160810859973479628824556652168511259439603127350190546669275859342942416552 3545537162246091442676935138912608329879178719051319145407402527585158425511 145498647074441690669070712944565938916564330463803941007903709435071515275 1141124042397157450011068907709880037222996067872193831798509633281742714261 3198252078493680170266688437466334320022614992890955704718943369680369127449 2191216046296806309032743838852114421153653337788364353465586150085864434640 580946319571734449879752587465183689577956178277354023242572128517730882091 2575391543196638189307623565041750086716164500878509232862045354740603950419 880893892210563737300270604726562902496532865980671111704064143400796653135 2613268816358735686337925363887867160417159084209332109690692226872444127810 2189125448442999228195395665803854947394969612220451047051376335926504900344 1906479327462214860292009762438575945093061287808472130701542715150104672853 3473310869278971504254986393364801111738282041502455472353884810980438143437 1117457518373660230899067902175362179662335084273574649306023299139130423189 2589691269767683487647097740340898319325383505919028076470327853833498949039 1348094916449672967692433943383165877130010316524439211008098266853396950372 1636234317891046555097356039495021679494361761690239528959486245841977324104 3460517545257386682455450542124677681480583131832392803657505832193525399057 3553534398600501841259316932964829333706961471403900796620051895781110458778 846562937005884890854162541641875375657286877675182902082703411152779548419 2630836144153097751674125327076226475359015371449362237190488614959418521598 349670647673733987337613368639480810539359338828604900839660133006371546710 2848684031212848211895379631904447412278917147114444704223646455365196963273 1197163052092786999215177979111448656707278555749602189134740429233878526073 564535333430593648254211945521507815214955338542445476431796611205340260057 3079399666962339140978052536694566300212548891444390812169600041579895354702 1109624726248916468426861225532645971402320018930694737597735430705520357286 94348971768343116904977006172282841349777946423719301390034896579539579295 932790601439508073930865630092685174517350735256256414540956643946252488570 728541223649146395142614046846869229196695838126153280356932239879504024692 1133219475479906098348462166173870376313433421946877343535384659418030950513 654436323930217406843447443502292249490783574745638393243327267926606407770 1234360192433062329284166720440291682802351994319492041110455795926546177088 393644316825343572880252309017687551394965219870336989161146021053172094977 1041793034808228131859374975671043700664424914223012322070715237106752461268 1399114039363963189960372676667111376450388518086234903823694595984746859578 2020312504135704499321977911517056992943137387895494125816299049069271792533 2042216618176559438826516344145367783955947663370876929691236357828235280929 1862647173730415281522822710830740519312619755424521353634197432222844983759 2966362778744532950676144089065188348954700262522567239516499013337200300871 1136318309168018937724407974704680582701403347893392039291253235806356526764 2705030950715770552585671122367132497351073349766503725591934808256199044291 1233213517601821957526225579086001647503042622565358240550918141708719543206 3323189226286334160347499232071738698939356735836291915853941117558123310328 2891733013775590448950672756442943130804504260281662547443791651883144203307 887889242691514556348788418624963798389426130474987911901418604297695584487 1110092197334188272679743453372669994287596545986591955530846926022912298206 857009585672857139343259247178735350052077227916781606364263164707442534853 1665187676908154764763288705700045646342511995178278745927992465712980564259 2601581682524248680859405627700798092653639784343981544103570275389259846395 2449304773093951180244420039266716582199508265156719918117296654879523644873 2145342723582492109425078707177499962638656248437503441016363776442929322217 857597853356442561139908489998627012693661272610294947739237165985100604967 2342481714317018345995903236580269118387007775013492241340425263470524317806 955233202756705290473202410681731740745550759771816955770845451152929664071 1957823914452597074066961573832344135547185220665961414772060332977415811237 3352623839622242145037972054549498270913053368251013482462728837716905029610 614163569457067628036191280712402509322513820674718748660621855185515600491 47395356951394687985433685108416271621326352487904217510833709607446917679 889702808210812883201973733323770158834889420478577635896762515956701516992 2121144500690021514965453776480574147278702661336376889155558927590751834140 1785282264503112649452158121650966529931102154636206940553977966318204849684 1513694212884492112537586370848696329679332394562801473327158991545694531992 1766490216549919562604808134976020974582054025108890620357153431597068415137 3379331493682994862170519947947690769941813379574123867319508674804675064966 3460558346241501414539973169003434235099664198539440907503194633695413511374 1084522026771267529068090752741921349739952090552746679365640520502299636343 3582829229362977539093852338388162166836078357826004379919532764777830933678 2298670468354122910935727174345346727719594770289988004651352111045379534789 3145944891234277460484663776415373098122195514109119451410478060680579908459 1418510864427569478726532467000559305289864018694584689682309489137955757324 151688862804056694300227149621410705657029583150714537343362969236164488308 3520486496958436924880882082564732909828897629030867851984640950573262870137 1727258348000788608938517774784962960868078065032814301617388388968069861960 3091125542889401792378057412285979043240672155432607429754259735625530022575 3108957072887629795454651089296645448332226084161065683948882541010376683744 1766833809738200696020506529896350209174880096467115352715251956648710152105 3277501485242932403287021028904863832673995239799871015885018956025423150793 1861516824254226613380241729293884881443220836165820882091565382190490521668 2270843397595806343206894592901017545572880146539846122640514175856377134811 726665406863826016884308188850891185897262202151836397482650444535290938353 2807520884668410620746053189261355967175160578785253918850216900029005663061 3536670127753204009101298756248361161114203784761194765558122318891321944847 2192226098111377135077415693680206325679554495727981699917120981672577198169 393242632019417650487780488674678738243562435253468120399422889070287813455 935834727081992361645681761720050851268818048278097180357530446908951678635 2760439683074674078315155352038479179790002960246502972024253957073773451428 1434751928723795902654604396793704613675393555584677203237804012962977870842 2001463873277188319255360948895066658931121746064912575033360885617844837018 1562298784628592472564491185983282769141716254910137007846742008076651262763 1769499884932308396307822775856472448655206732477004723059597687428302793569 2977300699338338518918199945025785738198328808322553840084573516198213755109 1873552142141462343444563751513992222325955678418521899487067611862934343480 663535565541666623644648974428532231254650457976739467700702182310928224689 2467873104613723760749913440217585300210114335806941221260666703446612592697 1001218659762102996221678948586746870277502801557722701200258353597525883161 3002348997635870970081782373225657147531751003941845781015344996290518401008 3562450412564491729216999238792832437075571608989392559249072970202092761171 3401171806003152803047659005780628165706115324963972531253330579769661117865 2168728585380335786547604290155602178350935414003027421728555904275677077301 3022166591634455118429369748853712177705407328743895655159373698247661058424 1392154008245826602903601630908708722848728980101793584511021968392669741837 2705223729699490662757302838320010309805746433147604943014091791731597130274 2552082207311518778529194701948833380536791100006211919347306099537822291095 1436589174832548931336335540039546769854545630385128003025685842485053085979 3121525399660915354933568314364488116153805212943842699096872996886463420658 3254920442010949779696158255266978067726466777346882818135092332542321528417 179358303189773897972163576174527422150404470427971876315551049240025181697 44233223577272767786417643080576270720650449843500241054960292719332580055 1435216695466032064091572451731417970545477087848535042195809176686212284221 1702331356461410132743547304732233308051614997602456274428766689528022277718 1372284208601211998051546985760265764122015616940690619388500485728929685774 2413851024829574611467355186623989624101807202123649986516334280343714567589 2104822504246201623857507361622928849000632846341747585612882663309095177860 573029050560339234040571287959355578237995693387019639006490495393275562224 3385568117015499586636219977993468314955904312039169843370453975623731263177 3036377438457339183070156951400668021658706452977738385565829639606703917708 2339576109304184983750123449399925355607112046553884194795257593496111882602 3510050674073031131222390754487513071906401754926281219009544142988984918931 2995971010865020513984744953044903698552990743949315720741434486656795419739 1527459603834523791929566362517195184997350179697477908246823101307512883062 29973645861365584045314507553007500791469148861165157104783268562043087331 1459638980344730179908866490359801878373243448278284837566370613861177475542 1464207110086593626635030417840448110933502068113462073428280466583711642358 2487104367989531512474658458897982871111414504376356430531860568002409855488 1924915900926124017604998618638557370766533965988367051870868790488979000809 2880106563574368128472279495986582102925796596200266694399174323082294863536 580518712620433168803667117946663918341541103629664288247795413233857985043 1637961153618456308992413454234103121645387224705255350783212370665604052383 54476630064289767725899340152653342499639887194049092629845174168902598657 2870006831121640480850471506656259355042775912253928311453935879537668567235 589495437280644482831646908807468770264294483026769559008069052254215412388 94766700186903816030288601827512147464694827552485808779508268839910331641 144479612892602643765329254744700865560816463665347402374440028099635853231 166981560801603923185752876650529106816016086844676025498431010739838251579 44715039318654086801087577813964383535832026523967346551859176863615333496 813730754697659355702607211161257887578099893156437030300216237561242723339 1811308857947044259554657872752520552816500214013807985107066331098332957177 1909215046402360045105932512791759037885952068528021756794826928107069098640 123642353198200525914034235149257169541040023210935066778280829296034161038 444078762348283676095301015428924895519725173445845282216597185789909062145 25062931897568910205149247281013750752862140653784009093119266026911661566 418346388481109682444207165288818492696994076712094420528835353501694699870 1028571008977468506011651140134057385689718063997400347210417872814887663395 1814754923931627209099298844866160252270282002600352235168218090430806696991 2205494089188915660247670374487427450707555321597581962228508591364749498345 3384464436729931374888827324632526652066590261989790669365752388904802269245 573442916540262634966173911491645869608576655138448368445038681657192185779 514781746007307847329443654951149253843983682822777110102695642826309556358 3437046478465782520599177561990457437606899992493017049742145680028469487827 2905374848823674028493891439135171336629563910613829421602789091747380420123 2106630800442714885269425419290469170262917345643975190584497437695451137918 2598394661394090700369545834450399232093336472574883874116727276193423591432 223015896634312542179026097800962546291621837193305619964708629649138323211 548092644083548697620099613028232723994064011728430870734874368713454381897 3511132439011198202598862649808826297902190618687127660043639335433837662242 3017461924590061857452437041594498243833086961120073307383482698701141702542 1092222550422130518945698940111279808601673130834291621796462077905311822440 1454481472670341330334589974393233037022958599053410487739828331410602887354 3526008770903666547775024281496903095070035858085210880498006467274125712539 573616263102745056196022288279847274167947803712427445351287325782586894867 1988417791194686246797348707752544754037914653459651310105273411453021284406 3581888883297039487747579299343135728280791975545745440144636443199300146550 727143975085200547368413280322266776341571992113138510645646086938828708923 3010994166302296736609053487847224757431606683154333508889020990037048278728 3608235214146100377722710152328488933781269437761810204145228739377924156498 1052093109003086184500954102224972576627218965247881083251633652437041492224 3150429436003778731490051949454124257408254851594884437386206985952019032069 1897064080404122226270331222334498849564473840396736833802615979219801196915 2355362711782734871144602515561541757254475358991647649408786752515179433906 3298216332360169450304711780482059895832733430888413495771788910268930217552 993799052362341247651796262492036257911231845831265406569752413401852549593 1025339866389430084091548610911228611249572460329362421646540567141256851892 1359200407970180728244026614699211098672543776294678501429699710578061908965 3012755666740008707066501795604735864312056663674795101329555484342000862153 108774881411255666685225973602696163845366228888077487925912018178553330168 1056823674341283766530253984348948212127856460068478334926891680686934351733 3583674244214996690029549979866237011287871690213543655043439947441105572155 901149503188226470911480047673062809145000190357506923920395138020576066598 2735578384363988047589549720805371974561364384916966214814487028794463540672 3236731636033886532742621580198057489967333125296877921545438915643088845670 3038693168371504289504962717922321795945675280878534234967604773875737092849 58809520350527324136799858438716985253279015616135687122935343684808973134 2491881557142596448520906275323914527840798866668897168900008846299704010954 2646547683994115668121546735838412982982507351911840255559598048998385313844 1167481960373215320847025155454356609080503572979353539973035656538461880654 2188275473135812347325753026143738406895264015007559549498316145996167750032 1604636202849084641104338868032219974901815280069747653876328982000105672757 1849495991133913039783073527493880732290971387193183878544010322130452626101 957076383196634452454618170038560743781813868373065492281978421786784489129 3520852841391174705988363696650342124137257059658416906142141565494962446705 1479912299290081969912684459858366480622479883733991735087064965615950296024 809432957195301735896948792448415606571334327940723704783193062238760796592 2769670252812796564493264404409713005249854473460898552157826320586854124476 380490150558713158540681459048315075559608604171121114548255425226876061722 3046490203932093810126030934213587487638327956160829018080127678936715143628 2975945264191441840924912996323306667896090251738534337898084699424219310347 1815910496338048043058913335551555859968333290101635644381070668203234360618 1035087947877555849283805944089595679414022965315843748396033587725329472337 1693352097124169523043719616796321942568263414889054276027490774043539649914 2613375906382939473610324420092219552923663307301518704730233753990213106383 1901906403056221048863211735447697201723285140126543513090727606965377470163 1485301477857835690132719702835204331504036736895818422608194636189686938092 3259190833317594881854172942321262521785204337170922592807965335433840980771 629054287925661624547671594695557300311256233980693668578360940247383433816 3023691341580063447225688734893478735228714411946420513804277007331590743119 2024970590246263194946554258651877106940519273249003539396903639724466078851 504242964237473093745835456513514079849512500760247252391428707749784753183 713332331989470821349108022628787731759774665963222389343211988517390994966 554283192964275351570862307695314485195963563150144756896840653809827026897 393535397837589393227364651317546144984730954580732920829453622637790429700 1385230336044597904083013912474464449090387218948952470968444956039703545198 3085250620082873362706218988827839662679109830961245930035698852633565606027 2444907082631117886569988647911089534692523450389769256859689818750761853308 2746350712086318353207745874875936099535133828013771453857356683152937881770 3420031343137789265728287647608647531925028019256344193764820964397624988314 814228554101764286254197531768099163440307918537531395867580073134372496492 2719701430464663078297673211924738778957678107893858271523598978595461577940 620389142329166786651067726691123363167955823381833568080516455525149967598 2158830611575042640877897705511888863728422090020156316641325167582560846360 616300860653843977674885373572119488292628322731827660773991197261729933337 793072051071063350404018874029188333916980669849437434701396022788800560765 2202089287494747702633402129211579913033233457612366702770623613489169198372 88085678129204254310504259995105945096522189295338675854342129458910404841 83514600320860961978291107921901501987294537341754750934913295860130645732 363403955908405016462536026557630139649092537875924293984944570976198752620 1986498465120767389726877955432988419046126563376070094121392783752227927949 2282070333620708942720833695717866921985336390460991266713584737231625734728 1719304397570462892921565227439413303534647674336664431872733019741098182887 2671072433646200834024475140799574080919124688476574567101116606912566914850 1774210013299336782063719914207358914409682914331481443816574570041658283971 1398238934228722736585089923447232779108052477743782781135396003526906555496 1002588806749585558393925147695958638347140256066935999584198480124823411422 3230976172539591352431315185324265284756588557979981562100115371919944720532 3411278932145991677874137471483536971291521807365144421605379485095866057524 2977823449094013452951088100790817589405954094794503215329451426491669913119 2415338163324190259927500005330422316081557039616907514540450818737834721698 1947182187504588476707165308795021695370148341225029284983614059188602689794 2924883006488533744102136243710504169570509777200092629235073237057525910042 2339435699363259887993444414989725722979303077940155471883865019759777743023 2468540435307734908457877383230600342751274263297459710689048496443456681906 1892886689459999534388643975031235940108044709377146089406747447124788609065 2218594286015933077696615116749705992464232857813513101463042584924290523894 1659690675030659389788042607254916845834338640556275592281913198305516064967 2633146723071949950219532211787007791624266428075148283660351934400657582960 1771239882845186779809314385758552608606628142702619437014375755321786323920 53364355370057776492880860740221576134869115133187371260695556760310028654 2397448030615995419241054592147797408103765704748651393117247231643246982493 2745200775713168933521903644361720686502198931121330602114133730518584017290 3489551733532601484916966807918201131982070929170499689820385404523685798043 949974990521319013220733883717033776082523137118918162211492700264247310384 1315794380714958932416885370317129703861072666377757122948297565249786385495 28749806474087225544708016476062559993354289199473172265185813593434001594 2306753361567560285859718870035897233575201921985589017203738501846092054480 107977761591994651440967379669132484623465451467176581030129258705786702222 228 62162585945245635918137123392149392421475554110 269195156655166181341973674717114112590526410229 1341923153092668118939733800735716319628931811116 277151693592836327160837385258289225650957391402 604064304512948964369896095970855032788912803897 121376343937686842609862596542033609839816899750 866793322577707402258488970753922363541646991413 1240221984043189769400941979273457137183175587759 1402007315244042355999062521805632508379350317161 827864677199047871756141033594652882563682572367 1251356423863894122863510537126687257243473920632 632546234845151451254388273832144914454184868716 390252397126578699105217865913194992579045404463 754935059781326649138283998020427411336439193344 712773046837008225227255842693617427514928745773 389140679225399859691106181316624874844103560522 528795566642969308915992548063181727070553816191 248530591932585417393702647628094734711321776448 1197003140217442516116839773363725303887834446571788173605767564351833076577 133801575680799859241767536566835620619856889023079311243333471715874688620 242717342487172258224681770469458096571581604084115688557615302728877158499 2174361447355504878116125656963628629385820307498555624878160482403518440671 2931736693674991429206626664977944490868009422727202467176022432969145143122 1974115795244572028811209564794905465820900503550587493569593480476979124855 3002018070135670619728522467860715494223875038588224561798951418514466560123 2648268527098518142168713772077020102203533539727190660031739856453190283894 2914992011651291672653445688534378538032679082548568795820579710923459611986 1770119893150562261806426467986255075375409860493456962511272732798066230338 3617277641784100611499166156312121449048615752934609305640662888850626567823 852836274791796247061390354073618288874028445907767672998580820579851478209 2913260165823449203204159441766022387596972507096547757354668959893858176409 893592520825620363600258057998956915628846233179354085783064643326362235205 2109519649430600168268497860179006287877550483167250955260911419966516973660 3417733707015897227216857198799183958775121150068977103773505879826232984433 998233129746778289829874095180981263241395501640025638195630973388263763822 827096164018769440230179021951847327732118296438626010444259687102973828332 2525551013023070382219423943625940790621574318909302062650987315707136804898 1161969834075139898003237464072918728259906416082186209665629725089410234065 483513534240159171113024278029818146730824368233669127779298552563746974123 1780888300374441136190067070698375701308829951458475307371266962880980555801 185838550600036979990211741158555950637101637722144874064164921223849044122 2052150285020195544116970856893874032430980212979987716922430552267311351865 2794340504443370212623292434341787677785330293060676849989147963560867096368 3089666324804063972621733549364421795396932996977139403231990413928441624178 873766065345575294126860337232110125278058430243091352766327237620093405991 523361576840200278409749393787297499176940085608332771086177682683975392363 2080712138956437047063527559885804535460399576400006816334031319724739087157 1296822181971355876146670145652722493961029609191700990972033590343710467048 3180837345643184378126878689741310534472052475244806628968218686892324064858 374322914609567226154814268228196845023973316257754185415760072000470516512 2361937529324716137759356702142377651357318396332393812723536870720576269441 1872267630673562524752946654416306939411016706553773790660892174480720378816 2257646444111861477345359839651773653529862759352021926449040822589974884578 2249952383516776071488735146145765925108585953986905786708706772837393020211 1395384453159079456362070345550875409407994683080980285378438982616226047829 1792845735775027469745210512619597009562450184783776811237017484365701094661 3503633471159017015031937567003742125459107385012007511374322639506540810511 1587874287337269162803503266622640067549977382407818366018593733195846044212 3362695299453664266133897852769863188455915415608303580941013146884421334569 2495894342447266060424755839269577447476595493364421747955389955671850195067 904227374409517654340532162202012091307817858397471751515029230236161623349 150028804788711605259596078771861368882505485983593571842593300728442275886 3411793933332040498837251203997575782663066985051458210039923478740480260583 24220224615138189006719143022281629323062949683173090408409434581630799682 2171569411376940631759533262354359268045420380331449337804014254425718983687 654445255860426020951380815121824360731270035965580024319294702375029011877 2100277015976003990859313478643989664712878339130410130161022187818926301961 300474237591512109928413945223203663198863058482214231689271251860656185516 2093947413838043429179886301561779800059012638912476410080737654012888026695 143250214190555163455798627894740272163882800563140797593341465569223202156 216985487138508534773348305102208694200666304342860744283382160153634157162 802478961168524128295997135788810067488620769492319656977932454497872709225 1463451104207726950549026964821361565564077882698892595774387460641056626146 661675869514624502405567556170030486691524059108282071304945198412868276317 533704331418545335761867533367809139294468381598424403651162700438336355350 2105514901380996430727275813333812083046057277729122885938568320518609160352 1484039570357263713028886689729318471874583834819691673675896730639264418963 2961694026045615439387026501161190249185638120882103479998702247348009618554 3069594001512330392997466209749267987307277117505282855798393286388968175533 937154648400975295098773239965578700369963932423297800879196103816543288931 2192514886230049600292731780759523671983262811643313205096145242940872130296 338274218805931788292806632531974107241984866868334989864959717835146920278 788881853423510537383413874076431675042482145721263067193157657560421775317 2588832096340517853070618808692427725844749962165606371314786185690872382236 3005065617455619595162613088921212801621098522221483709255037705253276047820 3612198802445219753303834389816438108488981507615278753448062652174649199215 3274534686102656616559155210261657877150369581560313438992968558661956564903 959068009798238417555360273379653544913967409057994372779118494800076572212 2440895583785936690697784316407375418678743861274120709689695089236502308561 1066644133982071962462940756384975694596923973935628233557548715561269714297 3031468195543952029341759497165438818291511524372878446983338032990853066997 1246840114632850554325544849922156011307679079232687283349475672451006340535 3126878458490486144232815470071928092331213804292245204024885090228866315007 1792716321797585986879668487779434362235348619876925239295335134851842142616 137666234192282194045653943130148731668433866712191792608230412179321603724 3202047538745120726231441027818693230118755336870191192196808088520456015039 410705309240316938040767407218645361782717657225988395056869841082078194192 2693961210414327929287162143967102786753902981040684231882841608145373896684 326021596335415064552218361549800301632963572098539184144983825542633843651 1763625015618784378875588139322381691588440523279896621937299933870795647992 2156780007440942355459842608355423901543375198638573112068494651769951762674 1290691931998835593345332263743194138731746539362896386955675142927758939073 10359254138074976560165854564774799601025562049596158509370261919236096606 1572284926060862499804899104892236061075813233469090187953307239024181493220 1576314390927100708875531325101764703009615258418284757221707903722858255990 809245013776351539850920714150449675024656160568337402856402460631136283511 3215909853968315561522344036544443412541163206810930051024831418074083583875 879575367788202770371945731754540251352319641688679633768434112213674540385 1242810222828957149204564716042568367852315601335553575396549062318498525721 906783812255160957463819750906945634540036777020115788712151524227559571843 825325414876859214788193085179857906963374586145854353034006136778234226084 1133218933736493060304339457338424323190500254440882020962022452442106165538 919113339049767734720181787980003922746675408418486309090752939537725158829 2806709690002086753402555361609197317986797102201911490136620805429005575336 2271230383822107620018265445666324066023042110167491362026681754710760028719 2534437522297158219935647272887091702989755717337794994207961098133772500877 2214998622196536380571403809032074701763646885035160905195304566401976078803 225903599181874384227873262108698693914758214978538214013140021317837485847 2514758002122625051557387839801924646048146609444176859397997134418360706241 3430976678134922227844708493668001251624235003309560752830949596212943936803 1813429110102643068045577348278902055809634340825551358587560622318341507695 1831371552028158421532154069309854437504098093494314844090187977016335015071 2482629405654444734202369619630496943679239867256355314626555402836057604769 1693104282131920939320906417807818044146340440686053326031192161711938543372 67705817245724105486274588222810043815989474633870368377871421300742182288 859703185686820414727004687612586380517719380458610654717036635371500370524 3047930725703660804335440664724710308834170107750803252253084386101428407018 2390673043543585731439066883022642494246541512805204537807525484083416893956 1660998448217592116965806821904705937220568744556697934261772484580099411121 2185359053157308948621892344764264935322551845066475661338979805529015120641 439846014792761468048320693477435731025607872874155310513313650537950491324 2555798295114456160312716470410012314844221964165465024547899416644061315710 2595354827910805813757269736086010446443500726336509607572345539575691788827 2167013873313883808723807212678712131531325623069263566445377143287009073480 2111957355846845492953346812539510212454648593560404513174693611606812387574 411504587677407093269842471087775903179422963167403332995100109796905462521 3484174220911717401929198565548188421875779689324985113366427585642228930193 1060759508625579773697758272010152978458093828716683623299698502861221719269 1082141031848628736214290750135854310522957578753686024343878551939294122648 1951489737927235039700475163494863301631772979566775637913755189520533856430 941440655357807779115968693865370408080999961365481753041933780974521623603 3232973003247987525876084967189344178499469821979261638418778133674021392400 7908124408632274923166006236581111737837032851020748549660578376376223567 108831697573714842496402180994350752850998328151929503077594240281024968258 1202966224749558120553626612765126515874790592700402602913030339146848347109 1600208070312224722003455117848371538694449853450167011628041553854663454450 3127203262726922552988391421047642600752552705985858549846426702370829967252 701622250951964260997752815275308087367432444505728686804915591455922703691 2431911871981366118677812701810455713993315287643818201819571465368209708455 1042524003575327542133705111400503837190581024418989059322812648801959354436 3578872848009510538959120513299652973228481584720378581301969349028214743942 1129574891698815103368837096389314565180552935621447836900580504676500826420 2869629666789114461100309811094633499820705043458647757497840419628807066766 1008617439513730500977218409147628602394673832429157342904138768325937685893 2383482709066688108891632849874338507065792381512959102443739059840903843767 168938155848671387239127436736487837106755602488962153262559472068367836837 1599727202723734870233696441517396107193962261187824793307945984374021696661 2283798760392644967386376706657594164622658650965251136420148894557556454334 2776341532832432037282395371644145769871347425073196222380500371761297611270 2387890799899530382318123570058983759332325033370992078573127473068720378690 2773223592241346304012723648286660242113226356499286131408669568394088954687 2911978610929995091964037048170075135028323715812623918794078822261388408193 306590302721966883809803263705333755270291157222328304605462158555531448342 2304203446804315284123557901903672591123094051879190490787435815617438137257 2717962191676361440395162647925229461632817033994988358468826485999094893553 3008716389931242301331284230325358834601177971613190146420604493166803544923 653264495489425768583904321535648261073746075688724348511597348527543647548 844480162744604208511387160144452551742177337124609523670032333769094902486 3457676937251337186536777596125056782871352301601960037120368579997406020975 1362918286050931236216874756038592978965437858876791939038803957052195211792 1589198976986205550256381463690784757936147724067864864685233138570700858763 120760045564953783779180312014600932500465603178280628141292016468648862917 1243474288950552919753287831015293829770137586991847576778601497120243519068 1372339596304866190458877862189980985243562109675313617082201467642262140543 2600917262571834784342443397937870107495862867051101165830634425590850981626 3133832918942457409468270857698098816423163478688667401308060645155473029468 1502128353297007157624375277258335333608000495307447715024012140668109733704 2017707521960866838337203392651695438111259690327074041826704827629022311982 1657000558318528751870568179278760832014120619262035691669880375934835137825 2755008206728805526229552877403476917838123153357885063780972091649879546411 3607878837641510023035632187995360425455894993839176776124262891975791578325 2315579077304419327887691518265001555656939113954673761531057731862492993752 2332576886314326276013728586612371709868844685987551884796070279140083520115 603112732911646209604170515571473398428025848214466407366087670555599699934 3567931467146565346857442505236518967779253154722941164094071629236719931841 3278720402856719469950899254123636218062426915776250998768922781888748349149 2426658797009333300091054947945071801141518804991631598097025261854409507213 405689085986116613283497663722955269575532788666237450255516454224904909058 311302376179614643235043899222664011749084102802308845778421301686653936981 3588467265979576715526290398626495802727553097361481980517946674667705703147 2791300492410347066558423820746080679216507807406414135405487443710838237228 11840204855181951719637175189579418414593016993701898477498080609999236894 2949182182427519581418180417586802528260274878324345138700491977419092250447 3134616176742249122579319938003444836959633483363484886384668968036544237716 810302309949885334185194329012562493401832339406097533371399631770020164757 188173944317944661355740224895294752046358169596157926812900269127199994130 276798780826870242639073730725124132599833242671484134230680214097650543854 1484540605866487875561258904933540884586913223264606620650409683529979545922 1330057560442980953626035760346541327407189976690671451347361040630016977687 688565272068369938170324399970575362316312075215089814607427698475918939075 1075614191870850911213691979973366133041726217890365626739737374775606510232 31898597617185651155725193083499220105869284962356494734627618468704059104 955280324938886561207239172494346868750193484862754549446050862081371469610 2828978918728756247935294139936216906244631829396226168688041248358014788682 3172512295089129255782238544175470647212037217225587682792505715089112734948 722553920142668247795621602779091422619377640845446649841754448938499283648 3530407925056727577804521565835854202458184492437736236952080596185953794262 2433497071531396359342073230057244023936641829724609122770149379565241451019 2070821699351346899982904941571901001508640798812427729596232508357597100615 1107028793486586118476088143637809580814648080620764785487311438897280847363 415497389828471956645253810373240387712354842595617662914244500113147686337 2923258521803411758763743988178720432125457187112537503968537896862584800410 2093219385623979216568516827618394326574057199089861985410095743710039689286 586053663563453067135798884541425925954911643106523074241904726018975571072 1234311151403229192606960393243775000115866967603471536091462846279475130757 1056402905848965672560382214252826649431391813791499128020281483807657790724 682922471570646343525707000362531523824914488379646810278005477247036477307 2741509601243533948426798555703058094197760062339331168517362048549642604528 612466979594275603474900030388603848018118370585390923293580104161704436709 792603160083357984578352487870322933275167453244805268737176686196427765260 3165334074993959878039457358013956033893539482201080652818921137292903588142 2589427468267934742005572512514349096255289254925915832315013187950472182687 2215803986732623622083261844069889633474744671327066820484791637705732817823 2561962634925099023766472390067345952925057364059623154205151922476643934994 531070906058946069181896785149081857511858443153730913304889605045692854432 3126402173236085601274146909836049490782246870367394105172670681791916233005 1019305696407967711737133459054378593368465927961947707375012682470005496096 2077510268973337998834258493398184714380578613156408295399936572901330234848 126 1063345988904875443380418590190772205154688881906024454588878111241954610457 501766686529189989888154840527798956301570491144370090097411790865834215855 1459085606958461868322879140790624050190853326864649883838598226949754484448 631588243470962281396358998743235824178635627831628684015021695909862742328 1915987763892175779572984896069375549056802988480329446778416726940440796558 1604092694871556566343136531293491693501365496870725169921937294611724394642 1042568992222287554377698943848320664998015541202917898094595944152608895393 2151354127323585585465339010780771501225730136855947180575644857010800359494 1526459767348750679426086474210031981207186191643085553978892833037950911779 1731302832928395027794563647053568859346876434936200396693886972444486073367 1911830584146860509353266009922793476344188169876549995976384696169539273923 2788786861070533810972590713413299797588995233506526409521494256141951423427 1976581303505861673349437137541555827625065339866379792350166535882792886986 2872552813330843097196196978671297720099124779050233357914332058346293853497 1367703141765294295135347186690010250685092310086435400980710316884789390073 1467084528773760571326029774209191866807692896861086753202445524618242527828 2760012027860077846140200913881995036660425972948382140033006249849773763479 2402109226051665605448869884288653276394852868376227316902646776313652507574 537563992596118787299788398960343832924730421728348683736702923807923086047 1436258059612306672273305316858611503440009649367811721950313094468861404865 1743837331040218465418203549838317154055159543983568192790534774716969772771 3520582226087617257911561969384792758131033440529105254988127269578288878869 746182259233879442087584277613204110855940580889268825942646270960391285561 3484761529143062902141867631531942443222991601213215991214518037389549009022 470003158400730546012974862317562982987533581064341190232617818346808359983 3278766095728146158381268906813698516606743081631375602034144826391358651766 1036250200264189156416096093281208131058460139108349202426779159353715075661 721656859755328146979155742734589295990658549452636383383870738513204435511 1128166660192576242834332187947588986005862753979825366330329844360887204904 3500797083765120095428429184145753707170365830738528258031236550511033961015 469535249274700209422912744271392624493098808319524027776765043814948010677 3380030196571911345683862501199846133895543540489731577365582284926299595640 1621765914983871600076194706304966621149802111983478827591788234198962458058 32308348108246730251186312161872303045368455098284006353959500970898765368 1316769281108944780844588368841170865710386851844091800651055871690797622847 2131665455497266014777137559561911146702343272062418501617603831682529128611 1552005113485798314766399014247585031883877602519916636279720618455621942968 2088803113170812439549244622500204027565113582211188554717663526428360948703 1680040074986213020323409247546473276447985725930372463658996232795751796800 485539144415860338895016661440680483195617309625879181853570977090870148562 1407653737327892149696176925069931884224632316015976578857121271959799119167 3128462323410011648575684798678244528014265170979240024817562192041606170869 373231903913675844805270307708585454388470233437164596189140557153662646269 1716290987939356592118830461537797546931716140932477381484792119336951214391 677030081589182876569603745077625594652058028293972034713579847637884634663 2599201456070324461867793319518317866503312981956914707766171416740207496450 1711050533048705203073549019170179817272474097907122885662364789182469938100 2894727870152605193984195223395124485419382388820809160816119090296127349399 1817485363282386282379860186278834136032226917263587435653457046362616508310 373414273974069130466327998826988203999635371757323768782064693975329299926 1341119010352344650792404190883218017708869756605039506910925350101913201356 1096815961827690028848600810140422119301546024314074609158280938522224895561 2264514340457403334596941901388284323972233233541537784644451271571224133649 1233213466385144715861651675262805422587619707841961958651105278038284753309 1272204557195245249681808002115060341443742316373502441802353779893626494972 2401033607397827428258797336825917325144470285898155074887607133652932725400 2790962813935604122205515937050941408301602482888109357244672408847495358410 3230177988138011365292805700065413187676528129424441288788775376182024757420 2324712570177616595482621463894414636542192488033939553582257142240996747638 3029058633275267126639192838915498433695887448032761605133102579653155811534 3229501467668835530706918874346574748874133251724494391186441449152718217108 630868744214674570195547100250253370887985531594672723156950217645559321000 289726878099548161118666013180171756978375511020094597226160872276116319254 940862561478198512709573185627836857413168718708619228593829877935325325160 2682190910053594216153872576690152015343957990455240727614098213633221147000 1262577735778140438213948621343367844524727462163713587574871189201090261119 1105591306090798844438622022723188690761876069475108075021956199008640118423 110565330791682114247819723336901032194525941047413438172655340334030502194 818180292008093900178467552981423422091457652796009845138344996434620035480 272295394308545249462363237748027660828252331660676881918444477738639455546 1881198238013261578266965851313562446744431140377642390280286469874614980044 1126208849223586144402682867087234033014563811728766999252278072067105637378 349361448368868771425415246744205274403161426481717599335404989756123877177 200150216392668662919967674670938715186339425039152049524441885678351537870 276393464369884170311413287674354457485520208623013589246963040930301195392 1250613126368207557316621507755803998008279801273584691196465708724425456393 2754677846127532326719803759891293506694082670900861998523876818842905622047 3354439803959765834688269359478633409749090493345869566923167356412926768420 2386893921120142693779122537570288578439643609516809991327799009007906182984 1355564399230678223250537417828523650887288648716366706038315474268133149019 1050592920350673887609184684732544391800863983160990851225559146830216958521 1167371069823784160172182778481492795588249800742290921628556829712536730008 1780429479992097831050265725662049877134933716174933136190092372444156876271 1673998889496149297197258449085761341762165663674224513129667957555707976788 2853371535985178225885758959984976225010219386469649447100457905820257569952 3464688614842252992469522247416633893586267858433589712442537346016306974777 629086699613774688557262574868625048311203830703699988461804704561114956994 632407851016394238814408187804678440379335982307405957572113650815438755697 1183226522162141726813817217535260474213391971608190157277139787217192553690 216238212792179871645938618108634071401141815789310520241530991096134119445 366455592233576712730561014065960999779402846785437323878300787755908918116 2823361737112916934311218434738812147108086925484265474511496857065962911218 790261297739138531584235955627524853109687280975762921597938550887695890308 1410712444435930971357003198383632981676580825586114989776874444614436747185 3287568545635461065606276306954444045985135188852325699454521488793420205193 1442976419479834854488720010384807294817051910499335862395732716964163684892 3344461278116881122603561978631856092039776980101269533688136201453538220724 1272241799642140355201589475082741975777933304266145013420313609473131243400 36745608069228708882677624805910067826665450847981492923664745941321882336 3443288684918611566812234046781193058102345938022509574366464603729545120229 1512642661438602767975398847427474444039581036176003511682514668223205671916 2491604642446401720916510363253716588840639913201240215191953694798952875586 1426115959376215003121983380999661443949938974043438191254648285373208787572 2835102977935575026402561004838243316383483196188732365261388324473787987797 2351864462275620147959700184004399762398082557779337103676255473805385198708 3132343701513871302741052347348659123062449025160865437269948985778321717200 261661498752877673168635399884116791078390643994715725538174157017880536509 973901457582193014177445899430895385436224352171183931830258432276940880125 3191506953112673173001470814479494509867482861966929668547362159635677276066 162681299168466082491601067507261696874257560051876356261810455853893272342 1217107464112468845260501288757818636284418838704815867976457015567156033197 3605414523350711394760504160794386148347873280735239217502587835300237121468 3065185080909896600646959601375246773293775458276963247823113166584476465566 1996732218511466491142575174809982259625289889229585686509837402350567777771 1923776909593686226914110508542242057942800369084809310556445177116944468130 266465455949782746777071598619011762373129041461712091554198880607030944348 1876009764450148506066918976987844266765789682336709641865515832779015994726 2909885016085775047069884513187888600761581273648497257709442882699471823613 1449119427700007324367370464941647518213253628270287108049497181129502309990 496879842392806692740940529956675962536407165031400376200436687239421017141 76277427513687367343083196930570847124457309952028581013640765525106692071 940714250608939107495962021922910611025858714872592261875952759538640506589 2402530876498526944803392667006149419715340649622965604038735401326340214153 2755645412322811883645195194966435312292119573922430407825256856180569988165 571577008565859869664522420310182333229236876967310278767009745256704065388 1958720010935686720473420203404722220528324606484817378303403512701772480117 174 393400322710486731916755042567666553125993070177 1423182308512121383406140871926314205284300687799 293917377033364064485621278706235612374720886314 224985200808568087283347115224513888981545856513 1175527056142673660760470671492186245806080186022 1184486071209598259381683959111797127285312491658 1110566387841244515543501903363284576039591083161 1028207128572371406010836942627758908378081471645 949320995237720668938024002345359529114101717659 702658626002960672756021413254974509979252664195 62335963626610481670180513527926878465585835138 628708520663414290177786547326615668077814900784 254082141760382397525411010228311799094410459003 1370442446085254146141390034021094052535978226004 614000465917339532175150223474542567006080848239 81899134663654819798214761181767871201013086202 180752348827179132290071676052666254345230926893 138171683859354967500524104900509693281314932334 1830987822028739857507223996667936132925334390484250516135521715699921333217 395649903605464232306365157490847334847946364091202909201779247260622889668 2510002296601311205837224965173798001549898054476889737511800493600265096125 241087037685263236724261049434682076007175993914612994314985806078914729340 3180525215243241308118433634917357260978139286558888871377375088259602793612 3497479218112447871821597290670778973516879772474522580261172033943017725057 1312738659775329385174655144267812739520634012261418944714318859479234993771 518233093769643682504946169290664557888160613972545173458251946089871545458 771188630661214648098707990692292417563252330273350377481674992940037558190 677624181004360857169499725428135911648892170908857097516992061828843740325 554002280705468287470959874133375276269770917002376221494672614908914188308 2239468802379172465972130240264250857543353674201875510796756326275281373196 219910466329773231673900666879340876123712071107449999668225338186406101305 2058812629104494256665104651184191724672425773564036466093415796624783489130 1619003813093888946778468337116444115601857926275364890913985820621479398680 1505312681133183820695042284156278387569136338826895078695356789907903683348 48668620690794825008851009474438470271049284439805709874700850015520098030 2340348080992777776880104333100263999265871918489609190365564752358405863343 986177484769452760396284529165598846061935270636755446917236679861658789649 2324122634698810471750559775412804688364176088927620993698389329935044207560 481751487888160434902517030060757390330604719504270336691944706998181421973 2017449247590864038278294901611919901520015279304301093737969727914579126637 1845023767042396088232837006818431054650326175540227451137369996862692064577 1525807713195166217819184748912276722389693103593526632062873438265387695966 2193307685153913651428411435311435284381419752641791995820391935106755428141 2457252513668307393925628351859391613676431859578006081345622934901793160156 505710626346821268551205075300081454613375405090911955350899511783996867181 1656136897197678812024757459787552461530679277890167313649692489277655290716 2461367249055264118647300593653884373032733558827493612552395728192641834147 2258627036808850780663740122257082411474550757350929927306774999091145327034 2927543641764836426019858720159806677746650487441717222163068034222527800267 2213920354894468131151899383886293318492876984953062208376059461945425420338 3024970485182448926449478491698000639872956878023092347558963456886107878012 2442720606729699297825298975638595935320660132774721603065587431678947310480 1640077223028104427926489767383082183118340941350719748992788168853647440241 1614053595625914784769057352562933617544784781237901347119776567452631251424 1389383591418686871857849159238173269298291154292304445873560604409060753946 3277614714736108441818002074290885923221289249199372723042772971463478580457 1808830922229678006805329393947401003678671770343517910913413724672915147233 384524102080654953536031337923008977215451209355485479688369471933771262657 3140249609345000243657713803311602263047526786073788506172330304333365997377 1334523390809182413332960276589530657213817258535609673420645160178011516908 1045866271483548434266100313714719817695518307226817792713555880401750081765 1460873171967431823938574970891255900253756116273509842276424828986408034416 3541108551685544113549654923232631952442227655297971597564477372304569186804 1876242432521823840958235609578697886538643309772014786125650098360382379613 950661629359726135143181626279456374221632309529219147872241143308102956291 2517813339140302370999982730406186406606873315352540815338071927266500932576 246486507537635671972373814616617947337953971800851016631177913513934736069 1665287422276769887793169822291128073945439528561439991050247082454038879703 1845635729224009103231829348216536307369361651480973746576684803273397105773 2590287428071111358784931671355429159383873379149331972278726028215818574483 3370020198574925464413146569168555659257792258788687855528737687930074376136 1487182511077724995645690648296965334250661321771963462073702566894737393338 577362252570021116403488362776539746068904150230692106177358874058217932419 2878772533982955829029766922158299070499671452098901433875260584910105448416 779580926978500623556516249634454149325124282798827544769629582879554548348 3500118239694508953530380977906620730562327374619705155903511584593971770474 800142964179136158749111327879892119597803078068038792976847852144476047783 2607829227309521599909217843105596166375895123684221147224329589798181288812 111837688639663820844018492437934933384974245037961172958020904517984127592 2343461102656951590723065697915267021196025683084262411543012527773430091865 2357767302267359684811806997631668173818598842486571305116461382368985043380 1045236415332344266676884107888164636771320216757579522061095269415950712036 2006655152022087966401332151380024321950446503891877024389216893706396503904 2760773876484944193293819622454945295446694128533486024586916425980991511412 2088374203227634465038989736078287980669701357700043169693987708606262187193 3112647822052313578610021960306121249977313004647968780669409505048053794410 2972785546829533149126967552086509677297549649721985484972328367959595054533 1588505634943537044075956081608328205021690932641409554445619745950463688258 636311871005081846425266474656759539884538569147099374266551251586378276893 1871095748619538924568148662842554698963407874289273091176956596899975244530 534849245323036363940755383301442731490385591286763986177817466781047285855 1959427189465809861383367858360382046114824513044116868119826652821710470339 1045542931508946631254640705836855620006070392722438635316952943234222899648 244798956708883360708099254868268110817829111664478953616445571987280251511 2669249092311768932415414191736258873815380093947769800874943084728464861372 475089433260466803334915957454340729263760431380385978182861000960585546312 1780240308872809582491212062304375310809656278385545765975843750136801452771 3126040879540810982190616346056531715711873608335652334735753872547201221075 383985167574757858143829482423145963563712241322739564260873134421797803475 3372842753576599310233059936573267374525681642215182659941642198835665183072 1991666484829690021315360080471442301816145271833682861560237529607355527705 2532460259517963259433505258308010649609016866115117066991726215687900784959 321449126375599227730265515093668867564342130354884722384529212594304431867 746055162163133984632979078156031616638515035124833160644546658628234565238 1550506083863223503691805203385191115350564698825150751070781941431548682744 379535680939003766947845715253236268126806785225796010603445187317694650115 175027762661039222243389236086816949822792538459337611152438766744148205583 731150887867784492114476477762670528796061298825610792383186112494557594901 2800983725289343968033571211989700400632598575772733208719041514683274927082 2615616614593086426924710724365378375620870101709103799017466133507697637612 1745465172311216470566551535617684319837530291319207065680962241354293760696 1266698670665385123940412904539154568484766083630520387441106210058397887911 660437858122890878462133058205927099301056001082507082425024378887403656198 2261967690643021181966198168922492595505844080515858629275778158704091191540 255392739952764592520017264735059404566370072371434652766991076865154097373 2313330378756807035045335782822610889652073665182915288263005105845308474178 1375203712862927725744970211243004584379166198712485004682339489892736691008 608763192698436355968745441594993012249031882644654217062611506071054237375 672578683935538270626822922016022495624439166269139836677440473959764201685 3343243872646065637630665604940165910037550140152864290237592594421405039433 2365252591887918643491634287686946634406578463520297220046802798598788647110 2392332901979742413026861134032187044883461060919100814456688007264545366908 1106981202198592830096294560219267996903350265557828434316908101778036510794 3307441374543491568082621972872519206640636098068463120349490262542270169483 2533663651287760631977711431509562794870170325707758139251565681843553830361 2167812110425663951961217843656372769414044085417557221210313829150844684280 2179656539200213955587297803869001363271636107364305417402400877798988833853 1533253658470566442933891592281737270191535895100505742035050214647584770810 332744156658648230145770519831300276907349822217603806801819016561295769685 2418668084213214123210439954897851612559878913212819869262451428461068814995 2825324825340307668240638347418258914066036425620074955923674720118496051688 746654861377591758224057655220605949654284076196454049597775782882740073525 1997648907815752636986831000398482549015541298594893887626367690299978724438 886827104283246880872230883625609728731698717514536370865010390131528208780 2338973550273757687581523437860979074511755708749725609583407199357172691270 1641791778344295030237507149254588985196008112025957810143817310749886010979 1405401187433111018923888607937261634025488235095566944262595135947888522863 3045641837330803313647665572858396288382789112730390275577061958684152851467 173038117421750680334533683830976176254487953147473947788130641711441991769 352673813622052769097141519244878691742465661680554933540223948984370976368 3419527919201478675532250350383058210510833472738701519544728484953793438017 3514584890974672539071583977961738648574176572296591745015605255761922857270 3016410107131669138871733411291192427416070618451604593529430967023120802654 2797138072041809298177564772113205122252723886494672696621495222353791920756 520560728033374057776398769995035788009822229977645560912611522656248361433 3431622063298354941405218029782120598435109867681201336858025878015788229952 767493446162816305654564539585546157767607741023519470675877104043321925387 126741268417304106217421444800132686825661326030724110471676723156769659439 730248139846928213202628058512576978780452068019992390495767285748198485434 2125290455521245231511811385227508572273775147279080102061747878053009522652 871612470363183860461107016747316502047486638084802899127367934482331174512 849973069989762953691608678095685864367026029127520800110260175062995060770 3421451633588798379301423938510736695958359771542481871146783461006071453464 352124281243384834430115877064844289114551688801806591152857139812580141734 1430468680798035359183134983465540450820331074415750245001124450011421955510 3367035382065351522311638247741492480346723580293553150913180098400760841501 3012621982333472990735613492080614782993478550442656325948088458933169072829 1409746802951707941846403648658874588571515959561315017200513054043732076642 1377400752176385284116742959465599119489278901177919199755518554071779189629 380472742254149479821105325171851860921918282011447531607523151055274337383 1121213169238086862544229241610629880302079949890462035140770527401982719180 3234051932101816896755653295274422687763255962396013807858680288707842819476 93092176623116279943981092786675914784101095054093264253074183770888628744 3243286806240218409074132252276386480103907073702898866155043540916894470881 1691096540437602250931251004199443359577581067046414389310704188525463348769 1739849170330615943781600089715752681656571641760825479187808665904809660275 3234644194398800801150160666319334203952168240397801639169428821076962739747 3453382985209034411826611877662431351846136446516589401781408615021022029083 503838008184714248945658138353055623666800065816249115611697398643213030399 3534322995752973073742439224359198283688060951252251856765471242352307634385 95781968340748791059087403424296110091605413782856718392047113403695587274 1093113354672033105902536021680519800799642625733609022282407692956825708457 1271619615447215704386522755375739186816701139059301714513639984111146528053 637298286012788983429235675591294409871204061004585561310573328165093805894 54 779920312706759470728200088136465104724257845255140519221751110880924414026 2111604713162394956940879287007861224088081441045197438960072649031348713091 185555334426682906248105390537073047943515202759160909044241807115308879452 3230262638778977378557291969942514264496080164613623908346410742570239456580 1921679493502541870014142424184989660526463293562195838584141546282169887140 1475844062683403101455866625982597134271739643648051636960535433494421705643 3028217911078362451887875399132059297300038798941968986929771505682380619675 1058705531611978615160135160553148367145181089471344067978184749525509008503 1656339279062711255182571837061839100562722588528331965583437669429573550652 708425324740518541612454487483510372230637284137105722120603017747704780993 3610094303197080275475078669317705924651457867576039846845077914651739184614 2668241337035666223431026076845101199870593390066799763970199775054768751077 403908672341359800443375479634566502809628753991306846032836337267214713514 1259651825688873817269270597219560698520861079976844335423927764843286067021 1700066239144447164717821282978709237238740627874008903274208150769495143432 778126035044341859711763584122507499991359868187860051847826542817667416645 2144779832621248798694657080020526609709004311386003328135961462526135305054 518928405293984677419285940991726560619711342593237901026297712420561639670 3154651188471038576213473065988958828060288894032715682742283750017946112781 1608905060739201172739091459877009986929362927474311906531115587345863540479 666043212291074915659563594381798788569161018559628130283914871682746037142 1537928413827985368774603581598448224529993375974721351515580321577526431696 2318995309405154449400207440995277485369451811536791810000795067104043998890 363212015132208131837143085598028774145567209055475652852600391002427272890 2913922949909836516490422715863613657860271650383066983029660546669668930098 899301056689786176075691295993627375163915377036597066164412696918204615851 2810121161009528075127833229288101655589569800416242607040996190648827527270 3590022118346912086894087161674329612699781205870261804303433260823111821550 2465404422708151704000804655994964661844681163872681961491533809239083480796 2250054955752688418488728057184730455429244468143531335419236011442363325914 1453563448493603431164676940193000784887373248436989115728134537149717042598 2541884908612192587038732460418304779854303612094474922968447340638496653305 2039291236772218890108992275060553783226409403288887562019967729518045580684 3056644253380305406943411731489951923881217176690280228009233161086211973075 466855881950949509657984771407606034031256211933032396131155424176972888203 632579240005471705300279843847467175008228657558662542639503936953076368677 1541758164153129174304068414865631013237084784755563221542001221175048768448 682908304793057694874555418238157722704592264432984949977006718650487323811 2909177966148053762982603870855454046476269411894217035114040586048130026764 984862777069252132637304610786794916332323891888630132959109712308554992890 2863439511110247426958813245059226011435819852582293637854118497668665943468 1488357728243670836378121354270123034247055354880947979117987015723309836721 798543840520256813859452298989563238107879825740799485799413392097268018779 784665695723137889781232303164272246634328873671970219525940517538060716433 1571423873377739985973531777065822381283092465584907089860542837498638489043 1767933331652509063538150661958366247990126682864779481160715544574365066696 1975592647770345664559599318427151388227929151286121261613945921608795900231 3325256742826681880926137002680367600289695019074501812063991076286895270934 3122068461338457431954754890258240334077563728019830686552191535072610963616 808285025326310500263442387994833738844835540641886773295624681727071687272 932150146486878387868469330807704614431197868591850415475189963941831751728 2992880390204233938107410954788831204812165212713101761420437847303627598809 192996824846491980005724379624143812765540360901950070982744304124311140640 2148612484752838850151105289900619442752115190889718715481433191350851979037 138 1326110154920970774974826599091246454044191690209 679962207649510352999661321322915236431280209256 287766211380574747261545671330546577389639502913 831533664506712390095725536864935234973786017550 926230415121945859726126940457791830634094349642 1341355981713488546885659144364477530553566176794 478212086713459530421069193632405548214423520789 62269433850804190362543898564804331668144605184 1129889976600141992285864968651221530163850713226 753469087890787753215951561176222269645409572478 1361681137856375519149435635319673993360581548304 1248646899390635796450789218077326662363536518651 458127244169856346265732710336200183271812708466 1280474146642108231050126507433044974254671551888 864889974113907772015145901246266496715772150688 1319906855198641593634809537453529001377719288855 922621182405122899288295909857247621835724052959 1347651253740536412370958574179978306666249206733 842072096805262876598383380674807422387152400960062440561455827650165183299 1222727633246310154739801415850897122535124612736322388199094651659891437001 2850566680585407583590460454368812809711616773914198008475005091143372476927 3262502588690272182189662458578463534166046814602917324311276397484159985930 1532669497849045241127068991304861616947259725006959033387565676257451052583 1284651235649879909360458645799011536185226166765771247995992674420051225009 3173423823507032399669481427094360304603238785489739179261033300416507169838 1127290374240716474402477725031902049886708468161725778263177025149110000828 2326037701476434862522231834651803759864493044868766070617886454758337434849 861201158866562007092085245170712611020129002242373736500616932611423643630 2588971100291716129088956744987336826870516219027037691252363274175940391142 3014348488090427457784492816937301029467232355146950297567837727504982226170 961443267542708984811559203933086881932540840178962234467437320219055390388 2231850109239558617840846864379633427312875861339883935434207959746865439975 2312092076349557606468156113721139184027742951049059007848605041509482011305 2953464262203985500982045130151247301366923959163574098780054765115174668872 799039228472078735109220348210848469614631727482104077914003402499930019838 961778732155956160173307227358920738423311521031787076612433413840029070704 242906368041042757806858894237001447293455774282758562566117678588025227738 1388699596333364064838856921469596660085248936905466758759494358455680301144 956739276422540984692037206797156452520320688160599320227342250835920616396 2437531659948541117599838118962665648251386539084300560945383775974256431178 2851146654357380565476664039005738129335929276426566178077552444762630795270 1851501883480362783372109874030269906503256168229467017303119186037893221577 2289249025012247016995949098693492564341185988946353484351477207728150549347 2704079979707693156992541113304738374349526674093941187070382540134343551916 3453170598449932900515603832721518082001395020244825298618014356518659593284 2103241309936137321646972321567065797463721854975387399208846737993467049533 2623198740495150662838324002534947008340102251670470563683487679536021761423 3281595988116034645607417781950880044676759044270938486591678124243413960574 1429500747234908313787075207549256758063942607302072442880625410103657390091 2716064901546477319362037910278999834386112263530082194633482794373268854586 1929324033586051559651502524728587969685699520286888272254811241745766784010 2991687699839219748307932356437704936989912622047760101457740078888086701908 2537436563704934459964466387820661171253983382589691454372662485741610560725 3227014833848486334361094819370121604783119170765376447858214322156668030690 1608448645734564504453698830101424270259848557577110571263273088934875578882 1554357206350095353430129638302532918328128896322330624035369559642090319964 999943212377296859223853838985575716343364590895040912143535209106187050805 2429575222872722604685871841301437304040892221441024848256109030834774973957 2263506059866963045757801773918649837248723825553458675869131223685122609179 1121300119138163710446111263741349749186393610393073497443840192899876472018 1015722765997504642271089368551147621031375337684858178463084419001091641433 90577428862498061139995989793466493326665649283232067082115337172475657688 317888979953736076064527497218941963511150763859580312259488070546411714297 3016635393954987024498423713754754519986786276775911329693798627134097190275 1582504184045116554613841677986381606335909767629956717985653137771983324188 2891114747632546037812631987156543403757925403787166249590781794470317826699 1392242786731518878220719961896856894809490518476205654844650550616201895359 2586329602608737727883326593191747591639172140435740253547592565768235622378 1698416161770057719466405941199473634282437086083151850836241921452657588832 2189528159531554764924998857170739869730807155627785502246339073757778516005 3318891088408793122627402788390489446012395795957014801833189813042794887265 989821174894724165052790525283655091559251850549479869539382655501070414517 235821036702306006098188350426611548133029098628755064337738831277449757355 2492859654665625163206213221910773623063020796846363111249461522437150206616 2697325328051618597891574594450110147564759279440085970639383260478555680516 155661669916248195549351160857124543883950466976112317308323046215642281477 985982933837981446816322114345306406925717330810670628653732855147029269718 3280437279869992878175661453314546275336042562772421849351558655319027315913 2640821087189419125799040457125554389086254388707342750913488967140028099996 1121234440730090757319708678856341373573670394565591294089027745024775133300 3128073537459576071865271180372855850331583684217948613625767319754963243698 1019878559559954290086956729692008592165770142831416717126075968849527726453 3603971591788549352837377049774895102714196799307177274445115817292870434146 2543253535889010748364146715621126821440895685064046755796516111004511895072 307389551281077662325114058598141776477295730683058263196052596334667230906 3040064498747030283728716596488552903410164499031588986715510072807439443068 1377710934551517135184370430122288215911787700421865746502873231002022872499 1116400825009016296850007612818053951177440976161920800978508537663854695893 560874216463714279901836151780760567007201494588604320427344035347968450040 427305106637158313581823313812556455259714196347803899738667104689306813960 1682938503153296088842598413734790991428823646848416592522880106517564264568 2175073087358016989513179767348498981561246310558666135808971847979002509061 2112007723824120314188424005788264646944670640486725910600459026681182399732 2520778457344918340658553694668029293201442703156670774279356066965100317875 2759369429361660821598266814301771879085983626018003358518499956836417671122 1100945769619066078845171438513525041188943157456320005024607767910767914354 201952883128949954071530635002511800709957271652097456348147515251434127347 3086647252138384739387552227441750217141117301639483772825005185598765266978 1097046944718506293760121799544936153526607211132874487014401724342622160386 1309119703675773326488439361722563248089425666776669957884388509005564961656 1162580849221233568539011623038647187115730618950690006491307475479339479384 118624848109830391079599584069916807334680223391736928315309608168654458227 1552241201188146315320967128686147029746576682570139478450628872734202357583 234924238126226891216668659944105360257451161663650362573995683153512528750 383260741861588142023970718427979194724753966056003370728004287502735250591 834655854381019845964622871179143225636612772976626652346253990375424099978 3095132332496330442044627370317133078350032183216161058255434232382711884436 730221598122463792302152617736001687694502751280816081933440558896539236356 141635205904170144344995415346830839106611470550371440012677490509552845451 1665125579103718028782021367650611783861983395157100045852074485666688854437 2297652757384463793499181726204835509220822594353562213981381635463322494071 218885048238842994343480870123812690618495931103673514828895232605860934955 2760987034869183561004787716517777574456961612130349792103730192790181985327 3558725909826652548363675609061413946854317528031375667837124314941913518856 1436301378073989088937880804033492915248037380706521539315027734864298783466 1547076828282201761191203031508367897865677465268631226135527517396404184248 2536488495707957559103279130513231302915002036788170806550819388271607180774 1852919510606140353058535812760316188321648195063863167950408699561118795424 3229278739868631014935705923830348797040951936456301653964059463952615630879 3452669148532986761737051400709464759802793713483295337060090470763314086718 2184951739875145375363095572135754504669858330886206081722956685209416155659 3054313594735513600949274709276141274630828801029108572037478269491832098762 1310305638915661361536152135530959522347447359919008768093409729749287391256 1516497083517063148325147717063706131549435740823894317852549622370790775793 2108030616917223138341989923877956573114930774468752080034976729048490310427 3395755964422490858777717813771784630681355522459213793834418478820239039551 1689990435170065171614035082492359563041294475212446861858750832691665161903 2707292289394707450288494778098899054737367847964776033579034182308274344169 3171130557964048979105191631554571730857554035646575639881559114241460303236 2748217585406982409972648323759329410648557053237845175819174656728318738936 3303042301342815921682004728028701481764913764789379542774010362307369472361 2455979206749768092161751868260138350382423082521109321549954644621129503394 3347732345723291040230391103710622700299450376017072410033042490884375134436 556203962269965825183667304560535127345038096812770264598770232399869866752 1594815385676593117193730520145016844551224966667871702258859755830776852183 2518613062677920371138298389501693818284279702171823445318865621384210309947 1846172649290042906359158916835567506033682204009378285943164484374141524788 1366603130018956121903993680957460834394527220776465813051475044421960489957 54 1797581480223440919966857475699463130750585175256841621025316419669871483182 3181476979385958228155627686887826204991613305312375267198231175460430445525 1152270638563288468627552592375585829936367324323242842701506729168344497286 2139678613411982678475705747845679887135304103125355156484117595394312560392 69852900040189342492465874722369511967225624303072816801797009554497960572 1462250819847926051152040331269465859656869117740547938817316174734420515907 762658875662215621363447668190034630967843039492028710603019723232652844934 1341195347652760045320998495688357549979565660264025546952087451553809352854 1190138133957890584967351738608836013453780204660601508437314395168487167163 119455248354698163486801194926697676037436557922892771517727628653941737561 3221067054483251511922144665682446721829462799251248666965620309133802688202 1345463000419797085599005466664163098439807549768341410808212390537395306345 2869731647987474455220541555527518881969902544637075717979714946587988352457 2772565866769313247491456471997388093349312797699505170164501055813414891448 3249085256421290194226829873112259739330179676372838773397558248315995310669 1091440012432370042914949943161321077411702846342710457131562519137491989463 760920825002562119695526552797128999135911968475551566610941782692243822039 1597820092058227580069489661641050884259496088646029846356711962313783708839 1289707105973796572572774818113269740656651617751646218649475136276293610622 2585579863192528125834312659536796594518135385908133817790688054152092092454 56224092475291018335328057099522192606036177364300526942442674594979263000 613073306099313901985267709448600844265725059982281030895119824055915043678 464180692655183292094749342322019315905878411058623604664150182809624860354 1985868417783200283337856033671162639179391607511695365455469312759650806841 2502731448993302687541948275659952187476833247046903073043640465189609497624 3432068534292595313467055842211916621112975612565175858076961046005643042150 1862346818661726799499540466385613832060823272781471285242492857986308072314 661706253222049161541588963733962417645588690952223796842408966521094807572 1502744559981376609764849796538592492603466723089468237669965911422285969143 2685836314906535831312739842598036258948994370832883439273398644455083685072 1692911241110735011667432426151821223025158007775414639175182778570486113287 146876445620262587099331839593101657420690869329755569667587386969712320655 747535946040506648551794159218203445412013242826313467284484291346808005597 3481411689101652177870539881700874018169930423784938966845561971196048933917 1772719662184933848187480802547096224235895342412538043749262064551463520579 800176944177234129518637925806624280665525213277892635919494450295197529537 1410756679614867499233333531189010659145394379146910962031773336045986498672 1085270746650328146549914723464788953372473829232058258576432781402505648915 2286096947330404260096901257637613197544938305924667005195089588807263104636 1892444560167268832741750422346725029908529603714689135574838673508564167195 3603604366643189037016145799045085378282078069857170852893055455297689042468 310457875400318074046519525330047908101732604067171779423414227317332326302 1381586927700075758923983220550141375824285786980581963932274770821807810434 2204353632514985047002637348620178008230317018564446887870913115509876336074 2075737767024349368545546768997184452895200772449939508724377407189094901788 937364409947377805301404804363585784993134860727806715999447109305252791787 82675808410686341772965799960903490650184118838647089761037720964797659830 3236507292148776813690025482955580669189307892318489805921325125443238565643 1915184378799053405796553574584251488281526725587935834511850664607636583272 3392438589588004507689873850150923920210346257902601935009583784484456081767 2903887068623942855697361230081253465566545128326213026808732575531995943182 747347176893160154644144058747086587410809864121881202557981554931641728453 1176769282819015530790890473840861403701303254886171876198179152001312941536 3459016708982853184897677020972466362053185274500473297529587946499256237023 102 1400499937099189526137573127707225275636627419412 689137427618352961765996207721094343089219579202 1031547206068279905892425909895837004361295873283 1432519268506229494822131089263112688823375174440 424367544079317804502507403444962432837642222631 1428680432565761058554721905242315891537134762213 794827253184856082795886875910077384783705266907 336829475980599883633213799960688837028498240780 383827617598932942811700590502328156847277992748 803217038269610129353921076693944671666904902544 905139294818310291197545282073886562374475606708 835627761661707764844500331630369618354104833381 443930088635013738664955851081819158431485590755 268298502454063728822013897688915832966130847670 240453443876454857026684666278280122697940324417 949229757117239267182832407362432831069075429926 1709693068934494225498202007602733924549378014445455635838285551972256472 2211659330179703282692965354529547434562342211715816325976515324671677621199 685156401474281643780442406387476489498504590731325116051469224187394767249 2997939168336325815123661867077582671559619467955365212260188345705349797048 1487707358595262538353806581587020352294169820850466454928204807008956943931 2900659747936165272578199960485565601993637145992370560638336301397511297063 342496896152782049759857831590382702193753192357377453905458501757016927166 309715261950474239023334644173041759033871442457891658881113465565252000588 785256744980663823191480176812627710990647705962021964195769983886355645019 1378428773461135357531061755000616251551844458422329322870941535810699794424 1589202299821855725884370970572550530388032154990677581357518670330395867474 88042882140495214978874707666652683748100252221160429723890523785306591932 62658985255499889426206115738951772828202696446524064558447788104925631041 2470024826936100630825508277167281033926699586929005246539063502824043092753 2764237944842343320156872768192793331922827670070090728553790006414881537851 2219405519810902871986961740126666432753556617360839646380087486560792836608 688229821305346651912686131254408115791808117819597010496969436740423727133 3413086084665574511739043908922422828723423724594203960850239291390157099545 2641423320300540575797153559076763819997662421573908764436666873878934973576 3146660958338436576021045788932899885170010204149762141937842676926340217682 1503946449921949706487961155588265950161254141318393542361534682122780607345 1814248767562198730215521006701045664498289232764279935718236265125492408372 2202775966703961322856951133132142563959938172710594935913180623319435642274 3457359009619818919920876218717659287203665362097698111167314129942707405237 1663189740458469241986298918950685582993054188886470343039833895336842790581 2344438614158189945219878886610109158522738593263802119748584918983595487195 1313224015058126128442163347504606034226034150775856474526096261980586984022 3292225568827216033243346257601561595355694260086582075545005590297483750211 1027159924747816641745084162373000482848700915569397730003148384239180115679 354045420080325847576160595544010578092520454813611218656443479156541072132 1645510922452721675559382418217107190511357512992591961082748037390659231357 1810348532870815599710641450418663945166534766813524407928937324460710783559 2305382467793650585593866435464332914368662293750114411728077676782323741120 1356482523476701482937173612349833933411073614133275006547803610760427615540 3611864131700901741211278981235252583303905998536070134406026929323884929119 2082694553739358589418345495530791023616985310263904543753119045322896728449 2581194011947316858012515274037480538261789727880406452017996595401023878736 2865052512843044215677588091755662181094888763602140311581387550272631173322 1536896323512382643333975228005347506289991194337620423746198429419742565983 2208175533294557706100418039177985670291698925914969156900753115352530623554 1681336700801975470416778451523023220471268861668159395972197013019699544235 2487119052916977091456136063869955232771035710088282463083051585168519996461 3404229032906645301427078143172416398983933588064846737816248441763738702362 3345880343791174867815993598042899085229883117375668602535550594332303832377 734013756808896751922918479857783157558620268294484946452462954356387608663 1099800289687630749322850596075608627042953127012331105955895975915423997981 3142156198293752777129783931452339824398584737088727624102529033464376077095 1699157669017234069433678632897933359564934374117355161553577597505861890063 881218424143550431622191021466555292200837458880196807401378278413853179123 1657165934269228360360421155695512605724381021333606037959613163829258673807 3361504716435844534311100938068092873774161883118864313163369412787930879865 3588253036272661006093391009524799445235270019641448783582694044608855092377 1195379148543424382889104037663664579733018419928272382278434145309820064933 1044576677109121106007710311103784465843854913593093048493217173858660020802 3106974256632823747585332428753453298178543320473195396514817768698003045523 2767625591843085003240334819340519974625705645943583744502023744243326757688 3253731766279112633637628380007467332639787013689609752667172774610512149584 3563837214002365600686844208883316841202119550969697948568350031013687006891 2371363788056628626355306474927660162129837441581784762197821248083710752319 659560275680529162810857123850238244010098330463689829910228678767729449096 1616774335227882726981417425817893093713464877577153038295524371977184333798 284324832541799807057400122581841063314961287565771741686367939064305872652 149718471380822026291948417999239517883598041904064096952332956649358707193 1045366467138959356563462459773457797610398456885406787333739302512443900005 3406115389306348892529432675853751264318345588281143446014714943880023271250 1840835855435153911599176737544719303374422902270704762076006653872429334994 2586724262202402597115100463293128480800740839049053129536731422694423509855 354333449547054775003125210286412204485811544932076719582770474510703402326 2520156499070627401389620946613549787762052566737881050951080187017041236416 1189869632261191582096979555859078273433188028967333368304262414664655222691 3566794869951521289221303109414711067616882180445757637848163976118708637831 2999585990200382277280625339704671146662822467466923673534665586541985354724 2957785133415750594334442353354788822345426299207857397304854469593141683074 1467671835665798252577411997666400078263484989716346594003619067148719973773 2153424839063337788332042872202234049020906174424194306568449257315331968568 2816751460322737787403080258603085662971147195616944381071083308614975042139 3395545442475790969832461646475206904034325355496135095722899723295494887548 371289621656676092954039312378428240228851108737138805274668695503194490445 1191224241378559540647314571319739714610100912039923201615724928572420286736 3149724365298763819324805144304451286152046300512216964457403388431265957011 3034323227276647014236556820183241295493085734917892514006634865640063330419 1024502368117671725585350188827897483771561704419514215379866455368957324131 3532931387486386241991044333999301159086406023221814677934804349577559096206 2740133856320867099053814680975348021830246584901762717073920757856199623791 1803637481552030313220899628567806986855000820112425177846694150379275235908 2136303086903706230711794934968401318756642390391863625098594261836875218848 + --calldata 7 22 22 3 22 22 2 22 22 22 5 12 16 18 22 16 14 22 4 12 22 4 10 22 5 0 4 4 2 2 6 30 18 9 4 22 14 32762 32769 2110234636557836973669 0 6 12 1 5 37 104 104 106 106 106 490 490 2538 2538 1 290341444919459839 46 92 1 290341444919459839 2 4 3 1226245742482522112 4 4 5 74168662805676031 6 0 7 290341444919459839 8 1 9 4612671182992998400 10 5189976364521848832 11 1 12 5189976364521848832 13 1 14 5191102260133724160 15 1226245742482522112 16 9 17 4612389712311255039 18 5198983563776262144 19 2 20 5191102238658887680 21 5191102242953854976 22 5191102247248822272 23 2345108766317314046 24 146226256843603965 25 4 26 5191102242953854976 27 2345108766317314046 28 5191102242953854976 29 5200109442208333824 30 5198983563776458752 31 3618502788666131213697322783095070105623107215331596699973092056135872020480 32 1226245742482522112 33 3618502788666131213697322783095070105623107215331596699973092056135872020473 34 2345108766317314046 35 37 36 0 37 104 38 106 39 490 40 2538 100 106 101 106 102 490 103 2538 104 10 105 144 0 0 2764629743498766892704300083230748068011340340362374505415148514737953556375 381970329659517389536461531950842031430175492973504008611879230744989020339 2915127294788105309571562527975922176856739937049536846639916832271975035368 135 180008445952236600928847481266590135930228661541297285261086681138671927471 3050072195678287257563233935364053287160253418943133451227617637397323112995 956464287449158124465324308677800041968125660520784150844696195414623756412 215693466151550462530656035271502075468795229861759772679589691826442599242 2420329720020286749244807505965715998742083779391658337164029612147310573993 985119831112477399496969255507036890148486606350799184071337618617668362490 3601977539219258395879244520420440083186883443984470768652769342382898017068 180993753175946751889180054185293930209536951421732851165108196838745098344 2406566170865494286499348319980703829950378735751146476590476066878360569643 2309181411675047165188183333653087164161605072915127901449569975524663917225 2565117029025656083451626704046308277970616574580069263490727908598750556621 3108401157267327702100160952574680519062321982684154969865178907607613570557 2721452196345493411234521403274003224780303460461478234172281170013733072696 412729940389101846139040019473109799449390971098510660697496416073820514544 2157904900855513512029992179876062992503380561614074224726367316517856225621 3088013113187543487971516838657283263592039068403752100117697327748444409691 2170755354593190402696512558363318541891725201877474017916109215462479596825 1808808861725366317755675584318308834926124850893289618592705433956214046615 3228031496207950750294304853644963140682366692046129710730873469861791970710 2796757923503331799809334286460054934549694503439449198181319494714744791587 974760242334547237703695461527391550558628065075745646011901381937448327231 135847929506965177519197680860003443333446879538691800513979960770869802628 2667222741852732886656422321826898399283361266556080415930607877102141205856 3503324738053202219802446343224545786393361472577136510957929115154726027501 1782550118194237059619392310690310522908257954856103648084861560033867916351 1327499452021549695410892641775633957776788491590688936540893837579603560502 226377369201945248194453247446472206969492273466097618186367352749183392015 2935512372405394390701049594718029043561307412855440955955398943068058624 30037935017397718247343254860628916100416323075449961236109062260410962390 1671342013377286507169235849675001233654429368886986038871605322677310937789 2616427169950325044142039852392197444068833540653793848966528648355337044136 3044297967951442946509028420029237646172359849084933521299918311162901153865 3541922034256707104685285367926373884926625536441659482310596328588372593114 2561464502663404145214548174533639704747848867606499332279536716805076160860 2575190796630132194546897389723633992663166473122806508991391975465926258369 3020594933217012102329644020495663336857728430955867054689662308295375456002 1665682846158224256402042714866750909404462553903793738128833124367139520218 3438696015332153014703531783125350476347675414895849276666538442770952416461 370118902586171720506725119373477218740451094215959787388316507015869136056 1631288379558279732335070519525237172134675735210744503632766171408526051330 2305025620952541622902290510286934070147811236006579256155280812233667197232 1670047033603408097452903848224177201886691814021415222788662111068267415972 921546782886745176234598818020248586116394947273557412953877064382666854532 2337602521984209450664949634800922186508353790758163267991142753985279646226 3487237324116826310659039587094783643536206724685703431243545604981679647102 1374346699551356925706894373335837830518447965252881767541956613769420881121 1240312657027942058326840779254807731995883330124278298992725428377816968498 3440665787366565764656406138743090156991807902641786253396611124533757313537 36440138876912917711226455297289953048417449472782498733755937775190582897 2764724399124525295983143848591946388107473165873685495597465055015641426125 3156252124371146799293933528253077176981576876812447817915190999192150979472 2180647859182086357140620141553653247032232988571617332700708956957742423008 2438953881034544262722243084881291999190513567558019395748635175845549171764 2555531677432536488383871875413949704148183150199723596989376280571946510754 1793215443412629822585156691406798253544248219361299942426206331307256901702 162851487221166548173956624750595971357838350456170334779685161100435735003 3596194115601205527985747529712655061908165767433353233921996920205760103949 62637763563816523269768308702506233632004372724968256350401474111945166829 2552194979984387088723413148390556634254967523601117275441557101435386925778 2796032476832002210472293946444156707350447480229925049129888324808725134727 2668836646943777142097515146976039874109295222695138038105227343663292449185 3469070363495350577354548684023909001746246081044666234083558899738371559951 72907054887999848472467055117844672150627913138281131760073020227570697695 2861237040886713210021214360524523610318691601735946137914851998586464820000 782791186924212836663715223224291238420901536897622550215006199800697843066 428902511782543553842195234829257844971350687832407056906175485969618284348 1464800788897841181056192829346099056505397980545681598510746164243921777377 1633748328315553567019086424805646026835395885013377309605444710706484771059 619778663856317028449232053854626889861887191611984948588995145699006624608 3162234164942702343850995676084736339826538999378862020712538356778758322408 582746435956227695555573026953646942755199038104565869536714187717879101627 3307317309399786043227634557373688678461131259814203177353108878136392292744 2154689474521535487802625957587037983046283778416700840909967063676555458321 1090385819660855170381408062305267169694181405615939521609420207230372739799 1810648006230274927606579849894433632906865920220138430688474634204068305871 179088515076729812347618768054672353323355787132432175576023308806431922484 154408655321625509315709163519322634280224750004645389753319956678087744609 87928269198875749330561638350871891787727986524529550794457868386991579037 3247396977430165595412519583980592129449240423332828279069148156044445476401 1559905540514616869610698421681625710411487178312250791431110545961945400812 885023658060282801605068446039049519501191239940260511029073315482101026725 2501586189139301973021611760007183884224381617091093051283280465299285916173 3280467358690994960393594808744700735823727330563310146939866393253881867598 1890968743976978561470096764487008636922433346314752766028121856514596387052 1431567581879241063578919780312183831961011642228077276202405476424138439453 3242946549359240167940918607137281614380602611368001918182764104442934173291 1934673185619978315219709780283127427470568465502351802249490346248814131000 710043113751384930564593810572372562799458499056850581014613481143507789163 2270483120198392343126978202052894775978021245960187024833325820374587913451 1699344399434375582616706883633458464358609878529723162645909794470523696922 3424245457457014698270562004206727877998676971022619050974057149796541227463 2229447681557661054353533086200193032738984705228044526333996087189671208914 895206707555665589213544500574964201865336342895667131363772017774422926252 2030610648566497773056022291373281972192619306254097223919615717279645910032 874949935113560337809903295026550042644912316169337507471893516620819321044 1439978091849618046167338024514416482328970053772259902303913892743719004985 880185086834052768873396488999852362774331428327174720574876976467166558580 1353505995433986602930778949060195131401014651281796523433561890162315013967 3520582804776847330390049239386027140282520915353439652752948220354032771053 2793871611430159689378523259139010352480137151110032257169174112499757355335 1655059733634925520969135512312088754441453080819505174231498061861797275565 1277530525659754251135708877392795355155839214776040471801188228869920790922 2307475894552415357731559393853440493894997662354651199529287137404546033104 688670458958112401361268243640991655345023399993138453452280063678733866924 2074117265813683634161736115053139871031240762088082115129608534768631591685 2360734173347646854989902185470124776133869710376574774572977487359495731101 933783839527469723147807576219839225176063741578372308833606003582656259258 2985883830430784571664864167287718279084235078185676061277222645558735843331 684348538864588905315038334840106354901412904942386296577207754401391381313 1456404392771325501374591286780856442313803932498281805798214761951804378894 179903974917072219972773140426397343805727901040027596226522336065692001755 1189475665372138114913820842529353544728333772272776413448590067456194469299 1595106043088300382147186001929843540598760222102750383179565554318957824758 425248365376404191303871670964638454505269623580832442927413870005328996981 2902775711239484349524638590758011841291947953462143918539776915542942242870 2571667590614300964437977499770478731799043919550490674690486792651582198713 954217780868209481474682035841131620781497121012179701775990119383956373668 2128803148799452715609094268832009802609005571461744293664005851855558806723 2307225455325481841240887387777228788783321662263518887425988010039289750373 2186524917933401441046242312510241450112603220604178974521974941205586293321 2266937649622101184147803690924060823308500758910082900155936220838718718666 3159534720454634500267327051559693725001258835737487226695005688340868220436 2246370169621457331755298266799213237644443489757171837205041156665800941073 2783482186136469000307930458623190744005449032809889502259729896991467241266 591921733298027342923529709240661234374799555140389448173667651080291794870 1052765925693717085481568955080803341683521037486764762123742900156639862181 985450692853798261501497560823356925522794971926315465171869302941337900956 2297132301070680281576600756159426107809178238850102394857370508853940889202 2941729520078769478789186156620163646306212802393927246985831708552176560312 1929268141141309943108368795088252641268967527465615717471226900046839329981 2259982570915192845211615019284096124499471523762108952711189916087031626138 67698994391717713718092251999781395060199335951558658622210181034146753366 2077482163531748378916347237483307927186462159182871203567011565929411115540 1478680280914565202349483066554715758331899903550021947612246787230492070836 3614048570510935164320127435635219140978435201440111288736570339410242317490 4 1118553890591560418374579037472656712022449604384602106944817354860577530310 1854579744649628905147494074306465346017406082105816616336964636569358669148 2368656657414227119856594715125798559471653019831202912074487220145445686542 2851117264458257326854419619761936613661979015466746679814571102134489508021 64 1995568420566319572565278362532786905216939164722878763243573762370266746822 3438600071184131926686343778688944213063791885511552724506876340479248924581 632133786012129042589053166819303812508360302633222122692120435878949656492 2268740161333834949134234824983415524220061167012951580517225831500514047586 180689234553452338537664483904786157303618965457392079736746155210196301557 1695264026622992013143325325898643964695741718289197912474494833167855656799 2310381788266772060967706543295426201501721457157720024871158407659737371815 2730234572453871749629108725725445743666917651622744940182164060530450426990 323426734974155880256433427409778034736514239454769961008675331890135517905 2909979318357454514677718048636040019462747365732537471550196789577789657081 2559630017124718853832653251821629840755751834985509119308077326603229320711 393642457180594436649596014029942052413851913994337152685778046141416615770 1193279386983293187688751446988082859393946515113217146449336242823536187356 103149564838158326957539971921097057514795959313541337057364571388645329848 3334392737107853652183578735645585709945549307092528194174039672254167634520 369740371597584906652440738363681542028273927373433405034276482836549034391 2591523506266445770082065432033661594410294415069496022151897184783262056484 2950480127990395639720485768199725357355053765697579283578393297614941754220 2850368411783728818690381519150901536131729605100300430865310146500509116099 3232894520243079227487589649448907920549738101000077678340705090140451865984 798841122560946739751634365587554075540862927837804469895634285366983081032 1772845868089996800604429862384774220072753974040999421303729877913074544909 1070206021147636010643001711815859970562304745062016038592465925132889143152 2487947835186784911036625071014923881416582953112883914865790478730721122108 367902227363399523276889071318506710726685376069985536100599798619332450808 801144434836764204362458103979267637793769658890087968061660908362916376508 2594624145791584778468601711061557140686813991116686486356741546373158673239 2667449215460265704436187495903917868434592669523755620383936923345229007065 3240982097171548348028043477334635113643476105044952921810150498469851853146 456749091864331641721300019760412912284361915374731729158738919260939241205 1754284383204359519401942941836606736015385420742722457472263325262128947724 665013626291137464875453256497196762112342804337959072755182400488931271529 2613892118956500529795311464998427630920849659567770593836563405855190239572 3421834775989132609312103663086356356709168518745848729141137450720522000195 545226818893504826082409451323681310278445062080681972644882283773540077469 972837099294010548365318077407728321823524126531274318576254267207332723444 3217104537224603928260543489147462599599232303226630352922804482704289093953 740153532815311436969015443586535055301236751811937163603305052102462175883 3235906937056670425479110043046786345136457206030311462532197488659366881144 297568448178534952836265934093808351041061063629717038537644242276314546019 1571667609129151161096027519863937616851300936052096764100451356032619361350 1516640936609660535127249148299937789774191859984340097864584296280031527725 3567069948712689959311326770477969807497437358587986553850370797594671941710 511678778128307954988666876994005571971836078633439553284118336023900313013 3187393297808636569346964083261961106253812867169675551139363834532125597989 320841358123576189990711064996897634761087220265043130653994310996845497757 2211081870900881254514458284068885732067626769700174109831936149855557381520 233743811002883092573485937343340101550246375959798593772447811050186376381 271808190829814747503231780244951150346495883851273740287941976640156414753 2055136020900417166240121562887590515704327433625972978529858068237244863771 2472933817265439300094263263384557020164754581996160160327366092456123478019 1426406302142272845480388301931986510487341503796292332568277323696992441712 2798696943375517686162418360868836470175629183998078659265483241688243993287 76537718377675408464123553961868343331945472370723822453187874291956533721 3552778208050948865608206458507593510368642497289352612935369630906125714777 2751524884874956264932131083792944320602662966810501755416734429126199178258 3005727697846420175543645166562136921812226539749652885924163966426078997353 2921742219848616052139454522072102259236038110349181580370651533053649586534 1912550973685734462108193506655224378535567172507723185286552115191933884346 2668307705410382618455822656125470663007427456904179867306597447721798915947 1570885941814477432152072544122914276251580335990563591574038261114104132741 3503865158480225724632494317284459098048487926020964095933002579902771595003 2391560158165753639834372537740411657009875174982748268881651014653189834476 1180720478598204211289591098111949185143530293943857418475341924062280229601 3188825854 63 63 2508411308389425395181517469793207402358245869872789615266431966527386732400 3097365037853834845364386267250559219044479082623449210317188691980522353520 1339037000059702176583933668551141145261746368539142711325705045724982425216 1014367324025263969771941465270862454778183941355765605140785380666608898029 1099333482909693813368940523498391595354220319061610215588472299300932097581 725925098527879784885788644013089017797629723347640026579805808154676035336 3342525642673517221543954844159536166779351039552835314690195179622912448584 2049650864345185531989760034197660726689698752822401357956545724468578101585 2198135351388844751883666426084195394458046748966312167328155221106241249235 1960990607705306357399014359231687924201396898145898501567239332192415403266 3126134894543746465227888570337879040806672144087036614526393187941460911687 1090159527076309528482745258312302023108668218315246544745486690122303355141 2617379650384521280179796294772254808206024836601651786219329622668373791247 264110178252985565570748443194014586086613120855052761023628397949234722041 1671383258594072335591193228924882101301036263406371529065670942121487106727 198748750292601205848890513764838040586185106759129039189179874384913489610 128589797150860719414808087780119470421162439612266835283585191068527167879 1440373576108994434921930568844847139493148284851878927956645966444637018936 3491496657766025431833482419142786137214429878901378965968437243852507735770 3469874582194734030834988932966865020498088240485551308961179766312754877722 2843658632691692565526696715710042488326311058337151346573233324941066278364 282317496325194561541117615455143895554824597962266020594510271979654620186 1670510586373669397846174103693526624696866008241342255521424217651421136309 412621734558402479004341502588488175111652899738589131950036787355235849249 658808906000631458117959143232244674194676351860307112012250230580769638156 2362050487944196306022143405407982586414525576818755101292437552515968463228 21127592891188393230725000775944128811515374703929924476461020860518363741 2641776808049651160196001038606110912764147972018959642542466447548850602532 3375192813129275815851612441479142063365233230930843179211173675168798280813 1557679164406431766561511013042449840760058580789894180706925873323580239408 1010804037709078467700910048259601814184419325572068188714151081606209872570 2181350948788805292600572441948194909711207192403760439974516686524568404505 774745367383010161192456832304638784518500942992191825447651346234011149794 3427659037180646524809877626303991333657842460281222328641080299486115846389 1190411387110604398656054041595892040037272813854439255632393816633006192246 1819159567923468843707651162810637763553774104880783930422178582043890830373 3014838781064272885579558428578502556633648630732314067659750382839745571558 546816485411238038440177338224817923610283001364130799512219669272519752005 508347867051064747509459680393886557422607342581233082705985937318628569681 986077584146882101210021776502298946962943055549823035230981607341633077950 2962833912888912391488535229624705635701991860539362206032767930269620159418 2015447334467093493315724832418400602125900805768341654045529622648771895792 2691505853884413442283881778536007002006648123977960072096047732549921945320 2725930869714629992101773750445603862942678475982295664256622590300203409282 1979892162305209328367148086717957881910426763321832369156953692220443893984 199100160238240657132373438784859244781071883595689311050062389559348829229 661716964352685899138603479823183263715854832387074834860182960220745586463 736297190670163062102005383780179455988060421652370763174398084722660100387 3607847657537173057813395729121046564667845312851474452121696628233917765789 3215547144154346830779299679164083738410872481943896516016985530900180243939 961876449471066635369736516251805642948009851622194118136060929326443223138 1005110913292360374697448685064027061700678898525396846181628468984037977591 3511582993144073414365272388666936167099805903708882181671332609490163192119 2342689528941767293456001723340795468205624118568441594588271260567083908607 1429806282271018399057750377767890258092063969867935368975000549621967965332 2852243377548154786699201763710201145183948243593016867579097289455368586861 3168487256121005522887089939521390499897064837031960981523752045184759671081 275210954998142137335790361828853489571341242694107156537090583307671264700 1443593224820635761013177683043726139437093323503765144099645659390269653878 1424407333827800879540034117603134975748308090298724156251701441375590280675 339814580471122861405136864590080577836574253283284422226036805162222223622 885241572189201731407565643691903376750292069458847843020642462932788651111 1922932321902221278906368836050050996240453544470856900206022860100166981831 27 27 506923982481267740867316110055168574591751288089951758337788426714357564163 1732884603567182668529249827149346398215357183729329102436820413254186736878 2211468040094622850065347449374793266819643531379303944627264650437203342683 853755130956277224108151400182385053380836211034293052786067013508202026034 1457106656641602741793058974048419236486857503840512651007962884395708080254 1917354504360988418385074141711270359316055669696400740355061413215366008494 2848163139524836300159064988638367437693657155582229135225559009098448821499 1410770114895477606398540218606596368107076689429048904367147348172568145386 3032351408287201487059895295930021600162911522025388752585041511075563653893 2999264212078300577666877253133925431146024187068727822910570167075468905074 3481891118441227649712734348498777002838146236798450682666967934494771813036 2654992569384399494772564680619046404423683190642052024798302045498727481394 366153084136174464084625205916278691125369376742305198753467323614795914695 2604791623069993354877958891587398040150990695023528364744584495532920544302 2408238912460564494918614077053466025420634424186983055352675298324971535721 2220940283189590943257363697938819004950544405483499460156870534403379763090 650240683940526179013817457372437898315375104298907006728015881856115494362 2715082083964470818008705744732389019895514725912022369527343657250436984114 604798824684299088146847095707593478028110977233059695770497158075687333713 2135411760059746639656714844984765713727831640935414607281493672652245287596 1548115194951129601983626308512567221720451582008762758414563890957926731833 824264538836221629721994509232082629411540557252282218239109010799814997023 3298222860694278852119407783163478452121182306151960655018958190557441367760 1258147198447914318542618922354512998369292913542374051370888668805607544350 3458109180842573887542899288572133998841610248003416540260511471075404317350 363295740938194131705029847768085596606936660180754614085609637611594033632 1293096288076544258826595597472449579977988209992526293171071242705866840292 166 166 596773756698709299174451485536868902995813078492 332222946252539235541453176699127021873923277929 1119792375540466030787153554290140949243585591218 263577315593014163319557691947226868757629023897 638854249654739278142540095153460887806243772223 887028199067584372237359313728541533760622347164 654980268606374465284277331675284565751326430427 1359379535188576779024346892609341792143857404230 1095284114814178993678656525045915131402638828468 279626983496981441288342358769925984120415762174881749519311050014094882261 68081053097500921027151184385797492305316615101561545228108526162937803608 394863563395733478227657159410624955576399910668226723284816189677349264950 407970318770836865292130024809866957640959409353296220051420511049942145359 529662554194392547876004651049545952785787830499793471280832609747498833380 2847809487048654812808938567133042740673177611400679318999753366514136900114 396836661360163442995716772119521025374914637049475338115815897130520646354 68407187719130178575313772578650135323885579830406283973569135335799070417 1501995833942089494045878661905920510320012048086323677702083226438138257914 3512649228344283287807407168632506685239947486917943006114455893214473775783 1939194591849766197610183550152966842478820323532230136952568271331329016565 417472274624084476350765489184326864408224435085940454943297562760602729492 2412636404861356203338046570515135352984724572689918027471352046159418188944 2356740853560264658021343368149936127391193942316073683021437095318382759102 1628626703657068663388726371769856392630606647367349822796266646390142006715 601178469068501572539189541204148026186785763632048563322893357573961737583 11800013401137637179673405778266308602343967130545526059246496389923329100 2561686380510625279738625970756477131774981046756751001359686509605868250746 1459846078984550705209689085799321303981343316785796812003549472647560635686 1331672976545397207233781890951361688566103808117439591645159242750507431423 3243696840348516992313024164254946234343448833875289198404112456847035410934 3370565942114032086229392029139038759014177196836543706053869026855141933943 391290496179205265626536596377321514238312649112383060200027377041736824721 1338428859843214642724146098427817521425342410201396066454436755274156696020 939892285740086690111867981965097917300631250382551711256087373184388827521 2862787655426873117322934259530990055138606715077592434919298638400220008032 2152470984923102923383256946482623135383110210517843528951758167101374373596 1119513343426400255352112701888291952424610166007854044557864337883167967116 633868251604138237764854819497163216026062013385043454081453311765069756926 3186113044899462274405430496516843860696028999511084324599542250703191545365 2923673151511153165510524783191810252720715819215068561965054630065464959213 1187222553320709393283152342450962633922226647498382625028176705426162793893 175042477346450105449760503139187589128885358597035401317362069861436933514 2007599413602419596931579201141876512592860319834058045371176470297196838661 3429827445200160460000635054792934166199799210977436059579045147380940908841 1670318615341654916804185776935715410307824390470952768729171300143869706485 2021128010562568773888599071514472783063738023269411003964279928845537107687 931120217434606116843439061790367921856350093259223137645543008459220367848 695441866520985498760388278663126929097490433560348711762424311413845609309 1259228755429775974888737605918655831215326568233508834813670859837820733095 3433390009749369195283440448431692189390757732409347583490738813774790053332 1022782873103215617975885849441307839262643902976831272802059592221849169883 80148888915135267298485532334679350059707491966697341451634796364109844069 3120215899291506826106549847890151288761754355753235150484079373653648706641 183689067841217930151063845342165766234800198064033683245363885801936706274 2031915442805961412336138882838632166096000702241751149346843016240084853636 869166378427366937536089965372299294288773670516402750749476289546155672072 1553324195786311409014990143072455877270362034875177197975380223313140745722 712037661183097287281437908331358534372651649827996471180500867683595979790 2366840104816205364379850211511346637087437863192837381660265755155377443244 1807658964216927373450549421910808311805974353049530480331864895364538930956 774848585470509103625709638987745738723082144323484328210423967973994793144 1881291982159217774443440824790728623538706004349488140190993593449849465954 128110939411397644273860623154464133468901094841486580912474572259123365010 2977105275167732046706029494144974316715520679149760873701852400837588725741 459275558977268720734364440140130953584984891492814775623084531955201756988 376702374767889738950906768531370576938655477639570833644447900224119974258 543446311553536084488396987417733554403275861610213365443212331590687043036 842213563593093521119572693113464405898604417219583168487406790972423984843 2180262816541292269176709677793517109215327167456466984880386344694586277881 554844566882680594351740486194116664977456997485934576182973084122719633627 750617037590393684965665128461911971566166087609426814867030741283938382194 670184584535795333232130209350869951743324492449398597421842617440444449545 586129115106315680019132135194782954146164212022550131151693910405282510750 2053637756922377993804009261663380369634984999921658861006953938115082973804 946733844309310032642201412666946545207545134156513534008113358494051585666 1885466895798776780463205131681455488762094333915851173587593915317979263506 2703568773266114626160364090647514946508519927573290546460578030982215188251 1375894632611008410438120825286448989192502326925117867442277764725316353488 3263131440742941361412443700357855594373108620666976111480601117781965764987 2153376482605398363541489830514098799035364657848850920274365185520043005580 1970773603312298650585255522021940921593330584571069000883968454863595828178 1843049444002897561488638657910663011975715474780721636224362285994053989088 823973441693073060630267471758434938031522349856960934575590131285788743684 3533885206399794514464822855780190184005151341020887662516933541478392416495 229737285931773916989427669122482828864454125152908350323478292523038820309 877221774189218693508569224356020635764796293238489025750135278011729788439 1517438820975088648688207361178615524975599960840368975100668941259277179064 2224285992950365380126862750110729269528837981774888496681091697836815267503 1067105629824548482305418214702685182697798818933968360067048665712415931012 1300490616245387504146759385428246494897154402654131800009015726003672182977 242645943093555270814814437875427528241979911217040391355128776797513435971 3102098925368130940960189604186984692481294427584915195338117468069589919351 345908523933268636470534608387419565755795139281596903181049641213921569857 1624326557430400592527325955616832107477759971709705328636174587088049202043 3382222517188921386242372791845755792481803267722888120467204149664727546876 3488738720254513649513839140007122283914781849464888013712826977926414155596 2231943568902210584476761174990674291996908329686502069543202273872025360685 2277674168400152280903137029742108903136094773477965096234899113169389605275 1544878068373070026786911804200357090173220853955606944060470338853696737450 3177224984033905236400810282384643530475302212760508612399528454464413894612 2106247201714425526858742674614735241971386799615986179753276073883700844351 1717172775515022267109999329738333149527462904759655378882866143999079332128 75717542243790532618171952671643683262095319441276420671050301654843101515 2303063068260965009707211827800768870944469423060934065523860539492438911317 1684691066413363267635264459399987143403920239890218382162333169066963494558 3341247742307869144789013583006324411687550306222142115079166561043442297028 2584165184820422596270826817402131972885714267020360158565031961309311625375 2988837506792357206240553708168222724019096725260685284192584341857976912748 387584049116338985740068818144614458419954074675769291932363299715173474174 292832821148173400491118214378336064249315664616685183467663903283860800117 2865491086207896859125311697092972138274928387106400555451172536700262617256 746829775473515484378630732694543929318443880248891948570262440145794396763 1368842460303856664152842216115383874314845599253596446451791134188049121720 1010218940686537081742662696274937811101573967001115248725661480964158878909 3617983781987388318070415222511700434116749496963019780220724993998841516866 975631666241164363585148941083027201991196377258422366988668283377970407962 964278297230942570817840054710899701178894739288153792127115068424635719200 3125579754714207049604660804439997830090964910534725290624036518608155529673 794661778501484844918280416245475256506391259407893866297411570820286642137 1741323601097465994155165058523023751660797704246539166123613640888055399507 3286552529659096079143738734528704730237799362285657034352501308326340993687 3159622309998169402853134242668707900775343220794501290992633948029337200115 3334210472549971907372757427833762712435400434936802943379125741298603752764 609122298201591335784761758746211372258827277301177672146236922934221729632 2869690702400646061431183795202916338752767333145316030510494117926225415421 1302497250137828107980536986678001016260690463199994227833806766730126384215 275657452577648473866781598104313759289446127427476181138697067669359742149 2021423488982170159046204653012688612455888393277025033528858900662434775108 3415650454035321586469827980658473256328981922129267917412646451069323757419 110646099002161569839150546325698350065382742222994676513864775071387706 889536489299497652188378714494338886166205287440511696103235843217060584937 623603468679294188299012275614229486799995320617329259457616680748410091906 2221912945137216430010030772898561220513816652390454360352414846228072805969 1030355696622335577925856331682992113136453578229521019968593467674798929154 1652691527121154522683167959419191764522290612039394227850075231045299610126 587963675323762281197905205213824422047038837912964052247176057800860193367 1046397115216975980047913409145603212315296394540508886338753960706304894888 1205336891997674093228354013287112143863643833914519825730900749604411769827 266552581002127318432773624206952893227015423694508265061388530560256932808 1523553360317577369966453199341374384898593204474105292796058325252964359355 1441760764306473379445761430396016695915741237585542852591387002280646662743 3110692088833006212288764975335213878930530564630880095061492163637584920122 1451691780101238769816338982168489878586749900766098726293332922381678255110 997042668106684249968102426510627779666150498382055978341027048798511289988 2695976767787435902793989714428030827700011542472643534204773507197929285491 555055215453295011584948317735394725861693728154518778852074566436571734891 572529470952089457856212002633668543320431893395764179049650079020327727361 3314783771858272898683142283968554554200699328286508658017515316483955176229 1103251698947452066563896351054017710065595860922963105980927869919622785040 2113627242553081774204660753367028188729444080544635328037671812460255868373 533531065723151185371164618674864916553164723037978863599373962951626544285 2323644394379730242982384791573721190414680697167569769459126886713286698 863262608753218976400541991118377464246106808855438359464660668586291809231 3578843966900924598373982647570990587035216978628540628382693289297426608020 1379591779802229596833835171437749851614625932868284931304196910251892090815 2329864414662358007275287094194667314772555000903950313486938097745100830770 88058102877006363751713078308606788277642007124773134633251502353430130291 3289948519372724413485524864409996212749067266457522515575616790269360945623 3238196819806582811510243590282549101930210370229984231223810991533510829746 928208840831915498141936920678396858783048673236843567590408935174848672597 2205962291672353391510807498912251947546072987793304355482525785713393969037 1546334704080783043815835713130403411889943066839929771457038164703717609255 3485292456520716552412874022724656065853250028247516100354145599758709092148 792114035717754340017140741222523939704223593328352838670034819609956824075 1873027211843496163341392024819778811584777530862961462873115103749688494536 2370802257724509418951877073224969216560433980225258854033100725068027748282 166 166 1313328373198876008221709732947745768746659839361 1442488691819823117765386235577441467508844957454 726615600819446743312994022103562616460735709041 443770736917489904571700606467915230786366557749 1108864197700605840516278490105903529036609342008 461172623315569231254463654172457766497609290675 1013084417106156055932823203362261134539855127871 591863611044999208552452860258950931623317690847 66524311217396444191746583016227306751795615158 1768146971220767482102208572047894126059546138104911524757345112388208963348 2028363329128111133052247745878077169015610543257032813737441416092274158393 3585130478839497346815127672355106865249805603121267931163154324460764775606 1198917016724873712241431828387172563510994953855216514746597159984574863323 205022809544179836624584012543952092036902524905128391937242440324799657687 1513036447257707545236942951178835335603661783788551137569966085292150107128 73106927612393321464186043894832692187573887271925207818298757026069465754 3122706942564707981367387130782351196849338954431925093160387033916162321002 1439916232454966591580075965807863657925646911370061643863040673054311385513 302184799380595668001185960096539006627937997359365297564829911193494513038 2095472061442361045213595016273027536186686735188532489023662685642420206503 3065170524608718566243622130478887245840492207550752559939881889085773048244 491657176614333880183069760362565797620935632964836603518836817563785471222 2056643802669826565368181306164353990833813458135696801744198013274223691894 3099076090780529907063264232274578703138833228679486189440599190252330938893 3010571942818570088634659622584647427271273149213305804484725858699502645512 1830299410942963005901735070816545326029776135624754069398029985506164711659 2780079920497194073900325183708131275092572943286732079297251889385998262534 284400124738485356271593835726060195180438025640800827747831214525417144832 1624187883629388227089169954740708547869465859433443940920166320026893440535 3615741426592105010758339757298192324503721771320531714826601143333754641405 3266031652439131399325472071015318201787957565898168978828920546437177819025 1404831121413381695791459256471543057536415941891143349440608615914875574208 896357023197662270146720603569213583694320170588659047030604150481748699828 2774920666668031460934463668577812755070759345801532088515477404069775528834 3318966392011832591689741945152269663697869818294295433763690406642463697815 3338537394982627806784205382729494568187318685763556747401925969750211894028 1614431230336868689387205949476257392226977368983464442583380973886181588590 41871697538268387404068836165115702566198354334183045961433189530870574844 3522365079797163980937502061230865388136407657076408679698988956323903981667 1919160090743236319914940144159114780343978017804667391777890367573666174302 2117373100482872759576568144889310255017008153743049817481747786188282127019 2761231712114951813162465706044200695699858179770480192534136139822812559037 2731429551324124727842454116337613663699353666875316871684133522251358962402 305305685532450269857881677798000272544076408852796313769352375745866935531 630103105489851450945091459230065551191734165501927307184664677604200273152 387207028628079484387764380957060896484995144598517743107296970013392570503 210081315056030984310797135657165111033990733987920167358212088929298491854 140473012064409267515176714502770570230728133477837094629868860853783308905 2965313889265868529382055420646514791170330572609359198338508314800259616315 2614965925240193793130313145215480758145821175039733910535858962670039035931 451891593366149868001651728471394953953011266491570686676740564141481209986 2211123834578774638544161779726265311844906270502809102605637808997097647769 1614332564932453417036688361847176466428784534231356557184899454559043982208 1900541066460430968821229149530526520886417706445945401571864435564819880916 3400991889476912872145313174173639372443165388695512763885399483208200933304 96416790148571851719548165379172011457318464584476124919140772283008999325 512889308112911876906821258453590596667650054187993919264802793490792756714 1614849800008376942812274612432039533125730481725351786125364430382030959753 3458901553030577167283438690243198052908633878140523697731028582767589579294 2536247427164667436379159262411186052585162963109612852319754966623245144200 1344301691506446475637900279531036719068547316651852806583518488085061402098 2417792607065094756735779684661646870780773440975994279065447121836815215787 2485208609124012128236503590618564432090427774346365944851572488148394763379 978782054238429622854799267115699730894279530173415454105313822469415595140 621141128877171483717839404750375645712678025848362844877519432657460157825 453415940929870201254590945234007731233997811003372550321826965799793016706 1994304182586264806375471358939672983350918449697185714673981912306968346241 1387678436671775766455870608362750610761419396049987363825075246812521146064 1456846810278860201580624996300597764112847574850152421029209602450874374803 2299553301283800967892551623772353909956544488577068219859071179754603070555 1548499119873475348705772891775019220503672783747201353044588839185967692462 2372325502934334115734488626612425079845238687751036265732990788334147024310 142091123463808532851859579653209339432800406292193111874811087830503739488 2945806786206590573195499384914890953462732063674779996991541959693833951231 856073525467413976356362761002091017984668144942365371959740251541561406731 41803964955992943856238653520490390462535601100586786972376113677477382557 3359702682565890079915465857965004585482740101634718388758894258424637303396 936521738365431094852630261208453662906158839131187881435707982829910859070 2124193019538850814253230915859624643726813326098328094140322956291788176025 3068645410604347495967674370058188434448152772233374733752003635086465831606 2543037111242514645491738786622680393762320409570712402249815619559253077896 1181114941239320767571522041869435662459381978684130964355167628322717704981 3165671120314366396320253580810920782222280342796365151711616422651291728110 3428683519995682387717451226440095050270989622314193259503651376475514088073 2609780485798245704409479072463132097943901807692786542585808794462222165413 2544260567249060285245667104540577650950830091075737289262406367798628119882 2118367177751540034739949430608302875920670306671514682526954329646656957081 1445504554425708667835466438149789294940644104145995486421421156183559142652 478990122084247490435527317553128852199054149212074977895838318808242817192 3539100293739204201087352041126232694322988077617264143400086196578759409792 976261189465832197711255591187523197660042430700388973664689493678853768215 2719617451506336903829259618532452550018775524699701446966694617365571570710 132194374004688701493348211443307132449614587881346641896486570962530879673 777907623724339500736826801068336633645137546461848746063800763646811946932 2787825942494622957667754909343076995160324151475131060895385264836903412004 1051156384445632079985681991856139149225513455438787695966452896127467525056 3177104648002069729183975828973479475176711951827904099637418867161053119797 3380628703369937268730687670479371339761778736892427205150281771857994175853 470341013262486177216037852958816352293253642646616638674883686266271393135 2133709937065529507035983167768526746055651803541490799697170943566739831533 1536523533322033287859884397756848314581087264033127654557250076532746124432 1491088889565876042786981460511125030448930196720056155605241694154007158727 1144742882837584988859189901751993433908912346994989222011152519012229662191 3565147030655397951659294763265248001117990300938023911915572066752013920183 280271024137958012766243886537514797361758956336363965680632425209515778580 713115911449136822496676437699062777957511002772350186608108084593601573955 1368842242888783585158055212294546249980403366114099856169926450029976961540 324565614694065465578663086045751235806771611519193662156940389827423333773 362902386238442265418969739915609469554401472966839938323727916803880697208 1246413682772450665614660523147322333889033768252126823128513528245305827055 1261251771564018164696462032054916012413689862031742610366126636021426836733 915771384183114616037799474688517712844947709936083095195226033937602978985 3391051485970007612127425292150790566946737607076732834505355166345463909470 2600961371260714272720014480563456861717378875627871499221404510747727392806 748635693679802717261930071126095313472032391992772284987487728931587811356 846210007906756596124835652250281948379695662337192632655858193455954201348 2929364404433532701715018864859928835597003313965609687452558349262900765479 1867730985906297649481701532244017327701653315088182978919681352224222729608 3424775486566563422209493914410866722058699382494074643989351763863015467072 3002493706259935116877153478807204211557883951554571033237789720937198797608 2705615210164109780102728398000550204846340913953755289152378108558742633198 2572588990488841767963236016743569175757774679060544579837208673975021598928 3232829430143246724654151535330008306786147210523022654706159997034625113147 1152109717646352489334898624148982164156454891286777180498683367750091093604 754232325962690031153029559567854575737079568203936743978286452223618335321 1028637244685668358407737896720804038846812905405750187197322926723232494697 3322777847650102834799539643192653224898825080381963689955595704101942309512 578080315642178401514940131659456053285104738612452334533955211825948645653 1754985976402759296092697430933448680531717677590296080951129266740049485427 925878556921995145971867354901166113975459424015406807206006877418152703644 76050127836533713713528904784683264092796508522651491366435623933691765444 3137900739376678827503728681599562983416709337615318743487056405920359728765 1656123810689078369985857356168463273297476858666595169533112973414221966675 36820269185957140268481571000051193152725778446837694745523740478687946222 177591909756183611357918912820647229333961587088968422354724695563921022080 1051695784151504758304897163628186847447334392439168961443762056856146415995 3522919264022135731002403856485065592267004414927379054999188780837555599332 1861747329323107550179776451944929229573465917069915194407124405741204479915 3120926365135340261257553870526707237928560691016186975955500635004308059795 615031515790712289033051749266320937579723165373427026927376587579025510970 1202972360672416857815568057853341480211629108382770491932060258578365219255 1724219474625668146016282658663605085210540840743849851503882190120984336170 1266124173514709888145351681552294468101718519996048642525336757602191698912 879342368201064783151065810460494866302410438450990255620741356826757303762 747162243472378203043530304584888865045342563866098516696082208752531222057 141344782104752524965711056866342144464930145448955658586585271128144324777 1990842089376260706104302828003661040410174548726448426233876522826006051391 1694241819565122049658493499363548839714125831701198581291158903016273757304 2339791389868622530342536684625456488713920513426909958429849266300076925024 1176361227394537739318591769390819200122194570012832652442691598041388330487 617974575723959076066320961825453196810188438776270832563983043759156352870 1579596999784969011101595702026075823241407349133586814098742797935997865335 2678026219202389072369354272766439818769340881548782797086422179983207304412 1256186524928650025731133394577548621829349704102543722364068684420390165160 1775638612900950240537296647512429557390881890785737210286796822163667790005 2172090601992032263029624808110177408503969847662668411306602236189438903899 1087687882948859678198680504034239338466113901722109532217449037530579910936 750334990545510874237833057912804092726938885342972374998441871558973029567 1922437324323235954870428604084713312371427147687319024329791430784462472833 25364540296768590999977732522017745135665317160039452220448377409788617118 2166494714044487723168533090880712411898259602317838373974870130176445822633 1452362863472817122260899500235871999853273971586009497981085391953153125497 2497993049190040812859281497465752272252093329180851474341918244575137609679 3260932866612529227653606819102826301039276394787418514169792318484619065360 3311978521717940837553514070343410132276841883893395183620811540217159753540 3302539691837822375983480035101231637780170413058802997041977729979016313507 18 18 1697498951429292011778564250503231538857490732121623766850792029669327228001 1980689298817841944353056363511045538752190956984816513415826988710602689893 142258230591338005000787103365973997487629275666598722143558459450601195353 1380933334382478551304516850575603671216389693368963565501475812256818939410 905563901306214345412874824348114709881364571433274012520518059035965896004 1512831474472322375926083388333526339960775952882932638219049941547716530784 863697183722702354355525102068362886090730126281313658053739000435461118222 2722476076630487101850374105682691689543959049911251456065692664944025033214 834643009052062826261696421919535968213480432573452990913912633588099325525 2479922024706072832094401592128187916196722058243866072339010188816982785728 2975650643907263573414792799175080898147319644013205757516950491385351179902 2515992135606212655314178543228043063076270445146196189213773321036332986698 2790370320477526701866060180133183323856555306096766203768936719415171957582 997672663286686536834660780596250154881650200921893468653139402405263371758 1996206767726165221361797554479246391582841136817098991023010120107563893673 1241227786307802077731192343669608053405217063560453553992063638474901867691 2410246159389486041793490070949072975070170022680899699424738233719855769066 3024777280098011700328959559330078572218560457144391143097009473296128839854 166 166 241937294305961955854686692195339222989881931604 1034830350797342863336249560650298784117444712709 1176826886522871579373183331211047796208693629472 1004038739042622108110756605329974906587482727484 1154663764303270496773119308529952400334859281350 689519010115032974511527415445070999758141000541 933857139444921038763634477841370664790012272889 32480631238416738002146261127009966341855795039 1298883324530048987387046622641642054713879157727 1702605818064922529555929939519816773847029839698641977800155778727549431972 2320165203501319023634674562937104239303714232754711779764348556255403100685 2778835040134581803674837315495830838741279636598617280711697530593917319943 2825069969698112874399113192114308802095064422002966425644082140254682175247 2697525004733436035421517223602215891115808729394310288510950755518018551423 844991842060170606726778716809225869452755802044815887069263067057136011379 22997067513253498685986389999000919892324385144684053669197231684878568555 1887958879751113520021081726111187593907603567614873772929997168397529495917 1132629263571022629250793087485589002630357878270219281470354562724212746675 1606274846570375985707065814959806614708359471463795576287000196090097765001 1322131801283571979913035924800463361958225851466300902117336482239617706964 651110056181534254637249151593139816420705329680509368877506847711803221875 2978159567926874684844415986657960860234252417636480811763013657568361005012 3250463773099844210782816983484670330421392119776851035517336187547247765555 2382207584290117106510577266970784496135879384487349597815364001215632244625 1600562559573397750729634658106546175853411991223211763100590772712355942995 2656418524879153363769573088471529552583838106470758564893352955089142238170 228743686783730958065063905718278881345316787257375032429038959280007789619 1585193257613986960296619339707368068302085237834932917750311126963395289381 2692961163846066850338238998417807428051544650058549495655603146026295140974 1010752816908296706928923623864503512288856447106894374028487849333093152352 611766696501009846824864068168968496606034651077534333171925003355053775462 1688856637766589518171764390756161272077672802781140700091958793805585936081 1873165264081836264569907932012693101002290195749292636932053911208099968121 3194855290271593902493077715484851269693224282159710195171099217892751846786 1248513179677671729218622077525774604042967211621294561883542088421787376049 1216539119738506843488851315940060069232294530592216053808953338974816512478 1887767084531107927633627948429838547894573961407867402856511999128089109823 2080335815509785701366901468900777861418868322793121164447298401019062725172 2425630656003877767251314904652129540034718197812779153952168871392863293060 2660867009223995171171586520555139558788894971934225495381513024677286719022 307000239701969670012946261529700865624528100868789774116372506497923572713 2562322575287968371683553764047136271605804852027784453499183704745255471746 605569727902502107891730690907227154024903323003585787107611436944580503307 3606725412149457451340925281038082156715822272801571343121128762441320247746 284118612825740316216793767848084205402512818817998821374963324054871420186 2146885198659915624916937981496782517114651592333113757750980306406131939498 1441388877884196878609987528390142920767335487081355948461101182995607433645 2065413307450643762600430580697194842668045139016413876276226242311434594315 694735601806966962483973191146964370002994763313021048452675358506775553257 2512490684457256908725273550796260379157756052806057315335662083010929776150 1339903570813118508198020829264954154294532252139638449145318274117346405099 3365342863753958443476932932670997886367326435942324075358804944835052549300 3202008422128347492391120482800116435177410390758324183541881308775527295382 2339789468743610197400772989934638692311879178912494618531318325637759153719 1269095371461610927399258350523058796007213253393839348226918182730646843878 684899445196809304403893462902921560862477578423217415934751936632362373327 824013377923125598314246217242096408694335605786582188252939981096480276472 132883180013487375550309348160768935444791615305059175374780371570364799381 2135993235348136257175074393845937021168527906585128256629114168502314653093 1933833309319558644869725385448342343796218301989031035860159134139624381005 1516950696806028236900348195516669102772846947123472286706857855172054067890 16981018076330540249879612418054896866371288993338958473628445728883164086 1542477752744468195216922150108499029152311972267701989962518880249875956389 1533747088685365484731399833394147104556566700188870465889737133479560250188 2031752324613817062199300434097216936395316925472721695033666934471747378166 2483335063564353448613227506406236964750950841368631923054251986756994348050 1218544144056423505150688276318807482216248642763540110705343839028529252179 1835263222827608783467222429618877001446586824164299713775662688873034141946 937846503969641660121649757878662687559987781601853740166354513325152603746 1412083315741809590882353204455531649814601602469402855054227950082135463803 3391758891794230116868062125114899634173918978004960608105009260597680416749 379998614179587222773763214692476704987922644420724715171156669133594635950 1908771928841520281889967037744966021649666542616224574475552197011687049723 1394400001551383922538769742994862630075337777187362262229602379734222939533 862658953331518987391551673152947953546279235800697451146248186134607809228 2755794846682019625540420559731974402480141828728420848602999672232875725022 2538573556840424344409117831412366483164138506853446492477473576692433407854 299778690495375170181282120789452315648670370545965629913567533128190548148 2286840427758150156821554613621536206835677035956334578974084252314917214479 3122648643272355130779767582247291994405555687773358974467661297073111053615 2981706450125354259616004200620588672302023231531547593268190976628126707200 1172242271411509188813475043611038509719422609107483062668407948045574772016 1820510393575365977471331699786504918547444691545361689322405810836692052096 2543922233379112522442451060649483321973318392549105288137885225460951443631 3433747687236043883852513982294223219443995028525621540435919291859442301504 2513805270135108808648665614667216605846568144221900985120358161162156318825 1108892415525496922840441002648110485783062193714894672605526450913465653763 969597823994181079737113827068943998704309871106170538155062416106056200021 3518978660519865495427348638665646679636437927848232493700268137838489839733 1082589037828574385633547822621644658343403482424714593052688870781620181861 1073853679679326121991134398790439161269814998056464920521999983524539568116 3523172575990333551822516795218639330721659900071533884479167103187058424511 357309300923693357361243911166501828803480083904282987746123512154209025617 2522211241770528617869670414440312216176501306268263561036861280339710928968 1985820880060412693970371332425399630132804891917047178915356337756536160920 589985429105256617512201929365357403339247688170627489471781163127397499539 3335836741231135414345208165424758317560380471817980092577398643979076166128 2548096541783450376695610423056634906300479547796379332705224380242357372645 376879075896122778282007431942751276972335228237567398388720120762667103668 585254833620467664095820530930329318775565644250431694699320670896845519425 348944077926621774865714775928982974250648874355782189464820848598280630439 2259252750649572032589053678083989298455477228849876405297297453756208014774 1905540411354626294422007087150571864731630175689372068832180232351113591890 1031274998370196052777402722108822286046217280248141410403213652861134346345 1368764618420587825239403189796673595373908984386975265413041229146612711458 187826731658676397280227114334301810330821674828846950961235983257566282726 1809806785753181002772171608387955019437647143947411044501411406533561261020 2607593451663816185873057363080057485210673159117155393114684856223315078963 497280383299997889343337343343575765443721946113054342450233768462248038700 3356921667801013937677241337071702451124218297178674776973902090218350430679 2914133028341165036113039584089622438272233016553448175769846450776977756466 1812782235611306928914036451615279457861065089156222895769790082495994750490 3064376352800885977182655194334600442028001545269936095623671145271744109479 216565032074211565751038986321566272904294871662109833200280579360207064402 388959287224954140158263585735241562594078019927806379615263249465313312066 735032098073952346141396232101007517771622294511790411998738476837794182839 1042537856554044645091996937395613091256064062618041520728593723443144632829 1283637736997408704973885930991289394935093400913264371517376854421088983899 3422290397397625401209730149843704683803129997422896492828298099923976940761 2949585494060731291055241779069747490085037178761555365099115189432901597781 688149167078067932135284689872480281014844110521229643878464798500271633918 2486622167709447982349267794558476769678950384104622497260097233872184695 11033527442350519590698311949751961952046043862961676917056623015610403645 745833962913202862120786422459959797185585036439509090634155292352967946736 3261210520380466970899479701854683071851725476265016972144557625866114980955 2693331984229809438526959072565473341634222762394400524473532324883425561562 1152815457935308559316526793923715246217160150673214633051674160806088682607 338442702421064912697997957670240640005038571537693254292596974053494428852 324905173540822147225045954881424502037800596635844281534265647806027231118 1723234845901416818387944896589452955074293729378206599125587031770731298484 1070015134531383072732909857935629278433932551742576687132556419630020483240 1768471958100095400209608731276845554976141308680464619005903159982380890016 1164424527402183365109000565724267759550669696739003354103278465001656483189 1680264555613847712704990812140499602473765895984376040758096986799927466936 1438258913667535820561838892771646556930603479219363502948518108789322661851 3192891440094288763566313443399658196234107538499010701951805399654858820566 1053224645002348088826453439062852837810705112445424385416846271245151065518 1665568599564562021623747559442090666308536086465604617946624336824266923998 326389644715160554078625850313480034231118620015000070596606859852657395173 2361238111056102648067540848868300974262371980406213216978095931989910183495 2819607705527838613706566654238909435740379056172829363340526904534517977305 2493835763983976895001074471314218309194217608304150702190247443958078170444 967910459156410748147756485739559803052115454908452376353934206963532602460 2871801850040254365378074762261934659507312050893580417874545109248142484983 2787295249387634897134051942398999533269293108486277208099998099637180024717 2959284445062667353235798505828096149779729195169069185930304976409752310317 2414618643396311556267030944425593245828725085611532459063208712714564213137 2066951553770091572922083205885462014510799896623932031323320879156055910171 2163242832364607832349486175556895522474152279072981510997986125027966329893 1515791315984973684732052442633277265065043016945144554867197476150820968441 2467779981197434516384857543977969601631380242986623914604791112156474974671 2565457901758876774398626167156325570086311325639767419046263320096091605078 522108763772738859118229165399154120285610680665056469005313645973672323526 2159132576057969496067461521140108619391505358438092449472375874521862512039 1042119187783886203065163537069231509496937078400641357851688559072698932100 1150581396625169790582442025550574628083273684932335968939318556103611642909 2677025143885294828807694791780316776563443723858566079013456030649082374111 2287265277574061687982494203525593238746230895405053625546031502800097745944 402156138877115609899274917462625250243507714065764704202223102366725235342 3231866813265949567153298783201698444683511270584397005467173884324289926676 1659461570000731286299439381005500961861021872480380924817749944962967332333 3119772346511697353139049836594350528900362627561345067462296442583336671996 693873105911389748048694597406077829663184990637888030028065879583780488880 38984026537555305494899862754195568295148488429904283163887793227132795761 2472229871083632613002281634334997378270093795339857887515040977644011795789 1068225489096433443235095250797510316404301295431339619383972067659894808981 690 135 3037782715997111961674676126925991955203052032027958611296983573423798455652 125299482204534972453037685195984570333574679538885069066487067909430907952 1476242025344821181017649478777076219406018966034917998819842481125084971180 2783555241579815503143062317274485598535791245011161719182000610422062369988 734624439395304691124427575800418514360470644371220593633727628071412320266 1531864055800810993188909305700568783139919173116571115331658779663349734532 3398420605060398398767163242346891033683015258425008489297774207338271361145 2912656977495907736998733982733023954623492345153209574806907208881903326400 2584621219946766399175059386013810621979430968362230518621726560246083660982 1354272752080542336634707177339529050443582325352711472765420635875125323852 1964511002999188860454939006433749138232600430214882257837506130983095914999 2084084403545809483589909726062475937994576066028018087294286659520733012053 1404112826764148449491241244687757892411772263953231017478339825259476383267 3173429605289932688819355720185073007508864374777777432342759822271232366054 2044908720135197307500110269849624471854000557888729883165591704470395310628 1177285485570501845003380597285193352437484220891929206624714408054077744573 1128109010133961891713741369823906489203527814601418274274203587311938628238 2705846343725565260816962359223167126491567230797839803322247265464680381515 1933481727395360443692424107807802036073564210553532145106515155220003395991 3382380043363157480046635669442753849911423900598581174513498261731075902132 1910144172076564590782045587295974889454225649116853630622161903673497658741 1131464720507078706173978694948049379977057839740096314603913700787205066349 3584054601345339280646331825942487869552480026955606588641616718490424671294 1294057265603372877878384233892761826848092879019970452376727627134441016280 1647154259461641182933486714780736112690749349305159851584951493872414191767 3320717411789003511988708501571334158433519769357986828450257901884748015435 770555547373592450526624166283838704733577972905579134502147064404514586971 2556638651726139930560810119665711768973302741343592135055008930446641160281 1908880810888693553089567183200238623787341033666906221552333284163741176377 522981409226706693503463406225038678556904669172672587166863128911314034446 1524657194270325307169404754335136626598429460547269670899413236875484809713 3251912582416900471737820316800905546187060028754009014201768421496423443866 2070968625180807319214429641178663317736790087830756452451323906850894135825 867185882656045266520995677934012686820619442581851425746667001025459752136 276713314809617442745966442544149444914575533655319871041498953675521048807 538239641667385379272110547390792023785997145032322448175809283263002813199 384463514032920237643136374661812496549559829691251992328533980709994007081 1734775435111786268534426101305054699867431648325440052519832789040057851415 2679191216329498765818344333507493991661051309427322832359824665268731515432 3370252227629533751257032985626374529554581592245853948904078380359000168732 3279590766154815753223220855764137626246854916542813437966033173439740500645 2650694412998513629317159925401822089312439279724810548067853641582276036878 105829829174702321232477651585400824763784641002314775115715919651165261089 1895157937301454985481488195943877760018461641321995118308426873522219515257 3140254749351697611951945186608150988096827135108370538301073583625381222145 3068503604753587090510546214720068292706633867686719310858172135009460293355 1873000534722103294838829934007128179139315378771734167610143045558650130629 2793664377292899824630247753491285348041700214616174054153324066348919433123 1945794884400449949943680598009164774707047503833478280143751868641758917298 1062619970015596413877309023437167641527236028677008799451638209906377672357 1702839992965176407546340764575900076967803301312202807290498003960065303914 2263285381392292026762620344391383944350502560401006807668718625848852778228 3178608291681840499522353696789507520814721244118054641474450998206796980703 2822733893875406797858687783829998416027152914129891417739009271389557876147 2621485812659369080654385827025047600702945137078093955818429795190072353524 421376701971496358686590361229369105211254177021933299158313943625060707064 1551523894409112136219976954385363579398631843302050437528389992339208150255 2678907165599763236724144188806120931216691836931261840742773796060012308887 444652270798519961630396719769880165506702448303828445304466787298820664798 2429855319102420547063212212367801664698217898043821565557571243506963756881 1824936886311036362366386845757845523752079337714998089269429710224669123169 989612440002490898522145522259511053888286276401850703977957597531557300476 2792639278469099192436489545010094318018115601755902753767265758222486317184 2097141671027254064071534550987253900613501691714149085513407526381227009175 368101583628264691697557053158976906720156318798037785446471702060564764385 2304939142607731817347480904414941240318558755000404183944623443742963550750 2775103108838275795825592653682122378937271590777656841959906086881122118070 1257502138570497333613774217844651972841032532969416747446885803000442366990 502525741479824571378195159770131702678473387559480051504224759592064658874 1426017759122508613890572294383515865315233151280871657778967035216600184041 254869587317066393260163194499834886361360715805724639612266654778996931644 1312697442609446416779618348507828388431022945638965835222325975803794899261 2102022627454858939698551430232873087129222770850000219784407775739839254604 2916782634402569591320271828344785600337542966104741836925311588674230434858 3368918761633817543202946493073734495588994356256504809684203156408866375732 531536377048418893761998494159800563507582983440501570394852505832976463530 640635999803798134444384498961901523065069245393353595336300780621350031998 3344388995815423665897534570137140890526407642581038869566591182634668342861 832992284351128659951065196272447079883098983881449837580737762402569967381 2032124034783849615152011897420410731769510866678579718108958423557456754289 2371213913374210282736302579522122261863937804345749118512280843456091257816 655138333410862137724169920020639417193544267471377559760710746553358817984 1972908065051490815361977771270434366036049208120075813248845218395967914798 1456384769830389867667699387489548008695564145608671874045893302462562240895 506116925814147821543263313105957164486467372251491582488396907398370995164 1679696099301602039642657981387172377000801837420121913745475269307747020130 1288827211661295317889375909416351625621555791179933133399201333520981460909 888524049226508898766675114562706048304113674698076121500038096941139226539 516549106736615182351451985822642779592253505499078483960143249507146060251 646335520071589254386843905846100357943183174246899076893693019868789031826 2540783478024987013124644897531666159331090003279679847624550884440960164775 2592578650560666428350466079459863394976922190793737422533415266250092175746 23401245355648377478973072623765820884425720136749567524650128748499789398 68501448785234412485083491045453680145231703220093994392953990817560831708 297724392235211189969319539655740003740934991751176506301834231064405532453 2800260607048520926773884830258718644891953284155094872145381985663036242919 2021565215927481813791595495966546847565526927546841982401913964912988790174 588587743046423214566193720268599512037214842480442480730826262154163441784 3385396814988790078159730797870502834242108006268706303019389265217219542040 3335769165326059568166973078154935261617279713181097867000204560279570155827 1578525050521336354324890147844561985151395546317134173438373457209049808539 2308202457595478681048419492687645138373268522085688828326870014702936025132 3084895027478046787407005992296572957062670115445751723537877893801397416105 436688677944932208193437882978044562626498136970936816902813250565404728740 3538575985413951806182970466171145004151441135219397499064093684080413968034 1840138552894084199959238916115091324123036134554813057870292120808780345081 2100964248119401584094994216437611981042733865494217565555181297530222257135 65052840395245412657781922756970163448014671015293524459200525007867304746 3076823007302262521375546454211795921525719856224980539738613404419847564214 2778732174415651542902754518440044251978119383749681569782535578608691622191 3247205840428846190540069678595985573152875286110127944018642282014924124528 588437573715727970948160312042074186389748529170077659799681156450140684512 2231393425691077924464072336400724926826873959882763060809592854975554353030 186584480368400832825294865037461152293224330429528135687944459007549152081 289561625287668588341731487403222230379105137047610029594523098096254695729 2618833756341552763395719094754716810416841695526234803043104217375431373025 1592359694454190590324750278434664611738939672903280742592048909570812970087 677888853414652687521856259189716630331260363818070543506777654025115940423 3489115109675366697524182148045987596736900468541227512070625665836837720311 1402106518759128554830762643355006112484158469125925588134764814785409003910 3532135685976149769052749856287834308469778893701443307415071308778502064694 607970005065750192035793310408791711017377724377424659501250583363244268779 2639038800626159414655883319272096280229227172760216905074572189370493128685 1616082278413448993107543356403602732969315640393627291943259732562417963141 78984030907249035316950316320342132616843283217830374462817230861844574765 2205876152852960072470974526601036423317103289694369882136015932353384912762 868105508866801078087500155250504850861595647573825720836294496550313061729 990275386024574373320148506771013162898019512284277093563541068802618629978 2286842820666915951008492904414651918880691250505667220565095919393342636518 2444266836431469143249869213555353780487786541136039433236226343121369692899 3324576052002790493060405727244174266587339825397790864068627417856718706760 1260797730537980948854398326942943525264794802040143091241189841095046393480 196456256892780994339735605384843668921275293501597419765863268112873625644 3615479424248622575110521151462609908475541303096112051744293989587749955979 2600908919724105002628209239895275458782608037716121732010663865187396740858 130 582941405056897916728654405126664039016562796980 419108563888081889873247460550931920044620678691 690077622697337345771799059909456795382686415692 723196865578157974502135919950795023212603511697 820890416811342520606996593027097087446709909081 239081914531104515127101569362697348273529714304 161330344944303227241937098941290350163944750975 1033964108966369396932232988387263439427718124750 41510116147444103379896710958189431688553403460 3259229966302735445675558401711209295043579526951055473568259080356904061444 3057063704453427218412134951712998750347930887010422717930966943014533754970 1103020367559776301132382659564207658126276544516532032351759504104956881970 2779936594723439976029950022281463391158075256278695410979646198429494830185 1426692556053693556641849528080205643116131092783491702984677860453020554388 1436623472478085418320048675175608264704897338261065296913715527631223153633 3358998134116082486951497577078571419597359807934937880923580910101496326208 2404026633619337448699310695191646067469016431399034810786055000437864786542 3186244085745603282484667310234003432994007002841989832514303215417645247761 1458214358793033829077876491889170446585632053019851680252399563312674798737 1295295013726135675945808409287450261038581414995829120490156213287374850340 1908625392248703468826733305076834644612369123414706713724919639586456711237 2834224645589207730130757477930295714198850338813108069987983102328159357373 2017676200740055341376875668891702114656004550774174295761515176157106160090 2049841984226966895141655101091568401922080029325619792267923051010104788370 3122903132116020702120737046599098739203602536586512181556602377690903550507 2990200724674414901162525006380859473717498461590923137083702590758201182560 1315579498476097731465664006389998087836892843624975150876624080733298136674 3367791655535595631700230688039709764427521551215213877324631767128819920406 435166007647443154397885125148161383255477306326457487847741058014812281479 955023869602528726102868328267941152718821675055587614191851794981132796656 3398753995824817600899163122683801970514285159855572438399587342394986467150 3175694130730565857017590579359036415422170123861502437576110414030373742506 1186427433230127836863675077733467268834626624473856571221845492885019798956 3394780654610643783000376879848837933662680364249844067116680778965882699636 2931908710138835883419952294477464465347888428800498051416325723130586990266 1089822335946153845886209317864649288689379301250646448127275971393547032921 1606181567252216026929491604531240485403851332698777166011200506144866922985 699673097997535371825233410357322708776903057985377539229024698741138353043 1683149142712862363153502349579638539219774331050018412975490173229990926582 3021457407739145381763802065441722488970569534998767779741810744392004848783 2763214046453614619002818216997472745848919378445442174963858962461461589776 664247376990731918174354524145470172628828241595446837813561744043371150509 3331975214064024352562143362445876196990734397951802565640054793428110284886 1477340948615780726303432553345334376639112538707127718972060007042344685784 2012925322378724654626990547888290480251432569140084621193665560374196617898 1576293571056026391079574790907540846532700772778981525317014965770318598087 1832810111417355499768528662183308163965523222396771034698138919573341375388 1641422223925540716175919875608962397201966535979523464899257089559156269545 2156570952562322191069663775582880005701819036127475374576469783434023436231 1143854677729592978379640350473905925146852652086827733814273591896474093704 1061113778901063164873615606276175940148409789649724696414892656385403944145 44482162086297852392533263112899388697321554215394728941688337880319441616 1477315321546243811210001108356801467323230325052626589108967371706117205024 3476233351316690185438601702355754325447400932442704391952081522536370104885 2836580950537882620542419439295548574146832182700977664624599990319582240926 3470550197724455546664730734076796969488870149620358028749921462700079534782 1554928354169341534213764931617205552054142345554641934282528656543793168961 3542725011647747753235321201496349504173395615072925092394645860906928465015 3376311619628681322164214615297064526124849316724400305343906552299660796008 2421334454493204900479764604404621381803207473966068719314964779929164990266 598909527116677075682356770194802665326573445974017951241422581469677619051 3393549776372602928468772491158308384663394136773272578936284380079822566257 1652861969968696856815134364431647867081304829860150049892484983554542953112 265347513728985178837070454628447170865745255839353329641942844702444062131 1835272519268883186299907767818534493241482927966172850916032123288280713446 2727221319721018267071953417842271963575440676624292292968846774563347501848 2647752530370807280855686129064651788825720857822374192071295508638521638120 1411566953472636005264661100343662136795227377429612465257227851462872155271 3501169269548354947381102515627278338567357615736673520744888948908465129044 856807569183197715729510263262560675801170059264560434237947413865916015083 2676191990559559643930284981058408766660118390319221274383258509141057543756 734874849820182628288103034984795805280702185771821591787738854979870034310 2563804752291233611231849929218441888863613449773576031895856812682000699121 1247836668892571819089024613460711767694103251455458018608333902430520860885 815563205909737935088542727443721550701395781669691008814327260335813441022 3352006470982383246107941285340808702759747463168609580083504153842328579333 800797691755016620796557412345005237210196058795334141354288499445276258034 538575521576119890603400030171818004863032531699668619393754784982621281053 7098985175590046568547389074166263275438840678381648404507261283842000104 2687764889216901582291135320259895908022321650146290946001959118364961660403 1130270681256274959201261636779810484596168138790926059118394798756978182287 1814403214065327191046191184009627733975824621200972014247131044268181747898 3357787786627821396262693100587547172467115353668892532972514597280457966119 2911978610929995091964037048170075135028323715812623918794078822261388408193 2362056860640235727292551056598866934732443262469429066535752754558883664407 23612282610027080058376245613760813538640426828354506386085454969581664367 1828680476157884361147499898549310969903214598638944269130888264312492686520 1880018573806266432342804226568233217059584343663216197414236675673578843846 3110558594028536861614882318559500647080080038225798111761043521370840093529 960635094140601041492101153335563807884742854241714711336905364942555345678 1331904655804585392828791732118697135846402380821030098102264864594908107016 2283965462239426659273891792802480190466336827429287697930168787507720958537 1502128353297007157624375277258335333608000495307447715024012140668109733704 1345564681488321961266833616597718831792698736712066531339625803770190218876 1789256903427203007238532651627623208990235957261273266232063650061788679802 1989644346606194761074448689165886950526500985768237360299813487709339717979 1310147425746107503561114248265433891650893315526211043955711448211187145142 1036987418620151279724997055485170450178659624727917084084300405024225914317 1575892083774686635102578106290470260185117174189518474714581437326971788413 1485481601061937563578274348658995611351240751976842125045150644312536860940 968539282272770172488539833499560426428276596828489449878958620450248067580 2949182182427519581418180417586802528260274878324345138700491977419092250447 3284453707255682822098004443375916784941073556279874347007162903215606135113 1239011200094153967604745024822366307823073622196852466865547266703341830454 1856700670304017050450396769114420967077999194783065151837312408812954886158 2001574794826940393141710928052980508755724594396908449221602432039973559957 731376589446515141043214426516957292868410324442690867584320634513012647895 1411905249912063275417258734349204306389687315860525518420561419932750402027 1190532535602050103487027350548072560223276064558225945613508966594600903951 2671492026819937665818065410294867157274029645329058974435064278443748909988 3172512295089129255782238544175470647212037217225587682792505715089112734948 2433497071531396359342073230057244023936641829724609122770149379565241451019 342079081215820807277212865959259176783985846730829679581177927613846703901 2669749523704549205039420536865060605236075828814538108318962366687805617867 963761473041263213409096971411052151770846508550370179499965927180094886363 586053663563453067135798884541425925954911643106523074241904726018975571072 104269806115339897364761918039258053212892046665743265396725739731391544164 2719728777394312211302328115687937796482716315651848121146657938552895878250 2051187549169612699996147888449920961778323707748112020481957475868887301694 2398120349706998309097018063059449907236725684341114878984041847945392226195 2945717343162490938653670260494319523276226731023998330453655166909614939211 442137028124122305514100365704191222891343377046447896277643386900294116923 2589427468267934742005572512514349096255289254925915832315013187950472182687 2116748251253798306719750206555985962403618904293507768881916322569175509961 3409695846188083159899313652996681937141127055077055126148420307395764367547 1116454067626156244789120642031620304016819157383681032743670763873522088751 3126402173236085601274146909836049490782246870367394105172670681791916233005 3413655340948113740180936631987747950398858081049532989650044691585372241289 746789409172442075172124324206667407660556198833604908114723315788203462737 2851238378374578754654973928328024163265606651976709316369264118129623684781 135 2152360698714078904640709819289791648616927720326925873019417442953727667179 3537663009136509243708219226445155033037413992953069464440595726828873654485 1912643762605697371509613783186752469486704638209209466883016540001322637161 1599994943258276854852694665368109068085175262585834276752647430346912990605 765165138521717921132548036089709145086226485202431486930224957637072790933 3496604195562477068569470339486425491830437569728754533795404500691066393952 229239118363216974024807751263208854660527346080499418224301213270673438969 127072094016371793992250121466728314930038424368955401972633256905199224386 2882473260232605915071515250662248600893747474061302102541099527348012496721 909213058278110923942093953467496005342266739500511279339514370525426268192 3335220654531450334057482010112561515054019059157957968931114690537994685856 1950723625835750535961590384283082867501109966900338416637482841711136443862 2416983062576313948264258587444107230581191784838742658977310234859336227447 2119113014371238029962744430054738233534761682616256021035751721880018125263 3526657143925005048946736755260242584918868536578692133017446569630921726464 3030771661713430308447361872782634165678452849409173154152852383290698999433 2730949220425648121219926964486341869270457151476774487851627716269887629626 3551606183646859768468825350572803016623679296083528674496878426821786241484 1758566126133547212424664560268676823973299773716397446254497802659710713804 1831838126142992368029611534966204539312994497123440269368694496377931454518 2788543435783915180006415469497789296417830242763690986345742045072585900559 844087711926112625356187027742994542999539846765266234071404425948062507204 2084316729470903203319232111569468286479326250265903781643120147694051433373 235140120843846327615337686552876883130579035143865691866183886413899826938 1692980527528011565263368329956972982220924855875602453559811289304969320470 2669135833744521619153217199224437994770635687740428116184941611675944641213 36511624979717737127494828988382342840764855052528824423539683877721134791 945812032819812809776480335109032982662480249854958678254486049143488182545 1768109906184714475822791410034619321992385254831472254442533543027590216548 902798523735255487129724048723733066017918781850877098133291331890622833288 2544007943040353240880716921966032729504349253320278336109735975112733120616 2635521654038286198583435997108369899464830962841379735347765412409412492811 1154740186631464721064358099488849025912714496973863514695466172615420001685 2349806762226084306313871207159132130536970819078525061120709909487997047457 1802274184637009945971199874269811557747895439795598716048478386808681507224 2562402786893107056201046763996861354502971550892881714435069884255563836958 377748223106824899419652539491301736588193370205644126975891264998675561047 3102532918682566534252624562118737791823193562320968177635633682048270986742 2194520023769472500873815194631505569720691445357530243536107369140242099738 408420380011304232152945586433549328008607632737852520919056618524672670009 2304789082762933224051882436206553856871530866277719343966670279285667689073 1320583891892154658375209087648121729225650578672979407487759910094050267966 2938106926843751762586740882442018666766576385528668999893284304685984465451 3092221249522060664249594626164952249155154556572717135393977740613084918518 1219191232335471049757157123783695102208434413250061665075176462280483246012 2763578054864712500193299075414402782733064441969373832927562272327150633251 401239936574840094897265713992742309599539419475782883488903098358612699887 1167100549411557635724306347948196367576185265970639823361491447321891032683 1600583503749494163896651883041516051645054119692651559179459252232562900935 2199958062941920085757645815154902716315320082217654325615200007954151586802 852364515403116590754278411300450951559217053715653908227148166301184192207 1999875382568396950260830743664861238437068692240609548469745846999940824611 2837318960101173744975864015430470355633798558543675226318351862965138459479 2262357460073479363403000368516134858456361160207374164883525948373893233405 2925302884248058928905387028951533507137662718162077849883408792862475374875 3303693142308725614538460771304112534037849195192095009436884248785668866037 2205508582939789492679198486380358243591509776357873589472656162884860175479 2210968015895180452047013945903363436603905755519498432872280325109776719242 1819663231000691151164655827620553894558849369899837399180303532570363553724 1604998355401053514567933896392036258028550864820541811880513518830821564665 3259898055794115589471806747859402798765672001437163782098529147835322237948 867306433888174306264812732271632170045401633896508501696136966993032868417 2455461595645638720297189954012659175553723110887020207483659083811158729663 1734161428961781339852378531852215479988183451361518287057549612972481723938 3500451233135681681288770649935886797512914087761247355355787424434926773559 538048686017609883204974395817925706319551413539270455541451166652365209797 3408463461587541729037992170545990204461618513560270357473811893582104006366 1505987148947307043161104950531493410221588621785539989461051721915335146086 3056065093505385822691003711337924024298114539366869160814752163096995516351 2209209088077228551304581283202445222193297924081141406423528572413717543580 2523023181745266684986188933099856631739537407508575411298358149699736761157 2841571169938333076236186101206850968072000665299678403208644480851514430276 3371674356372867078142463616374546392998710526682934393710709517366949499407 1794967557582032644194653833098952864153304684566058697294271521664533854769 2349299282537980974891603571077679578426615948078891198547515327247648994395 7362679603568369285851339475631540661025214641060789004244656947394673223 1792351325390701903987695829954262227726341020404942941232512955479512041705 2497255453894155802629248900699646078694415302801982571824600550924748896030 3403202531770279355196917551572520398839620072363382092288571690776813381832 247931145000504920729185442631538761502952384061279936354240761248461975471 3362398983049112922599823956972617931510340706100661922743533139152049490383 242944934968769974620972640784568739495862630727000234700788197305111367085 1514257960468046477553172452847569186105648959219239562045577225094715424282 1947984044668231322133087926206397290319905572154150112228193649261442026675 703405357713240825067961542525955133805720334132589681522677382319168643108 2430693254071603076318191041171787383418115681174446245767268474710428394885 2671924262537948487489161374503657585224482405780811811651223095289356073377 3222109984465279506602516708690313689745578957888099458753199110244727127577 2795419032272181323451365845367836454858386607452880074012215957565677547384 1899527648604157770650517167989722937647281360399205906778419081068725320234 2414370198536082971487817445840029694198224221520842602130042145991875271861 197533148181964041229262368321731239418007060302106072234900729127324074697 1774704228348215206880524390739436688371436040979860068784920114790433485795 1597068013772786336151491434436217054387987995697037340182862867331028225765 1180884184829860555564091510368136346303038493246902852014717330254856775171 297842221400092033878758460993765090323328064652251881596365606717441449954 3138135510192422218933221485505830998844395235283688794767589956916549437522 1628596233762831113933976145765764162908814432048167834389591187307756092879 833440548739504497445541199061044508217810374571371908172592178847643502466 2540596138936043055472756164372885602750594387536675253231650995667400977317 1949595825238753073063039074561455866248034540173686703607252248056020437569 2607527635942946997859026052498427122961469048371777370929879568203618196231 230258004763252329364201255275620472250780485557710934165783146619436250086 507118794048192599037050711838748402975444002122945208017842205453529329290 990222684051516170660181922374607736384184470995997807665746780740276167142 3271327629791487615938510694949971488964526373742546813683757749222556163617 369753798263881887776968789760386880484649988428419561144715289908707951776 1139893745391331281196036659521170555756577191134777171651521686998257456412 1507466705040656568131700593430311489709252918750479184858451019748918636946 2921653589289998483939545754151098942321608299006693677684429882743322831460 893140383417332365454618234304797072319041896661670380339305574926825508274 1908672940070082073742063840167246654516149255779799462761421013619239760166 2626527096589827105844245336647593413171892204186059283734024771592259292150 1385624770219697876294432234909413288936256547219094760191209768305800731284 1714137387269603488454554220919142458181005805654155009605664291092921102177 793265277584322334265052908792499819651287408796000956356776954190544696200 1568172441372631317791946847113289109179675349268550036195938959939341795328 2294868472705299314724385907832907257201560324133998251079261716138553485056 246723729617677054785044123604429470966085802230576576299280619734951309863 1607275745922475299365041176544113320969038070816458618284127068887689990692 649161779493031414562647420715127033377217338641049503440894941889213470472 3393173695125712790900886083689121838689808489017694549970013248546134677825 706820821040856991434811031186287612127539923916352158475976469841188012351 1321026501579728954646619482213672101830386692387339142965160929363688284151 3125322676162756459258826831019669167237765907263417637592333271435023684477 2703412893171324821625017858181431058417428727951777189333718377142135775716 1387155563514689696213186150360204879199508102141599705189671914856741983508 1367014194475295546236626422529038758809598601369930157720332797817207143178 2485079600273740845992082667930803379033420785774055488711029090981686857909 227435883059377053859431610688979357702583480212106635346836255135155394018 1474187895436740242927333487282997902972071719729810786979539840936828353050 3239347960278474896031630429148825284220843850335188482199143596305657436422 3149586348468975082608271419090360566291150775682109915639255794745950644640 3518627726552585957503902435111825697634731513329893825879157146259553087910 2816851040930902710815069760426447708622323757356173290912165152622134545214 94 234916212902102111790303547159825780315395801298 884336172876242388373403440829189535413701452124 572654381822559907963438426806177040803968794375 1262866935653525266241747908556003120673425094864 884431379906305969120708889352992323626377771328 398732205886921721970757472353713104069341781394 1049188569162609014236954934142157029310824258245 1032878170420917557523394408065260528616206204241 1160698647203519715888009968958876996707521077891 2122311751589209213666162712543644682220973216620907371286998120104474998088 639639867716817052470213712451533180247754101042468905025160781341696779279 2883159586934171190313572209451788876826410058346985128058664302106603088181 275728987547629796582699629888360132497746289072080759192647729594145421397 1546700847853217712457489901954007731157156398454105426978875864534720415283 851914720255719523362039100524207250007214144804665188080065064282801270394 2530569609301715984549580272246603216185049029663548888269017285251565608259 236207059366274907843023121347822315062918423980678554692812232545185711028 3215442423517818578885750133554912149436584220602896180353763914908341854125 1674628562933110355925359834819014727428356246417353461676390988645938616664 1822623842806102954096878375138254085375430192750266877829084758359570114468 2286804283275282050698979273049513736174204224941224954326926155636251935210 2628506804030039250221846579306143257519799923684979610117278399013930300632 1779155566931213220647731291762655023379614290659886042369161890346510968429 3584626923492624561006558111147391856996891834064243310282456200978804551179 2574611690662243286620377755959324003148532102488288941510943266249617203439 3012937847786290345665627786948247524176293442277250844067787409791794991163 1596757656866274821569347354445936420005303514903108020778391523328757682242 309246297295305419779759399863638157526540055109563343524869199727338082291 3467022742036683935140003596108064172250643351856445962782873303008029097407 2228064384503932734303921615135156807298105446427437734961606183679365526398 1254280214824234590006463301868312431263536423722025063992713638528688618580 839426267333453024293045618786684707133329011337224613483522089777496964563 1705680656281167681713947365813804472821392645603165967388735177213295931033 2913376029015378821091331231734272844692811399107397538091137148838189492680 2863587986542509701790183680624278822918743479910717460226302395071804058057 2049583354700353355278896579835022458336478086703341251252062984114188862488 672864069221380595915838977681220443222273292824733868268885996597432915836 434027124325018406840647934390712293086819301512964102542810521193157762118 3603289103349127512201786231804646419916177996681486625364836425815922103628 2271422605755671082083267166974356410670413001159949478664826574125225977199 3299980441857988432983293312306974936130988666545698144262073048945014300039 2036047126396627616650327357665634012412814743433038398502795958342610245918 3420919696313468933419272811364198003119011357891738236928634628987253287113 845188995421049418737165085966991631423617913794026916661600104062032029537 2846103512001616365666259200964412598023802189642592962355217746521483160730 1565534879662482993834535365629544355921406548346758077632675153147551497563 1120509734921980391526999068927804484602816679373973797606222329411503376194 1245302220428565861408679414301169695275765232868433831418733820308747211905 3135605184136713384183985788705500268200743580516420949634492088359892352575 182051966580115862537705081948028034830922279312058108747142961829640236855 845249941220753219406784587769994979690681164807991896602318148237378478489 2855110903608210274344560532444318153301892652269594765362263221192663130758 1339371467903590639792962566361710056285686929131224545468373366921921678248 2305897898379981819496437422714705981868583186048234104657508191048750066468 2026491329846547630038124248912075042407588476974104468484952760707267812784 139086583049414186961069967870837837497165561939587483640328419240469397406 2428087221618252884183354735227146853232451148459887511036586495247277583773 735433389436373019984004480695966066681449064629400267599507110608768945824 3340017755707025769259826103428776456215299509196993647181718161865259045189 3130095917839787175039800827388704780224540982077074715130881439002984966074 1574891828290575606656184689352819060140461940117905696467053749034280546001 840518939032490238653672405411460730746313801385436168930564284605524824427 3440139811093198395660989501069848051640851907762850834588634963836739115552 3051085872478759140684283788054783077262021863692445001191105405391292463798 520761582224875155270823980655922425065403131953214287594777661206809422961 2558626601298412347854198025382637805709344990019083732154161851709789653128 2565943565155459234838480755549817886148008981767948254882722294908808659075 1655128251886018557481990859916209232736039253094065793409982893478760517314 2170247784609451923216860668356038159703095753590980750354315713170228683161 3525647600903182356381208114085155035113366445316493526726503918466149916772 1241484745397547590147479158841299960134605615956130119053310645000119622590 1378388847436934426979801250179649352828114738307273139625522396738527782472 1562058519305196167668401763805458735479502521825283134567785032654651304699 3500937766879214077007815000722659077328054435907806218917296873333668960820 1190836375006513247307592722483152497119094662139209903455502859338582500963 169075856498812043032295054610594578254466480977300937948664113856249375347 3104080792108379804920129663590021624479145382010614767237442358159842536452 507657438085348183131304148816861601397170779241154852955121381127550719963 1237097182334990754863258196120214199556886952167908717590140897805080438034 2221059233701578150128287503992629812562928382001951253944022735558196051190 482144119563578685104157818506501560901708448242062576926508198185554062687 2772301006996124072909588051126307965941100247261983583598631251413386838493 2530823370813986946498753780786014929602694242955763294363158608335366914851 505723024555266887858216002902503430658208504643000092810788951366788289094 3060850620507865758954182999230359014474429745579957157652268075955849193330 2290694371636108804452996182382578134925742890117411888458180910188738846411 603624484940393334675881083054852093477756043628338176954144997188898966294 2549541430341559840633665536197147242288737971785856588498012071002414521739 1835997711767097479749348000308143157226124712764409793746136597914015874091 2554977393871100006476374709992913669385708964176563757978135196105097712340 3528565186064674414108480999140361169704346144538737814250410128040837798054 274549457855483871755452025723973995938851484238784675835458149951980691382 1942562262040964377978706748481258678049976018256832877029118388551630448150 3216398281689739612939443326566819552449103149832864081970773046329397541779 27 3418645368358214347692058124381626959519092041031974879598641633633846080779 1957339962223323906478165293780383569150775987999002141610829599665366999148 2128037577083438391381727888594434908029832912221205347186048794826002107135 2928685394362758976170190287319376424286723682238788121522200667676007074676 2714440625625903072785106377296376378269939519704972392047373818278983935330 81372127845389708733555398771693798379286552387433936057519582991701950603 723125552330573568991486421857026061749147372069262198013375908908206909197 1604974626243762500161860958757496045553471260337015067719123004654939704573 2484318316989050412036520489390856237923675946748337118153846447237644148763 2671544425270555204571343780642796663797899371377238959077718514841254234605 239126906526560114051248198532246253765938947721813547577674550326783318544 2318286103082852138430089841418202488481515226180205335098454599854493774106 1274178707233280630196356542733599844365854921116794925148453039817674970256 1438390766653000604331593049818509384549415882944077583703354947195685859420 3222995031660859798233738615996140500381634817477930154230019308310313177921 2259861165605666010083022301062341512194678719606705604100004107357089502353 1521945666721360505663412434762193578647768389831217460523046486739902947899 1863431617352154831065276380920445171476547138828412592194977476765639013574 233567041605550284481590368034708941367682381151827244778802361979635034909 1962841440627136225035017414188409577683696149777591692161162083904461059139 2383820579208404363424859076939916192669095139698073180505861891039984081073 939381815221353717410588515572683209148560195917546680136420033334673659746 18383179214096047720250421237178291173683293308891316269804294893850825159 671709403131195400879060708784599995230119916804672911060729690159464433801 335528225024088293213465748499484711742573041128728564152936655810200867323 1516479740027693002406529706522109658557496042523533807689897816797663835220 982176368494935525486574743360664720801136038891457491446917774014511929175 76 747906847162279365198915640298421156806193611171 1311885671156119370816276828106670465713833915205 143347996114806745865490955191772621729128232452 1390139751175721239367879783691714646163304405266 804404852238303932846648189714975024982330038732 5475118380764855772536247479616675211514659352 585010841739889394467610124665324721684768371085 1165688207241948089386877768207162409956612878691 1201035723839649430126387527537995914998573463979 695324158500538008516985058978010586965033321262599255220977475748835305955 2756977741944386255367663446950335540031645597237869579333149575892442372920 18701680794210624611730136916487043942153252520897746616571105686251905399 3395129651957694263163458505006329961124252472748004856742410582112872477438 385915459148991205673704397270490364309434797847804922264808138340900771607 51058794076260814774116410314724596540853734123151023137666108699001892891 3329365732718488980316850643074247349007567666398571777570878684380955317175 2450371603685207746724926429081767398387140929569890039619511527472693780451 847574629047376885156165927180085541881875912977455914263363929427357318455 1734217727639419220515651005104204497967434167784128265752533251651199107570 3496665374389641318830712952672389937136189189106480209313277197402871190109 3507699077300444165310501284779248261743560163079228795822203086845186776869 1709361276267361792086958440118459750033907102946052595469379038787799914863 1057739794248729388939179618202404494649599233090266275195742591815623482173 93528841053875203754831548721522367025919190360057870955357746988560400081 236458118556085669984727976226666689649141509295592453256685451585814122558 2573654532728320053432776256698095080552814016572660796399898686603611233129 3571777329528994882551728761371138456475136047278554562346546227596706693115 1413117773480505170530532442856925204548268211315341481902298653816118890390 2340462197954075086651051889181196747668711823830059646730720854077798136096 3068424212791014028647644955495934135674373261675588509531459812662118800904 2123048556363371633567058682784822420155992125882921855333326961195983651396 1843620469899265309114163253775185297934660865934320104445224933206887162792 2942175473021213702132628188864952940375523829027127737659360033416162878968 2801836903497345379552482432509045126325035495364661908046372326307296035869 1130314308063432426782899701721242838506996189807960943209000207295012669059 522710819659665968708240862491778438561638292383919609605661070454826863490 520532252168150600996259797313312725968534384176308363437125655036690982428 2513242536355248046154123644576329323347265842921936843391843271484113410741 2129729173682128036615903422857073856811571835154952447568751443320191483168 3515544365524490999468183578166664481387817841924191474480415827783564359011 2938400059564943828397811071593654194219594223166203828012998938111698741725 416244609820306626720118965706892709708836128019034545827094241883374421103 179006418941369791781555698636629342283219513682066276477883112791361541705 2255071561646159852737804704517079761985569064981312894933643751041054152604 2192512890551580472654819279914713643158323123299599403521132696784745158023 2930825683957809288002550064862681384556700075309958279875813205779433809281 1566180028458308078223242910456864347794871074688174362446229148051380741093 864146762311695105091413259479452231383616291532853671710532106536158239296 2931002373019422655006677444410203635907202661428595443021706991864323885006 3448811260635853013756594286655782365607475471533700502213057607676427230745 3292324262136623689561938668621151630826039724323633040247848595590647345380 3267241674102465579122252345285293559550625265765726044260615813821935994484 2188014226474303882537192304527699235609224838539110059415274304346177670819 37725095055060828078829097112191872938102690436004123454853527633029464574 683602212324415546187292376274823773029687145958976272506300196640572342950 1177896162820130367668615252213964529208059173259895418867050154648498968056 2621645457892233023800218587106627233682404184096552794495663080112234486345 1322283452993371067341446905420346364353020801483675884369752603799413815722 2483044331464982551593190788598007956682774794254686436068158335760319951262 1249426501883496182755764898368730929888421978970407934614110072898702496518 2750779032098084723782971624393191808317360852616395642619579512559152581916 2133215728196588824623637852708606635132828260617321523794063304192682453382 1941804552458708126392765489219754898416810366762118105708934401832083763601 2438031705697068041373344048424681649887907514918786100175444744788191671667 588668494789002379949847047184041396188175666559998159818527838634125439157 2494263631178820475069992731405226693101557333027043540755697886363874555959 1237000575040264687178846352805781508258024059092532996019613719147021452410 2741905492010724323362580977288727245064044563819002908467996648793405279388 2649964087672318396262174574951850873197939464942192592977114234147555893617 2287783605124957392214489368465024750320323024679452544852209822759252545884 722393916837526129182404971911829761713062766844519723106586140667757606940 1561670708478924652030526206444965826955468803916677352122461999003420946284 3361716715797699212176277234044569450045359674591904929465071893260169107555 2644501392917678767536113434283131235019523759968879729611153835349161198827 1058529781457571830310138340885503384284832893382132007069752057138788662671 1072898934011270642429085528359607047240692473322041504981460870302655126246 27 3259323443074283830468452495016144209652948191973243019108730152518021786923 3280857050751177598927605167101411271718626912814840658834108044809957041321 667572086716118572312928804902048958920145388401825910705130346802725001311 3170422106873343226068405092545074382138475210492936483438744187007066574428 1699380267607941877874019714553738572582138158298365550834373114411234287093 3013025932250098370483983481208797762072581840512895292986569449148439027855 3033231601559600536505505435021166593239173160029713769647378051893645375600 2646460837346946286794243422115784254789156020273759132189461937342881266997 2479341440951584633142754490290366356402010957453559732957985765246373887732 120158307613023390742092201029625348747362695703596330322421510112624969930 324149592133392599516414742921436527321744777928262367377502597625693394861 3318563880385591760767113836538973121452712779820383797657625518755191371983 3487508126562539286767233131533633551842407781437108863335434301099300230910 2601574112443353600796194206982335074398838601212543549275854209584742120695 3103439213906521587235385011191615834672245821816116524837800779167671073864 1897926636670442682023018928197584468398284476657646490767508870280257153947 3462266696129843531921644651101101220291329234755277970424695083683536492430 478499547948564232925080747200576381460673969256488574325213705142771975375 2320419774138778870201177129506015860199255566033447062326640860262165535145 1397293882910342098351911897877079446498473276409726965854868036470843140872 3114552732972026319832884707053284814098757729735532058137682064046684408021 1247135775282352153009244669958805947175780854659358017535038492977557398083 2355630754418951565301212335426812027221725596980695270830615222077575796610 154676466343290078870786530412999050293056227154709341016389621049308127017 747217673944240626526824827645203991019123985540612790002798672246996443970 2980708415503737695622118424161167854768632350129637562063962598201832490461 1194045767745111825482581641267640361611148021140197949829432000419570380343 58 893573927547618757627049774426196811283396378971 541599092865496948984340106034506550675268832545 1439289714815471101656569929434073112949168803379 483847887137411570193885193500422198603736972441 828085302130820289516522112832634356082653884071 1422532774224597868762322160221519244471250129992 1092438293411630746742760286656067355694461068685 951555406743463027052097949330154691799537171146 1124793419338430959584282862909179664635725907546 1186046586475653772119562920342333018326189198045755680986128818165595271188 2789037436764302263643133308419301288714355924050296399226293891323822443884 1938878758590738051689921294058479129603156831892387467265445202230362959170 2182360573926006312052791287357024811295417628765630145227262151623787791715 1654943094075078765515195918614798571237387693569644001193344545742597939889 2252383797282507960078948044662139984593986131893966239819891515376067496371 598364439603977605707342960864337006552457183594081508615728388962088463728 1922582594861974795479391038325408587885172053331684032479345213142233481314 1869756474873538687993632585270385089088076307494076615113454540535329822286 1734464714172243779566818805984756450719464641461323237391676374196969400991 1226919802159404223775460599415614259309573350094071421834878249827996970106 2681533350391657524564124401692105750977171912583229909738163088924240997196 1079689835119775271165455703885129337397142254289139644482881935910248421612 683793158079454808996381739557157102983738906450688542263323250718245868774 2651565964229599974171090300765384797446361097541224268090858055229917793546 2627127695326628165229177873666128175843643930497661474623249844679905166619 1891234525056819599879008578098433064722236012571215327403450287734948931078 2889416313848210755073924576162424238656354886751594600701314829946365456642 932175390599881421911911052044806755359623117353447941565050163264825839150 1162308561339043581508300212827958914148242897184411902094808218717425196988 90683538019662516065451622156751512172525403207622593726622706106349254909 1486826613858417823104076253661852461078766269248362859328084958263329808435 274917226684188856487788247709851251969053699367950573097752421207919155934 474015832703073820053038866948395311355345294389433498441997419954049291627 564750815770831381501875425602929967513059336722038295219909474295220428520 617493913703658457987731058906644541018879586897825548412657243732321376931 1906794237772026079280289328076613230042982581912592910619105321830029975585 2929142111574063235566056471383156041686622265698047471066249014334986318692 1469426020400058050036926266178350965076308898992661580581372831774418529775 309504026239595532332358666950253244811134978636787775966138201939153073955 573222768449713728661531555703310138832158100876752445716441709318295669972 3068206678779959733329480602607929511839049713911450784519555349948813034040 1500113027590309632208668298721776367895074202807381939490970735072296038196 195832614872714515234445137991349640582698253092267075276852245626865989501 3182699247632404326925709713148310238420617343237647136433817536747660638284 1886452381896681406043745392526649046844921457829219494845701188352401801484 107181195474822131940346203352094404401312798348686060266849573299838216776 1405331232918249547614606963575564751910021452302375349994497258886167454690 2007718306477859790985484608295922256069018447628293755132503835899184360322 943871379354833519124190110113685189927049342488509518809560341166148722620 456282775790393896740089334791445410229432978638413682565291111761619464376 1033408656291575248301231561407497389739506473682584212763373833639594381349 1201116684766664514681064848393981050326964436716929028170552479732581372335 1516343259764359499325780190091393679690688659652763678030719886649795291259 769334927401834923097693130918995767546451152368587683516010286994431157877 2374578412681508427923090896806045342843633428931168033798435679937071413944 1237323562325779255816752370419228129700454146326674176772691558063682614419 1853914562137216039842310625108321279502939502943789954691328807064036691325 2275508500589119456177599909449778985124965432123634294027909939512417903319 diff --git a/out.txt b/out.txt new file mode 100644 index 000000000..d4c0a5f93 --- /dev/null +++ b/out.txt @@ -0,0 +1,3 @@ + Compiling cairo_verifier v0.1.0 (/home/neo/neotheprogramist/cairo-verifier/Scarb.toml) + Finished release target(s) in 5 seconds +VecFelt252([7, 22, 22, 3, 22, 22, 2, 22, 22, 22, 5, 12, 16, 18, 22, 16, 14, 22, 4, 12, 22, 4, 10, 22, 5, 0, 4, 4, 2, 2, 6, 30, 18, 9, 4, 22, 14, 32762, 32769, 2110234636557836973669, 0, 6, 12, 1, 5, 37, 104, 104, 106, 106, 106, 490, 490, 2538, 2538, 1, 290341444919459839, 46, 92, 1, 290341444919459839, 2, 4, 3, 1226245742482522112, 4, 4, 5, 74168662805676031, 6, 0, 7, 290341444919459839, 8, 1, 9, 4612671182992998400, 10, 5189976364521848832, 11, 1, 12, 5189976364521848832, 13, 1, 14, 5191102260133724160, 15, 1226245742482522112, 16, 9, 17, 4612389712311255039, 18, 5198983563776262144, 19, 2, 20, 5191102238658887680, 21, 5191102242953854976, 22, 5191102247248822272, 23, 2345108766317314046, 24, 146226256843603965, 25, 4, 26, 5191102242953854976, 27, 2345108766317314046, 28, 5191102242953854976, 29, 5200109442208333824, 30, 5198983563776458752, 31, 3618502788666131213697322783095070105623107215331596699973092056135872020480, 32, 1226245742482522112, 33, 3618502788666131213697322783095070105623107215331596699973092056135872020473, 34, 2345108766317314046, 35, 37, 36, 0, 37, 104, 38, 106, 39, 490, 40, 2538, 100, 106, 101, 106, 102, 490, 103, 2538, 104, 10, 105, 144, 0, 0, 2764629743498766892704300083230748068011340340362374505415148514737953556375, 381970329659517389536461531950842031430175492973504008611879230744989020339, 2915127294788105309571562527975922176856739937049536846639916832271975035368, 135, 180008445952236600928847481266590135930228661541297285261086681138671927471, 3050072195678287257563233935364053287160253418943133451227617637397323112995, 956464287449158124465324308677800041968125660520784150844696195414623756412, 215693466151550462530656035271502075468795229861759772679589691826442599242, 2420329720020286749244807505965715998742083779391658337164029612147310573993, 985119831112477399496969255507036890148486606350799184071337618617668362490, 3601977539219258395879244520420440083186883443984470768652769342382898017068, 180993753175946751889180054185293930209536951421732851165108196838745098344, 2406566170865494286499348319980703829950378735751146476590476066878360569643, 2309181411675047165188183333653087164161605072915127901449569975524663917225, 2565117029025656083451626704046308277970616574580069263490727908598750556621, 3108401157267327702100160952574680519062321982684154969865178907607613570557, 2721452196345493411234521403274003224780303460461478234172281170013733072696, 412729940389101846139040019473109799449390971098510660697496416073820514544, 2157904900855513512029992179876062992503380561614074224726367316517856225621, 3088013113187543487971516838657283263592039068403752100117697327748444409691, 2170755354593190402696512558363318541891725201877474017916109215462479596825, 1808808861725366317755675584318308834926124850893289618592705433956214046615, 3228031496207950750294304853644963140682366692046129710730873469861791970710, 2796757923503331799809334286460054934549694503439449198181319494714744791587, 974760242334547237703695461527391550558628065075745646011901381937448327231, 135847929506965177519197680860003443333446879538691800513979960770869802628, 2667222741852732886656422321826898399283361266556080415930607877102141205856, 3503324738053202219802446343224545786393361472577136510957929115154726027501, 1782550118194237059619392310690310522908257954856103648084861560033867916351, 1327499452021549695410892641775633957776788491590688936540893837579603560502, 226377369201945248194453247446472206969492273466097618186367352749183392015, 2935512372405394390701049594718029043561307412855440955955398943068058624, 30037935017397718247343254860628916100416323075449961236109062260410962390, 1671342013377286507169235849675001233654429368886986038871605322677310937789, 2616427169950325044142039852392197444068833540653793848966528648355337044136, 3044297967951442946509028420029237646172359849084933521299918311162901153865, 3541922034256707104685285367926373884926625536441659482310596328588372593114, 2561464502663404145214548174533639704747848867606499332279536716805076160860, 2575190796630132194546897389723633992663166473122806508991391975465926258369, 3020594933217012102329644020495663336857728430955867054689662308295375456002, 1665682846158224256402042714866750909404462553903793738128833124367139520218, 3438696015332153014703531783125350476347675414895849276666538442770952416461, 370118902586171720506725119373477218740451094215959787388316507015869136056, 1631288379558279732335070519525237172134675735210744503632766171408526051330, 2305025620952541622902290510286934070147811236006579256155280812233667197232, 1670047033603408097452903848224177201886691814021415222788662111068267415972, 921546782886745176234598818020248586116394947273557412953877064382666854532, 2337602521984209450664949634800922186508353790758163267991142753985279646226, 3487237324116826310659039587094783643536206724685703431243545604981679647102, 1374346699551356925706894373335837830518447965252881767541956613769420881121, 1240312657027942058326840779254807731995883330124278298992725428377816968498, 3440665787366565764656406138743090156991807902641786253396611124533757313537, 36440138876912917711226455297289953048417449472782498733755937775190582897, 2764724399124525295983143848591946388107473165873685495597465055015641426125, 3156252124371146799293933528253077176981576876812447817915190999192150979472, 2180647859182086357140620141553653247032232988571617332700708956957742423008, 2438953881034544262722243084881291999190513567558019395748635175845549171764, 2555531677432536488383871875413949704148183150199723596989376280571946510754, 1793215443412629822585156691406798253544248219361299942426206331307256901702, 162851487221166548173956624750595971357838350456170334779685161100435735003, 3596194115601205527985747529712655061908165767433353233921996920205760103949, 62637763563816523269768308702506233632004372724968256350401474111945166829, 2552194979984387088723413148390556634254967523601117275441557101435386925778, 2796032476832002210472293946444156707350447480229925049129888324808725134727, 2668836646943777142097515146976039874109295222695138038105227343663292449185, 3469070363495350577354548684023909001746246081044666234083558899738371559951, 72907054887999848472467055117844672150627913138281131760073020227570697695, 2861237040886713210021214360524523610318691601735946137914851998586464820000, 782791186924212836663715223224291238420901536897622550215006199800697843066, 428902511782543553842195234829257844971350687832407056906175485969618284348, 1464800788897841181056192829346099056505397980545681598510746164243921777377, 1633748328315553567019086424805646026835395885013377309605444710706484771059, 619778663856317028449232053854626889861887191611984948588995145699006624608, 3162234164942702343850995676084736339826538999378862020712538356778758322408, 582746435956227695555573026953646942755199038104565869536714187717879101627, 3307317309399786043227634557373688678461131259814203177353108878136392292744, 2154689474521535487802625957587037983046283778416700840909967063676555458321, 1090385819660855170381408062305267169694181405615939521609420207230372739799, 1810648006230274927606579849894433632906865920220138430688474634204068305871, 179088515076729812347618768054672353323355787132432175576023308806431922484, 154408655321625509315709163519322634280224750004645389753319956678087744609, 87928269198875749330561638350871891787727986524529550794457868386991579037, 3247396977430165595412519583980592129449240423332828279069148156044445476401, 1559905540514616869610698421681625710411487178312250791431110545961945400812, 885023658060282801605068446039049519501191239940260511029073315482101026725, 2501586189139301973021611760007183884224381617091093051283280465299285916173, 3280467358690994960393594808744700735823727330563310146939866393253881867598, 1890968743976978561470096764487008636922433346314752766028121856514596387052, 1431567581879241063578919780312183831961011642228077276202405476424138439453, 3242946549359240167940918607137281614380602611368001918182764104442934173291, 1934673185619978315219709780283127427470568465502351802249490346248814131000, 710043113751384930564593810572372562799458499056850581014613481143507789163, 2270483120198392343126978202052894775978021245960187024833325820374587913451, 1699344399434375582616706883633458464358609878529723162645909794470523696922, 3424245457457014698270562004206727877998676971022619050974057149796541227463, 2229447681557661054353533086200193032738984705228044526333996087189671208914, 895206707555665589213544500574964201865336342895667131363772017774422926252, 2030610648566497773056022291373281972192619306254097223919615717279645910032, 874949935113560337809903295026550042644912316169337507471893516620819321044, 1439978091849618046167338024514416482328970053772259902303913892743719004985, 880185086834052768873396488999852362774331428327174720574876976467166558580, 1353505995433986602930778949060195131401014651281796523433561890162315013967, 3520582804776847330390049239386027140282520915353439652752948220354032771053, 2793871611430159689378523259139010352480137151110032257169174112499757355335, 1655059733634925520969135512312088754441453080819505174231498061861797275565, 1277530525659754251135708877392795355155839214776040471801188228869920790922, 2307475894552415357731559393853440493894997662354651199529287137404546033104, 688670458958112401361268243640991655345023399993138453452280063678733866924, 2074117265813683634161736115053139871031240762088082115129608534768631591685, 2360734173347646854989902185470124776133869710376574774572977487359495731101, 933783839527469723147807576219839225176063741578372308833606003582656259258, 2985883830430784571664864167287718279084235078185676061277222645558735843331, 684348538864588905315038334840106354901412904942386296577207754401391381313, 1456404392771325501374591286780856442313803932498281805798214761951804378894, 179903974917072219972773140426397343805727901040027596226522336065692001755, 1189475665372138114913820842529353544728333772272776413448590067456194469299, 1595106043088300382147186001929843540598760222102750383179565554318957824758, 425248365376404191303871670964638454505269623580832442927413870005328996981, 2902775711239484349524638590758011841291947953462143918539776915542942242870, 2571667590614300964437977499770478731799043919550490674690486792651582198713, 954217780868209481474682035841131620781497121012179701775990119383956373668, 2128803148799452715609094268832009802609005571461744293664005851855558806723, 2307225455325481841240887387777228788783321662263518887425988010039289750373, 2186524917933401441046242312510241450112603220604178974521974941205586293321, 2266937649622101184147803690924060823308500758910082900155936220838718718666, 3159534720454634500267327051559693725001258835737487226695005688340868220436, 2246370169621457331755298266799213237644443489757171837205041156665800941073, 2783482186136469000307930458623190744005449032809889502259729896991467241266, 591921733298027342923529709240661234374799555140389448173667651080291794870, 1052765925693717085481568955080803341683521037486764762123742900156639862181, 985450692853798261501497560823356925522794971926315465171869302941337900956, 2297132301070680281576600756159426107809178238850102394857370508853940889202, 2941729520078769478789186156620163646306212802393927246985831708552176560312, 1929268141141309943108368795088252641268967527465615717471226900046839329981, 2259982570915192845211615019284096124499471523762108952711189916087031626138, 67698994391717713718092251999781395060199335951558658622210181034146753366, 2077482163531748378916347237483307927186462159182871203567011565929411115540, 1478680280914565202349483066554715758331899903550021947612246787230492070836, 3614048570510935164320127435635219140978435201440111288736570339410242317490, 4, 1118553890591560418374579037472656712022449604384602106944817354860577530310, 1854579744649628905147494074306465346017406082105816616336964636569358669148, 2368656657414227119856594715125798559471653019831202912074487220145445686542, 2851117264458257326854419619761936613661979015466746679814571102134489508021, 64, 1995568420566319572565278362532786905216939164722878763243573762370266746822, 3438600071184131926686343778688944213063791885511552724506876340479248924581, 632133786012129042589053166819303812508360302633222122692120435878949656492, 2268740161333834949134234824983415524220061167012951580517225831500514047586, 180689234553452338537664483904786157303618965457392079736746155210196301557, 1695264026622992013143325325898643964695741718289197912474494833167855656799, 2310381788266772060967706543295426201501721457157720024871158407659737371815, 2730234572453871749629108725725445743666917651622744940182164060530450426990, 323426734974155880256433427409778034736514239454769961008675331890135517905, 2909979318357454514677718048636040019462747365732537471550196789577789657081, 2559630017124718853832653251821629840755751834985509119308077326603229320711, 393642457180594436649596014029942052413851913994337152685778046141416615770, 1193279386983293187688751446988082859393946515113217146449336242823536187356, 103149564838158326957539971921097057514795959313541337057364571388645329848, 3334392737107853652183578735645585709945549307092528194174039672254167634520, 369740371597584906652440738363681542028273927373433405034276482836549034391, 2591523506266445770082065432033661594410294415069496022151897184783262056484, 2950480127990395639720485768199725357355053765697579283578393297614941754220, 2850368411783728818690381519150901536131729605100300430865310146500509116099, 3232894520243079227487589649448907920549738101000077678340705090140451865984, 798841122560946739751634365587554075540862927837804469895634285366983081032, 1772845868089996800604429862384774220072753974040999421303729877913074544909, 1070206021147636010643001711815859970562304745062016038592465925132889143152, 2487947835186784911036625071014923881416582953112883914865790478730721122108, 367902227363399523276889071318506710726685376069985536100599798619332450808, 801144434836764204362458103979267637793769658890087968061660908362916376508, 2594624145791584778468601711061557140686813991116686486356741546373158673239, 2667449215460265704436187495903917868434592669523755620383936923345229007065, 3240982097171548348028043477334635113643476105044952921810150498469851853146, 456749091864331641721300019760412912284361915374731729158738919260939241205, 1754284383204359519401942941836606736015385420742722457472263325262128947724, 665013626291137464875453256497196762112342804337959072755182400488931271529, 2613892118956500529795311464998427630920849659567770593836563405855190239572, 3421834775989132609312103663086356356709168518745848729141137450720522000195, 545226818893504826082409451323681310278445062080681972644882283773540077469, 972837099294010548365318077407728321823524126531274318576254267207332723444, 3217104537224603928260543489147462599599232303226630352922804482704289093953, 740153532815311436969015443586535055301236751811937163603305052102462175883, 3235906937056670425479110043046786345136457206030311462532197488659366881144, 297568448178534952836265934093808351041061063629717038537644242276314546019, 1571667609129151161096027519863937616851300936052096764100451356032619361350, 1516640936609660535127249148299937789774191859984340097864584296280031527725, 3567069948712689959311326770477969807497437358587986553850370797594671941710, 511678778128307954988666876994005571971836078633439553284118336023900313013, 3187393297808636569346964083261961106253812867169675551139363834532125597989, 320841358123576189990711064996897634761087220265043130653994310996845497757, 2211081870900881254514458284068885732067626769700174109831936149855557381520, 233743811002883092573485937343340101550246375959798593772447811050186376381, 271808190829814747503231780244951150346495883851273740287941976640156414753, 2055136020900417166240121562887590515704327433625972978529858068237244863771, 2472933817265439300094263263384557020164754581996160160327366092456123478019, 1426406302142272845480388301931986510487341503796292332568277323696992441712, 2798696943375517686162418360868836470175629183998078659265483241688243993287, 76537718377675408464123553961868343331945472370723822453187874291956533721, 3552778208050948865608206458507593510368642497289352612935369630906125714777, 2751524884874956264932131083792944320602662966810501755416734429126199178258, 3005727697846420175543645166562136921812226539749652885924163966426078997353, 2921742219848616052139454522072102259236038110349181580370651533053649586534, 1912550973685734462108193506655224378535567172507723185286552115191933884346, 2668307705410382618455822656125470663007427456904179867306597447721798915947, 1570885941814477432152072544122914276251580335990563591574038261114104132741, 3503865158480225724632494317284459098048487926020964095933002579902771595003, 2391560158165753639834372537740411657009875174982748268881651014653189834476, 1180720478598204211289591098111949185143530293943857418475341924062280229601, 3188825854, 63, 63, 2508411308389425395181517469793207402358245869872789615266431966527386732400, 3097365037853834845364386267250559219044479082623449210317188691980522353520, 1339037000059702176583933668551141145261746368539142711325705045724982425216, 1014367324025263969771941465270862454778183941355765605140785380666608898029, 1099333482909693813368940523498391595354220319061610215588472299300932097581, 725925098527879784885788644013089017797629723347640026579805808154676035336, 3342525642673517221543954844159536166779351039552835314690195179622912448584, 2049650864345185531989760034197660726689698752822401357956545724468578101585, 2198135351388844751883666426084195394458046748966312167328155221106241249235, 1960990607705306357399014359231687924201396898145898501567239332192415403266, 3126134894543746465227888570337879040806672144087036614526393187941460911687, 1090159527076309528482745258312302023108668218315246544745486690122303355141, 2617379650384521280179796294772254808206024836601651786219329622668373791247, 264110178252985565570748443194014586086613120855052761023628397949234722041, 1671383258594072335591193228924882101301036263406371529065670942121487106727, 198748750292601205848890513764838040586185106759129039189179874384913489610, 128589797150860719414808087780119470421162439612266835283585191068527167879, 1440373576108994434921930568844847139493148284851878927956645966444637018936, 3491496657766025431833482419142786137214429878901378965968437243852507735770, 3469874582194734030834988932966865020498088240485551308961179766312754877722, 2843658632691692565526696715710042488326311058337151346573233324941066278364, 282317496325194561541117615455143895554824597962266020594510271979654620186, 1670510586373669397846174103693526624696866008241342255521424217651421136309, 412621734558402479004341502588488175111652899738589131950036787355235849249, 658808906000631458117959143232244674194676351860307112012250230580769638156, 2362050487944196306022143405407982586414525576818755101292437552515968463228, 21127592891188393230725000775944128811515374703929924476461020860518363741, 2641776808049651160196001038606110912764147972018959642542466447548850602532, 3375192813129275815851612441479142063365233230930843179211173675168798280813, 1557679164406431766561511013042449840760058580789894180706925873323580239408, 1010804037709078467700910048259601814184419325572068188714151081606209872570, 2181350948788805292600572441948194909711207192403760439974516686524568404505, 774745367383010161192456832304638784518500942992191825447651346234011149794, 3427659037180646524809877626303991333657842460281222328641080299486115846389, 1190411387110604398656054041595892040037272813854439255632393816633006192246, 1819159567923468843707651162810637763553774104880783930422178582043890830373, 3014838781064272885579558428578502556633648630732314067659750382839745571558, 546816485411238038440177338224817923610283001364130799512219669272519752005, 508347867051064747509459680393886557422607342581233082705985937318628569681, 986077584146882101210021776502298946962943055549823035230981607341633077950, 2962833912888912391488535229624705635701991860539362206032767930269620159418, 2015447334467093493315724832418400602125900805768341654045529622648771895792, 2691505853884413442283881778536007002006648123977960072096047732549921945320, 2725930869714629992101773750445603862942678475982295664256622590300203409282, 1979892162305209328367148086717957881910426763321832369156953692220443893984, 199100160238240657132373438784859244781071883595689311050062389559348829229, 661716964352685899138603479823183263715854832387074834860182960220745586463, 736297190670163062102005383780179455988060421652370763174398084722660100387, 3607847657537173057813395729121046564667845312851474452121696628233917765789, 3215547144154346830779299679164083738410872481943896516016985530900180243939, 961876449471066635369736516251805642948009851622194118136060929326443223138, 1005110913292360374697448685064027061700678898525396846181628468984037977591, 3511582993144073414365272388666936167099805903708882181671332609490163192119, 2342689528941767293456001723340795468205624118568441594588271260567083908607, 1429806282271018399057750377767890258092063969867935368975000549621967965332, 2852243377548154786699201763710201145183948243593016867579097289455368586861, 3168487256121005522887089939521390499897064837031960981523752045184759671081, 275210954998142137335790361828853489571341242694107156537090583307671264700, 1443593224820635761013177683043726139437093323503765144099645659390269653878, 1424407333827800879540034117603134975748308090298724156251701441375590280675, 339814580471122861405136864590080577836574253283284422226036805162222223622, 885241572189201731407565643691903376750292069458847843020642462932788651111, 1922932321902221278906368836050050996240453544470856900206022860100166981831, 27, 27, 506923982481267740867316110055168574591751288089951758337788426714357564163, 1732884603567182668529249827149346398215357183729329102436820413254186736878, 2211468040094622850065347449374793266819643531379303944627264650437203342683, 853755130956277224108151400182385053380836211034293052786067013508202026034, 1457106656641602741793058974048419236486857503840512651007962884395708080254, 1917354504360988418385074141711270359316055669696400740355061413215366008494, 2848163139524836300159064988638367437693657155582229135225559009098448821499, 1410770114895477606398540218606596368107076689429048904367147348172568145386, 3032351408287201487059895295930021600162911522025388752585041511075563653893, 2999264212078300577666877253133925431146024187068727822910570167075468905074, 3481891118441227649712734348498777002838146236798450682666967934494771813036, 2654992569384399494772564680619046404423683190642052024798302045498727481394, 366153084136174464084625205916278691125369376742305198753467323614795914695, 2604791623069993354877958891587398040150990695023528364744584495532920544302, 2408238912460564494918614077053466025420634424186983055352675298324971535721, 2220940283189590943257363697938819004950544405483499460156870534403379763090, 650240683940526179013817457372437898315375104298907006728015881856115494362, 2715082083964470818008705744732389019895514725912022369527343657250436984114, 604798824684299088146847095707593478028110977233059695770497158075687333713, 2135411760059746639656714844984765713727831640935414607281493672652245287596, 1548115194951129601983626308512567221720451582008762758414563890957926731833, 824264538836221629721994509232082629411540557252282218239109010799814997023, 3298222860694278852119407783163478452121182306151960655018958190557441367760, 1258147198447914318542618922354512998369292913542374051370888668805607544350, 3458109180842573887542899288572133998841610248003416540260511471075404317350, 363295740938194131705029847768085596606936660180754614085609637611594033632, 1293096288076544258826595597472449579977988209992526293171071242705866840292, 166, 166, 596773756698709299174451485536868902995813078492, 332222946252539235541453176699127021873923277929, 1119792375540466030787153554290140949243585591218, 263577315593014163319557691947226868757629023897, 638854249654739278142540095153460887806243772223, 887028199067584372237359313728541533760622347164, 654980268606374465284277331675284565751326430427, 1359379535188576779024346892609341792143857404230, 1095284114814178993678656525045915131402638828468, 279626983496981441288342358769925984120415762174881749519311050014094882261, 68081053097500921027151184385797492305316615101561545228108526162937803608, 394863563395733478227657159410624955576399910668226723284816189677349264950, 407970318770836865292130024809866957640959409353296220051420511049942145359, 529662554194392547876004651049545952785787830499793471280832609747498833380, 2847809487048654812808938567133042740673177611400679318999753366514136900114, 396836661360163442995716772119521025374914637049475338115815897130520646354, 68407187719130178575313772578650135323885579830406283973569135335799070417, 1501995833942089494045878661905920510320012048086323677702083226438138257914, 3512649228344283287807407168632506685239947486917943006114455893214473775783, 1939194591849766197610183550152966842478820323532230136952568271331329016565, 417472274624084476350765489184326864408224435085940454943297562760602729492, 2412636404861356203338046570515135352984724572689918027471352046159418188944, 2356740853560264658021343368149936127391193942316073683021437095318382759102, 1628626703657068663388726371769856392630606647367349822796266646390142006715, 601178469068501572539189541204148026186785763632048563322893357573961737583, 11800013401137637179673405778266308602343967130545526059246496389923329100, 2561686380510625279738625970756477131774981046756751001359686509605868250746, 1459846078984550705209689085799321303981343316785796812003549472647560635686, 1331672976545397207233781890951361688566103808117439591645159242750507431423, 3243696840348516992313024164254946234343448833875289198404112456847035410934, 3370565942114032086229392029139038759014177196836543706053869026855141933943, 391290496179205265626536596377321514238312649112383060200027377041736824721, 1338428859843214642724146098427817521425342410201396066454436755274156696020, 939892285740086690111867981965097917300631250382551711256087373184388827521, 2862787655426873117322934259530990055138606715077592434919298638400220008032, 2152470984923102923383256946482623135383110210517843528951758167101374373596, 1119513343426400255352112701888291952424610166007854044557864337883167967116, 633868251604138237764854819497163216026062013385043454081453311765069756926, 3186113044899462274405430496516843860696028999511084324599542250703191545365, 2923673151511153165510524783191810252720715819215068561965054630065464959213, 1187222553320709393283152342450962633922226647498382625028176705426162793893, 175042477346450105449760503139187589128885358597035401317362069861436933514, 2007599413602419596931579201141876512592860319834058045371176470297196838661, 3429827445200160460000635054792934166199799210977436059579045147380940908841, 1670318615341654916804185776935715410307824390470952768729171300143869706485, 2021128010562568773888599071514472783063738023269411003964279928845537107687, 931120217434606116843439061790367921856350093259223137645543008459220367848, 695441866520985498760388278663126929097490433560348711762424311413845609309, 1259228755429775974888737605918655831215326568233508834813670859837820733095, 3433390009749369195283440448431692189390757732409347583490738813774790053332, 1022782873103215617975885849441307839262643902976831272802059592221849169883, 80148888915135267298485532334679350059707491966697341451634796364109844069, 3120215899291506826106549847890151288761754355753235150484079373653648706641, 183689067841217930151063845342165766234800198064033683245363885801936706274, 2031915442805961412336138882838632166096000702241751149346843016240084853636, 869166378427366937536089965372299294288773670516402750749476289546155672072, 1553324195786311409014990143072455877270362034875177197975380223313140745722, 712037661183097287281437908331358534372651649827996471180500867683595979790, 2366840104816205364379850211511346637087437863192837381660265755155377443244, 1807658964216927373450549421910808311805974353049530480331864895364538930956, 774848585470509103625709638987745738723082144323484328210423967973994793144, 1881291982159217774443440824790728623538706004349488140190993593449849465954, 128110939411397644273860623154464133468901094841486580912474572259123365010, 2977105275167732046706029494144974316715520679149760873701852400837588725741, 459275558977268720734364440140130953584984891492814775623084531955201756988, 376702374767889738950906768531370576938655477639570833644447900224119974258, 543446311553536084488396987417733554403275861610213365443212331590687043036, 842213563593093521119572693113464405898604417219583168487406790972423984843, 2180262816541292269176709677793517109215327167456466984880386344694586277881, 554844566882680594351740486194116664977456997485934576182973084122719633627, 750617037590393684965665128461911971566166087609426814867030741283938382194, 670184584535795333232130209350869951743324492449398597421842617440444449545, 586129115106315680019132135194782954146164212022550131151693910405282510750, 2053637756922377993804009261663380369634984999921658861006953938115082973804, 946733844309310032642201412666946545207545134156513534008113358494051585666, 1885466895798776780463205131681455488762094333915851173587593915317979263506, 2703568773266114626160364090647514946508519927573290546460578030982215188251, 1375894632611008410438120825286448989192502326925117867442277764725316353488, 3263131440742941361412443700357855594373108620666976111480601117781965764987, 2153376482605398363541489830514098799035364657848850920274365185520043005580, 1970773603312298650585255522021940921593330584571069000883968454863595828178, 1843049444002897561488638657910663011975715474780721636224362285994053989088, 823973441693073060630267471758434938031522349856960934575590131285788743684, 3533885206399794514464822855780190184005151341020887662516933541478392416495, 229737285931773916989427669122482828864454125152908350323478292523038820309, 877221774189218693508569224356020635764796293238489025750135278011729788439, 1517438820975088648688207361178615524975599960840368975100668941259277179064, 2224285992950365380126862750110729269528837981774888496681091697836815267503, 1067105629824548482305418214702685182697798818933968360067048665712415931012, 1300490616245387504146759385428246494897154402654131800009015726003672182977, 242645943093555270814814437875427528241979911217040391355128776797513435971, 3102098925368130940960189604186984692481294427584915195338117468069589919351, 345908523933268636470534608387419565755795139281596903181049641213921569857, 1624326557430400592527325955616832107477759971709705328636174587088049202043, 3382222517188921386242372791845755792481803267722888120467204149664727546876, 3488738720254513649513839140007122283914781849464888013712826977926414155596, 2231943568902210584476761174990674291996908329686502069543202273872025360685, 2277674168400152280903137029742108903136094773477965096234899113169389605275, 1544878068373070026786911804200357090173220853955606944060470338853696737450, 3177224984033905236400810282384643530475302212760508612399528454464413894612, 2106247201714425526858742674614735241971386799615986179753276073883700844351, 1717172775515022267109999329738333149527462904759655378882866143999079332128, 75717542243790532618171952671643683262095319441276420671050301654843101515, 2303063068260965009707211827800768870944469423060934065523860539492438911317, 1684691066413363267635264459399987143403920239890218382162333169066963494558, 3341247742307869144789013583006324411687550306222142115079166561043442297028, 2584165184820422596270826817402131972885714267020360158565031961309311625375, 2988837506792357206240553708168222724019096725260685284192584341857976912748, 387584049116338985740068818144614458419954074675769291932363299715173474174, 292832821148173400491118214378336064249315664616685183467663903283860800117, 2865491086207896859125311697092972138274928387106400555451172536700262617256, 746829775473515484378630732694543929318443880248891948570262440145794396763, 1368842460303856664152842216115383874314845599253596446451791134188049121720, 1010218940686537081742662696274937811101573967001115248725661480964158878909, 3617983781987388318070415222511700434116749496963019780220724993998841516866, 975631666241164363585148941083027201991196377258422366988668283377970407962, 964278297230942570817840054710899701178894739288153792127115068424635719200, 3125579754714207049604660804439997830090964910534725290624036518608155529673, 794661778501484844918280416245475256506391259407893866297411570820286642137, 1741323601097465994155165058523023751660797704246539166123613640888055399507, 3286552529659096079143738734528704730237799362285657034352501308326340993687, 3159622309998169402853134242668707900775343220794501290992633948029337200115, 3334210472549971907372757427833762712435400434936802943379125741298603752764, 609122298201591335784761758746211372258827277301177672146236922934221729632, 2869690702400646061431183795202916338752767333145316030510494117926225415421, 1302497250137828107980536986678001016260690463199994227833806766730126384215, 275657452577648473866781598104313759289446127427476181138697067669359742149, 2021423488982170159046204653012688612455888393277025033528858900662434775108, 3415650454035321586469827980658473256328981922129267917412646451069323757419, 110646099002161569839150546325698350065382742222994676513864775071387706, 889536489299497652188378714494338886166205287440511696103235843217060584937, 623603468679294188299012275614229486799995320617329259457616680748410091906, 2221912945137216430010030772898561220513816652390454360352414846228072805969, 1030355696622335577925856331682992113136453578229521019968593467674798929154, 1652691527121154522683167959419191764522290612039394227850075231045299610126, 587963675323762281197905205213824422047038837912964052247176057800860193367, 1046397115216975980047913409145603212315296394540508886338753960706304894888, 1205336891997674093228354013287112143863643833914519825730900749604411769827, 266552581002127318432773624206952893227015423694508265061388530560256932808, 1523553360317577369966453199341374384898593204474105292796058325252964359355, 1441760764306473379445761430396016695915741237585542852591387002280646662743, 3110692088833006212288764975335213878930530564630880095061492163637584920122, 1451691780101238769816338982168489878586749900766098726293332922381678255110, 997042668106684249968102426510627779666150498382055978341027048798511289988, 2695976767787435902793989714428030827700011542472643534204773507197929285491, 555055215453295011584948317735394725861693728154518778852074566436571734891, 572529470952089457856212002633668543320431893395764179049650079020327727361, 3314783771858272898683142283968554554200699328286508658017515316483955176229, 1103251698947452066563896351054017710065595860922963105980927869919622785040, 2113627242553081774204660753367028188729444080544635328037671812460255868373, 533531065723151185371164618674864916553164723037978863599373962951626544285, 2323644394379730242982384791573721190414680697167569769459126886713286698, 863262608753218976400541991118377464246106808855438359464660668586291809231, 3578843966900924598373982647570990587035216978628540628382693289297426608020, 1379591779802229596833835171437749851614625932868284931304196910251892090815, 2329864414662358007275287094194667314772555000903950313486938097745100830770, 88058102877006363751713078308606788277642007124773134633251502353430130291, 3289948519372724413485524864409996212749067266457522515575616790269360945623, 3238196819806582811510243590282549101930210370229984231223810991533510829746, 928208840831915498141936920678396858783048673236843567590408935174848672597, 2205962291672353391510807498912251947546072987793304355482525785713393969037, 1546334704080783043815835713130403411889943066839929771457038164703717609255, 3485292456520716552412874022724656065853250028247516100354145599758709092148, 792114035717754340017140741222523939704223593328352838670034819609956824075, 1873027211843496163341392024819778811584777530862961462873115103749688494536, 2370802257724509418951877073224969216560433980225258854033100725068027748282, 166, 166, 1313328373198876008221709732947745768746659839361, 1442488691819823117765386235577441467508844957454, 726615600819446743312994022103562616460735709041, 443770736917489904571700606467915230786366557749, 1108864197700605840516278490105903529036609342008, 461172623315569231254463654172457766497609290675, 1013084417106156055932823203362261134539855127871, 591863611044999208552452860258950931623317690847, 66524311217396444191746583016227306751795615158, 1768146971220767482102208572047894126059546138104911524757345112388208963348, 2028363329128111133052247745878077169015610543257032813737441416092274158393, 3585130478839497346815127672355106865249805603121267931163154324460764775606, 1198917016724873712241431828387172563510994953855216514746597159984574863323, 205022809544179836624584012543952092036902524905128391937242440324799657687, 1513036447257707545236942951178835335603661783788551137569966085292150107128, 73106927612393321464186043894832692187573887271925207818298757026069465754, 3122706942564707981367387130782351196849338954431925093160387033916162321002, 1439916232454966591580075965807863657925646911370061643863040673054311385513, 302184799380595668001185960096539006627937997359365297564829911193494513038, 2095472061442361045213595016273027536186686735188532489023662685642420206503, 3065170524608718566243622130478887245840492207550752559939881889085773048244, 491657176614333880183069760362565797620935632964836603518836817563785471222, 2056643802669826565368181306164353990833813458135696801744198013274223691894, 3099076090780529907063264232274578703138833228679486189440599190252330938893, 3010571942818570088634659622584647427271273149213305804484725858699502645512, 1830299410942963005901735070816545326029776135624754069398029985506164711659, 2780079920497194073900325183708131275092572943286732079297251889385998262534, 284400124738485356271593835726060195180438025640800827747831214525417144832, 1624187883629388227089169954740708547869465859433443940920166320026893440535, 3615741426592105010758339757298192324503721771320531714826601143333754641405, 3266031652439131399325472071015318201787957565898168978828920546437177819025, 1404831121413381695791459256471543057536415941891143349440608615914875574208, 896357023197662270146720603569213583694320170588659047030604150481748699828, 2774920666668031460934463668577812755070759345801532088515477404069775528834, 3318966392011832591689741945152269663697869818294295433763690406642463697815, 3338537394982627806784205382729494568187318685763556747401925969750211894028, 1614431230336868689387205949476257392226977368983464442583380973886181588590, 41871697538268387404068836165115702566198354334183045961433189530870574844, 3522365079797163980937502061230865388136407657076408679698988956323903981667, 1919160090743236319914940144159114780343978017804667391777890367573666174302, 2117373100482872759576568144889310255017008153743049817481747786188282127019, 2761231712114951813162465706044200695699858179770480192534136139822812559037, 2731429551324124727842454116337613663699353666875316871684133522251358962402, 305305685532450269857881677798000272544076408852796313769352375745866935531, 630103105489851450945091459230065551191734165501927307184664677604200273152, 387207028628079484387764380957060896484995144598517743107296970013392570503, 210081315056030984310797135657165111033990733987920167358212088929298491854, 140473012064409267515176714502770570230728133477837094629868860853783308905, 2965313889265868529382055420646514791170330572609359198338508314800259616315, 2614965925240193793130313145215480758145821175039733910535858962670039035931, 451891593366149868001651728471394953953011266491570686676740564141481209986, 2211123834578774638544161779726265311844906270502809102605637808997097647769, 1614332564932453417036688361847176466428784534231356557184899454559043982208, 1900541066460430968821229149530526520886417706445945401571864435564819880916, 3400991889476912872145313174173639372443165388695512763885399483208200933304, 96416790148571851719548165379172011457318464584476124919140772283008999325, 512889308112911876906821258453590596667650054187993919264802793490792756714, 1614849800008376942812274612432039533125730481725351786125364430382030959753, 3458901553030577167283438690243198052908633878140523697731028582767589579294, 2536247427164667436379159262411186052585162963109612852319754966623245144200, 1344301691506446475637900279531036719068547316651852806583518488085061402098, 2417792607065094756735779684661646870780773440975994279065447121836815215787, 2485208609124012128236503590618564432090427774346365944851572488148394763379, 978782054238429622854799267115699730894279530173415454105313822469415595140, 621141128877171483717839404750375645712678025848362844877519432657460157825, 453415940929870201254590945234007731233997811003372550321826965799793016706, 1994304182586264806375471358939672983350918449697185714673981912306968346241, 1387678436671775766455870608362750610761419396049987363825075246812521146064, 1456846810278860201580624996300597764112847574850152421029209602450874374803, 2299553301283800967892551623772353909956544488577068219859071179754603070555, 1548499119873475348705772891775019220503672783747201353044588839185967692462, 2372325502934334115734488626612425079845238687751036265732990788334147024310, 142091123463808532851859579653209339432800406292193111874811087830503739488, 2945806786206590573195499384914890953462732063674779996991541959693833951231, 856073525467413976356362761002091017984668144942365371959740251541561406731, 41803964955992943856238653520490390462535601100586786972376113677477382557, 3359702682565890079915465857965004585482740101634718388758894258424637303396, 936521738365431094852630261208453662906158839131187881435707982829910859070, 2124193019538850814253230915859624643726813326098328094140322956291788176025, 3068645410604347495967674370058188434448152772233374733752003635086465831606, 2543037111242514645491738786622680393762320409570712402249815619559253077896, 1181114941239320767571522041869435662459381978684130964355167628322717704981, 3165671120314366396320253580810920782222280342796365151711616422651291728110, 3428683519995682387717451226440095050270989622314193259503651376475514088073, 2609780485798245704409479072463132097943901807692786542585808794462222165413, 2544260567249060285245667104540577650950830091075737289262406367798628119882, 2118367177751540034739949430608302875920670306671514682526954329646656957081, 1445504554425708667835466438149789294940644104145995486421421156183559142652, 478990122084247490435527317553128852199054149212074977895838318808242817192, 3539100293739204201087352041126232694322988077617264143400086196578759409792, 976261189465832197711255591187523197660042430700388973664689493678853768215, 2719617451506336903829259618532452550018775524699701446966694617365571570710, 132194374004688701493348211443307132449614587881346641896486570962530879673, 777907623724339500736826801068336633645137546461848746063800763646811946932, 2787825942494622957667754909343076995160324151475131060895385264836903412004, 1051156384445632079985681991856139149225513455438787695966452896127467525056, 3177104648002069729183975828973479475176711951827904099637418867161053119797, 3380628703369937268730687670479371339761778736892427205150281771857994175853, 470341013262486177216037852958816352293253642646616638674883686266271393135, 2133709937065529507035983167768526746055651803541490799697170943566739831533, 1536523533322033287859884397756848314581087264033127654557250076532746124432, 1491088889565876042786981460511125030448930196720056155605241694154007158727, 1144742882837584988859189901751993433908912346994989222011152519012229662191, 3565147030655397951659294763265248001117990300938023911915572066752013920183, 280271024137958012766243886537514797361758956336363965680632425209515778580, 713115911449136822496676437699062777957511002772350186608108084593601573955, 1368842242888783585158055212294546249980403366114099856169926450029976961540, 324565614694065465578663086045751235806771611519193662156940389827423333773, 362902386238442265418969739915609469554401472966839938323727916803880697208, 1246413682772450665614660523147322333889033768252126823128513528245305827055, 1261251771564018164696462032054916012413689862031742610366126636021426836733, 915771384183114616037799474688517712844947709936083095195226033937602978985, 3391051485970007612127425292150790566946737607076732834505355166345463909470, 2600961371260714272720014480563456861717378875627871499221404510747727392806, 748635693679802717261930071126095313472032391992772284987487728931587811356, 846210007906756596124835652250281948379695662337192632655858193455954201348, 2929364404433532701715018864859928835597003313965609687452558349262900765479, 1867730985906297649481701532244017327701653315088182978919681352224222729608, 3424775486566563422209493914410866722058699382494074643989351763863015467072, 3002493706259935116877153478807204211557883951554571033237789720937198797608, 2705615210164109780102728398000550204846340913953755289152378108558742633198, 2572588990488841767963236016743569175757774679060544579837208673975021598928, 3232829430143246724654151535330008306786147210523022654706159997034625113147, 1152109717646352489334898624148982164156454891286777180498683367750091093604, 754232325962690031153029559567854575737079568203936743978286452223618335321, 1028637244685668358407737896720804038846812905405750187197322926723232494697, 3322777847650102834799539643192653224898825080381963689955595704101942309512, 578080315642178401514940131659456053285104738612452334533955211825948645653, 1754985976402759296092697430933448680531717677590296080951129266740049485427, 925878556921995145971867354901166113975459424015406807206006877418152703644, 76050127836533713713528904784683264092796508522651491366435623933691765444, 3137900739376678827503728681599562983416709337615318743487056405920359728765, 1656123810689078369985857356168463273297476858666595169533112973414221966675, 36820269185957140268481571000051193152725778446837694745523740478687946222, 177591909756183611357918912820647229333961587088968422354724695563921022080, 1051695784151504758304897163628186847447334392439168961443762056856146415995, 3522919264022135731002403856485065592267004414927379054999188780837555599332, 1861747329323107550179776451944929229573465917069915194407124405741204479915, 3120926365135340261257553870526707237928560691016186975955500635004308059795, 615031515790712289033051749266320937579723165373427026927376587579025510970, 1202972360672416857815568057853341480211629108382770491932060258578365219255, 1724219474625668146016282658663605085210540840743849851503882190120984336170, 1266124173514709888145351681552294468101718519996048642525336757602191698912, 879342368201064783151065810460494866302410438450990255620741356826757303762, 747162243472378203043530304584888865045342563866098516696082208752531222057, 141344782104752524965711056866342144464930145448955658586585271128144324777, 1990842089376260706104302828003661040410174548726448426233876522826006051391, 1694241819565122049658493499363548839714125831701198581291158903016273757304, 2339791389868622530342536684625456488713920513426909958429849266300076925024, 1176361227394537739318591769390819200122194570012832652442691598041388330487, 617974575723959076066320961825453196810188438776270832563983043759156352870, 1579596999784969011101595702026075823241407349133586814098742797935997865335, 2678026219202389072369354272766439818769340881548782797086422179983207304412, 1256186524928650025731133394577548621829349704102543722364068684420390165160, 1775638612900950240537296647512429557390881890785737210286796822163667790005, 2172090601992032263029624808110177408503969847662668411306602236189438903899, 1087687882948859678198680504034239338466113901722109532217449037530579910936, 750334990545510874237833057912804092726938885342972374998441871558973029567, 1922437324323235954870428604084713312371427147687319024329791430784462472833, 25364540296768590999977732522017745135665317160039452220448377409788617118, 2166494714044487723168533090880712411898259602317838373974870130176445822633, 1452362863472817122260899500235871999853273971586009497981085391953153125497, 2497993049190040812859281497465752272252093329180851474341918244575137609679, 3260932866612529227653606819102826301039276394787418514169792318484619065360, 3311978521717940837553514070343410132276841883893395183620811540217159753540, 3302539691837822375983480035101231637780170413058802997041977729979016313507, 18, 18, 1697498951429292011778564250503231538857490732121623766850792029669327228001, 1980689298817841944353056363511045538752190956984816513415826988710602689893, 142258230591338005000787103365973997487629275666598722143558459450601195353, 1380933334382478551304516850575603671216389693368963565501475812256818939410, 905563901306214345412874824348114709881364571433274012520518059035965896004, 1512831474472322375926083388333526339960775952882932638219049941547716530784, 863697183722702354355525102068362886090730126281313658053739000435461118222, 2722476076630487101850374105682691689543959049911251456065692664944025033214, 834643009052062826261696421919535968213480432573452990913912633588099325525, 2479922024706072832094401592128187916196722058243866072339010188816982785728, 2975650643907263573414792799175080898147319644013205757516950491385351179902, 2515992135606212655314178543228043063076270445146196189213773321036332986698, 2790370320477526701866060180133183323856555306096766203768936719415171957582, 997672663286686536834660780596250154881650200921893468653139402405263371758, 1996206767726165221361797554479246391582841136817098991023010120107563893673, 1241227786307802077731192343669608053405217063560453553992063638474901867691, 2410246159389486041793490070949072975070170022680899699424738233719855769066, 3024777280098011700328959559330078572218560457144391143097009473296128839854, 166, 166, 241937294305961955854686692195339222989881931604, 1034830350797342863336249560650298784117444712709, 1176826886522871579373183331211047796208693629472, 1004038739042622108110756605329974906587482727484, 1154663764303270496773119308529952400334859281350, 689519010115032974511527415445070999758141000541, 933857139444921038763634477841370664790012272889, 32480631238416738002146261127009966341855795039, 1298883324530048987387046622641642054713879157727, 1702605818064922529555929939519816773847029839698641977800155778727549431972, 2320165203501319023634674562937104239303714232754711779764348556255403100685, 2778835040134581803674837315495830838741279636598617280711697530593917319943, 2825069969698112874399113192114308802095064422002966425644082140254682175247, 2697525004733436035421517223602215891115808729394310288510950755518018551423, 844991842060170606726778716809225869452755802044815887069263067057136011379, 22997067513253498685986389999000919892324385144684053669197231684878568555, 1887958879751113520021081726111187593907603567614873772929997168397529495917, 1132629263571022629250793087485589002630357878270219281470354562724212746675, 1606274846570375985707065814959806614708359471463795576287000196090097765001, 1322131801283571979913035924800463361958225851466300902117336482239617706964, 651110056181534254637249151593139816420705329680509368877506847711803221875, 2978159567926874684844415986657960860234252417636480811763013657568361005012, 3250463773099844210782816983484670330421392119776851035517336187547247765555, 2382207584290117106510577266970784496135879384487349597815364001215632244625, 1600562559573397750729634658106546175853411991223211763100590772712355942995, 2656418524879153363769573088471529552583838106470758564893352955089142238170, 228743686783730958065063905718278881345316787257375032429038959280007789619, 1585193257613986960296619339707368068302085237834932917750311126963395289381, 2692961163846066850338238998417807428051544650058549495655603146026295140974, 1010752816908296706928923623864503512288856447106894374028487849333093152352, 611766696501009846824864068168968496606034651077534333171925003355053775462, 1688856637766589518171764390756161272077672802781140700091958793805585936081, 1873165264081836264569907932012693101002290195749292636932053911208099968121, 3194855290271593902493077715484851269693224282159710195171099217892751846786, 1248513179677671729218622077525774604042967211621294561883542088421787376049, 1216539119738506843488851315940060069232294530592216053808953338974816512478, 1887767084531107927633627948429838547894573961407867402856511999128089109823, 2080335815509785701366901468900777861418868322793121164447298401019062725172, 2425630656003877767251314904652129540034718197812779153952168871392863293060, 2660867009223995171171586520555139558788894971934225495381513024677286719022, 307000239701969670012946261529700865624528100868789774116372506497923572713, 2562322575287968371683553764047136271605804852027784453499183704745255471746, 605569727902502107891730690907227154024903323003585787107611436944580503307, 3606725412149457451340925281038082156715822272801571343121128762441320247746, 284118612825740316216793767848084205402512818817998821374963324054871420186, 2146885198659915624916937981496782517114651592333113757750980306406131939498, 1441388877884196878609987528390142920767335487081355948461101182995607433645, 2065413307450643762600430580697194842668045139016413876276226242311434594315, 694735601806966962483973191146964370002994763313021048452675358506775553257, 2512490684457256908725273550796260379157756052806057315335662083010929776150, 1339903570813118508198020829264954154294532252139638449145318274117346405099, 3365342863753958443476932932670997886367326435942324075358804944835052549300, 3202008422128347492391120482800116435177410390758324183541881308775527295382, 2339789468743610197400772989934638692311879178912494618531318325637759153719, 1269095371461610927399258350523058796007213253393839348226918182730646843878, 684899445196809304403893462902921560862477578423217415934751936632362373327, 824013377923125598314246217242096408694335605786582188252939981096480276472, 132883180013487375550309348160768935444791615305059175374780371570364799381, 2135993235348136257175074393845937021168527906585128256629114168502314653093, 1933833309319558644869725385448342343796218301989031035860159134139624381005, 1516950696806028236900348195516669102772846947123472286706857855172054067890, 16981018076330540249879612418054896866371288993338958473628445728883164086, 1542477752744468195216922150108499029152311972267701989962518880249875956389, 1533747088685365484731399833394147104556566700188870465889737133479560250188, 2031752324613817062199300434097216936395316925472721695033666934471747378166, 2483335063564353448613227506406236964750950841368631923054251986756994348050, 1218544144056423505150688276318807482216248642763540110705343839028529252179, 1835263222827608783467222429618877001446586824164299713775662688873034141946, 937846503969641660121649757878662687559987781601853740166354513325152603746, 1412083315741809590882353204455531649814601602469402855054227950082135463803, 3391758891794230116868062125114899634173918978004960608105009260597680416749, 379998614179587222773763214692476704987922644420724715171156669133594635950, 1908771928841520281889967037744966021649666542616224574475552197011687049723, 1394400001551383922538769742994862630075337777187362262229602379734222939533, 862658953331518987391551673152947953546279235800697451146248186134607809228, 2755794846682019625540420559731974402480141828728420848602999672232875725022, 2538573556840424344409117831412366483164138506853446492477473576692433407854, 299778690495375170181282120789452315648670370545965629913567533128190548148, 2286840427758150156821554613621536206835677035956334578974084252314917214479, 3122648643272355130779767582247291994405555687773358974467661297073111053615, 2981706450125354259616004200620588672302023231531547593268190976628126707200, 1172242271411509188813475043611038509719422609107483062668407948045574772016, 1820510393575365977471331699786504918547444691545361689322405810836692052096, 2543922233379112522442451060649483321973318392549105288137885225460951443631, 3433747687236043883852513982294223219443995028525621540435919291859442301504, 2513805270135108808648665614667216605846568144221900985120358161162156318825, 1108892415525496922840441002648110485783062193714894672605526450913465653763, 969597823994181079737113827068943998704309871106170538155062416106056200021, 3518978660519865495427348638665646679636437927848232493700268137838489839733, 1082589037828574385633547822621644658343403482424714593052688870781620181861, 1073853679679326121991134398790439161269814998056464920521999983524539568116, 3523172575990333551822516795218639330721659900071533884479167103187058424511, 357309300923693357361243911166501828803480083904282987746123512154209025617, 2522211241770528617869670414440312216176501306268263561036861280339710928968, 1985820880060412693970371332425399630132804891917047178915356337756536160920, 589985429105256617512201929365357403339247688170627489471781163127397499539, 3335836741231135414345208165424758317560380471817980092577398643979076166128, 2548096541783450376695610423056634906300479547796379332705224380242357372645, 376879075896122778282007431942751276972335228237567398388720120762667103668, 585254833620467664095820530930329318775565644250431694699320670896845519425, 348944077926621774865714775928982974250648874355782189464820848598280630439, 2259252750649572032589053678083989298455477228849876405297297453756208014774, 1905540411354626294422007087150571864731630175689372068832180232351113591890, 1031274998370196052777402722108822286046217280248141410403213652861134346345, 1368764618420587825239403189796673595373908984386975265413041229146612711458, 187826731658676397280227114334301810330821674828846950961235983257566282726, 1809806785753181002772171608387955019437647143947411044501411406533561261020, 2607593451663816185873057363080057485210673159117155393114684856223315078963, 497280383299997889343337343343575765443721946113054342450233768462248038700, 3356921667801013937677241337071702451124218297178674776973902090218350430679, 2914133028341165036113039584089622438272233016553448175769846450776977756466, 1812782235611306928914036451615279457861065089156222895769790082495994750490, 3064376352800885977182655194334600442028001545269936095623671145271744109479, 216565032074211565751038986321566272904294871662109833200280579360207064402, 388959287224954140158263585735241562594078019927806379615263249465313312066, 735032098073952346141396232101007517771622294511790411998738476837794182839, 1042537856554044645091996937395613091256064062618041520728593723443144632829, 1283637736997408704973885930991289394935093400913264371517376854421088983899, 3422290397397625401209730149843704683803129997422896492828298099923976940761, 2949585494060731291055241779069747490085037178761555365099115189432901597781, 688149167078067932135284689872480281014844110521229643878464798500271633918, 2486622167709447982349267794558476769678950384104622497260097233872184695, 11033527442350519590698311949751961952046043862961676917056623015610403645, 745833962913202862120786422459959797185585036439509090634155292352967946736, 3261210520380466970899479701854683071851725476265016972144557625866114980955, 2693331984229809438526959072565473341634222762394400524473532324883425561562, 1152815457935308559316526793923715246217160150673214633051674160806088682607, 338442702421064912697997957670240640005038571537693254292596974053494428852, 324905173540822147225045954881424502037800596635844281534265647806027231118, 1723234845901416818387944896589452955074293729378206599125587031770731298484, 1070015134531383072732909857935629278433932551742576687132556419630020483240, 1768471958100095400209608731276845554976141308680464619005903159982380890016, 1164424527402183365109000565724267759550669696739003354103278465001656483189, 1680264555613847712704990812140499602473765895984376040758096986799927466936, 1438258913667535820561838892771646556930603479219363502948518108789322661851, 3192891440094288763566313443399658196234107538499010701951805399654858820566, 1053224645002348088826453439062852837810705112445424385416846271245151065518, 1665568599564562021623747559442090666308536086465604617946624336824266923998, 326389644715160554078625850313480034231118620015000070596606859852657395173, 2361238111056102648067540848868300974262371980406213216978095931989910183495, 2819607705527838613706566654238909435740379056172829363340526904534517977305, 2493835763983976895001074471314218309194217608304150702190247443958078170444, 967910459156410748147756485739559803052115454908452376353934206963532602460, 2871801850040254365378074762261934659507312050893580417874545109248142484983, 2787295249387634897134051942398999533269293108486277208099998099637180024717, 2959284445062667353235798505828096149779729195169069185930304976409752310317, 2414618643396311556267030944425593245828725085611532459063208712714564213137, 2066951553770091572922083205885462014510799896623932031323320879156055910171, 2163242832364607832349486175556895522474152279072981510997986125027966329893, 1515791315984973684732052442633277265065043016945144554867197476150820968441, 2467779981197434516384857543977969601631380242986623914604791112156474974671, 2565457901758876774398626167156325570086311325639767419046263320096091605078, 522108763772738859118229165399154120285610680665056469005313645973672323526, 2159132576057969496067461521140108619391505358438092449472375874521862512039, 1042119187783886203065163537069231509496937078400641357851688559072698932100, 1150581396625169790582442025550574628083273684932335968939318556103611642909, 2677025143885294828807694791780316776563443723858566079013456030649082374111, 2287265277574061687982494203525593238746230895405053625546031502800097745944, 402156138877115609899274917462625250243507714065764704202223102366725235342, 3231866813265949567153298783201698444683511270584397005467173884324289926676, 1659461570000731286299439381005500961861021872480380924817749944962967332333, 3119772346511697353139049836594350528900362627561345067462296442583336671996, 693873105911389748048694597406077829663184990637888030028065879583780488880, 38984026537555305494899862754195568295148488429904283163887793227132795761, 2472229871083632613002281634334997378270093795339857887515040977644011795789, 1068225489096433443235095250797510316404301295431339619383972067659894808981, 690, 135, 3037782715997111961674676126925991955203052032027958611296983573423798455652, 125299482204534972453037685195984570333574679538885069066487067909430907952, 1476242025344821181017649478777076219406018966034917998819842481125084971180, 2783555241579815503143062317274485598535791245011161719182000610422062369988, 734624439395304691124427575800418514360470644371220593633727628071412320266, 1531864055800810993188909305700568783139919173116571115331658779663349734532, 3398420605060398398767163242346891033683015258425008489297774207338271361145, 2912656977495907736998733982733023954623492345153209574806907208881903326400, 2584621219946766399175059386013810621979430968362230518621726560246083660982, 1354272752080542336634707177339529050443582325352711472765420635875125323852, 1964511002999188860454939006433749138232600430214882257837506130983095914999, 2084084403545809483589909726062475937994576066028018087294286659520733012053, 1404112826764148449491241244687757892411772263953231017478339825259476383267, 3173429605289932688819355720185073007508864374777777432342759822271232366054, 2044908720135197307500110269849624471854000557888729883165591704470395310628, 1177285485570501845003380597285193352437484220891929206624714408054077744573, 1128109010133961891713741369823906489203527814601418274274203587311938628238, 2705846343725565260816962359223167126491567230797839803322247265464680381515, 1933481727395360443692424107807802036073564210553532145106515155220003395991, 3382380043363157480046635669442753849911423900598581174513498261731075902132, 1910144172076564590782045587295974889454225649116853630622161903673497658741, 1131464720507078706173978694948049379977057839740096314603913700787205066349, 3584054601345339280646331825942487869552480026955606588641616718490424671294, 1294057265603372877878384233892761826848092879019970452376727627134441016280, 1647154259461641182933486714780736112690749349305159851584951493872414191767, 3320717411789003511988708501571334158433519769357986828450257901884748015435, 770555547373592450526624166283838704733577972905579134502147064404514586971, 2556638651726139930560810119665711768973302741343592135055008930446641160281, 1908880810888693553089567183200238623787341033666906221552333284163741176377, 522981409226706693503463406225038678556904669172672587166863128911314034446, 1524657194270325307169404754335136626598429460547269670899413236875484809713, 3251912582416900471737820316800905546187060028754009014201768421496423443866, 2070968625180807319214429641178663317736790087830756452451323906850894135825, 867185882656045266520995677934012686820619442581851425746667001025459752136, 276713314809617442745966442544149444914575533655319871041498953675521048807, 538239641667385379272110547390792023785997145032322448175809283263002813199, 384463514032920237643136374661812496549559829691251992328533980709994007081, 1734775435111786268534426101305054699867431648325440052519832789040057851415, 2679191216329498765818344333507493991661051309427322832359824665268731515432, 3370252227629533751257032985626374529554581592245853948904078380359000168732, 3279590766154815753223220855764137626246854916542813437966033173439740500645, 2650694412998513629317159925401822089312439279724810548067853641582276036878, 105829829174702321232477651585400824763784641002314775115715919651165261089, 1895157937301454985481488195943877760018461641321995118308426873522219515257, 3140254749351697611951945186608150988096827135108370538301073583625381222145, 3068503604753587090510546214720068292706633867686719310858172135009460293355, 1873000534722103294838829934007128179139315378771734167610143045558650130629, 2793664377292899824630247753491285348041700214616174054153324066348919433123, 1945794884400449949943680598009164774707047503833478280143751868641758917298, 1062619970015596413877309023437167641527236028677008799451638209906377672357, 1702839992965176407546340764575900076967803301312202807290498003960065303914, 2263285381392292026762620344391383944350502560401006807668718625848852778228, 3178608291681840499522353696789507520814721244118054641474450998206796980703, 2822733893875406797858687783829998416027152914129891417739009271389557876147, 2621485812659369080654385827025047600702945137078093955818429795190072353524, 421376701971496358686590361229369105211254177021933299158313943625060707064, 1551523894409112136219976954385363579398631843302050437528389992339208150255, 2678907165599763236724144188806120931216691836931261840742773796060012308887, 444652270798519961630396719769880165506702448303828445304466787298820664798, 2429855319102420547063212212367801664698217898043821565557571243506963756881, 1824936886311036362366386845757845523752079337714998089269429710224669123169, 989612440002490898522145522259511053888286276401850703977957597531557300476, 2792639278469099192436489545010094318018115601755902753767265758222486317184, 2097141671027254064071534550987253900613501691714149085513407526381227009175, 368101583628264691697557053158976906720156318798037785446471702060564764385, 2304939142607731817347480904414941240318558755000404183944623443742963550750, 2775103108838275795825592653682122378937271590777656841959906086881122118070, 1257502138570497333613774217844651972841032532969416747446885803000442366990, 502525741479824571378195159770131702678473387559480051504224759592064658874, 1426017759122508613890572294383515865315233151280871657778967035216600184041, 254869587317066393260163194499834886361360715805724639612266654778996931644, 1312697442609446416779618348507828388431022945638965835222325975803794899261, 2102022627454858939698551430232873087129222770850000219784407775739839254604, 2916782634402569591320271828344785600337542966104741836925311588674230434858, 3368918761633817543202946493073734495588994356256504809684203156408866375732, 531536377048418893761998494159800563507582983440501570394852505832976463530, 640635999803798134444384498961901523065069245393353595336300780621350031998, 3344388995815423665897534570137140890526407642581038869566591182634668342861, 832992284351128659951065196272447079883098983881449837580737762402569967381, 2032124034783849615152011897420410731769510866678579718108958423557456754289, 2371213913374210282736302579522122261863937804345749118512280843456091257816, 655138333410862137724169920020639417193544267471377559760710746553358817984, 1972908065051490815361977771270434366036049208120075813248845218395967914798, 1456384769830389867667699387489548008695564145608671874045893302462562240895, 506116925814147821543263313105957164486467372251491582488396907398370995164, 1679696099301602039642657981387172377000801837420121913745475269307747020130, 1288827211661295317889375909416351625621555791179933133399201333520981460909, 888524049226508898766675114562706048304113674698076121500038096941139226539, 516549106736615182351451985822642779592253505499078483960143249507146060251, 646335520071589254386843905846100357943183174246899076893693019868789031826, 2540783478024987013124644897531666159331090003279679847624550884440960164775, 2592578650560666428350466079459863394976922190793737422533415266250092175746, 23401245355648377478973072623765820884425720136749567524650128748499789398, 68501448785234412485083491045453680145231703220093994392953990817560831708, 297724392235211189969319539655740003740934991751176506301834231064405532453, 2800260607048520926773884830258718644891953284155094872145381985663036242919, 2021565215927481813791595495966546847565526927546841982401913964912988790174, 588587743046423214566193720268599512037214842480442480730826262154163441784, 3385396814988790078159730797870502834242108006268706303019389265217219542040, 3335769165326059568166973078154935261617279713181097867000204560279570155827, 1578525050521336354324890147844561985151395546317134173438373457209049808539, 2308202457595478681048419492687645138373268522085688828326870014702936025132, 3084895027478046787407005992296572957062670115445751723537877893801397416105, 436688677944932208193437882978044562626498136970936816902813250565404728740, 3538575985413951806182970466171145004151441135219397499064093684080413968034, 1840138552894084199959238916115091324123036134554813057870292120808780345081, 2100964248119401584094994216437611981042733865494217565555181297530222257135, 65052840395245412657781922756970163448014671015293524459200525007867304746, 3076823007302262521375546454211795921525719856224980539738613404419847564214, 2778732174415651542902754518440044251978119383749681569782535578608691622191, 3247205840428846190540069678595985573152875286110127944018642282014924124528, 588437573715727970948160312042074186389748529170077659799681156450140684512, 2231393425691077924464072336400724926826873959882763060809592854975554353030, 186584480368400832825294865037461152293224330429528135687944459007549152081, 289561625287668588341731487403222230379105137047610029594523098096254695729, 2618833756341552763395719094754716810416841695526234803043104217375431373025, 1592359694454190590324750278434664611738939672903280742592048909570812970087, 677888853414652687521856259189716630331260363818070543506777654025115940423, 3489115109675366697524182148045987596736900468541227512070625665836837720311, 1402106518759128554830762643355006112484158469125925588134764814785409003910, 3532135685976149769052749856287834308469778893701443307415071308778502064694, 607970005065750192035793310408791711017377724377424659501250583363244268779, 2639038800626159414655883319272096280229227172760216905074572189370493128685, 1616082278413448993107543356403602732969315640393627291943259732562417963141, 78984030907249035316950316320342132616843283217830374462817230861844574765, 2205876152852960072470974526601036423317103289694369882136015932353384912762, 868105508866801078087500155250504850861595647573825720836294496550313061729, 990275386024574373320148506771013162898019512284277093563541068802618629978, 2286842820666915951008492904414651918880691250505667220565095919393342636518, 2444266836431469143249869213555353780487786541136039433236226343121369692899, 3324576052002790493060405727244174266587339825397790864068627417856718706760, 1260797730537980948854398326942943525264794802040143091241189841095046393480, 196456256892780994339735605384843668921275293501597419765863268112873625644, 3615479424248622575110521151462609908475541303096112051744293989587749955979, 2600908919724105002628209239895275458782608037716121732010663865187396740858, 130, 582941405056897916728654405126664039016562796980, 419108563888081889873247460550931920044620678691, 690077622697337345771799059909456795382686415692, 723196865578157974502135919950795023212603511697, 820890416811342520606996593027097087446709909081, 239081914531104515127101569362697348273529714304, 161330344944303227241937098941290350163944750975, 1033964108966369396932232988387263439427718124750, 41510116147444103379896710958189431688553403460, 3259229966302735445675558401711209295043579526951055473568259080356904061444, 3057063704453427218412134951712998750347930887010422717930966943014533754970, 1103020367559776301132382659564207658126276544516532032351759504104956881970, 2779936594723439976029950022281463391158075256278695410979646198429494830185, 1426692556053693556641849528080205643116131092783491702984677860453020554388, 1436623472478085418320048675175608264704897338261065296913715527631223153633, 3358998134116082486951497577078571419597359807934937880923580910101496326208, 2404026633619337448699310695191646067469016431399034810786055000437864786542, 3186244085745603282484667310234003432994007002841989832514303215417645247761, 1458214358793033829077876491889170446585632053019851680252399563312674798737, 1295295013726135675945808409287450261038581414995829120490156213287374850340, 1908625392248703468826733305076834644612369123414706713724919639586456711237, 2834224645589207730130757477930295714198850338813108069987983102328159357373, 2017676200740055341376875668891702114656004550774174295761515176157106160090, 2049841984226966895141655101091568401922080029325619792267923051010104788370, 3122903132116020702120737046599098739203602536586512181556602377690903550507, 2990200724674414901162525006380859473717498461590923137083702590758201182560, 1315579498476097731465664006389998087836892843624975150876624080733298136674, 3367791655535595631700230688039709764427521551215213877324631767128819920406, 435166007647443154397885125148161383255477306326457487847741058014812281479, 955023869602528726102868328267941152718821675055587614191851794981132796656, 3398753995824817600899163122683801970514285159855572438399587342394986467150, 3175694130730565857017590579359036415422170123861502437576110414030373742506, 1186427433230127836863675077733467268834626624473856571221845492885019798956, 3394780654610643783000376879848837933662680364249844067116680778965882699636, 2931908710138835883419952294477464465347888428800498051416325723130586990266, 1089822335946153845886209317864649288689379301250646448127275971393547032921, 1606181567252216026929491604531240485403851332698777166011200506144866922985, 699673097997535371825233410357322708776903057985377539229024698741138353043, 1683149142712862363153502349579638539219774331050018412975490173229990926582, 3021457407739145381763802065441722488970569534998767779741810744392004848783, 2763214046453614619002818216997472745848919378445442174963858962461461589776, 664247376990731918174354524145470172628828241595446837813561744043371150509, 3331975214064024352562143362445876196990734397951802565640054793428110284886, 1477340948615780726303432553345334376639112538707127718972060007042344685784, 2012925322378724654626990547888290480251432569140084621193665560374196617898, 1576293571056026391079574790907540846532700772778981525317014965770318598087, 1832810111417355499768528662183308163965523222396771034698138919573341375388, 1641422223925540716175919875608962397201966535979523464899257089559156269545, 2156570952562322191069663775582880005701819036127475374576469783434023436231, 1143854677729592978379640350473905925146852652086827733814273591896474093704, 1061113778901063164873615606276175940148409789649724696414892656385403944145, 44482162086297852392533263112899388697321554215394728941688337880319441616, 1477315321546243811210001108356801467323230325052626589108967371706117205024, 3476233351316690185438601702355754325447400932442704391952081522536370104885, 2836580950537882620542419439295548574146832182700977664624599990319582240926, 3470550197724455546664730734076796969488870149620358028749921462700079534782, 1554928354169341534213764931617205552054142345554641934282528656543793168961, 3542725011647747753235321201496349504173395615072925092394645860906928465015, 3376311619628681322164214615297064526124849316724400305343906552299660796008, 2421334454493204900479764604404621381803207473966068719314964779929164990266, 598909527116677075682356770194802665326573445974017951241422581469677619051, 3393549776372602928468772491158308384663394136773272578936284380079822566257, 1652861969968696856815134364431647867081304829860150049892484983554542953112, 265347513728985178837070454628447170865745255839353329641942844702444062131, 1835272519268883186299907767818534493241482927966172850916032123288280713446, 2727221319721018267071953417842271963575440676624292292968846774563347501848, 2647752530370807280855686129064651788825720857822374192071295508638521638120, 1411566953472636005264661100343662136795227377429612465257227851462872155271, 3501169269548354947381102515627278338567357615736673520744888948908465129044, 856807569183197715729510263262560675801170059264560434237947413865916015083, 2676191990559559643930284981058408766660118390319221274383258509141057543756, 734874849820182628288103034984795805280702185771821591787738854979870034310, 2563804752291233611231849929218441888863613449773576031895856812682000699121, 1247836668892571819089024613460711767694103251455458018608333902430520860885, 815563205909737935088542727443721550701395781669691008814327260335813441022, 3352006470982383246107941285340808702759747463168609580083504153842328579333, 800797691755016620796557412345005237210196058795334141354288499445276258034, 538575521576119890603400030171818004863032531699668619393754784982621281053, 7098985175590046568547389074166263275438840678381648404507261283842000104, 2687764889216901582291135320259895908022321650146290946001959118364961660403, 1130270681256274959201261636779810484596168138790926059118394798756978182287, 1814403214065327191046191184009627733975824621200972014247131044268181747898, 3357787786627821396262693100587547172467115353668892532972514597280457966119, 2911978610929995091964037048170075135028323715812623918794078822261388408193, 2362056860640235727292551056598866934732443262469429066535752754558883664407, 23612282610027080058376245613760813538640426828354506386085454969581664367, 1828680476157884361147499898549310969903214598638944269130888264312492686520, 1880018573806266432342804226568233217059584343663216197414236675673578843846, 3110558594028536861614882318559500647080080038225798111761043521370840093529, 960635094140601041492101153335563807884742854241714711336905364942555345678, 1331904655804585392828791732118697135846402380821030098102264864594908107016, 2283965462239426659273891792802480190466336827429287697930168787507720958537, 1502128353297007157624375277258335333608000495307447715024012140668109733704, 1345564681488321961266833616597718831792698736712066531339625803770190218876, 1789256903427203007238532651627623208990235957261273266232063650061788679802, 1989644346606194761074448689165886950526500985768237360299813487709339717979, 1310147425746107503561114248265433891650893315526211043955711448211187145142, 1036987418620151279724997055485170450178659624727917084084300405024225914317, 1575892083774686635102578106290470260185117174189518474714581437326971788413, 1485481601061937563578274348658995611351240751976842125045150644312536860940, 968539282272770172488539833499560426428276596828489449878958620450248067580, 2949182182427519581418180417586802528260274878324345138700491977419092250447, 3284453707255682822098004443375916784941073556279874347007162903215606135113, 1239011200094153967604745024822366307823073622196852466865547266703341830454, 1856700670304017050450396769114420967077999194783065151837312408812954886158, 2001574794826940393141710928052980508755724594396908449221602432039973559957, 731376589446515141043214426516957292868410324442690867584320634513012647895, 1411905249912063275417258734349204306389687315860525518420561419932750402027, 1190532535602050103487027350548072560223276064558225945613508966594600903951, 2671492026819937665818065410294867157274029645329058974435064278443748909988, 3172512295089129255782238544175470647212037217225587682792505715089112734948, 2433497071531396359342073230057244023936641829724609122770149379565241451019, 342079081215820807277212865959259176783985846730829679581177927613846703901, 2669749523704549205039420536865060605236075828814538108318962366687805617867, 963761473041263213409096971411052151770846508550370179499965927180094886363, 586053663563453067135798884541425925954911643106523074241904726018975571072, 104269806115339897364761918039258053212892046665743265396725739731391544164, 2719728777394312211302328115687937796482716315651848121146657938552895878250, 2051187549169612699996147888449920961778323707748112020481957475868887301694, 2398120349706998309097018063059449907236725684341114878984041847945392226195, 2945717343162490938653670260494319523276226731023998330453655166909614939211, 442137028124122305514100365704191222891343377046447896277643386900294116923, 2589427468267934742005572512514349096255289254925915832315013187950472182687, 2116748251253798306719750206555985962403618904293507768881916322569175509961, 3409695846188083159899313652996681937141127055077055126148420307395764367547, 1116454067626156244789120642031620304016819157383681032743670763873522088751, 3126402173236085601274146909836049490782246870367394105172670681791916233005, 3413655340948113740180936631987747950398858081049532989650044691585372241289, 746789409172442075172124324206667407660556198833604908114723315788203462737, 2851238378374578754654973928328024163265606651976709316369264118129623684781, 135, 2152360698714078904640709819289791648616927720326925873019417442953727667179, 3537663009136509243708219226445155033037413992953069464440595726828873654485, 1912643762605697371509613783186752469486704638209209466883016540001322637161, 1599994943258276854852694665368109068085175262585834276752647430346912990605, 765165138521717921132548036089709145086226485202431486930224957637072790933, 3496604195562477068569470339486425491830437569728754533795404500691066393952, 229239118363216974024807751263208854660527346080499418224301213270673438969, 127072094016371793992250121466728314930038424368955401972633256905199224386, 2882473260232605915071515250662248600893747474061302102541099527348012496721, 909213058278110923942093953467496005342266739500511279339514370525426268192, 3335220654531450334057482010112561515054019059157957968931114690537994685856, 1950723625835750535961590384283082867501109966900338416637482841711136443862, 2416983062576313948264258587444107230581191784838742658977310234859336227447, 2119113014371238029962744430054738233534761682616256021035751721880018125263, 3526657143925005048946736755260242584918868536578692133017446569630921726464, 3030771661713430308447361872782634165678452849409173154152852383290698999433, 2730949220425648121219926964486341869270457151476774487851627716269887629626, 3551606183646859768468825350572803016623679296083528674496878426821786241484, 1758566126133547212424664560268676823973299773716397446254497802659710713804, 1831838126142992368029611534966204539312994497123440269368694496377931454518, 2788543435783915180006415469497789296417830242763690986345742045072585900559, 844087711926112625356187027742994542999539846765266234071404425948062507204, 2084316729470903203319232111569468286479326250265903781643120147694051433373, 235140120843846327615337686552876883130579035143865691866183886413899826938, 1692980527528011565263368329956972982220924855875602453559811289304969320470, 2669135833744521619153217199224437994770635687740428116184941611675944641213, 36511624979717737127494828988382342840764855052528824423539683877721134791, 945812032819812809776480335109032982662480249854958678254486049143488182545, 1768109906184714475822791410034619321992385254831472254442533543027590216548, 902798523735255487129724048723733066017918781850877098133291331890622833288, 2544007943040353240880716921966032729504349253320278336109735975112733120616, 2635521654038286198583435997108369899464830962841379735347765412409412492811, 1154740186631464721064358099488849025912714496973863514695466172615420001685, 2349806762226084306313871207159132130536970819078525061120709909487997047457, 1802274184637009945971199874269811557747895439795598716048478386808681507224, 2562402786893107056201046763996861354502971550892881714435069884255563836958, 377748223106824899419652539491301736588193370205644126975891264998675561047, 3102532918682566534252624562118737791823193562320968177635633682048270986742, 2194520023769472500873815194631505569720691445357530243536107369140242099738, 408420380011304232152945586433549328008607632737852520919056618524672670009, 2304789082762933224051882436206553856871530866277719343966670279285667689073, 1320583891892154658375209087648121729225650578672979407487759910094050267966, 2938106926843751762586740882442018666766576385528668999893284304685984465451, 3092221249522060664249594626164952249155154556572717135393977740613084918518, 1219191232335471049757157123783695102208434413250061665075176462280483246012, 2763578054864712500193299075414402782733064441969373832927562272327150633251, 401239936574840094897265713992742309599539419475782883488903098358612699887, 1167100549411557635724306347948196367576185265970639823361491447321891032683, 1600583503749494163896651883041516051645054119692651559179459252232562900935, 2199958062941920085757645815154902716315320082217654325615200007954151586802, 852364515403116590754278411300450951559217053715653908227148166301184192207, 1999875382568396950260830743664861238437068692240609548469745846999940824611, 2837318960101173744975864015430470355633798558543675226318351862965138459479, 2262357460073479363403000368516134858456361160207374164883525948373893233405, 2925302884248058928905387028951533507137662718162077849883408792862475374875, 3303693142308725614538460771304112534037849195192095009436884248785668866037, 2205508582939789492679198486380358243591509776357873589472656162884860175479, 2210968015895180452047013945903363436603905755519498432872280325109776719242, 1819663231000691151164655827620553894558849369899837399180303532570363553724, 1604998355401053514567933896392036258028550864820541811880513518830821564665, 3259898055794115589471806747859402798765672001437163782098529147835322237948, 867306433888174306264812732271632170045401633896508501696136966993032868417, 2455461595645638720297189954012659175553723110887020207483659083811158729663, 1734161428961781339852378531852215479988183451361518287057549612972481723938, 3500451233135681681288770649935886797512914087761247355355787424434926773559, 538048686017609883204974395817925706319551413539270455541451166652365209797, 3408463461587541729037992170545990204461618513560270357473811893582104006366, 1505987148947307043161104950531493410221588621785539989461051721915335146086, 3056065093505385822691003711337924024298114539366869160814752163096995516351, 2209209088077228551304581283202445222193297924081141406423528572413717543580, 2523023181745266684986188933099856631739537407508575411298358149699736761157, 2841571169938333076236186101206850968072000665299678403208644480851514430276, 3371674356372867078142463616374546392998710526682934393710709517366949499407, 1794967557582032644194653833098952864153304684566058697294271521664533854769, 2349299282537980974891603571077679578426615948078891198547515327247648994395, 7362679603568369285851339475631540661025214641060789004244656947394673223, 1792351325390701903987695829954262227726341020404942941232512955479512041705, 2497255453894155802629248900699646078694415302801982571824600550924748896030, 3403202531770279355196917551572520398839620072363382092288571690776813381832, 247931145000504920729185442631538761502952384061279936354240761248461975471, 3362398983049112922599823956972617931510340706100661922743533139152049490383, 242944934968769974620972640784568739495862630727000234700788197305111367085, 1514257960468046477553172452847569186105648959219239562045577225094715424282, 1947984044668231322133087926206397290319905572154150112228193649261442026675, 703405357713240825067961542525955133805720334132589681522677382319168643108, 2430693254071603076318191041171787383418115681174446245767268474710428394885, 2671924262537948487489161374503657585224482405780811811651223095289356073377, 3222109984465279506602516708690313689745578957888099458753199110244727127577, 2795419032272181323451365845367836454858386607452880074012215957565677547384, 1899527648604157770650517167989722937647281360399205906778419081068725320234, 2414370198536082971487817445840029694198224221520842602130042145991875271861, 197533148181964041229262368321731239418007060302106072234900729127324074697, 1774704228348215206880524390739436688371436040979860068784920114790433485795, 1597068013772786336151491434436217054387987995697037340182862867331028225765, 1180884184829860555564091510368136346303038493246902852014717330254856775171, 297842221400092033878758460993765090323328064652251881596365606717441449954, 3138135510192422218933221485505830998844395235283688794767589956916549437522, 1628596233762831113933976145765764162908814432048167834389591187307756092879, 833440548739504497445541199061044508217810374571371908172592178847643502466, 2540596138936043055472756164372885602750594387536675253231650995667400977317, 1949595825238753073063039074561455866248034540173686703607252248056020437569, 2607527635942946997859026052498427122961469048371777370929879568203618196231, 230258004763252329364201255275620472250780485557710934165783146619436250086, 507118794048192599037050711838748402975444002122945208017842205453529329290, 990222684051516170660181922374607736384184470995997807665746780740276167142, 3271327629791487615938510694949971488964526373742546813683757749222556163617, 369753798263881887776968789760386880484649988428419561144715289908707951776, 1139893745391331281196036659521170555756577191134777171651521686998257456412, 1507466705040656568131700593430311489709252918750479184858451019748918636946, 2921653589289998483939545754151098942321608299006693677684429882743322831460, 893140383417332365454618234304797072319041896661670380339305574926825508274, 1908672940070082073742063840167246654516149255779799462761421013619239760166, 2626527096589827105844245336647593413171892204186059283734024771592259292150, 1385624770219697876294432234909413288936256547219094760191209768305800731284, 1714137387269603488454554220919142458181005805654155009605664291092921102177, 793265277584322334265052908792499819651287408796000956356776954190544696200, 1568172441372631317791946847113289109179675349268550036195938959939341795328, 2294868472705299314724385907832907257201560324133998251079261716138553485056, 246723729617677054785044123604429470966085802230576576299280619734951309863, 1607275745922475299365041176544113320969038070816458618284127068887689990692, 649161779493031414562647420715127033377217338641049503440894941889213470472, 3393173695125712790900886083689121838689808489017694549970013248546134677825, 706820821040856991434811031186287612127539923916352158475976469841188012351, 1321026501579728954646619482213672101830386692387339142965160929363688284151, 3125322676162756459258826831019669167237765907263417637592333271435023684477, 2703412893171324821625017858181431058417428727951777189333718377142135775716, 1387155563514689696213186150360204879199508102141599705189671914856741983508, 1367014194475295546236626422529038758809598601369930157720332797817207143178, 2485079600273740845992082667930803379033420785774055488711029090981686857909, 227435883059377053859431610688979357702583480212106635346836255135155394018, 1474187895436740242927333487282997902972071719729810786979539840936828353050, 3239347960278474896031630429148825284220843850335188482199143596305657436422, 3149586348468975082608271419090360566291150775682109915639255794745950644640, 3518627726552585957503902435111825697634731513329893825879157146259553087910, 2816851040930902710815069760426447708622323757356173290912165152622134545214, 94, 234916212902102111790303547159825780315395801298, 884336172876242388373403440829189535413701452124, 572654381822559907963438426806177040803968794375, 1262866935653525266241747908556003120673425094864, 884431379906305969120708889352992323626377771328, 398732205886921721970757472353713104069341781394, 1049188569162609014236954934142157029310824258245, 1032878170420917557523394408065260528616206204241, 1160698647203519715888009968958876996707521077891, 2122311751589209213666162712543644682220973216620907371286998120104474998088, 639639867716817052470213712451533180247754101042468905025160781341696779279, 2883159586934171190313572209451788876826410058346985128058664302106603088181, 275728987547629796582699629888360132497746289072080759192647729594145421397, 1546700847853217712457489901954007731157156398454105426978875864534720415283, 851914720255719523362039100524207250007214144804665188080065064282801270394, 2530569609301715984549580272246603216185049029663548888269017285251565608259, 236207059366274907843023121347822315062918423980678554692812232545185711028, 3215442423517818578885750133554912149436584220602896180353763914908341854125, 1674628562933110355925359834819014727428356246417353461676390988645938616664, 1822623842806102954096878375138254085375430192750266877829084758359570114468, 2286804283275282050698979273049513736174204224941224954326926155636251935210, 2628506804030039250221846579306143257519799923684979610117278399013930300632, 1779155566931213220647731291762655023379614290659886042369161890346510968429, 3584626923492624561006558111147391856996891834064243310282456200978804551179, 2574611690662243286620377755959324003148532102488288941510943266249617203439, 3012937847786290345665627786948247524176293442277250844067787409791794991163, 1596757656866274821569347354445936420005303514903108020778391523328757682242, 309246297295305419779759399863638157526540055109563343524869199727338082291, 3467022742036683935140003596108064172250643351856445962782873303008029097407, 2228064384503932734303921615135156807298105446427437734961606183679365526398, 1254280214824234590006463301868312431263536423722025063992713638528688618580, 839426267333453024293045618786684707133329011337224613483522089777496964563, 1705680656281167681713947365813804472821392645603165967388735177213295931033, 2913376029015378821091331231734272844692811399107397538091137148838189492680, 2863587986542509701790183680624278822918743479910717460226302395071804058057, 2049583354700353355278896579835022458336478086703341251252062984114188862488, 672864069221380595915838977681220443222273292824733868268885996597432915836, 434027124325018406840647934390712293086819301512964102542810521193157762118, 3603289103349127512201786231804646419916177996681486625364836425815922103628, 2271422605755671082083267166974356410670413001159949478664826574125225977199, 3299980441857988432983293312306974936130988666545698144262073048945014300039, 2036047126396627616650327357665634012412814743433038398502795958342610245918, 3420919696313468933419272811364198003119011357891738236928634628987253287113, 845188995421049418737165085966991631423617913794026916661600104062032029537, 2846103512001616365666259200964412598023802189642592962355217746521483160730, 1565534879662482993834535365629544355921406548346758077632675153147551497563, 1120509734921980391526999068927804484602816679373973797606222329411503376194, 1245302220428565861408679414301169695275765232868433831418733820308747211905, 3135605184136713384183985788705500268200743580516420949634492088359892352575, 182051966580115862537705081948028034830922279312058108747142961829640236855, 845249941220753219406784587769994979690681164807991896602318148237378478489, 2855110903608210274344560532444318153301892652269594765362263221192663130758, 1339371467903590639792962566361710056285686929131224545468373366921921678248, 2305897898379981819496437422714705981868583186048234104657508191048750066468, 2026491329846547630038124248912075042407588476974104468484952760707267812784, 139086583049414186961069967870837837497165561939587483640328419240469397406, 2428087221618252884183354735227146853232451148459887511036586495247277583773, 735433389436373019984004480695966066681449064629400267599507110608768945824, 3340017755707025769259826103428776456215299509196993647181718161865259045189, 3130095917839787175039800827388704780224540982077074715130881439002984966074, 1574891828290575606656184689352819060140461940117905696467053749034280546001, 840518939032490238653672405411460730746313801385436168930564284605524824427, 3440139811093198395660989501069848051640851907762850834588634963836739115552, 3051085872478759140684283788054783077262021863692445001191105405391292463798, 520761582224875155270823980655922425065403131953214287594777661206809422961, 2558626601298412347854198025382637805709344990019083732154161851709789653128, 2565943565155459234838480755549817886148008981767948254882722294908808659075, 1655128251886018557481990859916209232736039253094065793409982893478760517314, 2170247784609451923216860668356038159703095753590980750354315713170228683161, 3525647600903182356381208114085155035113366445316493526726503918466149916772, 1241484745397547590147479158841299960134605615956130119053310645000119622590, 1378388847436934426979801250179649352828114738307273139625522396738527782472, 1562058519305196167668401763805458735479502521825283134567785032654651304699, 3500937766879214077007815000722659077328054435907806218917296873333668960820, 1190836375006513247307592722483152497119094662139209903455502859338582500963, 169075856498812043032295054610594578254466480977300937948664113856249375347, 3104080792108379804920129663590021624479145382010614767237442358159842536452, 507657438085348183131304148816861601397170779241154852955121381127550719963, 1237097182334990754863258196120214199556886952167908717590140897805080438034, 2221059233701578150128287503992629812562928382001951253944022735558196051190, 482144119563578685104157818506501560901708448242062576926508198185554062687, 2772301006996124072909588051126307965941100247261983583598631251413386838493, 2530823370813986946498753780786014929602694242955763294363158608335366914851, 505723024555266887858216002902503430658208504643000092810788951366788289094, 3060850620507865758954182999230359014474429745579957157652268075955849193330, 2290694371636108804452996182382578134925742890117411888458180910188738846411, 603624484940393334675881083054852093477756043628338176954144997188898966294, 2549541430341559840633665536197147242288737971785856588498012071002414521739, 1835997711767097479749348000308143157226124712764409793746136597914015874091, 2554977393871100006476374709992913669385708964176563757978135196105097712340, 3528565186064674414108480999140361169704346144538737814250410128040837798054, 274549457855483871755452025723973995938851484238784675835458149951980691382, 1942562262040964377978706748481258678049976018256832877029118388551630448150, 3216398281689739612939443326566819552449103149832864081970773046329397541779, 27, 3418645368358214347692058124381626959519092041031974879598641633633846080779, 1957339962223323906478165293780383569150775987999002141610829599665366999148, 2128037577083438391381727888594434908029832912221205347186048794826002107135, 2928685394362758976170190287319376424286723682238788121522200667676007074676, 2714440625625903072785106377296376378269939519704972392047373818278983935330, 81372127845389708733555398771693798379286552387433936057519582991701950603, 723125552330573568991486421857026061749147372069262198013375908908206909197, 1604974626243762500161860958757496045553471260337015067719123004654939704573, 2484318316989050412036520489390856237923675946748337118153846447237644148763, 2671544425270555204571343780642796663797899371377238959077718514841254234605, 239126906526560114051248198532246253765938947721813547577674550326783318544, 2318286103082852138430089841418202488481515226180205335098454599854493774106, 1274178707233280630196356542733599844365854921116794925148453039817674970256, 1438390766653000604331593049818509384549415882944077583703354947195685859420, 3222995031660859798233738615996140500381634817477930154230019308310313177921, 2259861165605666010083022301062341512194678719606705604100004107357089502353, 1521945666721360505663412434762193578647768389831217460523046486739902947899, 1863431617352154831065276380920445171476547138828412592194977476765639013574, 233567041605550284481590368034708941367682381151827244778802361979635034909, 1962841440627136225035017414188409577683696149777591692161162083904461059139, 2383820579208404363424859076939916192669095139698073180505861891039984081073, 939381815221353717410588515572683209148560195917546680136420033334673659746, 18383179214096047720250421237178291173683293308891316269804294893850825159, 671709403131195400879060708784599995230119916804672911060729690159464433801, 335528225024088293213465748499484711742573041128728564152936655810200867323, 1516479740027693002406529706522109658557496042523533807689897816797663835220, 982176368494935525486574743360664720801136038891457491446917774014511929175, 76, 747906847162279365198915640298421156806193611171, 1311885671156119370816276828106670465713833915205, 143347996114806745865490955191772621729128232452, 1390139751175721239367879783691714646163304405266, 804404852238303932846648189714975024982330038732, 5475118380764855772536247479616675211514659352, 585010841739889394467610124665324721684768371085, 1165688207241948089386877768207162409956612878691, 1201035723839649430126387527537995914998573463979, 695324158500538008516985058978010586965033321262599255220977475748835305955, 2756977741944386255367663446950335540031645597237869579333149575892442372920, 18701680794210624611730136916487043942153252520897746616571105686251905399, 3395129651957694263163458505006329961124252472748004856742410582112872477438, 385915459148991205673704397270490364309434797847804922264808138340900771607, 51058794076260814774116410314724596540853734123151023137666108699001892891, 3329365732718488980316850643074247349007567666398571777570878684380955317175, 2450371603685207746724926429081767398387140929569890039619511527472693780451, 847574629047376885156165927180085541881875912977455914263363929427357318455, 1734217727639419220515651005104204497967434167784128265752533251651199107570, 3496665374389641318830712952672389937136189189106480209313277197402871190109, 3507699077300444165310501284779248261743560163079228795822203086845186776869, 1709361276267361792086958440118459750033907102946052595469379038787799914863, 1057739794248729388939179618202404494649599233090266275195742591815623482173, 93528841053875203754831548721522367025919190360057870955357746988560400081, 236458118556085669984727976226666689649141509295592453256685451585814122558, 2573654532728320053432776256698095080552814016572660796399898686603611233129, 3571777329528994882551728761371138456475136047278554562346546227596706693115, 1413117773480505170530532442856925204548268211315341481902298653816118890390, 2340462197954075086651051889181196747668711823830059646730720854077798136096, 3068424212791014028647644955495934135674373261675588509531459812662118800904, 2123048556363371633567058682784822420155992125882921855333326961195983651396, 1843620469899265309114163253775185297934660865934320104445224933206887162792, 2942175473021213702132628188864952940375523829027127737659360033416162878968, 2801836903497345379552482432509045126325035495364661908046372326307296035869, 1130314308063432426782899701721242838506996189807960943209000207295012669059, 522710819659665968708240862491778438561638292383919609605661070454826863490, 520532252168150600996259797313312725968534384176308363437125655036690982428, 2513242536355248046154123644576329323347265842921936843391843271484113410741, 2129729173682128036615903422857073856811571835154952447568751443320191483168, 3515544365524490999468183578166664481387817841924191474480415827783564359011, 2938400059564943828397811071593654194219594223166203828012998938111698741725, 416244609820306626720118965706892709708836128019034545827094241883374421103, 179006418941369791781555698636629342283219513682066276477883112791361541705, 2255071561646159852737804704517079761985569064981312894933643751041054152604, 2192512890551580472654819279914713643158323123299599403521132696784745158023, 2930825683957809288002550064862681384556700075309958279875813205779433809281, 1566180028458308078223242910456864347794871074688174362446229148051380741093, 864146762311695105091413259479452231383616291532853671710532106536158239296, 2931002373019422655006677444410203635907202661428595443021706991864323885006, 3448811260635853013756594286655782365607475471533700502213057607676427230745, 3292324262136623689561938668621151630826039724323633040247848595590647345380, 3267241674102465579122252345285293559550625265765726044260615813821935994484, 2188014226474303882537192304527699235609224838539110059415274304346177670819, 37725095055060828078829097112191872938102690436004123454853527633029464574, 683602212324415546187292376274823773029687145958976272506300196640572342950, 1177896162820130367668615252213964529208059173259895418867050154648498968056, 2621645457892233023800218587106627233682404184096552794495663080112234486345, 1322283452993371067341446905420346364353020801483675884369752603799413815722, 2483044331464982551593190788598007956682774794254686436068158335760319951262, 1249426501883496182755764898368730929888421978970407934614110072898702496518, 2750779032098084723782971624393191808317360852616395642619579512559152581916, 2133215728196588824623637852708606635132828260617321523794063304192682453382, 1941804552458708126392765489219754898416810366762118105708934401832083763601, 2438031705697068041373344048424681649887907514918786100175444744788191671667, 588668494789002379949847047184041396188175666559998159818527838634125439157, 2494263631178820475069992731405226693101557333027043540755697886363874555959, 1237000575040264687178846352805781508258024059092532996019613719147021452410, 2741905492010724323362580977288727245064044563819002908467996648793405279388, 2649964087672318396262174574951850873197939464942192592977114234147555893617, 2287783605124957392214489368465024750320323024679452544852209822759252545884, 722393916837526129182404971911829761713062766844519723106586140667757606940, 1561670708478924652030526206444965826955468803916677352122461999003420946284, 3361716715797699212176277234044569450045359674591904929465071893260169107555, 2644501392917678767536113434283131235019523759968879729611153835349161198827, 1058529781457571830310138340885503384284832893382132007069752057138788662671, 1072898934011270642429085528359607047240692473322041504981460870302655126246, 27, 3259323443074283830468452495016144209652948191973243019108730152518021786923, 3280857050751177598927605167101411271718626912814840658834108044809957041321, 667572086716118572312928804902048958920145388401825910705130346802725001311, 3170422106873343226068405092545074382138475210492936483438744187007066574428, 1699380267607941877874019714553738572582138158298365550834373114411234287093, 3013025932250098370483983481208797762072581840512895292986569449148439027855, 3033231601559600536505505435021166593239173160029713769647378051893645375600, 2646460837346946286794243422115784254789156020273759132189461937342881266997, 2479341440951584633142754490290366356402010957453559732957985765246373887732, 120158307613023390742092201029625348747362695703596330322421510112624969930, 324149592133392599516414742921436527321744777928262367377502597625693394861, 3318563880385591760767113836538973121452712779820383797657625518755191371983, 3487508126562539286767233131533633551842407781437108863335434301099300230910, 2601574112443353600796194206982335074398838601212543549275854209584742120695, 3103439213906521587235385011191615834672245821816116524837800779167671073864, 1897926636670442682023018928197584468398284476657646490767508870280257153947, 3462266696129843531921644651101101220291329234755277970424695083683536492430, 478499547948564232925080747200576381460673969256488574325213705142771975375, 2320419774138778870201177129506015860199255566033447062326640860262165535145, 1397293882910342098351911897877079446498473276409726965854868036470843140872, 3114552732972026319832884707053284814098757729735532058137682064046684408021, 1247135775282352153009244669958805947175780854659358017535038492977557398083, 2355630754418951565301212335426812027221725596980695270830615222077575796610, 154676466343290078870786530412999050293056227154709341016389621049308127017, 747217673944240626526824827645203991019123985540612790002798672246996443970, 2980708415503737695622118424161167854768632350129637562063962598201832490461, 1194045767745111825482581641267640361611148021140197949829432000419570380343, 58, 893573927547618757627049774426196811283396378971, 541599092865496948984340106034506550675268832545, 1439289714815471101656569929434073112949168803379, 483847887137411570193885193500422198603736972441, 828085302130820289516522112832634356082653884071, 1422532774224597868762322160221519244471250129992, 1092438293411630746742760286656067355694461068685, 951555406743463027052097949330154691799537171146, 1124793419338430959584282862909179664635725907546, 1186046586475653772119562920342333018326189198045755680986128818165595271188, 2789037436764302263643133308419301288714355924050296399226293891323822443884, 1938878758590738051689921294058479129603156831892387467265445202230362959170, 2182360573926006312052791287357024811295417628765630145227262151623787791715, 1654943094075078765515195918614798571237387693569644001193344545742597939889, 2252383797282507960078948044662139984593986131893966239819891515376067496371, 598364439603977605707342960864337006552457183594081508615728388962088463728, 1922582594861974795479391038325408587885172053331684032479345213142233481314, 1869756474873538687993632585270385089088076307494076615113454540535329822286, 1734464714172243779566818805984756450719464641461323237391676374196969400991, 1226919802159404223775460599415614259309573350094071421834878249827996970106, 2681533350391657524564124401692105750977171912583229909738163088924240997196, 1079689835119775271165455703885129337397142254289139644482881935910248421612, 683793158079454808996381739557157102983738906450688542263323250718245868774, 2651565964229599974171090300765384797446361097541224268090858055229917793546, 2627127695326628165229177873666128175843643930497661474623249844679905166619, 1891234525056819599879008578098433064722236012571215327403450287734948931078, 2889416313848210755073924576162424238656354886751594600701314829946365456642, 932175390599881421911911052044806755359623117353447941565050163264825839150, 1162308561339043581508300212827958914148242897184411902094808218717425196988, 90683538019662516065451622156751512172525403207622593726622706106349254909, 1486826613858417823104076253661852461078766269248362859328084958263329808435, 274917226684188856487788247709851251969053699367950573097752421207919155934, 474015832703073820053038866948395311355345294389433498441997419954049291627, 564750815770831381501875425602929967513059336722038295219909474295220428520, 617493913703658457987731058906644541018879586897825548412657243732321376931, 1906794237772026079280289328076613230042982581912592910619105321830029975585, 2929142111574063235566056471383156041686622265698047471066249014334986318692, 1469426020400058050036926266178350965076308898992661580581372831774418529775, 309504026239595532332358666950253244811134978636787775966138201939153073955, 573222768449713728661531555703310138832158100876752445716441709318295669972, 3068206678779959733329480602607929511839049713911450784519555349948813034040, 1500113027590309632208668298721776367895074202807381939490970735072296038196, 195832614872714515234445137991349640582698253092267075276852245626865989501, 3182699247632404326925709713148310238420617343237647136433817536747660638284, 1886452381896681406043745392526649046844921457829219494845701188352401801484, 107181195474822131940346203352094404401312798348686060266849573299838216776, 1405331232918249547614606963575564751910021452302375349994497258886167454690, 2007718306477859790985484608295922256069018447628293755132503835899184360322, 943871379354833519124190110113685189927049342488509518809560341166148722620, 456282775790393896740089334791445410229432978638413682565291111761619464376, 1033408656291575248301231561407497389739506473682584212763373833639594381349, 1201116684766664514681064848393981050326964436716929028170552479732581372335, 1516343259764359499325780190091393679690688659652763678030719886649795291259, 769334927401834923097693130918995767546451152368587683516010286994431157877, 2374578412681508427923090896806045342843633428931168033798435679937071413944, 1237323562325779255816752370419228129700454146326674176772691558063682614419, 1853914562137216039842310625108321279502939502943789954691328807064036691325, 2275508500589119456177599909449778985124965432123634294027909939512417903319]) diff --git a/runner/src/main.rs b/runner/src/main.rs index 638f1b104..93ee30d98 100644 --- a/runner/src/main.rs +++ b/runner/src/main.rs @@ -43,6 +43,8 @@ fn main() -> anyhow::Result<()> { let function = "main"; let args: VecFelt252 = serde_json::from_str(&result)?; + println!("{args:?}"); + let sierra_program = serde_json::from_str::(&fs::read_to_string(target)?)?.into_v1()?; diff --git a/runner/src/vec252.rs b/runner/src/vec252.rs new file mode 100644 index 000000000..98528ca0a --- /dev/null +++ b/runner/src/vec252.rs @@ -0,0 +1,118 @@ +use std::{ops::Deref, str::FromStr}; + +use cairo_felt::Felt252; +use serde::{de::Visitor, Deserialize}; +use serde_json::Value; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum VecFelt252Error { + #[error("failed to parse number: {0}")] + NumberParseError(#[from] std::num::ParseIntError), + #[error("failed to parse bigint: {0}")] + BigIntParseError(#[from] num_bigint::ParseBigIntError), + #[error("number out of range")] + NumberOutOfRange, +} + +/// `VecFelt252` is a wrapper around a vector of `Arg`. +/// +/// It provides convenience methods for working with a vector of `Arg` and implements +/// `Deref` to allow it to be treated like a vector of `Arg`. +#[derive(Debug, Clone)] +pub struct VecFelt252(Vec); + +impl VecFelt252 { + /// Creates a new `VecFelt252` from a vector of `Arg`. + /// + /// # Arguments + /// + /// * `args` - A vector of `Arg`. + /// + /// # Returns + /// + /// * `VecFelt252` - A new `VecFelt252` instance. + #[must_use] + pub fn new(args: Vec) -> Self { + Self(args) + } +} + +impl Deref for VecFelt252 { + type Target = Vec; + fn deref(&self) -> &Self::Target { + &self.0 + } +} + +impl From for Vec { + fn from(args: VecFelt252) -> Self { + args.0 + } +} + +impl From> for VecFelt252 { + fn from(args: Vec) -> Self { + Self(args) + } +} + +impl VecFelt252 { + fn visit_seq_helper(seq: &[Value]) -> Result { + let iterator = seq.iter(); + let mut args = Vec::new(); + + for arg in iterator { + match arg { + Value::Number(n) => { + let n = n.as_u64().ok_or(VecFelt252Error::NumberOutOfRange)?; + args.push(Felt252::from(n)); + } + Value::String(n) => { + let n = num_bigint::BigUint::from_str(n)?; + args.push(Felt252::from_bytes_be(&n.to_bytes_be())); + } + Value::Array(a) => { + args.push(Felt252::from(a.len())); + let result = Self::visit_seq_helper(a)?; + args.extend(result.0); + } + _ => (), + } + } + + Ok(Self::new(args)) + } +} + +impl<'de> Visitor<'de> for VecFelt252 { + type Value = VecFelt252; + fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result { + formatter.write_str("a list of arguments") + } + fn visit_seq(self, mut seq: A) -> Result + where + A: serde::de::SeqAccess<'de>, + { + let mut args = Vec::new(); + while let Some(arg) = seq.next_element()? { + match arg { + Value::Number(n) => args.push(Value::Number(n)), + Value::String(n) => args.push(Value::String(n)), + Value::Array(a) => args.push(Value::Array(a)), + _ => return Err(serde::de::Error::custom("Invalid type")), + } + } + + Self::visit_seq_helper(&args).map_err(|e| serde::de::Error::custom(e.to_string())) + } +} + +impl<'de> Deserialize<'de> for VecFelt252 { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + deserializer.deserialize_seq(VecFelt252(Vec::new())) + } +} \ No newline at end of file diff --git a/src/stark.cairo b/src/stark.cairo index a2a0bfd99..3585f43c7 100644 --- a/src/stark.cairo +++ b/src/stark.cairo @@ -41,13 +41,13 @@ struct StarkProof { impl StarkProofImpl of StarkProofTrait { fn verify(self: @StarkProof) -> (felt252, felt252) { // Validate config. - // self.config.validate(SECURITY_BITS); + self.config.validate(SECURITY_BITS); // Validate the public input. let stark_domains = StarkDomainsImpl::new( *self.config.log_trace_domain_size, *self.config.log_n_cosets ); - // self.public_input.validate(@stark_domains); + self.public_input.validate(@stark_domains); let (program_hash, output_hash) = self.public_input.verify(); // Compute the initial hash seed for the Fiat-Shamir channel.