312959096034460965066822728716030517536558871993996586964309260306992214417899914444878121021125554549986605289807061222586637841249276584535852883567622127825708319594777768320412035071612381978197372155649319311826080983054770594864824176661841046638421879845152647639036403089871675099791356332496346766163032456390217833861347446821453021102856715242189236826051165893803770046406554485661119397595005278665089121365105944240234653981849396124151618419730770345478208747301784114041555492123348151992237623936080909577579717272265277427575011014848593515106065218298144072543682985325683896435919427033771585062753605317421793649101532415243754608900628721003621635651954350494439813670182822889230566373159054249299391523974951489509795231692698269977318595868685639647253151817895401172390619281492217311375291533441132556243512479594678553702141618611562730182817746436681916676093713418712298316869140006429223993228093170210229436956205215633313224748987904545284449100119723360707804856839092028184718455311935704712283385032496110952351725170453915753241166136711908460441328107325022347632573484825167872686000332668675945954184478619917356967495484196183119875462505729739801190492399775254785915198978778869468057611339828309371740419417145260426522623749473159938173093856726143882785655406463015824128552734676834677926426860978132142354317676417703560177114760801250819084491596509260993212158559106246526460313393627432204734441241891487113615862239416713854088152726814064506636431328599528811153599515984348332396492633093313968968583275717495963379083581974756335195897257672814031675984956262785806409681584925354670891254301937726831400911697438223831567842014145412231557811910147775121377789204532521388481941304706852204371842558818083257907846504500361666605853409034394372161800773684297791586536467233463362157246886228488352271794960523680623459334037744245845809892862449548597767193622999699959199713761864578762971855010789631452581843135276150926182013885954597255141331695772366850326991506769902793789116515795398261479740197324591942501531117413519066833033253709167266369568762605131112690214946117014869083518020406352786422626958258786628451121051959511036075104052378171302438975749511142059366036535867471715930335859011651994174753237493693029185163208303923445904653546470368156784458575795654106150812156140452712665582382552158539214308190946699554992362269126770032321280539236417919333768522900642919034491986622422420382131475588783764365725543140917901737975069679285055667523349452905272889514425577958447464070915063803136867044466773666238310814033337105192486585852989438512411296417430961923442483229329116857161490116559876316387298568833302731845910102359684647093498341836179557953337693260173344174996023359360198012837851678885333519777288765907275829772489942066180122990739682105484744732528898099933459872840488207775303822129812769647438162326408747892000311594787463740162199443269051874789139056485464508918182096619201660616282499186457759316730088633585125793275190600345256065992075959397933118845928447155993702706442470267473685415056683667069222220699291628058248332564645254829116934436344391542104876544918915624672770726803286710226566592759099686400582466781293247940442201939633696256659361754675787773244554704124813661640264631156903231532097135696677786999146366919606434317699261947889313503267730427896381602747672403230171247198116329119214613973148460023669655628226833718790394280578975081951426956414236617927926669403374803199865001607854991917971498421564699740110293228427271092225308268965191533453362722763185075900804477762981854378184759739614999537503901662943660414799348537044298807193382454781436890854278627745272665840019271821315020503258223416357252868920673232903793891299798977983122939246375982491646820379131697385778338624170023632732717536867465541512476094113655332059989486982131340916834281170998342815665879738272503932272501155300792326041428572234431023675393287667473352341611666265077343170660413166894807015255256571616654753832147544434009820931495921726368437492841323025351989545986851700187656089768752230869024541544869659032224120854068022510039224450812949033139520590935534793319548131943572232069302443524091974527099497978574819127895740817911583453289153157668276719178262595284085666742684428366133991015338269223540172301776258855123555689043198717386412633243720501469301273433385589214491732274588562531008870976032593184195366744021122523987063596203684180315818813821899478136621032844896862031588538340119466807151824413913182718731253790252979157301734580179461701316534688286601076686338502639435711436658777616319803236870368576900939852376039507126140691397903797830429426163517445141166377055449311936576695402486213035192936891960159599651937838527743580606554172890401163253946253528514261152709924133117352624560640257019391968482558328863538147946446718742987410074361530891293886526205507908739184897858255734141793262095004176346629295365444348899832888421642909199242497424531145073730400621747378633290117145550721192723510911564727356344765397378665232498766184566541375501974005032121302167207823718321162828769490293658304223834422835874640626330411565688051369266256027845957864536438862416783191801202451761387938221665434935831891825380182756918975362090272238873547918312613036316415117143619217603927447945558648120877964195210107443411936558087387868648788033253925999772626218212635479593356740748642283469914317851870016358916679322682376787691135037593406949546530402513687418904599399763545464452647433822874247824198119517986544863313762919875315129688960462330506852976163123366499213975509245949749733216553979422604370553235445984042952964619437575530871832675223775986244839013793543191039848290133397352420598721499118112187135498748168699685629308184362514768721018