15728892264913333092356937472818771441596273410131909368136192903757756548565183751156484530965034755803953569820932097153096082982281783999834230520788642360542435966618651793498302338986130201016479693894620618079974745735076606556004297631780244651547237855426515184392258523544089726721310582553646556720594213648929469226881857652165893386375666057339739617637838389375178707352730389104116519556365973563986029747005554772316807168500221181076166728560271041168635515832131589322314450452878156672693985459888139740866725922831828618484467647666701550623846575798524570698192879285048349574495591163976757098501140113719055196143891182321889886527845484161138723863696220475886703631526730977992996617493941669784162558184638608937025493508470116929658840098896489689982432104660127862854364816534627684654854824340176332238967159716411439117035616993912285430305510493708189021195270636115265225958638370556367663693815315536645686124591530994463457797961855218616539229261521602072778849572293859557110181568922238186873455927021558273881263234925717905299530532452989953691499717289953584630890633618366183581701868043635832746155196162612401568382964199073514983703965394739418149867644145987882831263693158500114220384304438072984345395051706734232754326509340035142657975467842435407212679822603873183872648512783802845730532582197288921081605859651112448085272721394834221485665398964364786394079337713823104090251494415672248341990938951483405437267966251294694840528046611281166649999158603250547692343780223752559538790712153054826976275469069740894955253383735761937967236819004626897924306286268642075430476251550136553224516574966193491862951267504181990549025366304564840269878258463575674232415089135327193028148578327745402660319269659572323246887208692894962714313515568712172290984353992896181238847217226487631240597498227923644132714650634316882934106296781855606400143362074422242577264432533344177716079300072207777997913635895884570261163953835017300353954209340811002933422652193972798374310141176934251935795489319318698576993671228825599898820107704309766181593919912735209749574665334430865397390351592612324268293557937378683427878492619840197415319151959166874904865503793843970015557138023202399530818075271773543085558243323882069833301042343691892178727126549947255009987320978629499676583841314760233170773852876135042234564940714812484459925529623808440262783400118079289915745305752840721066838823284915109086175259807937969157802170964938534068750115459594439473328267779199697156396826894638775615309753229865011110445226595907694993184680308639561290620612544617252765997256902438471681457234256965576274394588251343628540164099933251820751856682844772038760868079866413823501481533870968895937420416809404831774463629153524489268476597772433367975355903937130748721654544119673281982897748255138185495969842026988826769196907584926638925550484890973277312012847225564789012946443937134382031358166859565890488443984657498190416912624389415091194598026746969480778677747354486272370739092893134912856680132973232066824728908287282186512430750568254202199524692932799489463504211471708290184094268098969180578871760153085686769410361586004504973809142225849548330505348565054753576469196664961843506911764413409983138778470922144311012933996107393642693928813330125682015181888287032514686832297694121818353259606205603956513118952760748534838361062319283693850184091405074673459580699463630230465677980860075347978774438523736468402047298637414633062241283116009516646371575198373438872453612462797238917395540865529434998053209140689498357449890761944397229973222211713582539826500599423294487524420858209444626026156666605715941774539530687051128622635563011858708128755968225153471914479520678970309370259611939588649619626737386287707723375493899380961416827777740007019972173360066256417685689687758937816936789592216447336678538954472607024761024299381378839932883555234861545367807742760608173578735497325386509099564594534778067857855873854358561426254091195543663035319602993256535077170969217943049180991876848825214817675461423265347213547553721915407515195424100579362948075049159113664012978185941993468618854792016521190275284329286142153841258590886200602329831325860432697032747446196752229439374237584228186177213744668082875985082467293402763468744378996980749078528439053351252909220006804373430053504650645435163366870160898000189853259184294448654206828652456108854559910716548632198433947461016193518884159533513947629828972881413589283436882923014064948289045301609841973983640074837477937222981197627166446755826032101212913681483334767672666181204316008996411832887753927478439570577876692398475291620079807424379949205652782255697657140872935009335447941850666119841134788087502798395178297873455466052369200268214632297616153713852086465413839214251124566652383457385220232748741529155452053457418812358501790583338282050491779583172173319761281580779166613744551261064834932423540337248984715360558462386726823281660656053941892012376870161238146776567936101376758318236910464489137658752604510637203760123648926498083805402176878218843507461248798529318442216598678781460183285837945246422234571129542537273581875431779799405873908393590448976296777721414905196444294974769375412926864372287735106153838372157712260729850304423796606408673582442254970286910204815814793205867187204761365595324531611295025406987975253422810855284642818350664562034988448207237718399255257433349914639343837303309811864870490949120136923806614981402823799783594345797613143966288119793248536845846033909726131174658651905840996814951516111348945820467679843948509263137856174695217973737330726490896209251850187169854249920894637965855228394514571636747558514184458954028351657104896436502724454811824299795143034735122667721921565394778524712023057666603341096212