86239832750970649793672618911806144590699795614123887273532457463341414877112664932548947866305371592437067502452674159975592538329391602967485128488844544938982352475632090166887643516252697841363531588976992930523957709989083971160714315485090500971197080405496453192654266433841642487903983383438618013763423634937762882362709060223454119435336688076621791136551115121314399832351906844686488939718866689107646414171463828953484197437358991091479035645601823958072200616827170080146107951438631737636685936779904881374897645523345466147825868789332459793957918540440851647288325855786457700613002679673476267959113488674176704177616662813840116132886929657235887389241923818378535091754421741443495521558620102282679866257037965732558223231347261798798547729136981711906957354933610971238341717205722342134103424340114234982977166809934846688337662528835778813429344799364386420828990947465782997641360478589042388612516357850724367516201720822230083411552740043417260011029326577257931723163972624851730275715866726800875772317160926682054528737687129859439591588897552522541990800840772375979566102583929374873752664990066427131592178526722664684383451241402296859291123548432141282488268800233024339744028608737899455618370962735664281481625921383274708270918938069994444081131299076605995860545201224845417841946236071188476730811847176666681958066423204127444745664564689915622140878955363370369215019115471707922503096776738979968358490406702674495231211595845786845788939656116418335767711932698349265167649350435404680538612362567302986447625290222151336338494763842882346138466432914286903795995582742573284154386379513427727115617806791546897809121937728286464357187736757693239788894634746789696519928018588698083502636736650221439320142444067156230351412073566481292853194761915883818244918632199954923712631359901477143051690387433157187143615543588122822708230843627187003254058411454896186939430076707416796542027670993541576974963383406395327059361767486896580687450929684877360529442886715552145093339786232712822185294726409663831237883498341177481056144712214675128224368721325536804758617013595335270585581409977337338430279858262353883303942145782250213997298247325224687630095473878987655519311401770166369238837148286927745941874367515813099113381188189377632132884322526851721756530478326689495488219766126629466101881979853482536241412494586210664653832474857340861960388311492100962373083460068104297972255911000867883232986881270677262684279531191339696299984849230899495442450099289794665578814710188068853911696692844763254425466815935663324754101742612435080257459223564671095576464536114861452630242503380856684776646588214875513437318544599158469671666261370386788942883182139201122514230433968043538412180444335644319981515081881094625157735117627463878454105521162374607701729258204846822655398618761256648456384141720553390603656343230504529664964971864558074332288268829869634394651954938633996447336254280851073051654493886458103748549378724891702186997340957574933494628835761616395627452685217132174778963235053525260956727992434347864124520243545807755356838535888679451364448404949932268122513726354402253831156998511174327469839562471929829896651901428802873509678905228228747569595587166902982353712984310280495610913883857351903463406689986566375338963755870637817609513112792885512277469100790865601455942817371703884435875881855152242671139333753630815556335396075619170439241013907328335783217653723673040802148056257276393588464131333143227012761913090745096499861601693247686585674031428995536173935688957595279924223912326534755295563096875102465552306976235484595439366379915489341724489927094429178984648118232284572996908669113023981830457338547469097731671177880238809625342128932916795372713495950888091189320768162118775077302627850561913403470071731142167354493863220232751049660146275348650963951572980149135872024650442038391315511972831826050794062361845811150432571558287631723494210666438471785612643997151635689257724709304653342165340772262309504758593120121631228853311327609778169138574979258260278158992496086692321785513458401389993784932625367915580590793075199656861772447162086327747317466311490547878283935230659193149476172751913393554546204165167844347097837939489825270744752148293288162012696974382438453835424922819446237268415440319902247979831873162447268548785086999949605800298959118257697581832847130632895377158707663770606245781572182459654681919695621632417853614297240041888283428058188292979396298764521056175148226462539802941793036487929787410478738669773513357150786814628860987215053655882368368161759576534104152590574124845220728202973523479900135423246354487299747898864682563714566844079745334362856736613524057199378815400062768864638027623317348158971703581214355418135498348606799461867365387865333628845856372665116900901324485561125934581075990297607929283654348998290777149643468841677291355014035375155519814472549772537951546699394981995338484107383597556418607239888809559189663761229504147065266225863119562030307450938782630320162768980165131917490148791121941451884024627915573575467432511263878625412548206084526523319484269827713736939494370528413245148167470847270302906974999419201689364186181010887254036681237411631864816322293963790795601630091469865370697344551536380583386595899932032258589447624174757631002091839409632549263169958972293990638577050306046649113468600050515204372774725439951010858927896274514423106636776133304696026885104056293198224789634551618478485571184457526578821173541686045391960497273331626629715637706776228670031787837831114451148579483758937482926353081440740151113940378781497334477984088306204479725388524215856956596238701245964698312342892960835035855122964913948833323746352258581512142368157277797947882792217797369747995580957860395293947696678427539425901165771982758592358595766696144561