40883110838910255791977599627591415636387159741363505985995176515883565298871087958435363668319594857763709596651112161169605970335793263966287872467909784035507369675368374615462466123315506568613875697547643127298128240529372055342929924549576821368841869877635840452158779959852861226795478991344736344308067123036865072625984564312444294135762022083884740713294512873341672296321887517590428212391985488194701871939194726543234938368589331337842533824649212154589687835041980841219337455817534383012456263992554644532086614724531504833937121959514205398940269433199411632609853881078153607234266105135533663413388865318538947225712859415775162017185156395898729226602281501530041919143263729775846234594778588192496596641136926155865636757058879071754597987537346798402315671170675376578553037287032167102976757605327355470478556063855104992384506410341438527767641482501681841414184983486908186430514935293439148262454938664305151612912302398357340723765443859642834775079456753474253815052598102422027081192476750722719953334049271513546564048038768261352533550989458977674115661813970618713863380134713556041402327521149794313118968677724116839007101810546331807102687619538193779093224653711071788774690724868444774706474565358534615861251434917900474529485846651055392294359047517555682318257635678854316864745416501307845505820497128373383158546488817709755872947789297712808473601566904794317593028285778590145421226400276777159574840459769495128158619491736113856217666069653491976696251284960252742606939592752661171155586576896098871320260413228397090580031546165636786751018858657005032376454266519214672914435504167506598917854248290816573288783698198921264829478868904513977725179504217884629367562585793496755455328920525712097894870396114409439852615246480765190830916852103647209334493510222613533429031794805545282823094214794798486299865738107341993378289641843310596474203778880538626587548852253227962822092508194842456810862930425009943733268384438853874419486439222882606029527198167931639663793180853138294718456253939137573843866158098915375293947619595874522852295479381494944877474182503345093324789976354347810592733579642103781465778954919652079475856874279628305817327493317581366280944017143682372323622569128356701550758219674791151759525679147583542150772415067765688774714307235775148543549525544934034274370504641366996606727968346516894560112498823832211094369973182732523489035705262191699824985376632727140019197513514109054591751913183421962183854896575172089407476296766711778626478857624463459314031493062648652346353441175222863608209098817813757504693413536773460153824094363316473606709860169915718221173848978003108869175197969491097673745296127252693663147152658681085941427837657381629491788837737021883101523778310568650911460880565598635844299477189855829588213654343517510177944577715114755573961353520074131781604780415244645920746606770755680654539179676162083704899026829365791613538279654276420159271894599731515109629892491146873406180871128475771443056610392549233506489971852282695194099758492274199663724408106955677164366456926384427963220488384631598669817505595193069429223803693508015687467481449576734371445102546990242850784004490667919519259735447612921784915353203389286121567424345762123907864292232426044084248648914874931143213764967300567757288869361941045171533842149210640867633727161145515665510693645163054863610518329464819603773999610804539427530122136118143181737717670958463938351486831517737299487454224356233316884712286937112735850678197555469446678880992301985818176955030387134395587574231218966919360614143577796122604463598635950424652770417323728639788248670491666667289747726195410311047154425956466002982715931051109276027595109572338943731898763439264446919136132609045107201489682695213763556878016112979439024743417990192968085822449845696400520312891837938649419550293831033736991651582047226735648532630862154045511778225593741591835401476331085171572755649387105538386083079951296979848321430133450953226508285002598116392775201282177942674640746913615027193087343548415946059528019729873471974405846896926756136564418119985268246404157584547201651110409760702632645515162449412308939393285480214116419188496756749546020486742822154675379634029621302892141402806180654141592439093366533950339265509584759748061623699452127485055310858147594558964890672896229020875844557873478142345568726959855187636101937916713747385918692477721926758707684188606467858689418782005107152474989328633888060144677878524261182293058623427033465935474046543074916031515629464677678818975762844993093715340765503522570475905396586276273963726585270374214751130653715383457347126977292621525442202628136838409590246953876587623696727593271701764528875672729651265915755782881443896440399663705640932430747583449928283017479070942064912761352646796766882863434239556610614557202485828160207112568327921852109186379825960236790722508525465120622969937189514552478236491845528857770168529246671211906454209869972728603025982557645217257069837595858576915368727967356856453568058189158979773119485449897128744885113266795249681955825359683215676602131801851789891902329972648721028962564559263623937711389358141525184495127754528541780811119495996853135631122236264135123167465398886293701245767338449171168934615005414520681810485948584086182206174052752737449068538207204664185377923155221364539726437628256731634762329738945075966541125983805284662172604099625323187461337108873745928553240829768818505541647588694460935755331610964838445954276445348666488234207169887190275796109430975765162067577832942029508827284025555175505127499660898398444872924242139123786893529905170756346187543998904823953041903316820995165634074935544245476324134056209302429785101235452923064361560486762988765884526946792515641473174296352964656166265764942426847038837