45843836111232411547931157576511258970182831643016215778708659502159605250842578340834939585768399646958367282626616535524143091486474475171329092763952617801780758228587362761927158220619694842461553793177411712927945932905652241599226167679184623076835925566318563699726247757553033464161563451689099559070655054132216131247474791643710940837731592524566915668275957171601662264758403154287661907178321560921969218455161410313194003360887894748949052642936566320822482408481220794645682696723162967873981369944963804736332867434173394124357987844561915121489354379399022980387142559806937315229029830392258299685173309243998486585233586993682026606134866141636690446715871707526312329840784875611134484197385524175216671714854115641864613146023494754221018983653524767364138213587772806779294027164262741535793040757652897799210044705123449982584784302049425202510993087198777984987623399020886310720030234858718955553093316616021259786287314928847778801224878559845636364273475388805367636097709296271381974641256093535629514914802014407288510338341943986151941565535669669404862375691896734242357058536880124447874741522334801486818259411284973255546149876139602206887134983327655458863780426373732938354572522528347037761987322975457546752447639561044464153788954196049489743550018463963975257281156362907653672062633194848067623579322936716892722744847716966724505806892033320015236734994303295912389895597398921521123677139571121195393523519728414191790238995001994670699935292112297879219310791462745213501828361068323925368927465777687889311328125747456403173120875120495811456860371264655036233631461308889561764011836154434694611857114124667606195337226848286135124707101591258202981791004425515526939832473616683263275601628061945200193452068299193680847493919356719633964098380319404112650983522156684229833423420426307705679715424638984046394463693587536579141335060004547565655199018368997785655883793988672192192464649495184186734202318637603818674677313733455053394492229281551298848302984125695346242754190987649283818040249489219707648251451809678627681013069155167288151484313047476262704129113609946513431327607367571942997546643264645276241820166329763942359309195728457585387114685809130461968141781548502566903758333475215867211571752944824123706580636030621585155313415468699084579566173448148431382161167435165647451665631884589213826806437528697463707666635332295132992603563849724011419662742140503171793065716769961369705315093263789822120540375843261168966954483642919770374540152457096890972483812645714572210831832900886473958348080621784189848577662588195238987655020766843434026588535804182631935498418589981713164744392688921511915597098712260553564315629466712134607120653472505264204111503478615048569394333496153950768492146162423466621111622849514066678257888757951934672332480683146387979559248474637625212246353148832761735070317329101193122947753809523038707859732247265189351215564783144896016356783269058696186922233818431847266050150798635670978087555616641569082774007531536862346905079944252634699354168735524621908382773730642789372180197051001785143584549373223534401559016689437292014482370072117314239212117243517438544977994426683811295223090059974517162215085328685143137481936114844008394484366053920400978936891699572208927947707529917818436738872646573567658865682583071643317541768797505219955267249336129357837933463614012107953027281673231188612978352763227828607447818471131720372830176131295927428533081113164365633038387103475692314818238777391335328654811933375599439859132058126131539983977050863067712165683934133934218869837394855837792490794665659432995929572063811639915097806425858366865154398333237362185469589248399602777289134293872979451843827472748585349140611982996085573564657859709201858735362855356165651593923981932325538119732921877649133303618571049991848349838354308332884169690437391949907529076895462343958268259874535318955315183581211228191782807998665158824998297376315987385605110109897855632932838865443266574304494939250291287721984119649187118442394596293759460192953397184687278825127595776121615852500537664788943198992520621447960778192347428644482847847627743485710361485103981031754970161348825349809223748295888651263858435846225632962003285927953736667930206400648775608662162182466395916354588029985977363625214255817314239791477107334191781424984225595149457931934725608788532096505343038117756567167024550234972892889330023736161091248916386946598274118220221605468153758280573141446558591989226593396126589339420439481194874296720936637881368553545613515634510163123122778297385230470934858718724904536939359439250583868144264545956632675457439962557159457689571644243577479810875577362323967227804659738763146893021361709107774559776235469895361197297861031414415298783928090766133189959741157546003416113489719626775476679362956369692888824005190860192087668486566238064483741323294660527464965657898492709095146721469192091298563622597218834260287959291728544004385469164924867150818405763765334251965891896428019250487607966751523047603656357527416889964666652457829452015822282291740374539353313298845399337069468071544252799243122429938625518543806070344760501544182126379847813679543487045228121085450989161014169105639132512858066773115483380449928518861451553291679862982650283902689233279412602969181852061882890879799235016154054881882630728835243886908827023337306685619219272797922543021877652014028490427559250603872815931588321514357650260051215137440432427091765391713840097644546059307257497635612710348409416623492104528929874297965397185789804107756939895799551407376917648544930627081232456465572772759150145761536953278322415543761276605876773810542320813450541726898519764701906639486690978353788328785241841115579893192031588447281019840161774658983780371871184605458781222139749621833942258726719771012596078373767312675194223215830624272