31844804745757924958285568114777592928683817975937931216422590166037855688210071637276224031122560953581395628245067488723510214944246137262385455185716562787331651011244539608845027147483419731515971048608977609936109221232396487061179803836208487533277912245820255360393443614765578090831639094368870659230375715544251174496442726391319163429230443198724144623187185265421256965256802573428372907560858448383978644515997184135227282206703550736528562504710958279827878933899582659749435579714741463350116704856769064822620521047256382542753326523582129343986671111259724377660684302324487239526809203687674635569324568205214151495099471113914053709994110949562378142966834270272366626275426341920562473137630246368516246989899625156258228477261165198852064761912176201550626099156125753389428717667298291684362859275829927765128095713139990238985407855395561498842334613436363512276645955676935591624640744708230837846967957486862229785927288308014572460776208536461928342147869678537072743879264575618634221449538612841214209843533105841388107016416932646090875451803010405280177748225783742796864759834869727935769210274428145135358276531931064815371446373482442273927122683680448930401067401331696533197501608390325038433724116217812245479469343683855361922701143959255302421912954606376189179296013026308681383731572130220118312787798921671495323113065789625939513121406944123234082332688584723078716192659843494122626844411088110635979256349147361262011143348253258202251392456486669880817352190927797041784353255538683833516116551391752614334613944794566656649699633128394026469468430564582309332249257172896563125097634083783404449312843409957568488433481453479310827673237780979418763367188174912304330227204157842631854475896315044578994314498361484315258370973954909382498303144241365166152437750093433294886135751463625697174356330833606679673697357850950789045547296398042922797725481635837883455101946502922097569437602149774235628330619683548402462614499559230522220319108665696492674273463908121418810270237656059959559858063797089121034110771051552636532963527943634776493301131695890892306933247567074066137733353619782387286308939440982075424038451257079983121050725423108421853972126643984745491286271093315337639312161755937224117433254802802907115939888449419604083373417418225931916497714878789795549799695145874690685369033958973512051547259524727395808019461056404028938578454683747866487668833007947458914697765651837311454423585812803932842932245490882126595201734190824393594737514644292513162048746354609943969891616611745318458920434111547398677288034336185788420907680241606966606015168275960217259741948661055180381843887518275293451918899784937444190089954986861520441476906740347329356887968960100560475185418613846410703152982548282477775665206684824611827119520472444309706033918257384307370043100494056795515883145731199532059768596287934542855610211961998618467069006821785148117280657583075399198868869812158455194092130074524715196114615461430954774915139927172913301887392544740345076875119218774537589664898765518727825061951296802431958291200547851837586209722931440655695489664126519196697275888992318229449899671158065978994515731382680554294887448799216951140546471603777708880831352636140152545301512153961363412060940489864185196529788683404562566411946786901194035172878792727338454463774901443310815225578487826164373478811432742554098749015125717907905777308201369932598042591531379432550071846581931564696371223528566776011188688518435258021404675908563928188787814762034194201394067382989579336496928383340429862167322456151666841691258437179877881001528845845682969921004810850191904806605584198823126330194723471637438420415766558199816323831714124156982057527656408747626016121791395386894682121484044754950116637825662004754937224757448456533076118853539525924043382316353426532357211196019106950807997705294989712618281108291142955108065417691564414419661756872318121730849183948592949099036169922094589190447930153896263065392343380920619517352835216777458083269767509237482182955325121814848826494748688362420818538998952442828801315697117328519731122353798879407889762824850635804108388647883596892462892611723781133335603828129128683131796936400879133533100568582321133932376140492879175511692807962482381975858632385688300043949022242643685443285132089205262902690908520953448871030923757052919134071027168063248517592018368457180234388347325477144983483646719431874546173418665839968213752968198541814053472137932584451718852325519042456387193566839025634063609336139137131743851421756641140187381407895179317204745691066467895195325287988445793129915926916372217124534574844222330247437997220572371548263401171218012610229687534162844846272364835244943786445946091031194154014703495797743958665585272005754937139838512691835762681583214332884454868144768317224581781538331525268243695502269652391788331916532560630635266540751813003437641252766881145772575436555042503898924999337803434944075329823729661451856494673739497100471224631485330754444962243898591667385668715152153557978215466109417848756161679187731054318624935531289316796342839732823720728044966875996158267843757734314374524066910125289547678457145458268736107140874123740860689888116312787474746332198583875388720959403242155414570551315173316632430135722363279809331736397722682634312024170320748183701957244118386093503687487074301575936837992294247009279613714125956882150941337462415560237889067233817124683731634172576082269487662868565934296937269437734044396271954242142864359906036842511428881985863856720516874847092960484222928769117029709136445281597135466475125749995614892814416786103110769652111413491243505212264189458431381913795698458033709771760709097342969457843397635580824684238763588041253910425642871830672636742659224895577465621609924973741862172158678565469