341685586218702945576019926328464693291119047173418763269408576810247821379331290345250966035875013918977768187761675082134466227748463465181881753768542809494875389676841510920759813062951567088173262455335039649460103169421960563471303810305915246425246441468050807575487213163141350153396415353046756918115100753774985021586234028242024183976100391659197446436156449955698655895402170248710529675754116212926832846786502330029803000585726635143717347856598686970391163672921316777717984802203568477059822467793322052689241851469276597091182081319753442186237582087393590985136707461872248126939800010405570373985868803364628721490254686616878114249925033509366470195424385419423015938811526348905198870396373886510536684658495032310900433507005015682646216948429420351514379114442879213994815914876893117236464910693322876785412816964383483415297365327810437405623959231113203949965601664639795503984110623722764711754528261588029385789925315462072917223467394462227725948586043944288496889530455652239779597039133108922839704092913031694878593192884763261943838533074786391097907708496393739141893295519652867868004390849350647734418342634060893961049183280916366996763211014055256381792489572921048750515498722828344160923578919203124963124449824368520215641567179278541872403146141344304142389049353540139750807948414951614711782558076260343125211568126973913974729560908510544936703594920737769721378256864769336956538821047563501668153095373302157211241758568983798814743343244307370557102433567726071743764682267766128627495522950601888213399851482737293783318595980447851484895671526683237723949989705737712583150420823838416184767444383693948951917084833574838857613085783107627905254208051322569856883121525624302223103599121667158572298019914700358380745488230975753847589210398107566331824946437939364804432269865185924586268219816596801376529738752790943859758129848674805323508393459156771549132749718636815844440454523356680543060199348892858432446347328085544961981374697573070852758809115750538271232652538802817619399667190539578225588178687667481788450535048217519626969503917253741492770953168603868812621695629611138991063265639268184268225692815501846590851794173809477238685854020946488476530177183922045464945345688469765500706048461558880418233149819835472364216083355879269673245859038154068904975231955842882208712155226745978182107769301088136859709650102283498992471647698837642856798566431587864723814715276398675363515181394290418037641478223065946968396947130141499096293994024349512123810767276175180624075441836717174294817511781957775795565087838977057038271645224405942035466464703619927724564244089541335301511164426397926708908731026451020670893082712030127272839227892958867646245868374470197735600587899394921773223304323256143895189801754027982720716696743088865294376598114179351614289285654122091626913183734186534741142666042953196177474196360610273035454131684903619353063232955130616490369447293354437661927397817794039400626261564429632533357541827806725225579797235605138477129671436604594352188147908991939466313223111459622800871385854049494232727973124088734386634370384633568868968857292319122264010927999538568133173865580173443803170853615737470396457906886317074663145203416624510321154909841997814587482391256998841496456958283472259533898766166324769928064522796662696239689637308138467038760352713173734174211236341475749256029691571384565266543563192804060741343905828128009057579160154266970488003785783739337700544020459770952472302469424349085973252048826731571348101843484494889625320933078853156366102248490361622912334055907027959293913366792349199454771142291368665727178576562772624375341515112945161813261414797393882139742568710385115453998493991496587838220683808898547595887827772436875083376576928986653077729445555838962036882344367189801463357389935684777644003541684328052165175118278504974353179582410862374285748741970889595130301032131505796762701886985800256180446564576924252486856687113438507743715791767562655835546678063443130744615545557481461065074712913831068823352687781307235967245539186425650742887403432366995646951708382899118355541429604141836141757189182767178293818608970258828941789757015588510167570526127674309402213884062146665673346144949616552778189760322383474959754403323656837287978572850998324922274891317670454335186183968718525803895742866392549905871114336117252554316438528727967571178296151574736613154007273104584505381306648795003952836881598323442714292570097955978993468801290330084291734078630850899932843658904727883961197325534576848779921510945929512827570713499364851189374943761280342228102013956456076282387283322119443588294844092382295762197042362862648915157307119727741482453156724691449053284237513242117436934245499964181339782413504647090398425161024669540324736627194218459956184748477485763377776507648654473335690530144709427389011044997887553569977342933774575335020848044224112978245732395861352259477542695481886107363555298853183763208552550420252202951289570788226311684961540161009680046677750195080991079195931598926260321738385012931272656744257174621604208996295513378598249212223235633077766033869500680728733640628229473324592862778044521717578138592764352019012254609470650723947817989609814221019655598938067554386844851568357947033460148428795618377781849831386788858656735597916244734798267792145344498424154665559077736551338365493414806948871725924324010697770679819403168874508477069291746158594642975120524357451108160718530717584808709382276563720416660297617699383853228137941421247404426984334021219796069927086977965195011572449857150846618587161436955863483469400312290827024589047469229958867270237312659254498759433221884132622668256743421411950211630943162935372958377373197884315230411572545200246623789570254257467616083292176094350993571254478686