21587722527172339121788518397053677678244607190205551955412551853522667329632870257627618159677856790913079223254621712248580359772921002780813328027317675233537091975563722172026672740363443457300217445389717823775985305700817803036527915269404511980111204985010763743850923797154309406282088927543691287428139791389283648279467692111330747348075431677732267944267087118238180648064522233591923028579262037026963442913196906187181526643069692288170683742992825768412778398004449690123326607323865994593009843011001762106017154728481253736946585881568321502065363778444824849006340310341006404787698004491058327234694042304053268568617417802961761587534714049350699126185361529711086864640413500726512976930437883608317332822976987306970367147776254634325419469032878090824413799623729099002293555396126185349612856242670207459055385822449333599662952216321528188438266410434188425498475137859104411739119151995606548902019415216949620802748732542141774388314805287262203859785306671272421151726187587488252941696345668764299594776073889437709335196306675445033635443018153932166290401441172829136721630444652558137365639716626670241368329695888507075996255541154789605388021828355426439657252947945322078855662828911996657679205275548868615809345022249187837269962691481015585279731610347075244471767101539917738642411454231752357515270227296070016717751747491864087160526027922361822153066818573584306725649958040733204522581828854115225933321115385837268917348292581308335473029165877072367121291083753933689483384455765845388223343391912138593740496814043992723638660544526839312147157533739640837616992672190866504384678242461594141499718047270814222386975796191787888550191786744183136258132940142983565415499724862895707866174974699988452747930765617859937787505238830535907951632117642851153675845597497363843228838296976972461405454477620444963725974862738227217650868438166073777810317794633510092860104719560621813862497624681869766684664069573483563599268218253398901619467152523287364686516878683929883849212798763826466039878188653518149240406493156899289606403776322442762625863289369553231187212894556391396211020041470710085873309254418878463659817482736250054179342916561759847492799408642718623088784613241489484657252088487112021654458191713830562080119897323782498687668143222869797241383838706568868399446627514713049365996531396893105982665959911959012439643968462231198948032487057009408459618699707772721829633044486172925913915968333892349147278617982802149482107356832317944545463689107251150032571995402565357475979913225203158715962777255329552176823080658122819678647585516090821521053617894650554928786396529018695399851855521640473503959746568983842895049999896285834258231160486150932123251394157335485355591618628221159915172629422972424298970012000526349976569362597547985355856098737245786658276588391568084185922967845230423350455474273581462649350465431659095351597322221321945541927202105040072693831627378519204174162917325371674202702340297243380852571353700152757085618158063739685865422737799339234153572152657456162855502686983040261649831435745922679511734874295389421959041401878052981028151084464559176232613533346131656253485625489965851532194960825007451641185038761721004390694560679745722137634879584989353851730784902296678525468425642219146084854584216022470703839475841017816483292907589293064173473263991022502117283162731124093309378552108246586197311262931168708007419811542914661599249644806328802722159898518069824133305157436095462432753247431096790818367767724173367426430769907669115889833294833326967604211492736731877165774773603756981613015844633298213017993094428791615431071484529705803442123977316272581177519304297123279577672756518066979067190204335832128827282339236587521365535227776463601673799444496012484690184697403673496385375445706211918081925376896108812481052870779855409422232711857296352075231794645167173338352614300160666455445192381247754789053194135289472814923210147603318021306105927247048479293672129261665845141468607132283538648122941754568250769381023908143923446547168355948859397834329778717630249718356819472533511921178672538413978303642882680516323418042152482266832710768692409234522255917307627711487224582751868782570681530550869934290211287397022689657173659186952294737430343289251491541242215361478571840388715094336957499126607945477784916061446925593174031736456910993476151254447531145367803739674709994940671790684431219554763755876292747356823995721585729158901920194989863474660964691312265363872006724591673385812753556330360034279269017851631041491296738161679227071760831416656659531046806760129333977102832639183609191325679768516753274213574892023931174472535697244811954707818874317868578930759393255157366135917119635231929533714613386334187124121932923863042845118534415624425286874382598843509352998831142866047950668766008784800618598946468443583255433869761015829826315082955298957306126276466267816826464078329422975562315323391677700754443743428499335715249233662229563165760615744728496917986355728222611651287972510129184655591987888279584197385349579285327614077403627863082229562882856757707965928911982249804295467357307787298792083485103581834771081260327771498863847269768883796149953854936003737883287512794111271853661036527812861761125129978321406961929477357813807545924376459591496568019023920344471171481168208820672699299193715233713223699483252740402610562369328907484998560450977523312560090032491078570485247569857518324514805843325527742581583081979317704339446194122169614320756556098996449617838410578579585549539026995781338232087904689952458672497268486635922566913259225743458135337922103455987369765618595658864458247195816804495548242516304485943541644948150651034465720831556659818266822796718249379599482286229964278501186844596415718577110256552568564540995199013751253153986229862