723182789635189242254487886212596068163473557303349053228349143774511029252423628196610882363411824022182415859237815699322117578801272644593631262481823838968729232282209809681676646804630394138749502774733657538916217741647191472645805570025742797996232489918511481695885782461474271811203588594646933746118136989536572981479112302649515712848269955796612266695218077149570882298597797493548169482845998370618652765160158815914855194166428143515592313496595030457161244795042733217330407039555402128233751801984225607125033887465434639924614420395633162295275208692263293048471877243574886518617067025800796747879943628299995166868842145761859699248410925015089814597919716474011618965720360988365119650784192188137517698868423479853608155872555328463168012783599128612154878180495814950976454665325232661675461569676776180932446365277125615321347668761422154585044889471617737957211240440347469959562790826560795697856418834797929524346284513706920642648741108764458595575546549265732648939341081642508882766053114767880276771823211373278906785482426252868145776976783068748264104897156236965473379288545071692861202460892837648461153209918697567118148024479810318116137680402777336548190191103365883070154916576565571900732514267098273870377949939213642737555728055544691986317703319369524533188955193217226624740479278187743673152871019059486291295664080859288568502950681086599636188148536461923874065144285876456244255674314012827614676801095702476743746245895814336135939496329475076889520088344845829212645413853654161675466553940332817456249931839872317975052645641762844997631565477453421884627352104352742775409179317589717752302313994264472438281657440943005362885652162609066112592377555921556031051771026926233651576141332002892894913085475508661576424834311918034380831623066731542709939346254957640551086592697268320676295724748167463183249088383635563532616313409499003456105136271186457226635726032228184514448719997014270984065380525519603812232769811707653270433765551856982491699816613740761338408620983614577681758136606621782419223390638449461826308848275283625508360542591101654648083989317694526843651058791592356928307198588100654098337560110279037347444960961896074302217544077307763989668585496553376090791792033912619481282591142426743088953797033468666867348991758955315598323165666407738715492354241943421846601976752579577491748689608854929046162062839143974671617062888025554484609012188003348715755825522333061022434613185452306130034891464614781506472638480453236457158228295976579021204804556667111564558859594979172149266278159496317677279283874038737625917759217102393638293180415088602150927383864784128963670203755743864091687118204230364094366842214564067758388052611565292694481467377453005256806999889348325568811173972244481079850375424238189214697405232847665929750508491692977717918096008719181379455201033933215964419758496297222524618355567853134248702011462672011673043673156575946237459834511663217725406594118213068797643367226813847747618537962323421514741692393055072595329819578364760912984425972272263695807333666895421482245929330986841899058329352504054253866526410909783829311178107378126925704884646711996248564126134228871811648081711375759608895669919639523336709443751860900884405116775250690083346157266899121546076860021513059138011715476491087558871586157811286250946029629381755168535983760155660448150985832272229383989764348554905609338462340846528277061353050003654437693758078110999032134055619659092011625267882159545860339258649056201112556935486803282740479969709658538832391817696722276531446907280773939472881596475538889071673268531769353974889771589542963192527795530898296195700730037680959955330771921532833776291005284762674498255243685611707849630840196265299268575096914433331349713127745854490872078980789417235786918539503327440346162859919817479693578115153456084948230318637755345619438368548340595014838644423070601637436650659487183606229280802760775088223570218048594996867366037609884426865005843180739820361371353562626997005723322341298004542658728985356592961866305931036106671398756569790330901968788610625089517374896113050865867883053553177623622249969236965685021225570976269685777413420653186928020005831990826956949757387191780166596491497458833018869500165554637686267038577390624118790329534338648099563809940543216863716117543603628801342728158228155078934143822017597587738454056462411472181669045900774046531892864151720256274968444186884683430629212681948402743392504621455092928176682562108556257482088063624360122174752417186825561506247417521962360063745672528007317497275175614161990011831991941871890472453517964478053361579352900193557456106141917548738244475883919836825798626342161261540244972736625230470685912438696206199141079279436934313162804577915673822576670712407203529568127821806111178121662361187627573539924144990938467326116368539563102693822884172777869094159432274234965310422939975809909574845558772301213204517002475358327051043613673039549876822542510897250686693776395369995207395343689753201910168617379385165054871238817839334723359854721544549577212610112363673956889727778512640679837541138371816635764495412013873634466409968779492119587773242435231268356193654301008697710474340504595747953423219927828368538237371822718737818550686411294562975779607866396970762427866332814779165864686308972928801731418481915911323802377087264674438542825408653544691585033444771578905386397564953981986939169149992389573632289542336767856194078806390822380246465827062792332858158266713642296957549292943465386855165453077629507306862896606350744220601150387065199762726578074415217290168075299444669631806992725456565242494021887848648183310710264272269095239335500448539278372621932133316178864972216773669871075786018354959910114305853606038202004597752724398953790131255873185519119156923396443832707526857899524457933270683748301168