245535155624766619794989471990143017003386528215459398377629229863393788160234859623683356841180772884261575249125993817192496971307277273543549656027944991518533164231878254741117319321204855413287773291253738550621880512990394143497767399930966442446357783122124663241654922702498154844810315356813008778440929985401698719477746797517855784499016395665594527975081494857329779578227693257818704504743367853906546105537140743276512506336142497921519341519815237872634718183318156302413457754718494245093232263871754187796986286905528809512291186753868509332499774271158333768874598482728625789433149757868018832981324852424209858310389141634981224826627493195031691392073838497185087482103146020354332860172897545734839776504628824565737848396717714216480329874720187202536617377615053984715929546258919654118040973305207501482775506534870750948840162885534435541775633543797604835193818565491314689572488887675298573731784263219234082366327845976162319723839554960606997674121755914985347270193622098447976528575710056114105271788976067510769986438682627985812902659855263434385649764772636623683217234874013798647168016231921298273382829796917434138423637471431564223137475096148432241814528333475439472633192454967155483296513809729861003211537138643167949977398117744411608483161226117941451624662636357493220478194749239250305104468483258427987198476941092758330311160435910869581449280753794323210731834964826176490728401656398671154824454336413489372943795659367435481073588357658613598116379648746101196782747564091468926498244466443041642321865321330923196424204628173733405920656381389660919154041209276736111175325473926261122458440926297784801585064955209161971340320977988851296077864132106361805882240129754280517625118315110875011260801466326632606534716841818635291326785751321656799824930468049756978908037358789582369621618992035231925206462725540681119173234029720278063767412635819837616817620641747792924376858584276038968647778081131683027300506591985917918657766873467027097237646648399971654368764784615533383375762414087698133469865506414661258015050146145364798382255949016609614341068426218498217311590645672005608756680624956849411121074438559926368325328685335152918798301278293997712339118025719716658657522543699360780705009776025753012903795240783148213156983133729350216021219880615346759489842228139541663579870963906776113920443789966456800205969169440263524023222426472886168855543151878160587772532495668084205829374245527551332566642026941252791596923119068282621293425811256551467621965162891649808000789698229019118736046280135111704711299654748329846665258074388326297845290518314206340191495935975324718908308140472234415226855203831550708588796628552853493073364616065170665818652252756941065909827249962421690475517021414909710738417810580649247438445819744463454278816379118131158765092392967742484552839499256185476549839014764524846280186116094252461377723074343232355605444113734806379917087751899774188214933703472659533331781116915749064522190847936541397762387704497194550891211957687976741362985637565259089677787355395860471783491354553892077978453920014190746894819109745367988474525405735139182594847769740695847152280859160229074421230714783404505852613866333695183884529707358484515910631024818920203335625473674333681909224290684751200167952494377575861282191795262884327811387472849092209221806668317646251029189302580246356470535298351523766815951594199121744065667622434486383449462855146728806714737099139762190257943868048598570911779827778594712987024535227631108679839598546790151519175964345375776921282920650865971142960218307310308285649622798728839972107667962941376415938032543523509644793431316637452543903972082528668154741663886912915050821503727154733318831762847106252657941786388089753717695751694285515111548151650682355006535595135218300062084157802559312594187297134880858631784053669955225185996126964712659310894434127230151886455892747008634313825778613641128553646440318141213282615714093778777280968801607739326745698608574746219750762541690788017426679589419215313369883989425651295324356195727535479077819114306983360559652727309163886239138327473822082541527135421559289106256610525089929277976193217890712729173881430593012605108661928446126967634262866066872137945844524098489495769758835694515938314547879922415226839957648584284826917309089489458827898741967354966440759936793774689737435664706507604792669003222787882861384016285063504107429815528846852970547443814138538054450475586093622640203678400832260492876811883133046624576457396018770141392721668673464004036976257448181212446189639778083146583836899632613509382481842054932496809862147656444132449112244771633719633576472511115348897939975539683967286321732644486624792066185690493590228268594119075975588017672794562573273132618917823866935137199617329245035893505266704363266894003437551962312425571324387099537969591251038407426723844288653654562192696185108922791762855139350966703343590698919215304742321902445525565319235440467391341880959394514129342249919031591665013802330371467318898609387242301482326061461573226843844594780911714577887269306733024413648455915739511466051829375125398912194376814070016239507050557820981581584780447745692527042619789038181222032951058557620783585352568484961654560973201506924368076204675105154108911164318270161758808365664940970710952064283850684762954415754946106342140277215020768158054455310048077376893172018843802543948078993612843974728568634189336686871729201443881271721429472689159537467129862856945133439381559335818884239904374552662955675565413312484153229113312271707361714929595785634757937393980457434231433515175155395762408499726296634541716394898054107971738258646826414223826891613549045922648287539173596068228960981837982953277490197380052421393511815645365218626683330295026782481685143617658978546932756292365908629107945274832590896928