106419139312294929548795277252206552264205678778220654276713372577346301126300693304244133671655911647389621653864630463067542065305250477619365132334177232677516048107227151336316608260072464522672815938950844394525665470818883270285059189982118816722197400220582607461340784598707104022732579605142064506662336663208725140559570071745937482067734655358755267382578148239427782499334953972562916339901822509740489688422915179719132626907064247710375195658183531963972716113011362744882787754059712867717029415021411640824236171081661326638407687023277912973946831002249355875008755857503959404569489037259898331405483782012460435963578300554786438898546325466892983529292029299823473690706655649865183933718212813212936048543419043269269370620637361382232266466583367643167487743272152680422686928327705398183732305483667660311005623320374356032474870711664908485652736592839343307337154598190885788820654128942337698059546720022043799920456898244981696229865415660538547139637627794215913751941754213395485984852447156226911864581445453209674529689731866947244487719484842947173479446248814250723247984300117632392949200184112072459816013913609217077981707641045430244325936789481177796722614912313013585736355597679744191574359990067604348750438507654454793962925985061798282960669883029905827253535202275651484433530327565415031783323757088274771021157274248065130512342386184113994365747401852596597820836233533567835312976948013104331515453031747847466724694645747756503580439587671683406870964122030383813863325810197628977777563627672221545857439074876982948905788734434778451753238626597714113312535277842664486742503847308564654822872528770269746844177190552682456397307081513581318721603419789175841338679948063435461189546540437679995652302778596698376978553470283315126760349248627025503541709922816130297463556484349233484374566489780730819095789439731589645559268106452069609886214629854942305592285794912030755970955268486420832963808313496994696107684931949116891757932037396767792558768716591553522665306249745067470186904839089156516261621269578408015831662238458139461343846241518916429524187695378800573217433015912777756719902174354646497798888968251680603167312724407114148460176087016298104387399583106673171771594625202165342034615819820041779988392294046572368962295388574580284989474835832103547715271686643140588132836251692971278761559276937691151845086805043293481927516431582293046728222826964905354712611316423120006846733055669785257059263281458867064560172561526294696560732816326384347814407329922147453744395313438243327828369314961811661692616241217014566653963145816091174563418611452101934583301511555052422668454071702292115293910537214442791447740426242208692729668699956925404348218360215720389440562137555204890135430652321613917787858947152760368495710684936243356711384146602859269693017141317572253003615644524691126268693759371039687272349021937012657848941995111292065262949609997518333790453078336918588865429606191382548855018733321184682787145493314769055006582273087116700879060869786524930754173277096593043317056132053315834975458344369560855298794515651532895492988949949928945396769524761830375580616857206621123930756655406645435879733365502769998405190615795422039411251422749474553118256572755221699143430184933452413145598410701579082463691328534902681992214205354455786028852161847864132504868558320752618803118979207692635148094415906094639323504152048864941610070014267233259167197043575955497233180657124884906982719365569789410024112673833591889247618873483783657132409578223371061176403257756619127393304121320554491864902936195691130669923768017472773462141244356145088281428928873338308033163205905470888889516189839962846113711547811442408198997639659759919303208702033773749804866289335194703529243947667954564005476368599220452794327657383629686079244055715211323299403037561911423382594459299229056303591841163061604998591990839882540382171911290367368458146376734980199322648731775789874905305165512562378967107742329362182853972576003974158771828815212649460745696399649967282112164022273517671915444903605148569053263076789411316975345227718410855267141380217297687819965515893728505363471322991131248331054959666367365158270327519223233725107427517725078716816776773497106305476106915669426253365361992015400831523368610309196766071276631754497156771264522555983053468371910855506183218789509585995890113338704422706269922541617956703864325027471694583417961988978928793287643725262850706083814417370059618755628468431905836214236915214738717315619643722069105762807329953009588300893502407107781396137284237658498275951248059509217525061722993570750277451340872661360958581601173642010526886271768134294394948521146927199668654821236242214317520486972382630748733275412068670776672286465735923669958489421480109773340761024184910689658578690385424086128773984491478933827531760539220548293460152002958428448658073309787726189514831249122110298515095930097749172738818935646299716677934766677467289877739773566482102983180848982560634993531039821445785511857209195037253526198937795110044559644178875070768473781887862767163822816917143711160262064018439564745475653170004285466923753414485705635843296145494545267618709415724276493876641838856713417244587619322560082266724453754741987616064867932426394697105566029392009234275347614036610835732387857042871035945724815816117326312822106162245979814444801519872342736682162317972888949205256256432920833854653989623068508208177694799617356512594301570337431977575406223109807793449279721172625726509040778777489774776393274974938277143882049229374704354781222293684451561051309938171444331235704343074105271597036199156844441354714371241000532236034558790735244399339849753546075657122828837784224133491475276336277482868096416378799524454592896131011432331212243561002558039356828915325663224068152069398075235995975221