94592859374423294643452674072278116832197413416771513639276362446388160048093206343136717055997283873152823475814199247253149859760239058003940235570191624200046861985054156990710295304511858455815627715938562543629247747386342499698523152057721428739520106632751876311889557880581781341033255936955985718023603835744289863658245907612344893367548531889548759919931983680634874318870751937204577701156567129380124122808104267279841342832710407838977688103447892911911894187293831724216867077236145413749939243530849902881639843297166566481485444873461167323325770619801567258554853013843930423866832311933844559623796647693057880182851127979746931631916526924984848911474345210657330103671135991237076856847062627203180022779961763736369165954176921300578860307029510133248425552727034437361752151654247027564339926382846013902750438774051756833347878435113910716713472224091585467506312884371914942738069647297866365375727798701124561988833527771269016368369056985966139910277553229044209485295393020915112609266972341255594695163966088797944817655776197936794928295545529033600938087929779121650853894851219729767333580818623707657315298873870638869325775998798351770267767837798413686577717139598246022252715452664703250252210025939247394078670731361741052210220166276357937398827277038119390422957531569102814891336801240989227419246662679241246599976068874334633493374855967142072432998644830234601161923698909964972437149921931244297909766216624106854519271809629599740945173053183928284798847884247764671457066127384901129444434792381846821914150699944241023219553569982447838726914798215973896664745489789105557510245048278299889960211247534702876876070857698959785905430137396346087596578113863494072483582305718085749593113369569582969727395183185696660977574724672658069279974133089281399384181689380859442081231376838655141137779947850810628258936143749229428857027368864160467365704708050413736669313003924406912247692868484713556196592054376847226625940131855366493866550079817341541221457604215088501471894438098641275357719316319891145184469240039351186126528595917631534675284955949810444527798127616230166555741765944493203982695194277133631551150307053054814127635164068732318650872686705566156817673973877351454165840419915685571317311611667049635222910314015108099842522171017541844563238097039995415202457698568565636521366650881954105251904089268124492508346868262340291554984665551893265297046924511963150913502168129949372198467113425616442179718742238498696838470325086353791488772614872955935421069139109891066903216200567517160134062575385198643713008729722026016776220232368783192322692821307772584688795191678667053060740118031829174638292176772215280257970893679975194314140196416193217342791402855482006560771856550216757686223994136953130462726564353613190958215344557222163203461905811919157572000468794978133955655844244574731988918819243947395680197583055385071702804690825535225232399796623441260863823035997802625566199970775581562573045895511262311331472603835756473691757562957079356667913286044964177283931184455963310679119252462216349920445312296108572733353699264279453014393393027471637657036757605387695409002069667033283108620083611242101230504142804255667287733194826368360142588921946547698873864833750399788167386656882658689161170080155819410411153962337341169915239914814373897190965185929830098407997579152717607761727772519778236246660906497688257028608670097064997360265347806563370687983216170866682787155979699619261492768821997105838812153898790889833288238162875898301739432261008915125531812048107894587399845232452027684535846220187870556257872809052129296178315705956985808374990285147421574906785586785717869329999349592825233574027725636596858449163283249894021900490679288352008078143838053662330182005889643021959487606573748049380186453243364831460548753633868384390619496451667969870622981918434059234992571358414134677058591895921696377152599234015408288718872997647444324391451650690152237087377113063809992433747426379941054137766931440031617106650149281456332254737897811827149482924885069441590804213892122913153446340845366318935656743058062719578979140793231749815026921676643195035477461986741131260379848347581597156113183142860894858507092601661321156535975211590916334308580442792213702724081154754777620446971483472446298620382949315752688447429298713546874825528084991316513988835442353461295821669643751859872282297053255057843988079004627981655168369674079568772760790812666258117512565013863210932498617611515870106380109752898112954246375572469571906758213485300704931379795430444074277253731709385580040948664633971088304324646621369429451870312666437478509795740243182940347084268908324755495887347863881680316529325039374414993882360676635223731716148945893916320887666657241589462754926460127912557313999233384698363992678298951732748135171912750562182783944323442503769162111692368490156427533451702914911684697147247091215631462459598350875924888286371517918299146634938873564317423208538342049529540521445515300303059817588945839272702898927964148982436879627742069445062145443627877521739955097683485514909842890028762637910181294816358736514300870580785340135910323343166676363657625308094249290371489230760269730693281824129823623169624608916815454368185242853059185741056354430870541666863812015483285946833978757440853320389507739362020993526963379772791571728234672029747463653144428664900376966120241820308619022469285714651419721785548286571637315500608735911672358480666276320361937408401734724708544188839875399894109846257511427187117758393793139255975367914894302709770441197190681458281187727761845598492900308230806941157306899139697321606883214883686809597173778988072465836445998009996167130465169656069439331943331562128881187691478516526703717365293526054067224922855258634314472106506483476457594601514239137996