321485289205546912493367646129925972042907915954581232508477719035372737817647670733631205570758920787581427510324584106900917961896235244695849916930208492906259024161382472865505725433561153983342734536544464489334358152251763608996323742146656631041198893378055637825900363688433280677939425425807635379228268046249168695458228714002464925093822053745379761727980284320497244186487438020434942551356546686986176750318622618649759334401187403883078537561297699429351769278358539277356966526943178749600919760009791680779428425594631406819654809456314241139204812631603079739123437430433374076523131941568538801905674266994560047967648798530383125552018595801824186325655066222996512013320456150032773502065185567697396904386024016545806953214547283732407043274221164608816163999326573129333955253837210426171713772341357322746387115167288979372295407282514876282384970975387199538668263885933088861232171645629080325912241404106667606875146866489220865749392178590376106143946566598648294715677558852647436736948785689633658281491862339299669164935391548323559854890401258456223583505075237263770714123530688034204169075860639963169555916156133479864251472545280872084839688942593266119821537522966323552379399850647601384321063792544146480968862521695177608885874040227963823296621289640450231201358382586893639650482043648569745084100140287659645552511965087614068194192085394622599483312828747477152232418924496017763545095623567581882668828348569257741549796624127966229938040358556278838219986221234928952684823273993359218830713125794316343049324785935921533385229767924000306651521219071777061466003786334876247886397251954558226229697924792587194132289511184160521792822067995280873327525251440998864352432263884937361642338155907231077030950561569362222589375898130779113942752439818211245138429833642141548763640236280826679806287801245510035834115752147376757699548726607969181414549302710107629423953512043423116462385644036311727468367911123390752441598772442352752721166867148412181490561390234512931667005403660583597102747875445185877533624698581255343915818814892074982900470926884413521096346999416546578761546090284743099963702208938848158470241224910279615895231402927397999268653323560372891687360264529043324598983871994832622034529281446046691325750637139645178582425283757323717833160153766985881916801714766858160924521192716753792365275687932571178850016869677340850549822189817146772615141189339875716252451201468396842578813548020309182312864767422106837702166452247802690290478769306559348590308572143112205036344685329826912502687829806888670855654079883314507858187416859634100398977616511485394932004665649154459792815076388449455179062563994354969294595933920217733175177019947253138723440319336018836918212371870237958231539658882057147523136748435986925521217514374732753635548411732994892282945341141526824645356048058945698120892997568180424190899789161724572861324976910256283403778959134478096420342476477081242592411473603849513301458613691819933786085307370525814512754123995905340978519941387233674261843322505441979737343532267752482684085182553241296675111245653646163365151095287837198249374358691741841253918142653591807621286768456348921563592139363093446150194847262362051585567240527054349253109584665297974109153312537024759749580109386644263542667082265384568218835603698235715368245167799773216254852275274276761567067706514547506911782981983559810695663225952368220883591374259190845086136379866396267566759271435988185554645848812167967721392468658238879194396247736720748210143958042518219051791620757226816467068177228722155323973296933581159286326777562816871993390318498067039036326689175482902978187799531364758552552933116552516383666449298129589458249524677758808017838913399530917888401504636662969871961089328881148752431707304012538298290105089053894548070106232120314497330819827659073728360661374887362654450974337746171836111647491323420342394465016337751645433343551355249718775198322810365566324902380301519243675547454353211248019621259096309093892212762976404049411562838981384012350705349904232573250778701252876808710794517041941662114545325262931365877410246234836238800989616332454395174867194052546633701112827917769881188487507380486840038122953532473619439460293740797640721316132336510814494722251984418761464336064733885520597212298639667301333481126121586728225765516175229915811791109428939773689350301798571314282473188432016474909469179621384315673035953744177800813674895394567402199108064972641743601880696362726406386244444698712290546209714944617748133536441297470080018750967341684979670119635245182694455073362277931771906949832663374850331232107585605758754638563017684392707413993596583146188779154520639068845943186671925523621231266388065265324132118442400944292224453732484533547920657416022772315857649704741878051319314471379191994537372453886688819789524287845096065294776338750444242453483245937376366638379594681080634304110736111479349473797955343485593098763517638401424111158559091467807728932971405816543594435372429684016329415750148209306823796937178182242129907576321057397270129752572402940602092864289593246378459492050606594298243427679180942473761782674120257387807480814657785346145987747178784611820618190381931117486624849274149651214146162941299117105153488038165601967865831151831828333330169872721573856697558174406493097582389280375269608059479080847574656144391597268319914322960437955492842679438330426481911294255618381875381067519669719186191111386126048359715108390218437249723249203138359381121110969009612817529531449144824067626323438833021869710136316016219731162521843369915937444587613624017579384328259577545964005978097263474152315101264390570687055159789371390743461712984139985244458188655688519267568357285421876542558509281943418841643672931183853720026276352113478354913276132942281248095625025