950623382339862152141605817483611291551348833257647726554378243682987338228502770601523462324346743252754816845496371137148758763802925241542998780635048747792423888664643050465565389553981660642605762755044653591690376699353196388725714752641583240084332360870518288806420641867989717473416631789688821647936659161945034826876060494702109915784665579623165827171823899668209427213826744348434702062289353385452890628328544461540276204366453253089512660665236529128588948693998848554382923575454020585275213968227408633667560673455143173248303111988551949652665266734120935745337509368638465537438255316848660258648878220342217070898221423698169896798783303220110611392613465844799385137128348979312582732481845887889148773687732527704221213769146416336818316095651743324678891231371525873518825648452027378274708163059968123572356957527870123131681330556231117890269037561937106148455622875723851332811441667692592677374263458972855565595985957195152382917944888348016573251336353723441404450961557446671784850825934269829957360927976951336328614434493854484043188915485096317953618981051690407816054048149993848651562754519024174230928836598628412731522069399475372448068388873998124764532218479168214487991229861568460755115289694393988883186366179790666418786567284545701968079078861639152432769285121268877839135433669699302728456545674732979314926129467418386763832505953936035793606118474751745222119181883692893447794333102363762699414112819356222350739149731154259768271983950158646191273135645355710732679166845635987852702281592357475639113947818751907866594835352531997969634529955990898908568959191818978514794244888071697248232689482639488134575078231861417536346124995426273740475175139397501743314412194635815436028859931456791308038442719485421265781414836832458015131104389886114554936896906554326456143743742863387571674772773332397533339349447225253713869633490559900351468692721823706468541288584167772125338599457052022758173759130159659971275059283381027295307566991955371935255098867867689358504140206145664742386017457072626818961238795283429588444730691793778818545985723630233692893010673176129156344897794880744106016287791916795133258424262534247154347370181848081259379723627473145005811023131213793456716748329856923611290295498334160410073305369330638178265271399484798899627407716774549227804178983530706269473392799480669329311872729843185247767844625906631209194475877891875194787332491132395554970062798504228272060460289706323512837412394721225313912921491614964482560090202175357921908443115950076771026269632438620299748726302929429851292342804379375099797176973479373282198565292141076240730084263284869131592879058882068283877625049529276930372179921813242443303143374424024739824923539194194233003680886395826646725381838666266266618823166252267748298879823066343067371482487475123666467508538631861775287975644439879477641637176942815343592962045122532394371561277378222737905781537526556864451432132886701627383528564939315259299920833119687021549521689499322531484766224044458270656189288476362598375752049516185815945462654526980420209707808981323540362549397938469678997893877013917850986039027842591730381767112179393978363220773405543816146236693229765715186231373743797713487421435886828256828676198206690429676155290116741123623645210262878919626012688314262328209439260429031152603084208892925659483164280357012497054890564844143421488868969491062153437401900355811876696177632382680521286557275193064635751535724472964998506556564294800826772357303994887096930328947613329686814824649439218385046241168038207394513642140408628316441092143821469230247064056938649439885867444129114074126810823269612611142567993801287657506974734449857727120744826595428422254231869117422873687289769074162886253040851362973388965745727962502193107527856359576098579947031397759518382692260313499444836120791975951025072229969154421599894318965553104273273764777027564045385998561089938019545086254480712212786543656313311404030694209646419747123652197091670633743427396010756976211011357704325768585614881341166719978886283621955969997609359697094984740356788318805420234271888522219030186777259240929876141459545427783490995152163999305372256932547640719862254245077101551531833566379721616207163762163957948431759739980352381883418814201209345494636888278646714819542937138478047715531696107046904481098823310321206634989623227911824966556305483595978383378132216916963092519030577895702835643035534553671295287391250680914197358895629554568369395653009175889496888897372988415603988303138765513967179047703141026941574986465238166540223223371784223733068582009586968891969511836036878359526748389387222623624106974891825033680931421969446301256284436357146602920339313294402583587549906245309495293846573223775420944846817517318524536486834422986983116469820411268186492937642244613749759106513265478906853874984275043336181606189611231603935434712673719338877825032263178448946587799757558609622280159977871481179711915187820183529219330728778414607248965809920812552341675703512126383248579725993709124071080734864423320967955988822433216457363310643746487263656967302404696464076547523248584337958016336139713229286893558343388093517669357536161638936702361770036699670937414678651079896659474989798173845736930023913226104747455814845887220917747821798967666194230238959938995591664408917151383133361646094941822138628154316390720938295635636495552802510227581480025601495984778759763820898575621627602066147865158487271884775286152726693606068695880385624211493424169454289559353813573228973291232515535116918752973569770586625759459407649324234219812838916822760501872689980657191352099053042485346749657430477541346552225422939655187906860023287046562724715167461430834080895147082529778611546976452165744514159265834393268531719122676882804493593827714960377044108110643516298481093439