409613536351798705034844944620309467574037965288159491270930806264359546685601800097154103154446187886806422058275772530740309346586454123854537190965986373450484990826269903464538220491092333846816850611182418407968025909527675311726236384766161663599688059964564569124413659886952575635431734074197515731937574568188066432509775349893894078239747276900215912904990995416879817129553863803378098101164493395303773998922352812654143274882343064174597716536881965418691275643368277155017097025581695143959309455768560882963391815261687749992010722415407683589338503282525757916278226589271452186302838831346029979628359719846717291407236959496425367191952179064786133857690663710281776727291988193212901418383189994225534696221514670067678533111456853139879447152891571112437835340224189669376775445998575152662949188729802222294153709289684186780113920841099492483366346963055238534165373609705386572462998888155750377022484977028275826884712356120523894081609903858168161537565184246399791952187314028816279942738934712276198142753535331521358455546567126865635786546557814375724614388524736981931912138315146269647499992887001934494406092138362877773051959494725078647525349784139349927672934055534196534045934110733675582030165333965744637884549362567187783025459640344499948862692328221281745880726498924873619411774313148668968959711278659601504059113696745142189123883465122047404332094041501679878832264196050695637461248826390568266740420754258862887169582244172129688170732931348630761699178324526978365646718952526758160371522749046113922276339189998875390495317659508724916359363379340052439474429984386896123682669275243641238662396847678421076263272468672274834822283643289671337562254631545731271210088932712762864079410914330979269219468739912974721326589823006432458171678756173050359809786339421818176135071603795677537285571996414447923538868605248241891721518611722854631135852303291128906121978235573098646638169411419954390665269999299636699531352993355136044207734651513279169364266284886478533958584405547215692196517397100411188521287061533652947108652049402251767890725002992758504655939579715175969930861446122937999052191241610836264089498936511666677565271332039846472373672866824683127715178677113123935786923651231995762196412861788701602629692567736375096419252834157230164612100343019402130916689503767514514206897189885166214819586747412977418961986477492171103113261496836668050839021743536274599603413048446738939422921035491369574372809529182892075383558528886987140336412712187965268890587859919508993841535882462296792424200328867344633996601663945683455722230477942275794661363643617290930647924799955510409304915469636303530435191425757197774694373383589440231695504136074137069924491659195753113912879563102170381874986078167423549896712453112425255671384969245817755897535172929633049153459122385410402239323564705893987323863295778510387064497063564107537388714190118192902609202341886214762118443230844843876771393314054673306775125634551745198189012889572992062147265361077840253163349715408564344436491397862780927823541252929256298472719556122349728948064644345588320929573417194314877990160426549368980193326058325126796860769471638153714853061413998637709890746505196135908864119598598000365151297043113953220363555357745780557542059149348398711030165496948264816189331272687131480789099923915665529595292402174780684092156332903785011819126558696066186358039180191566203416585013788329733838546700778636080222368708811896862532196925267207431949512545448703881882622974265384627059660244918788122897986065981828697291371144323150444693799117570721442899310754837365379743733873773630718770698873979152849298323620636880151548654512572415465759385358979869368928775577126629226274527441685695934733445598970371798868497676924246364899242891318396055766119766489760695713426763013087183542370639194724079256746124543877556916644253330657556291452505470662038128496143198814228123932626293413313240544928433956638430535539887934817439751288988981667920803534404317991728268447701217439700210217832299112265729706985862512133765516272395432038217937568712321741142871566897124569572950923437859776424164733864768975355586987653181819078578686406871111664693859316211176987318008348976065586739358941771650339492576188382427515873295384436522118815432680417377705359118370726041801767330954701381589695639478135896422404360776826338089110769312774492714374826231680386771418177758328424591776112470989595356058904873112195014092493223575792933346212143566636550999943223708787587301620117982214520882597857682195566397829803323087542625533485640842745186446873890461308138331641620593530969238244976618348010164665733830252998605445329741268560841435694608818062112547833281514001508242713212801431734356568823428932873031657679847651961293023705458131251551355569067471473936471773828095512438965931053985563124369790257194236355776897856496861052069745638306372366188161338568416288594782384248913355599462588689282212946862677238527269225897887226335121493402925859923854313565475944478819014442914055853796888338114838547342173850833022624765725238693345551484847883559092957499304287869791178419952410189972286297244231501281843059394992671305517469788353463859289152758932014206096079561313037501802170215405046614696584168516061403366306263518594477557877180130497575218656151222367151872527507329425447315283367563178649888146658966133472161672992553462649212694471610199674465515453815849476269372037129672512372973542412874834455734868323641826921239987310845593426635315940586230321885055273839638958133857997981070460646538531644259453037929928587546495453193735561832895544654515829344491112941238620423016911231357774555678147958293712383176768578148283264995043910308635788869506916389565942943267964019715716122288247255348033673021