612378354176305285303916839147407433810061821549673733203181282554476758286120796618303382178394489882273089740746440825714381311631240355356154851261874579798361563634690884361903997091928930242797375536827651414978914899702830601859840836519629658438449056223698833505251452337580519636152186565939226838276725864602465130707225913378894243664598837229488420917132634897109658187889606592825222053307738145469123747273361919164437242312571614391256607455324823113601974924182471170400787216781890531838527249973736157970786843561648873083868661449131349071292182160067413305771418146417042705515827688763755610061280202957554410306957173263365541757636393041973722391148018132214143472927928429747161981645037788570608646306655749429366156695538682311553706248926258532187619097842224283096612639870183837202885633419469649973454067571246146947279532387776232631432633572422195665112928436237281139176792243268192359698718466874228951353827573247683973168800453253051171587545625138352625155600506346702711815977284134139999373041303407608961416146727272802526488219794542950971531456274937571311549752548591179823189793617290412051407096103843655378732172714707126970130768740435862594162144845083415706453919083166374737468595913310549224854320848683829857836165940234059712302438333198105544056246460733313875472672623081934814200485768475224619994576242821197609410721094306609573378965121646465703858689596468793133941913520995894993156519560931424311363875473701558465497024819595393268692329902460134341620156994926654489888687577487317574932672041272376893236120123568862973238411863206897027378350180007111765832828372649869564465017894384676428642555557301918565286347498232349856068239613050269414885349497196611043507522565466576510530212236489610277987388846930464981530270964028705363381076590212247053967986945013146269896405891673267505744726069453234503572660735790826177951645203272131601407813272463559742535575545782061301353072943387698634758507236601249733975789417072935940914355283611689722374611235510348862506177726106833338469008504096748565385182644444823703279789137178438202078231384987332606482658336898674123295357436729406482736094626592428459072724788677771847065558374359884714787008102892545262197726460932860390694822320851349296135313422322656680203947191511775695426531983701048155284532852810228942500138779988894631595657690171056527732269410916429301665967213216655361329452426849980431876975321872616629023599623966447306833615813757289348717220878128952767931127356598482841106675071727764786472523617268245779298936531565532799064802311101715084047443691839564099200354226704129268364853872732413039613148627848991261492333354804274659429465138313908573200616184226753293627871448723974723005114820677911809308256365339535241437704421731534475890758489021469490041249576050599059612714630817948897082973662712043682086844040146517202535571023648383873418198237359418759598895093655577782035685737897294379874598233092942186463365202150122521613285447319432624317895459352040529428672389540589034145893190436436698487367994895790147342164127125694777009863224723113252126535068737451254378285045497425844420642111800132399456403570436374704924692571536941789768690675538867518970188385574440424837809165022578261933787303378726721345162282227713958333709591947929902386384174503666844079909565928950263818566726352613426020354843856072011876916114641203089111555967607279011107967564773686168507850663484509728408394593889543648316482757974493359283749354228641232703787255421256955960379864082846845650192478020540990632127482625519411267730922331565552807473492958085826958131859639352672224188286212556744521222026377844568511535812281976541701674051463439916557358553820358131137338912031103661309283460455300911854448352761891669155047675274341863646989465651573230758212901461369049896294253372635231274139883971036164834771606272638822020423150985973687793991648058997207971811475981321579405883245468930282267489249829423122276342089771573203477562270607084141026303262473128273456121605540633648074568139625788872292665705514718913423741056101378207974456125308746526630304578499883438995241436729703263696141479778987931855923903929419084421453683353873909623310951383090515545198759893346729506919736372757996741793441230135517020553646175629668355673168898601628574518607944786687817490704563059111628083823924965675694999378064245823956471271696204594479356658906948829856995936769638381419427168577339602342103298755884482227029034978710442047832115690174073555981022513906075019469565377451299136434236834584939698499592966240316705383523693283645533562717030969743905717319142312512975114243757405318888927717455096934234441045554385156470713138198481845816130275779567667628828026465281531101432275980718019632912574732946868676553616632547759243656831327026207410532447655883956199804576912238636435395922272534930704721342661123391629676946427191861575672109223851345247621651793945715627569582197114177265307566569362412678674815144998907032663134368814582075394392944780626319001425981224880741818176500692074637922394480839004087273746569645635743292571738147655719961612179033028279925582055881346344586637910855794885818063621640114667013738917811258255885215813150336612426723827199094375911786308182365059922142634364798233608633693359179590091858829871735641506889698475392067816481833186056122515401015559510254799404028055453430976385849820554476149491506953657510281130780159533757366923331552253334635184010813098981621370448518436359009901211434854406269183659705567742653973088280749137513043135798184430942039722141992580987052278890352019181312704252502008996356142629398662313608606611242435816937869907496342098098131693474070683121364984763245425530967188248364596360244663603086772954514102430792208201886589659902154935928432564329452389