24403841735220132228273938978587003896151567487829451497018894883876866176770114940354157559223838110118812068378915658275997532494678853190345976138177347391129785148218889441586210417469034186642146453805480765171153376069935671056790117231106775957371599396318373730645229475876905917659637851365668897303757033564240753691316208485882163935193852833490681214853871604241411674178336772388680028773053078297654147944119743126483629034631590113494828859290335572944503869653554779919260964851505087324864621203689760798743591126317855356149468568870733166178916047811765761732998059963131943606070103383790437716648724797296010924015984155264639496130419205774247927715266993419475155864821642587709061470486137003386998228170169841666393747197526773392868685284883029752986440633673961643195898978613012156026225328447848016274938701203362869388970235367696812921035442811620832715825365788589263294516024001778980740449191419887053369237017166474937345179296772807951666907792728949393021366307868492943760086550115435769069051129560395569446403420357802600695288246917225571857293008144958759232401838098132510544545074282635772224609128539275495745995423862444983819461186952776496954891515680935221000278228373343339818198754841492647384194711487245020393179471364802723334391239094539803927841935200660556564594594340477851907629527573785976569482955129993430002155125284077023183811304192760025416852294691913071587751550505941891514266097546949416565174394254831887247247878683862899034674595820979496944454243762351117331332706517102739044735475457423895497358035239574645788207425995181447969722547318560864897568176446236863808124896818674833921888979214544936213165312340170550292032418177092432721465660895664957505183998305117663160435673643133314467668061689201505299733804241678756738329051243834102383274698052147578044823989502648049458834625429199688011401166056516355079773251495032535258396883325495266814187671760777538586530064007981794931879409226025525267280201919139124167289756107226242279165211470897917909311469448243679723642670969928952620616652715366329094476688126738011324853794555777751403045355099904577163066240585754553416804485553727629606110094004114747963153062108132917989458623714139909386889911708846742028215527591932046275654083568144925038619148686917681130963427625372650597286262953187061555449445670206833986014843293124263259241542225638954548426137993896695839524194747373877075467795941271420274706570535250953718003512661631887577124788457120133443233045878675461564807777972882963489428388146736621952159416122381724156625238863979765325186991580152185328832346831169927068979259284663104960232626429222154975683165065302489531851927026412057498047224677178715363212206388575246597945949273827617238112639412848568406099217359635932666267643922694392751256618425736647416261746127387316569457191375362913706875624338523232396698959748214332229399822664511269597105845608120349924388795618836114439735080529819629925032163325629351658663497366857153450672774594901765658689051916350357664661900724503210237126550168071469699728083999623360698826205196958570456924798590436957510071176140807086538021830753197067398344814402382590186660820319243766473870537376963466261473685191333742077209160068234127082131848293734096629748896503685999416984512632143458520995785208714510965981295259367993181114256159313956425159487178234264156664960784446047377933579911519510170950431712929733469498632677704307290766898902464320919452687658160396657103668555825120143229433472495552762936611096073826543529167492949975942335191831196315356687086184402296872205281338953791166632592104344887151787239376988239902726278390434674155628723608971639204574592987999140339569012774610114660959709859737872167788892398958451826976866647859903446580133226501623710562543949875206458212630053343230584817194149031015080940099129872422853075550103363428538839934659658241510156997383659762176932117731644562480089931850886918481634200672998262782658858596929120303456507656310793457444163169772873905756235412476493551879064740974066601570644358252123759643845455139384165855927724208987224663279458539914316514596958744252983241893023716129788411519630153479766294927735843673844198329670677516623234965339799752627527773009317479931250286536481995446868247942251590851822665334122745020577220425033587215117447814343934562321497803016500466223446439678243553855437982799577653335353495327486479629135457910871538377495876756029148073222048973131536355116380135387055556457343030162420867985555441573524964569519097161517529437894891219068887259509427532772804430581255573992494616409887761077156440327282283494865643935921228751010451642276897326714740568814414714884621929982295850751377181277548697144371191496943643334138607255422539481601870990998675005360835122365201319953233882846916946427779312555180372327306085884235227413044182280418777691841420294095648250101073363221296565420045718108056561418854989951019415625028271823595687109877133673065838830761229522871297788939663112608245825035568044112317678372747741518637751592851126966956143155082452960320171062921707775707199504611128641505386037313524516185277734511647588673617392474915380772422414339184911622987490979381204754286427546239564553171054811631265804727714670737830733355437747492854656155124399333134915660857428663096314516793202807968235844971174113182189416268252539170950851654660731299980243242644152301964881569536480554183332799482860122556657771281199192461963800114572289128930766838285431968213879034518904946485673990299540413297311619811842653340360547284278692874242873132348268401589709195677464617404214990068232590538388914209843531142971272939299091332183186117863402217011523003837839469343476821897608633108191237555600539827687036935177183483000300675232866902890735819153243349992152