341534893145626148660398178383443531738775636833954496499904221556580113292207295664187978832536133189196705194542433499995369013104489453555642793265234991098128198275346459756970514858979685750623247124046412674528373733259818159582479477393445197280938578871689825658168604295773633184869622843043294979591367786223638111098409147676079874387754543115721757201489154448798217642850647831557659773027851459663961396477738159536869513884598555273789579764947804778332298812617218794996750411871674747382488355557432278852390599119433270894134722434934118172522386945888365376191199299876648031170832263452849025973474571081447241027929795416535335412221950436930899332282985466519125801482565768723406280313022122164354888388789838252228326949451243491755040971545170945114412653478701358001535351907024259752708625217353242766195223998909784811183537135830468091854416223144525063713995007957248966117237760947774665298967509308627535143965945747246511330249260665192520418929152167927702858769349687162871593761972194145050990897989700400459914507159988712290787781429611917108282543334634828404956154562351556904134516298785016914770374488509577783650254718796848596525981843636334931997117117285255679519265558354741955611279995664291819643464196530929911282673234409794391652580644439438949561315365279697414914398397995920827201565830229148571639777174644084592870745996421053843466166996430746363092151678775046420119636031531708071282016738352959755550079145802685879043599256878668581294630294294227637397469389927415495568244388204253586079264829999879305188692114359593842955578855267638161872535113688926927746527166845283499412618874656327385607634960530544443684322476176668110922337675224236223147788822512821550427031585491852522913744646602124615818688980829859951182797444856625178853918654654836549188444667776176846682162354550740337998221714632105213456988916384677301341992146667938326855626002277690890477738787553558509736190366631104817821349758079889911515092947615471168654414166616330209987814095990542055688431872231172987364596415511486244761565343984658236776811972790496336798797989114151718462140649207660286825733493671620480122403948165382754160348465916265858853995974985156044224213960993909727370745512933512531044859906542704789603791642273349153135565941115323578409665457271102437580481789168125013887076887091183189578018702617961553058662843186328329256043674548536545385389780482798715906322796751240435992396267836829334490261538627572513852912785497417666136926881922178214843539314154853646928436399448355396351292136262918569952568805018239578784333598134362285337901845289747837323775608954668305497125365042263870728772958668696655387670435007365215210615862884747362954398844488398149193844966506188912261594417943559618408854718719585620783321941230882997812781929577937991129685328316209889130221456177801062531243794175733091053077706816681777781748027467790748203025184971228280183110359961929393621195931613719023987820563185414054540590403893388868216514926879487131931363832438418099488853337035426492012881178693611466499962370744919711090875727371576501356213251839177364827822583185376877326825543930602999484337788128358067273948644994029947757666553311330500779815253668583974294455312446064598822816692780698779593883374081558751273444294086440743858469706315385280178548845155531369094486864403915754836062218579711645326876662987166190414887613210988627875335408320087207617510989285495177836877528931029485196213812382457757214502628461348834829689768685219170470167374281571642581851495089146665508741323654440189173293594962688188364743416299578989723118391432197644872800143781041472245645787702739518254265643343482301518045244735368861483001687715376497599216049921081225353142001721437377794739447212890381444196778168822023615224444572524574516807919496919645845252585125060478423364895216317818195868834191529548839891526410791585967702987498937270281894579512656316954664191776270276126148218559252888942644024647904691741426728182333481166672627782251134091229893897056579965710364650565605884662774575064131908869791956770773049565290663295921573525649544711398700956457635029472400223641137280587983350879983983676637718844819238897722878968213424686781634741403267353848422341152763847344288520971485249139835369231058256115171943777666210787532427515648091325662464658233545323046182493897266948828973268718978645558971492766283972967826235230640518402136672546937937426868757917019531990705192589128026137715289475332259948038928276640388132965422758718729480089756463678118531465342297770910305670691520920041255773885631364237306911305529838017334295246685754454691726985223441730246482623691523545193363346683616390044977985156411993766944576310486551738978668669712326593822704920713981213028072329574347717502638761682052688509133338462411034049844753197386937221795502717917954906298742063383884395013457049145778526750890942315465543893194662613817649177771673692415362743018937532741796180961244275527432811518242693312245523418626937076083938896054942234890487611458933609397228261597440407195118147162237282452889177504254346574982985195282029751003965251426485579951006361164464246909060903982463674482053594203174416445064300769938285471161627861737763289977360853805254998957173457956775599091790767476524135595138854800072069820311430198004625736732505377042893628630275431314538235132129456857369852810167841735482709954506752110968373986994345958540894870166149785348964742255613437557099630857833916674631471023841922393304810500387096938704428169613540819115653047461284614207756641061014048520388268713912154765939510343947175275291632923739781982751361277901248798825479194598448192286742835496495764678135832616233686242536547726606370217175352929448927889987948708869037621742058501497213516062118222428987832804028864532057646475871630141678