18.92088792842450087112581408580111708647954962253626977011453537495944797653767075592915220965839139018501133291190500732214773286397140530570747249602194997738527055534183366077116196344529418584576896773930946794455967013935667442410173498275145068709281164025647005945822390756197159843193005103143024138019072615856388971847096607697791028205506963554403868173631454636657539348278457942436429145210782022546399563368547869940910677296843571931571780845538971301331245186487232433921192984597691674742423621410084402783081313047425771970637642930014123253953283640796636843975861493855594748638509043250537092869324523943957006545731479232851222602261276897271363760662578545421050150641500847303045097515579703089072997619781997322992198233816703834189267434842150643634003598137413047064254385315417651424001761148634490219487240927616898830108295493514196647516651026800549563434697072968445741877058717818913071507907676175493342923530746194232611679698153088499563599069755188846031956341647705231334011071070148763685424773597794264097158717206490072612368011050879690483163099977069550161037548609508329880051991960377500648901504934352979035367222970555705949628704057033191701358072528577723139995060008656274550181090580357371527673612187695551807914545213601268118270786669753371475724926443406381948530106016994970705813260431930665316011606442766821723792717147600854913215507410482705419720347283122835661769537857597960517289621819049857773195399181744969103431632799441145609510412255464435445751766065014221559475446979182455108082830312016934509642613311774947816407173958496246881269389185259225326515526779334880075217782745040441237183265989399670029414408757282326719052777186576331775265123964438045071219550898990546258290710475589488612780097469186902252425561040385409792775919722690721751203707080557873096927082201788026329976931875208014490027257042398656141457857243013124323283357601753479867084093196955429109434446349675118581413870323533083454402480958962117428627873232681722285355495417989965011596493094716089955812035661466982537099091820236712148783292458995095777873605076059177046483963137844948567121829869454217983015990375233075610115179201554196072846111461572332462156471223441177076626654891418090256608696971397192923017663547314352966060651490474493703621173199957742027053650801168495312860656664139381858323037274629006578904488702651053159049638969985360555881880418174923099051646782345251580061879261128576434247345193169094902964499053004852897058088824771174670290354023507843373965187336909951891229481545357971802618197266118491165977935599161016697249380460900495277714335168468559227067239909644108913848154910492407181686730368439268167386833345953310198554042100969842389557904818319372387064078453036860791216936681738617254051397598112209727204837366474181266665300378353784348183406171582778086895898968510861756477220781599776836333489798332190854793812765722239082694802566725555715493984063965740999419626966823715605457183850620287194334791855688990103823444692858888100888040786596484713428485660383455899835564701391119841049920089612345386602839887985239270081145660872029742320187001581826006291571294097157962066277919862977430640543722813491655597936332887056082802835223754604237781090019521350170656320849662887928997448619623782739787190463570325825160884269134363201115642709455523858492613444517848106002737059707634720444950398320523029193879540126451442192874570972307275409914901155111108030760301442896856064669494164408931111380671116558872120514072362372602812950698573570641262181135782918970371842112077035037617399391196578253809808216054508007525596183652203512559673401467490683130284373327612397436109200992876374249193885214491429529549080505131838358001919437231295419454502796924380245697713376087872271044024091125798171480407422477082184849032154897593011900374960242004949727099682171291224858829545623873899314260882182829218893971116188650549839997668910261160757304885499099460386167639369732656728291210572178980144949818173857150771514727892513332159029724272892313609300853589086412497279700100805461590079044225127833018797390900418562704419326753200373286516819845030309333783495449999401967985224876713100581999353506101137579918267040656940779852818016741458846458744398772605904517689574145059122608419737221715705611779099807382365898530531570511243357348153223850895058334818145491525042380920146727740636649061227694698069853561532889777642963769428986079480501102474937672172556289683195147644691873746711536242393703530500570512400596068550915262519426969462101045716236611608278068793793211902564046726652581981541463122458356664025384204249902700862134952157913493729715543608075782367870913102827555744381274792883143967659065177832663746177470093552237497090258500797950676858221944446880345360717332675001347851512280338322816101069113805083167635572948023911169963428834684645755141334186433655054501922300989860111462930235788612142563817560372530337024360435539880969782908537647345513061403346842052526226857214102951142045584455618852100518741748853847218166134017158417513172737456388421864218995427448964711145414670538624084375229844751552368981337086820944996433659771223273918425253330367813622750953046815087648857130144649924871950158770254752625340272191284047833034988982759641712221567029627146691443445523160766479256358654235124082988506761460587828986917560789530228481265836227140857723685059849393656245443069803038842493439702868217470549030061392388220672140921970395503353824020500277638155176478494270985703035657446544781445650607371497353834174261533749866243793160591708585763672019123558640512595172750936289818050714528967077009758974075999075032034464917786030107777200328785543280717235648921805949961101722278890591755248784119576960084263402460460081450564167913424862924528140825306725375418703034129617124947427879224301297141088242393200441397123059920050259195208865098877409215372548213303910638316227668080285273704311572248669870797074212600648925799235806793931412674807611339876052970068437494550091104815979911056406295184864343819329834643747984541897986342597400563423054814762691984957165063308064416894141502825335590439327733897792694478408013837852096808545733748536928127864424017437616090769156775708572222851794246903580846423245228863625543823215062707563374776318113878404171740492913734500876212646015800638880014690061213346801952148501678355102775703755440359508335570040311180560330335622081474245510072880297390315620321085926980382759121276051035854554492152880892290556193220475786496390607665957173475813774614663260941589040924514747457755135325412511914095230182982793443444349372223601368672205052999572290630686780237258271649754872064951930647293013010387483810778186635128362244002922788529377333650171835795721663888426189140400192710729038082489487053347179826979115924585929496650060797464828878410328004222930687625813266462252314859282255101129177455770168707428617142234936172626014577013191125867865836548046762048817712126699910863910632445319912047105194189040240734474344240367981752422903781194843348808827593410489966789947800854959693752134527200814018756824884372029083621885306348719971956475950047685148568332878454360008286936998942059557974761884832734205473669784582297826454644212241178187132958895870526048303326204243828426386472248902918449217922179646726702874917469439541408306831372844678916570802574493384683416957680454487594387326636424304732114173002251609860135080532844418599954193061703859054398247543791390066230743143969547404515187890407491120561669348765317161260923510202156284463497252828990340079798991043073160850513545042786550132706065226230537457851607389197113347997942182357321031095204160863568894126404863993887495064414788235358772175584412979735061505070382017369797718429101786982568125273126785778309303202922030289219657261256974197536619366447594541875912385993366209093185244549549930147521144709117452655267226273003699547247885318514185487693058560016882966535826341099586720294614357198474809205118039566970068896381318503386395677268230812340807712471285087893172188474253937485248021411173405915262780004384770914867339820923906565228955968402186328939525665111422117941717998888560835813411767470789672203239856193736238868073776048644953288494717826537005115284896796107401147245289291513833276069116668783704874085648491898230377492106260818277853801450521554433194445748659888832051288724003009853129888127307214313046293293030856308965433075678831338327800983136783451034182227570296930963288039660587675249724920397532740541681499641384364397140193541632831091629183156998005644925130756227350326107854036992913569451921689765380012389936300301270313124933407152038750056594070921520627368758000822273024276062842420527991801557266646435373235402106463532246288818158586201799185737058836801192797338286440240512376503248606684845631690746876626305681036661216317391904120482528527964575454101218577688987608201793658175808029037802522981550803593079318514340623226938297471610109245936124946688294276124687806946624082649893386887280853670326653209366202043771363058530718463356083979584743825555332990347312571821032447329693749178325207021922848254324484601691914837805644848599987422326764412061522375739383431185390184785338267469307636865929482104899180876403867302795167735991468244892634184664926386414714493491393126266983628586782427384795829026167642541031974910193179966786004887643095617362205552863589373229036578861789660032414212579196044634583397281163101702696118706881239248541586196708324354198205439342720444448592498581888244509840387232766528809608191693704744065473566575164597161725613758544709389541599959458474469291537890958949788495828693592452795839936813714442434632584157396979730674710597792640708668969473949301891154135853867970582541009896585410309653321511371025461842680819536524341206499055175468344765168174817232608447020880342801507212796070471679667396417953853888614213661594480249508025915638707503770921054991417132994739221835196725124419550608777835568073421538862980393006584134608902432517556006305607922506087826712440412981282371625968620324849754877585906071395207501070782330879489241193811732609641880881056782291587066708315164040017135994401327427518725939427986777023001896360733544978300533156884454965318195700115728202768098688609678396912445375236531842633694573766081988962717379406716308525428765486184211473640279906377291969280152694766725789366634174816391689736723033406369506259612138928347746688472836877022327435711287623524662196840382389526034567064067025490726137996453477942207387946288431028536655118617270786927614677190703360213537006786583070696671500703295377831719350048674830834862889601684617906150726366288551808734106588593065556020693289571672371289249079024501602793019709664871836021507967906374055135693878313056278263305234013085379643809707993444837605086924552763438201474719661326724440146937380119680827101524101658493467033693489262898095499418323419482298695181326523570071192510933786886186738158398317585698627046653230336643401163767248278456810791474946822928536564413751662659507499610101988436069772962358553862429982953129831345380739072318514722444049099894090282240390572839588769788443998501639375955624754752968531040019495260469015367936999983787822222217117938767611268716030543513065040586172292348538194146164369639496230013286276279743214872962368282761168626503616367497638967053841952755498427136157828910641013817633287164981609981698030021194376594785030070531472839417579704307874926004625614444767493097457108172360037473300919015585728122957471430813625355384556739996195010257029484111015768249148081373858684806555806748556773715263892173144510533254116974816519981093415115913427814172550972294004331760026693261101020061401538533200234597725338260197520555762344086269689540411354111315684020657469215683634802244013683499372695933878748807127684904306799553534331587270205125577436147143914454211875365061279613436900968455125371544786094401520231183934278339332786449093410350289621214874674965811805351388683621261058801815835107826856787621318360096290217148909796833320673428552404244207814724123857416185377779895904220653883731561611071164286127013842217593645532198533446692543621052082284555448682249781292110835827508281380389349450694272098646464668457386326725915404199407096276168658356548527462536453412874729425610860592968806474151880093727298400120226196863019637813982865970695362183167040903920718517137458474269421965069151970090519394691841533464573669143342672800162290638383826645455416736558454693691664522306947675140959347648286010725757547454054650801852211841575473353269589384346748693974756488708814455621007028813601541336436003687729996696342120057434262859534109980530800229154355685962895891509163648538682776479718385932864095855625331637324498110608246762951278471546573619992571818675317565727284912751014917132985132877365697252727591072595045925721404439964100349538565258125378774780954325812215140819301746037655344790453091587982218276923991946309753877801518050649361975772219088988849258958719322458512472537124253031731812112193842042595007049987225569965513945621130634061356961281629851459890644808923434759736265205113610739568642628448048206722447307748743317344080021041435602858042431391815700452046270585316262148832476308246617101086663474034132216694156855787532126543860266524448978815348697806806568583402987679926507817657142111136169082830823926661664622278097611268054847859030161368319020841997029847607627175694699771387621915432684464336545866657827561645277322758954455665733191419357660093044053070667321353689053643140131730320240239092606673477485377961338887509593785585520124404350672404356367267048750977870386439895859282869552267610545821776076287392003680809975530611789803282160152187270388243735858513205879716482658020159532834918054665087324305866049491163818693163813508212381768551418997550321658136468325982300578568005953359355375557842501469175622140064779269686827662977376324465853555728307406322976851420497884571985291561305505936925236288401145042482828701810017670644109963661559615984910044257786304265960282503033303211517022365148000661159625987436171007018959870874871256250636485173202318476685009928694280742309475860664998767136961424911448158827087348083413507005242106584423606889811804399706410188092939527461727122306019924520749167680992884232654802666837806982543089087512126534742247557948329276234451461836262409697086382102642795882237546376100368001983665538702459517606265424132158457246585638514684540566412445087342251977971684697188991221800363193099422583788519484412416755089211610618343720462525006612883353346354561744090937535189113810123117271891911979161059465823775601030942519368353734403191815307616622071135297177262463569322273292957172986024634282299569493824199424940136781490235890171574783907675678327158435895175269573423786711766753339752379088421699547113462131534704482966184526675661865369326606640245869385659702249076000188672179737482184251098614782335928949052892657471276872870741894248708674069077714486865128533685100507515454128703022794208996657613503467465151013494132054111640241174841200307802398606983395332324013449552543464054992851139017157855706302249301902702361311209081812488132579148916182498215241928915405154221489673509474470104511026364167397103868723041328786518008958026389994878085690018598014359747584800509529206074421629814345237280732082066442517170060537270763806708788550885916161911868430304197517183130176828947781044446660601774875189337770137993583499545752395983387575863141125671945308231397084296387317389738664865391297423668775189416671023087981380837327688646371531274743310614135463523401758296792623294119842312427006196300686614687621433757932607294474428514334560707426046018239346787383629861344199396826741615802125422595049642876072433924039996520061480487390950775382255624150823805369264977252657589099761668191436396833036564044932110502809413769793029248353725731205346883514831753266833303789102554675260721225070602705766773102175705629488403907143904870566791132555237516652625475503023536331620788582435421294802465078375665694083809535167656325739887373606758859342497866025190136919431681744489976577313838949782119529709249301083338028805043013088274527623827565317277432880825489921619833392040318222908647632462254949803833753966712583965285238690098064544110893207587640768666796055715509203724117608188886514651549084291478241179421956290531707150911150378826962062981496206369307205735955503167593293061211642891707199606290685287785200044904695485909190889579380095765272951233351217904093446764155064379138846969266872344740294077733106354054833058244219245440949847113290592222631110426820667592208535013878625751455621719370834086882646551038509846478143048518767475021039276050807781266634023181367919360336706456689694344987149133899232243381623364140132958038453796756674407893148798551292106163788620452928623563490815000102769438644798554787868423263040730675895492020430940808141517230844559886615308961633122895339013911706694296824489826984016628518197392261139856026425919360678994865163514438959002453130402171987874940048173579786149687585116030460348059054738153615481849296575571817601755886419080362654492672967135084744906637766018907691819458767641030405317833354254500042647337537296715312956403318782397922875448153498336539426431846398073273141474761663457129931412780301484446524648295213156953688837442919303410213843572156862267941060086674768076583522927029533259594613740273729562595429323307110634885599820209740492045552350084069827669062995164928913394052423985476968965841583122227999228113389996522771154857976159457318619889695308392930052460273280924689742139975137753551463581807825182976505158726008769455981157459123971051920038656169219700749772499650046682513606317319227043644617877127856308956863830189818891771998097288098524687191164129749440482435036986072383292837115431466607193368776303360927877385331382946937623379649507721004201723849074741655171844123881908012829954900428832328112666348203531800769117420648730929875858403861178907129736737245609767649681887698370849446124309341642816922270716350504547977524044143251032383899279253092575716359176112277041399235175682508933237098292278277324921244056226190938514450781030930559136301012272567668105302005654795483387562288976054008432481596021884937131959928433874522399622470501984974920086089837737511443855042925216789628681121726877492261803701615943259158595989554335436898313655084166349352296784233422675410833705061342431804878253970485978132369322548643891342672942799444697692234737285870931145515133195765373256477281532442174920440643878022309379614641477098438613308515110047052437264039775679015604534241512604831857042051638696852084059409083641662779197093312564834909490532402832885552541479221441449363717310178831844170289072043217020573130156494779431917198295756790366733381369874137560830657789673394310474599790497184098941715192673719568116605692688938687460637882058759207020090811727806329921529278556309969544309645346645853799475295015503173190922814637707767142386754474432488610813300629384714214668331114675544883530426685208529922341936613379874465197816858718272547156970173356294571740424272781669245406823307285364530440474086580720287965292774869430174760806909161387952400706305485646912652430434577157588090270849605484620599794539325488703588096430392821546733465928856991818372942096479819415097329868765982816861771436905670152984781927979774264708549240951741051808863495326198880323925253826365202921282775882436643219660256195265680232353810384187341461556530350450830373881144993795797168221181485922554495621525524456931603612879095056271374370542682086600717904430443762873290489035281632816513431142771013651420103724568965091805656338276686005319489198899006145409049504882866791702271228750415528263666314952197971226404841481622465800837804904667436460101678443678358674468285532076115606292611264017454644732992100187164376666542196102102241459532115277370383097083525701031666470888146760041726455093165090817336390171773721494549334202382249044815346075595663748957190520631731328123562689665360633706750211725155008239653933872665132455607146937737619601334727533222245782401029711536228461020848434085580351144730283493180091653431659133100649955203628692480571741443488630904057194527885373092435033712127609136851403256669117696337940414339492988305861410754435051833187426679405151012133075261588680711558086040728084809490230259490466147444286858976571399052739500394134748377443793130380951240474953842083503908102864781511326918715016949627325202111770664272274395410999017370602506084567356173034835783791579863345434658817540010813428843953999008301737147466317933466910458875569844514852683485196781305629021698233052221241539475708110628181798040600672033511894567669076162897973562982257178785761692952721064465673221328957581907483329814254670339721592838691928033124158196917510817914359407889131681566735743378215040176616186791698025579526519132456517021323740882078113113390003778791640259075151755675428685393637449276969595447413927893170032863130438873677094427536009688312123690570576239385407980944917856986880631928091718108738332321271933560000874726882112139170561230150855544249296069247677850428045842038896231583855848686636716921135848324401491426774338599521763364530106056571359108910535456212953993876641282594064630969735292310725505127538075782817962720315915695250507068886410110469645830941687148149790719227766858666601239505521150221470435111124885099541537947275163209728552633941542512404283919173918855851240014404252300415483274973966804642233887430767094945114858031004638981557228516587744656365502966833619397798629839618940816955634007697756143982378613909781792959419845258403314836693705894526283960410472496966091769680796098298907441021337281859831264907524782918098516367529122730681079726452012753449790721715136528851673659185580679075830708985932321955454540014130505973368298034714070371498770455828522360005406351835569639785759233502590968592231203015978127007983114651341591279055835807510127041471202171972370580566590820353276864077723552978320950749233025983100754953808038285824551077268418363615457764713912112766532055478490862724596250927661609376294342872356446688106113984815266107792663118360714393513137447524877852136779128459860561614129418109798306587082013478584237980800168531632447557671096220121369407934336824160349583073522792072963304123025837642718807681498723573693622497624503411192721180136787143322801250228136515959412923664198576621784904368054006176967634663177450799700552579076942979875556615697984260375286849941405364125985009795025511254515128416976873027031704191286517159156161029992418480846217136719947951473868677504969837199284570128035198875059577576198895112838617066222259097744003806333601273476973300825152692983881985361137671192339864894941368219353658860888961533116113431914835433415637821888939038885567884629667003093833545907757337561717554661246433793918785936278175205100032724243824459617215806524591540774145694791469999242663102513840470183423592926858565203576240609315857515414554239444166204792296068918730722505801051576407824026838784260198967362283768084263678918297379843233982138985541041451542570266571425974175166515667771048910191713941564379831418568286755248631127300623323968154745739556062539632679771424780205263811363953972702854956137713122257318644578023575000068902866668274229061985032478105910051811051753577180431307721652932492632539723194567127043400156045326616134626102980340627064833855483914278734855703244004555547944289046055951777225119911585307942618907817843565097992828866361568923357641140007853409449130815931108891949469457947065259391699796340451248688117413811677084693346274363214333692784267293672291910452806442137164281495938671194228890409905277217104329510017959235572059969894057019372993647186222243627243322131392806320747824645642168394393714630085871500349534925954014624529783365140189056745769991254374671626928072367526814938026611201090741509418215415299954249497660553579088624720307689988945573332690993765214220734204622027443513225528185820094987770861041215225677905685195131447780607014765974639694802355274328443852670718820775763808167143830245369233262695458607514792730143332733263060238467108311571279273950112360452498021426932066795463085558257571266066277922453986282385207944005187682959856014067706918829550730027528127271699747078823572860946654871830203983713145520377366179407927302525859808706067841487421010276216389400440489197392574633572883668973264860191393204641960985179919581835425010660824043940371030272145438189344440041259587703351310115487554091808069844716422916246900516963170769467642298422070812120987683455360903749867751386047303481913474030302094164732620765988453957649935637298603483851531530410237688501338073190101639983114340673509181264541614545264603886438183268403943447476186215547024213027177773463208166822546892315581437859252477429011754026915286368460481185448179277812841441519698005687549736639083886862890223978909355719112637787542148903098253432836617094468719018446988409415793357971902205363073052059011015585752011939461796307378564300425047112019686986470730846177463730615814008059796307964615214170362594391274628301419931611255034467200739613636700933118573039777207119373774887160450861220265636221371751926304869722717639869855466637414100652318165323713076425501745447469967655217871736750835163747054612656604991850987327583794079594813095653344069817618118571710571998294776869365469387295194754806748840427805660792136684566841909312746645354819988494185288337306362621328518191512924587739008603745379516174549080202832886212132678771992197814275008755773573960788624022620391931842766601656781299049507706822485403190249317008824198154675449474746387214663560313837933170809397315100234311911282422576049615807828497551709765738414050031352744689750034348837983838919946405510824206897500109818595984926487124490387960226526302356751174010232340430336733834486105532536282771796823386836427536617121057852031873863524288379113542584021412428400938903325201382238213727397651656414316290543767126053004281901802958200756499397998485129960669952848543617293243642012490623190629689967754792544541264944911884238228568618503590279205879190330993040799075838869004054719475876916360311074713421098411025382634763139907631656614886496086527890770322141607172043032087997338046365873572121410723323460383792861611991734948449774123550860533999201359003837729585166466776635393488669312470854509878203053145208547328077196680905398613508839739298881842008397872250519766856946062534955977161490544444616902514031019291007088855090955946027809942181426835301140916842801196360620645628169685778768710205662699597019053703278329935565484394313145909031207472681032242767229883955536020090241080828777705470614675501180426834735677114838853974472299016203644226482851468937192752435068847868535968884499921342430744978115564739037889412685265778293222981636680659262891516512192918089749574267832848876825972210827747625042853742141289815475734866732863947867052111188718838400053253180531684762042636812816855081593119454982430001444847987447190212902367090707144309857054771279605686679735342884122735933069921874808864285217017851301917401545945764684879593347741229881563809212755315913861159675664228500974337769688826805919300789935723230189555821143243367566218365874592039197097037228645170791901722671965208823332820056484925599942171781659913097498737111400298527540812728100360400965695798992941433895116936989779383156151704069294150144644601090695124387518055049377804656248565590178220670122515863998355536783862977914785232363916667887982458867522122627310365111689378397724091892242896774471253308384491120262513963460055270037051078848305458136139731269609147742435242436926067558380570461189219104635348480648172863638487008502613019227360470634216552892861429520736554531785719403719930708889748370265875283553977150147597860871341671758006239009763545521296401438551345970342790160037451950755728672078700947481705405425222942736262206200238883554695223627028015939170090665710864480991519967618752767680136268921691806730640118435136355383166088539665889697664096200776236055157669638169718945644326622961934113142329872760375960111233766773285757753592373072931529882698450309070778379555459931143076796145865423522861740337740811241970810354650705226750661613716514762080851144536716648060554931011387147845106445347540679449199945625834542548962788924536194262494724120737390767764072355637867799379269785089840823412229924803845973826944600400122899842701564848028540143019770401456446636945132295840931422326924621455648799001798719524610020762498645029691468397761537818869303603290185013545635810117733153072166330640871829551119949295313569701246929441063578485608908209487316684426008800464953866205167846558981783807343997662998327223277354112397038062248040252851571319220745210821218082548650242827777886023814564347463567549577012446769477185944336013558970868104479647564048882268973359777914870768542352264836000710187509621251085739341640869178781286001499760417400364758229790037567656693752570533533278066169064033295832989041917273639707035040373850645173279836367851193133666588239147487221918299826540279311678515496116308032982698429187600695119476164612990316774115230100325753591483009503668812091825653114187861020136990714932100648267328571237962984157554873874000789323494095047106214225683021111277733038334245691296968559739323327042649201519308416718827496045741331848851154109132668337387926140081597423029583853737248214193163270399997219307840962539144945286061674042515420556253227282041706555661898602013836276625839506757332949610468151036583460759661332371975940667781257730510459974773544608791838777897049189729454863191237552102753973312807231494301422540207709707428853515350548892958718081258833471894725424614954400143736707701523266528619557761654578496885360727694628435046331632503011978190023427091638417159547509683650338563162553070925440022541292922285419879095754399713935152443446069472229174114560031056452677453851061221628104401452745199517960241851222939949580531992389115437031247477688106574369801101720198329516675820066324033386467190755485225964670587734216953444783767710827036837924322302646754390606084164654187483006344461371108303279777469560992326493415977824177543990154747345832401885627360718602241515966172067617013049392476861371924042904417383662789838882603446610079645011511201333216818938434108758231795530878454587896444696794739700485666282329907460582074258791568252068748149756250510400624296730203580933780852084865984512948294933500582864873546506908386422932355862955809781719710698656615539280823767711015241337450789343184371999841050858981616961963597409885586248206468049128741313000654504024482428758984142980181378307619635893815084378230001857388480595457595351813134241355561166071838689014443566798369614678034498151876010225092838392174531986042638288930430835860166597695405466992578945370823661090562601679625788971605948059417989583627293768092441677000869450898168179758802639063917656369763585680037021088526808558738103888993725281517557960491322803980053933030500153734062956520911457658505015110589554952835646712973073927698230543070460909247227828475544630403041588576892657572115808829145847570802970923915316800950294771486331848592475182884632193776035696017361340721011278414927078737143426679470633577894966467447816941881824492103138887924998516943776498148378476644226550738778955132272809960677486077836828202013078665275426663742780308149346237638572205481520427203968970484286984154241504876348196535718112915505507144911516380535162728113959915751545161326233263055833479223201250715547403606109321235005689597735749828535259202777775561324956630395514046772277589995814514643743764446935701578548779485951040991151386232922635304704072903177772784147246533545673903242094612832287461960371399103157525523088544523601561666357278375081257043842531996461595569881682679715736683790650118232055274246342762904726064609553919459385606802086666903843946559816474688896226323944269365582594786057835410707283000330234023601567427075274694972701998974684754022927231136996932207124346465449673730380829846202879621331500036435677617660690824268316326382280809806827363954583198753897181793845482386549479595999542506280304494948557239346814090657887085241778350185532460559368775972660713131496836051406776359331975352294941267608569903794371318924050901527109076215912901432051512507290651334916050342508832434777264921045945555933145803175069619536093587368701025709142403998225906780954560930346883255619593597610266758398972360243337344234203641636614871063719464801097955963397115512681191873444452295664872869893099742252958871803202597310077082388799798231451076296600451661624626600455379165052806511956201027629787557610497726479295820130547523813171656924624079990464154289191199614104121106366976730576467691286075843527650530392253096726462976116841916730738852122379123492099183812193871099477475259003907613223628793609745827940509863322721133161439400899726825108704661571641337205144166238215034113031980443257897683891155660096845894791857813876496836748046630020767322786725082354002807353222542489947149400500118706107932795866106986168077572990702143590276932942049983271202938926017233081174765449710396999528657661998882137239337235613035245882023857641356372517479391288093603160837814127458714798811169755312250417679795853718478496282371898803092319315066536028846657182196790412780055537861547246608169246986583623422364486920741211357022830876815584529203827136261847227981092181993334490032665954953851281006631707874520221904442536399794105419460170242632615884025094270511864618665927846426956246665785043947513623778800769696890106844947333641081228196379989611024504804427957410040574438872050615134193590312841483718385838680914394240913239060117789996886123365993989812527163217735597933276907525511110441006579870885773725972877978242160896210440769836010150314528600540772862886015339150817989265489946960001714758333687022687650958965022349615693950196019010128847188529126287989566040278730869696519453091832841091768199872211470420240907414581264308496381322242195687632158775968418800838247060566555480799654048611685544965613184689187365349953942360278815188797760136969922677412328926961616192156684854206715183457773244444769459077154910559936487058048947741546976888338973368796949945176959937531529874726881315195211483803724842081968169225965708078350328577370177199109272142355437042625033132568323901545360993144068567349701684724334836003999936211587383647737564248177005459398919784148614780996200390349426337584450395429007734267169293932439703678384745213731629249802143502090813855342544225063395893952753266818742505966805231295336924843413503808738255368742329329305007754142622440721965269812619341291134442444333227649175904608361462824278777469040424873339461949461133957860609226093446642861741407689504516964683997509649397815489651803526109010748149435217669815958606219635768912803555481492314780062148898795886520742344022554720105511751243442435193562903223933186124285114264547557666132423578459538266575352553004456791920364262950390709077069433345634354144181001753000771547547281385682693486940475556870424842075912180907232361264091065713854861349922057571644770861290662431265298824306280602564506926737276310830149233890796841018278183433725244357879102378680288305260292705968204361346773433345056786243049441344881915422143995015054531978676829328151722744854642365781310825187373685965435544186625334023730596112113615473728583018626090825054989147181599890707187373769571808475788101894204912212104710247511385164938008770623926016283742987195738027179110854987656845250097813573807275441053441604703708895177256155188137694073768972873782482022852928416627491767702689932731386950248128083453884102151631049128646692891021709204925316509353836430237617909021279845802443857671312652161482953570273880661206017628080274175665934019636992536068870850571755764848025276558433062006821724947900354259416061193463750636633823773510333669034733416840437912305783484966319309211566252155391923461746158835878913295210092970321264972750229910175074963705803135745831651168459401277259097253808651268982831415653005295401966614166525057278605850071814544307524659710801630296711193908262786119690719043279496519619892998432127199145844870499948971536549133041294282564676708597871880727163817710444689660225235338308535254355489303581877187593835625598499107213878355446292311968280768933092394280504063032683672359385265844085579168585708774419559465563848359295019234048059852408992206173004906447639423138801823446303566735447857775173703109058943357996904941552034023705266189324763656080001757652473096072188321020441931410630973003754532882493128183163964301476597082507131366196596189478111693350535099159860470342432586139599646730007305293650491489157127842146173400739908263333074098859631549742747837856937999018977244234432028404504232472863337532300704884990714434849339720593257913294105001284372667080024868245324780224318752913652425299340422085336020209808150880329026899845439099187966645973646222303241935457637121564756972507630948446358461262012522772598224005380371671282563085142699570879874331315415854837045087820829833729186920070984358239423133948212683117001030747218156167095035802991943981061307559173626980552409723848454462850307234748129501500050845686455995782820412063652637500401590884320694283633418874998102301488144444954869769959987421964721808876390564058272455714315233240391854999414717539310068515645438505767402774631523694052885239494283710894429883286602424733140754649968917008959406552905398861253207771446259084709037818463503064718267141283554717177638334622886728733065116093913336639552336858101132358957699473185307359517122390213697653807659329373043477079942923703850322098591936354339660747802137435223467693247151042009984254291304591538204364856211158545192699151625560091092347367226612851020315597920009998934129250602935281790729142543669480864717524380909770031531980176055256692706656816772615447038673868846563277579588579706870294532410062020188252764625445988329574599345574397362964514964925542571535250333268896091538354336597544084001714030068659839574634198862514431902714905928489067750833366094619341486902672066147213907878092200125204863689669509242540595340642826765150739189997759234687519844019390299795530548854250182240073691753121018480355156124033926235302413218866523977176794763280324686274397916846675150771080782004225561987606475995604750318316890479458545932913431324099145226017656915580244329001079383640430024165895023750035359562189791164576406644875740791123291149371180828755833937936421009938734593866723990930714103708343344025296805579203514574812740986544322641659835878300695055994406351086488887017056876059245643200263331106356813134288413578663822924937302323562809893961029759913493937508689273900287931286418817523215949264062995529769825083764527870202828224892382778846914039930882125336908802060004576313773768189522297253941192392136521965979871683779331081733410742410802863650381515257055418069079562761426362885256340685363824380074731326400461665567421599110681569034660927378735142100361082002668214983390533858256293138790178105290909468112032823949682223357744064512509440219816161611573958494890537425542111459566934112410260885396676987990510177904386294597990630303597101104001120157342490433119585971966816677736692976417629835735981562028901464337477155364911190849548844650845394095009210679118565176646627790163521218660852077211278968951437090472898961317324816243725114474793681142604637210526874076073551829658914554922064394406279762902266822674626265353784001395596883442114824531858782284380242812965554178766448870809146589566632201399755441475690249127949955242366255364458624094074294099255682151809764862234287794012099560954618045055434894387052790800369468910474170658761923569070912487561871622084420837491450599480180904519276966248259142034155048626372420723718012274787620267160493684528848744152544946817529036469326718311749902196120874049492605335667478564654439147971484034960092525789178714782879140355816893491693875371458584702387135716888347209676021201027830432665773385997311592625648963379554467188838286312904213140039053302554764057034538264264377977134083913230790228262989701583160173303408247991505610941110279258956521712589765852119371928721684744359729469296669489967980645758439039871792213550198151846240279325024733739048646443000901262056154574264159677190322056789459760572734279462276596408076952409933455022643185293748623528655995070413230711740983366426517892538158282277417708337659726302236047223421779137453369764143348615338073608305738248360038097193461222943491219043023279505731584846652225296274760524952171798963540155127973039247346902738997610890792753904777651958492148810279030567031390596144873347532879264724560171426259324650358033394976897454623075441350724934629695047559019416770139141352973023238496699678273086548425800355496346578321672684185554284442016736784535163175304170194313611216760488793189006113330897137780318651875551886006186890956426083677640116757814548362690309277895729544129657615634458736764874451914807035584628044328999361546864235063333574298537925738679879451931401845423464597647750580309220563844212009928536556129429066218777890251201147438806011925184992301161511807689919774572391915725860308090754370328650230693674042980579436773398628340314879460354314232837430266621087932719300312024810929484138428641316400017415586151019889535829578247936811435312127436661826538655003832034513989656679745952306863402515046630913104263374568519322487305673829912525731557135110981011380748430364732919687298489669698293619902667774041099925022274347598985421899489842393619280766396834313225025181672907944117580609213621139604480657898062717047509237777909902807295295188598541287705648636969761105561680008939469953128088344129130693316818744889111905065490888873482854911471790925475830554512633073339384262571620175428212217607511744739891309274748830945611317375796653790459808897191660117727873141724366438610571229026834598651866453960268748454966148839674946588251375603676940314038520051401357567529582642556433463864844564469155102231970096110348193713306406413695461502749506485553054060333651775351594540446478965480024291329000430043446194660370885723111254117341888496497650141642222918387234996798964277168440313639411980161876484788247977957989665247339950724748477330854934306189639233821592222396936471324150626334333184172198820827403132906195710071830529284862693271518901070750102046390951112669708102625534025703726829016925322774595360080593224881802083143519242112439531765673616174431063878628936036415571190654618359995503497687591170456561292177152084705302803512860749450708780842772118427823790758532282367984023346828258137893570035601066086905955591767798122837423443071143125735075867578911389257536515513448385781939667268533052775926307719512646076179620476413688672829481643389503977193462243718239464918829441480774161640371396306891107203591072326037912202354062850478558662676984696516203714712989534580698028751952305836821392758090304369282356786227902353781932467692546386889506739986965743512307592826951678657982797721222643134267514061570228527393641189134399585782687577736727354438696178882790420356245217010100100602837770524350807051487298767197508263019183724357892480675449458652527408625776383490729044322449782541013571382929612751738473042411749455900733903384989801657271751468201987495214244441369588947319214408974004157855201356356561734128065894786187261975987585036167962080373352106457347488964118113528002996034022951197310186597482903967280126904458612543782214220451871915001334853520808818392790776991131380331420643274458358655967071181334122065036789527129418490957219909081964469936327137130467749175019956525491618501841753907677217433855966935865485080223763774119765216685036825493184672913319102327200044625403700345235530645672418144197713145500414659257285554083131615896996267144611065588871137688015798765836528535717063121406568463585142665683280739569124833033788368088196978193640383588876013009774849469140195813945230415849633289408610281745438634246144205424082743252978728400991863797180395613472059002610177394454470246508818728110150296794688582671052707203176557651644964331017185677892948478070481274890637264855293749603652188334452284334307244123427389209691804664224578134637230105430792683656215983091036164703559826259379442206139661797143737054785634907115904731228110186525338675216047747057304349378030238317195021277422465141347162433093432058848666599301413979047619374420034714868499283699118441557988866651703702082659192846619197939857737031901143465968272483130496185631146678281605806718926063052238488982494941578941835772337622119386946020435385999977355984902355239345882100355497764326539913049807414458399329273850256876424799764410475212815157479137259571261783840332010392228937877142580281511174160587950409984961182996935026337622561621542556784435009981327806970214680659375977683731632973180801916344442839783612297331178587467195408926745205776427637318654623671944033377535926949114200135508681947730601108710878434447471617479165705571083704317293324830243309804453366417347473747537936531825938783349579942350021202296503359966468281261466662673319747646797472489738492538750286779628725356693357780099967007581521095631841829248555747971850474350955934093267358539082041035016400668495074079439968587379632826189691867212167324081751783870375368419846027137648853192477665941662645825263580297993558457934530669637621935732091054506872565605850993087939394554781583575635215684053912287840451854319967792211648687419819255817581935071007607293655835702935321844478105810233355932014070785184826414841776727282691244908635290193901855626864540624819923760899921576240303641173512888098949485572567136013710764015387932503058004030487617507255232907555754815658100820068276439438647326789962125814137994600495219796895009531848377734917956034424770174247672359857821298790461795077720978532852981100406753554523698850099931901105477858574539018192284863839037004935767513889284355820510773604591640551127033601795644673949710458495065076099400971316608021762163332994798886796151165935196011709161059290938561946891599798154265626657402250922526373842967278195572714756641908220986040551430494588158168637628516319321082392658650177083120979991961322583804483870632023488305538200374977984169527976729882967212307792471693593008259384234731936969394018081400742167671709644211907919722875360517465443470587615987102799040986900094250249680480869814867736825891660404558538443048300607245473206367139173729417073422611241362409930931754301805469322484721975359970603007152944749531919668919528700868491428768368545168958737634983223618332955401453017110199513956831795374855562226356567358319777250421763843881587340184708723466187994390893998136099627427868236820931007750422836486385859676501214467071321786744477815415820359197391047125876638015824009700164434531558479029025910355693534271160767919070538238006419783583187954427966540403268636863795921973097935764559948333298859013552279444374989697570993325527510116866501259530967862704866277858689647658907745440943329239998207039040419211825509746243212735381170966918704085469626866419181058210015660151556716595299809437392696906551222656408499810334890933636195251274732113877913452305999317947080024214478816344894077070684767966685658638090849596046362779095221858940028465178543146553928945773049559269129961996925319424097629254043427089187164964700202037812187619674755951649012939592410312612024687939130882232839564722927995672850445933807634709533723617344023597711863341351154092254882506044762962509033599178951672521246758185790630728792435538267502139351405641238541854640489653128579077655525766274344763296622406284941995786390193781369079592982023740020761252419240470304082985305935499217632536703186854953008746423388407668242625437286585130260896047922825178947094916861857137098560172028540419375950308346414482526639377384156000220768027935872772790772541663553822977070915155450702759356859547498104255631798187602919757678146921464966361161478066848211682046437199586825181298271437355466237580950304573152834833819481248750823819455750860527575669919447815519629663804443620094584142723941821362871609797549573884797840477785498540996212252447263720519316133577929117565938115899570540253354928321083531147268886122889760738806888739397154530565733161442427234597593342859492399151280801654326870883641713427529480185967891782340882242174801972429558820669361702901528046835123583039263069783792123041225071242306642590043726578958945826792722149770898087266021653976749895877568357398713470474511628883356310469111872422786646111358278579378295874471907748000862480383528530710623105401378766913363076075841919019835027834136427817329677002515176522208242720213275767071726964294469164791478293497241120816563349989846479506806199583379887872029496637694711272887211906274075548231298969821968632731572145067709046125780717573234358425338889249561901552647181227296433392970131708713657352652973419216183692383128938756993680312895638272354895197932511109239777213855371089142065767683096921668132235206922965847657244900129863057770249635036721673265374006813205650244167497363390070180323472758587374287686364591446709490985236535992415799287282822983325905730612633915421665831254985016282369278080772195026804954631669777321217371310293824336645227326738961572113976046200371417217537807885901545915223967902895758251154062166459707296641550565090407177262975237510601325080130878240609441353967746262431035516791434497599946350582956193019968903529718425743942236897444051995349257021320060305293937743666935453961723081888866892091837455232444119924717326106155656001524967819242377224568814040016382739853433970334382706084580252152553757160143969834523897313255496454250733505900570176552386107658921542385257276232416611714251113343735913096878225560509267584029348150286231751607759462898485281552393513166282151662485651504576598203267738484312372278111698885149970189644747841471674123900108006992965640076714279047785756109118870061680559556693302294773345255503567289258042808198811646751006858208173627740456898232046827484011807493058847147626762674292706783952324388292192769231336092349275480269767396318157264077971067226718038575536425365635887413033209455772879006015314389554934153645087433797409810725182482143769845799320532036604977324825474181532059689883531489533103211582944752237055145351237047503124649474661414893992998148163946785420389548260777682036117126372540997976921654863957879414524156685893829302107861711260025381302012562911814007406497061891712044839769201771575766561218233294164853298516842825919058900894334850831089096264698748873467697947211381320052799326207715022713514436158727477798352188958513291022561699971357252464349935779507103327914734271576201034495043187294520649597880415927587837935461500796017726078596874847807995955842183232282896685060029033285239225820018759993372971277697791007036420473914406516168478007601379966554039311110867845367983923945789890092018852071494326899159741690452132940637088118657864939136199011745172815132961418272059902658845647002838027307015497790681698896040412090622981733546083551269578114301427621204692000986773090914850153024901719382013188354367225150819688846994381403953458297949785217900979020373842999330881063823110800075275516294087789860337181341671391819891960833979377526921623934816474284167231638156517830190809004044202950516117473665674715015299577516402644891175114463669420382911052372479905869515559551690804218517480211207034091364080498294866982622543187367117496773551566959393425711903807739573288656225917458194022338390636115778077167561852730024432470342462082078824467796385349429730878436213445486412507003846896969011551503843659290951865504481214859702932920107063098152391460331551590561502196284349237655372004808173031072186861639263707672107249764931059564309746134253016941255672029553484197148932677300495834162878551377660290542876128061332058921647014890725496900646887776833718499224885937733817442290099769302677170747965791288153008055242833259317433858208510032531002680067888055558325404489093512501473859143036814059862578993639903867705305108077908776903271625175822540675255648377725544646485743415178327322818292435954113317565705237916759033515877953591240955522285888231261492342666237431377049026961593381448055669130108130421977295657764310558919106723841028168682987288150704153729601935816146100264468092882372666298867501113961695226249376176875285831890086768968968509800987102797010605400226803656059616448619482757234010514755771107437321701244269536621366923353949698026629834105514696442130831002549442498375936780675138186741124610059019076044808700494027006637651796895602144024550514913182145166853207677000513595692809925613718250826795931292958597742198748897226870644946425622215082371777308103639221237702492029160297231997538718009649641513505624132601977714153218906978697443233117793232783239593693095281099681498112509925335369224539124144854939747842462648400940166869623834869532208563214946332424406308668527482114798294393143658276201580760923539981393568406933789114070339154207745440171469936857224630780008059025926449137861919434632755317561932819503176538883000417821639179959826746744684074248919969957003478239799881868796244610739761026528701854067795769901135629976992838744003511900630805256859469673647449301003033223254776392434320844800513931286253980178263739736187569297152654666126768006709899516131157390174408557540513327839132083218604691962799947315304282308183746558101121867003048737072837326618904702827020840765064654476315734208902248339395742022827568700295658681236788453728256454347549731953884116213348572629961207997623419045802374132511174850372170298149892811695711770316998133497944919264366833138865540576588942525120510520420985679451973399675277642437598830108314018205493626588469691676801161255242509417916262463870729021443193983500032288412360324036406285251751739299500976731849739989156134161239342527252458317569586358017426596019629357496862485946048913301460587022342891011953251520205194817519932181714320374056791514080124155364988124216009035039889484283936075088457636778073053016694496649324342170121158508723230316933055113238508518742662874622229749610244249901974476827464317291186046001779665540091163434326192773445493953963617869432644385194844969172982611672620095305852323342834897790974712202460767495833317156586207071261658262420207184640787513301453698563182648278799186387094293230572961129833111113094035429103478547802864150224363728772712493727792934263659903152429809576548211661600852286057660672364360395858681972471633304371852860996609915856468509160267069347570596612394141077355274397700448414794159473059725046500044172681203159532038560426723351276972576766449486989808793416252278505887102063516994543788356481194196864396573745789172643409731353984549818507071968413134866255272610682626820419222705562685623153476596151955428890357277907407219551543559707735322461228735079439327769663990625765356969812893303634675837023530094895285214261062651254762683582631335257153276001172084667829323362137734625109687358565800112250647844290868227448178239033286197777854860907535493185281778483923602969044658328348731649967776696998186234036012576832177921700002834737551773189878159559318417557348137132038231872994616808686770126463967819597972571792962251148070419122436921553528531192297082247946253971544264913674328881530586650595154089677287894213379785591335944446319188093773764106412222050118832964499605181372390917518622321967746802338771120002428463403595351312481734221612624463157677498587315885573811575407056208874377781311572040978863272997141930225081409153101629969733297888539885913228386038710614326290159748486377074319860312365107386552646617209137085575217614950715350884869348418859916672294750563174171210531006410256366711086766388283150055038199643011171260360910645823930750915630781030293250185910779362231116203932787922520890079557629212380589612761507837905119026273705507484628412999768160929587655972660829072609555192696560722153542318192484409530065132033898755343572215429489634162004854543450193758477262470872284160625946457603335464503077411601563509015489470952912577757065787639166195770118567123953511350471823741234566259960320018082754434384523585684526372197531310416115525010646815515051820153158263512080453546301620166501409056630639596819726104441192024498259933964509011312369448762343047370521770902628237048716419267434481737529503350418145105645043039210334829048443957465998578294317515583666789050856999847258599696637830425926557425007857081449462301813647253353277403534861287713361823962769280786434127433486784620162387217643445070120194765689172167081100259953643289039603070544964376209197171553492066002827252351223627134677911065980206344659144538175043651315417416393788057279115592228266323355071394693010480118333165661389658298741789931973635401259521284935094447132206941904028336352621718232269185206397583447774059084213966850845480805984725750813405400986561833589749700881911184276853483609771026108742268272411118481077073655738290413990479924615942443957221218901307327734364610451009226590785862011320388705145454385886523506839876258353004030420923180438978603397074397855718776821022081538666893604220440075648273151904674568209974638202597515808547778727377694433274903964072230668390568864873429163014269177863691296882704128686032896161971221966592847774113436050371842804487112304058829874951009318393609669198202649223922248911764501109560046436393952731929326496241641682009832025931754607322371513758488298602332389441711382713379228625952217866131091276986079379196036485605735555006728868543200764760767929704883205519908601823418647353638551375600975851012663094399194985149092160158658206834103315594634940123526605321329844612028977114603907302923687995751478608722478225304997785395006540147049622867816010249807091878771172521178296218924790586690088087935926272720092134739782568134957209456749572249208660678656256340108317587524751924543894496776400832319121109081039463487423079215599465927701590195680230979435168158339847334757450049882552605424530318408736450428879431040314541771236018659866347466394105263994610181842403281869725237724866753378633321734389753129387902939780462331719498772196724970033308742736874615907167926276500688873186714102318373227337478676731740763479139646586803967381054154290732668620097293136350308103747251840384154428928092563364690934258033905901714423009780943179650669284863049705623301021710602029380958846744304042285959209736599802293847734445304741659190798927740306018206760923023713595087327310049368541622116795030315449159639858798275710627866565627558373401589574591557539344491054230205776313550693008486549417592383163438969401804906035671458677258708987788028265519014341397076013383135208489237078843494396605080810805412270212816819893133884027699716125353618286021715141453801628386766730965353155399939427968244125893138977055348709071559453378323095433043388422381979353776079189443093398887749324423605296620446087983061373057337889269070475110418022149783319149655668679930630672896802039452667411486424919220276117177165317579468417523455847149625303752049817877570673351000136247895035213275442120850332175429585182365314134905794615254194465345871450294598878406133674211881532655675694938516307565220881865588420317467965159786031708666544819608781926723429169838964387007292975175048086050018602462659258258058330128527988379681310513623718191599405562950306951538851652171780052172283550694517622703489714166430712810164155314042657724192326773695047686233380090273441525377310157254069655172453155422498583815079751649842453642860110687601574121371542620858223686774982348408190753469402397825214159078859677743677083745275042501094088224649250587186861869588610159479231596337083118259446423923043178565690445483346470559295720798803120852079922230706565466570946879084546056504218510376315900466987536718909638296752553750391938232735808047498855067296488667843254633052691553030849887258333189936388851215384964975317993536670316497846804328073175357077064676808894675209490274066106856176621272288993231503029425534490930168249742334060145510694146904487752927907882018591692272978522574738629620386914581723419114750580554092212727742663739861349635312414722052271149206847607401538124672373062620338439847964746523716040203113897849959020540006676529827447342797403940489420687707842254301886800283124378431989876488619559786423041144834768083193839058392864753524418575611369921782334181982322330536864692249286661156615087227213018702246581155670337688452141063357831230714848616822002215570690324535398552566533114210179629160045422547792400014328699178910704257868749789090447762868509611038703945835245354889367245912785166304681849322326195249872286941583828805214518228110884054393845001872388910360610432833263876174198823037900315171724493497352545320638949950519746847777964414090638743978522883167178313103120817086453328141417467991663808411429484784774798803723288912279256106805364824329836060807933147887279424285967565255850510471432014197062508477001201658534805426984498608944970104862139134302286783524808088989505446314070949929418005843743579840060606141738240312438888675167306281979029365262588731755063066367650939987962682428846863449957588074952593584776898998258100754063035463205319841423469789245858802638694480617868552260559389199272598944431332336536218056760545803662802765914607554773012012492644850385708883684322240089379337415727517079099889997946282703845783531829555021607302011431893680681807403937442987242905570876045480374508873153795471395562850084568518046231935771790157943035217646112483759564575304547725944872604712994583341783897400378661459504280135469771360610370070992103057428258276393355735584862659926493282569939562262831042529734716945375799466999585692353085448048491117632446205410892927602883687296317052366796326704908402325797824975256608292994167693283005588992233492739474428055051327378609147020731531174295406840161763982349239888989370743193384394422553301888463117850413822899046561271156274164442465237663590831551864186914594494124324430486349510647290495783242672383840914077778970540132860318889285906086403313522481383945077137008052068127472909496944460308587053122513893215397638285196182438675861671091545863719371941126456349938785149846947954844274289477099888433772526164671895434141358934683884171889776409338981065436213584430524704454291760658184874495396048759383605900634346216206867300885148593595579227391895256923471555008178328572171298973497942477357121930601177017497361513854604854001309114726851416706248309549323131996228094700926915647691842249132820353582134219928317441680172163356919863306752959040280500447473343453181485471110650163133631061789686700668004941276950545030143044345405787424794602098353380424929411151351203146725948396062249754869980541124952503434655675919964155930097917718186214570732946111930059180194962146488750039497855204076384309759595923285886331785265041905268557374587027451937580124815697185257544912271605568588683497922737256098087789380377190757234761513439914056238073755282998446346060322998315592684275961355167110321952183404013306977855150705613882479144667642681188955235772883880918343461654828013199995406045809268798018751618805096558712683785795300070767690956204024978257817982218158244197827920293836518174669955954155995731584468844187421081295994561245247734759564780433133316013988913808647729651719530042868563016631500888931947239212943870904135488958078517242077521547008971314814468404885140031507999851390829252628856589199364174850471567183179630948514810070143532080871049117171295235914844808554400128022450527117714536052709048314908798083143819626419738581799894523566639253780920120130060605674281333276444434932789422936195928975363153305631149988376673869720365317736200758084473985537986458359775692264757710842151271832564210871582079360147528847430784058973750431293219702542923479961320520596923284465094298796116027394578727425506491926467381854010304887630774589291299311322261976359319789968213516774781573936338083861828154185046540025926153051371692486844046946319587905903080223572384447464474247575490910061680779529231840936660936167627478569109086556983931774301543899179011110074136588525776934477946754502103002983167525074564648398796443167297256796959413298082481233240561147057246639279118872957367750974666819660210914051371679618744013478569867252679355869087221334189492717708035650531705559874747118052849059673985593314968858562610998288192289343795108165414926795260429729988256281600800693991241969673644208689521044889819952703441899949101347305449004506398424122216912960935588606823616009225522148044834282826290127181250752106652210314072214298073008153903560215616789976096952877656750017627345473081243353608049493243001250401793723295066385755667469661856761451315650717622990685651654601706453571346718621414275871153540855030174806916587715223492610758524451232860217155750012000301588630980676260234289861346549990415966049682342368289212400349492167859613308675515006199203043726317096894972835943832680990309714519107499846796460503030789211390879082393300283420630356060362699970285364887927099488139794220179174088755760492942579111120524426475998810653113526758756221200005584052522470258500652084237248974645191310877752600373692128061459940513918414995518939386176712049815818353873232253673796265777360657253435077213992410294376742579018948728727268135101860582083370474742379158878278613053156226514585742068469354855132766864115298968187247646560614429117568230503992399840067012165415227235808754439965858506397776747423700243235381304403371073587387765393431671006235523538399887730516124119849770829211638586000959495337348697665521564861712618073918604398008599878815709299893123107225750062682227599852870883145158265935618897655424471907209115599957082751467833256353146928529672766439808468375538420603668655097134456606727119680415249422930338146350508306654590686756570342314632893623370046667275734556442149809209776910811107188305602507356049401790836039888038683150292842374375572643050400941606897769639058119585889549961465514938818846474162216799428503096091784277256330879449918657340656195419730059525746822037757012411436603484527549664625718294724383922243934735960233512880551755714437830697007587346110483643556144429792410203941773045564867345829283238698902675025333183370959398872389885509792209860603624385782786706053506375974116680113087927573946889985180321186302147269799069803657881741908383448303012260875881220412134554257727708747987492004056725115810216110418106854743270377216499224315158998257169143483001031065097117636950513897422853461599782047837653007526356453963489394998863762400179933671737872145446469443804807059796958599030972895212159469457408000582921561184460953481035888921573038294586955355440281937481255589124602181301355506619125140926774327629179844143376862435326604513415607842436843560492948220223662229468694614976501295311214332315528320210667149840623870783293833573340789066103392700165072525501175856186683820563578434094365648348737404749531176654745063123244705370797540977981437070499346104011329839450721582866832005578519236949273265324158828266491774199992887616490563062947721291227520088741817562106261207772227199438968951681207037656998865658493195527776504218187331693742580600907865548403670378054899023063787432436640186153731881283335707837764923218629148927629610648114558381696634372599448704504849619142472545170751098973063794897131367281516251339983311536054128910543159802666135965732076351026732128472183505993030005491686724607312329509221996472554642313439606040198671259479760680092480517072647179185659477496279335773935835214549715661711981553943345410782064825207607559638001585961019316780285124621395893046645357826500543979947509187008381313103785837134218386846048003834071676595350680002651466884842104374210056261611415736242364762656826893027305091826723762003135812782582619630279505145624020334360917011885077252487062791374070736778335228698784683661919966403779445200395134947300678895966278057905829906562661108841719603130284692296702388233045420355477426229828047959233168389514733293232488456643273387668671948079402518807915430462798777229143877093459303697303205353130404637233953637500279025023022052926835184626246286383329725594445098709633255242172143715871823207449852567129020027460709990141148583648141468452493768767732761713921640125039671353553834725795106618973728971223047704163002002867788810885208127937108455441988469689636206889302394603151960748610451597423115181054820595675233653661145278141748039357202571479429920737121176334305974952565337860981276830576866259594648698292003573453727480180326948879316970423989657868147537612945088961255915245955277179427468633173896778033982587396716560251344341642860890110439264629417513874365481231681180434624350103506174940230500797353710439447387374673490641438000307343504958928878562064674899575243922104413950869287211172014793544833907725745374882262212403868319585697651826663841742196361955981940070807815773471760144084106631178172346977995485416702315112353301393228588864379749910405010592101489926472843733907878183209795676593927634918478740022046195914676841621284330811653302745403364055084617234050450275437979927818552052449989862477533609417204494281109327179504800131377556589830091458751013433041995204108667467140205201314576215377176278074259266150960462001108971133676835576432628577055552254614707010983220175689832802605766329362191827863827008063740762728029025294762387981088144485349125503129090889788135817843247890662125968692207528766466761780606520545631890719233226924262943995686348692874820906765872430310003938374185520567380583337780786986330186123892664066411796266243544940587314851507887347222369001441703765774307396822251704747123844756405322362868088836293874734607887485225533473872275161592849650170541600216597426292071770396100471903696854658596710037750708609210119152754271867041194673693354994716298868526906366540360673750968928595049377916537804164748282638263709003997565858988472568506599039884036865311562189140620464700504898571349620554695733147306160237519140694533995113783619067261391509218141110229895311378317542661239278847199124752901920236006680436553664045212894463363725217686379511952271312371107476246070880626686245512932947833712454831912042120014001063806732609056065509292661237846500218733472019739025889570117139253210072894516490161124081716692192690650517849565725299959109722185978953696273581134029262996770002854800297827917848476578190390693829529898338065314843678842717140660289233614808721449992683252135774967114925683443047902602531308127327510621406930352377386295698149099299158486694638824818809869738463875743307302430645181232870122934394274235860497873818318448827331942313711949216856933028477178062722436227529458293365993871789044255472053170607021247159727457414864805449366133636883168469525679471079554137981830430474273911149719610368155697886632557893500139870579662514533538284460533057546893303087331081563785046223023112404767268916438794892198814615269340227750552176711905625477409468567410236615705099415893171456022477933209361897782625661262347033715598245796904269910258021525682451321739007379934975035914734781664244398756888005509944427788165347805956829662060581527764311504427728981806706773145357337150241704470479439462366659944716010722447821845424717680610476792775742004897638118758444412978442476414120160513191859990190260072916322302392413433254404462109917946419962520744849163970272773440273759101878682370311521896671721918213765763053785011198981437751988509878658303919724634319915396756711187710620788696994667949639790479964644292217853178400763150968299364958697261629514256220116217846149045273685795124836365412573312893416934649515998905747489499469085825718756003351347096862324927985323088009286261589254290834268494929529619702031913326316848311250220531177898812786727088870038304082384526746116565267524983961495414723380250163394022759128543663751925002273851799243590660958143748610744327353055679712956705518802205354464484726586767886767569866704379775540447407505569109753511067002310568431794477557901089683942570909767665664788366281077959340912115200759717358615523805879424982093839704763611207521711703989164435751877585365904611560606255905539993967414691659031385673200634850814883152135545230082046945774529314824952731730038705717544168864457063393124381277221311102495137054936476093858657148031525341184727021905306122012266722213306558217173899546445237454191401248297890687635764343735985156751340530559392165434123595284255803848536072149250232735831427571898122310549414972739395766415200186688848162369134945331905226634256104357309401576587291863328037637991825235882024342315477069857325006150719249506357035934579114374839022251507252359118938109030358500142650737164367249998024350540159895311649426572927991909614764437876750833966733223184397526815637207981688310004613762574656418661079784912987510695259764885694449987213993710826279587232179747372743977777445493699714543425075546081557087740649937820145115545558117721404756650012557285629771643688590118658660856449749112029925899208524944146800278342753631324958990270891033717213004055212846014037998216735206996004758915616038420341146992836996175499184904522844397747736320044312373335905841806307178361283731963589294050723955540326863560854050985467318266924231192757349218571442247892173011180498610619594635510287503604126909425994689432668163596184172756768909290708309298180148084468088086324829489307051059898285980553376915657584970252364688294083370103705402215131407644533853591064156053307878994545989569172870493437204181798702224678034083402535216261046402917664513323153683757437181447001079831631317664521678200285198393822598476890552646228541376814692012061839813719106823527735298527054529925693645602289817856782082815884122217940992330125230883127024160580110213434940737916635407229422344931535016205870244815945979903387064863329961458958415546241209650502590568634482877878296206742951027758672947349483088878308418845312053790254373945328586774288799730799078739481755709230757987770464216664307512003147209223514588836838281164313439669989870527993476507496780201231109029468550518038669338038939067174337836224105883907982242308488145264283248901498018798421772622097217318021818849951858236632954531863136115506752188780591774633504543760554781310841742104118849226500884570578839887015862755778960872099199541912539896132737660505661275924143419181742388537942690188315557752452302298698758106471283671833151896796485619843221805359622224245380190984411486758262947502269702165874597721656627487767961408195308573974791340091556054539995929083737233185936623414203950078671067102842407852333985638510003877556171268247263943006736914554407766115876367125563212945714385497643257980804636332801101438452706769449875863808617437639939591075457764018930020393482185665598333414937934329101125546336823889116437280597737561764154955865673509854597024518155816412925097951453767874943739897938337827347948524312237553151463308029573514116844791857173366457596590564524394876966879933174530962837697852620287149392153687586820762047836346423128510046507697940347310581362595643537354870857025494027999437191828948815271718475302740510862118983526639120497715228514258333999980838638823501699267534993009096186656543773510872433957376442753447402301234138705738791024579624655046574868569733094598819176239910480560955618683842847750064937223392830720413176378239131888293707430144582434040393565286553877995120199308873074130511152483825087815492863165482892527546106363170315519340024393986278070285385538033571104234824913994009679034883463603373415731794826200133434001519537787262115315927299607286027790653137955145156640112143510455167929942287036245976305220285217847042974542561099294371445597446022564323919050343001915769246988972761995343239073112565685060270019941456265587228145332955496266275978568147538933289361935219580470110274005332018031714161841904213327868797680651110073064906119931783220326596683181167738059770177494914745093006802581031459415819334656639031869390851186561654322876218794576412169220081330509098145105679244467498886429631513929887848318859064968747788251890111437912191267029762873676741724540184276720668717581745881906543094710288103403333152678187249550974569963680143813571968035042058853163616424219591902343823871160103976515328854405514244612316591423338748414231456539327988195160398440334685484655021589365794330676185256618791034806110486349502293241521429815657033967949711651534048437311469945766085489558402649100088673427239726679569968203029775222439711346184757218433018724648076282521708759111809210042083581939610136034872539719015075771620374495918357504562860632812375776090826378424060612846664698595010747043860542561768657630677133528221007944492911318187720126044315922712423694596582333460531954524387108527840626793280618314179309437126790440732004336819384692713806210042771009335588096633503895574438059144614083847225009441120892256951435271714921018780660158826017718489900389135424272939089420751759515465156356858653661899822069637220427066061737787895128834192450169416164207313824847978913711415074439837187041884962700243241073446341874573716917089431194306201717960229344808587049593597902925361732363165404839229397994552808232287748187565425930511320694422824665402274725830311506076395258598076526151636434841575153094152898206984357601472996019172578889982319190648646311358547785620312976467442499339807406260156854519887958647504664460908293832793192832704933315747663050572513993834065149741529910704067667300434680561168344054532073725485407770992779903943151877354449171606720035497743766021791546307750506245626071777030149542909885636277922162168515901996919508840409059906792787288790256751580579860967432612549920943636397658473215297202116364042955404308344594200462990396050480831555862253862735202323405953682356025289046644685845256315810403360744514400543864827990586773705338646364907404625066261949149409823216123842525684563089636595650874740298169796621264087005316140762964249860220749940338461082841437897547548196360411747961115021800160061729746866496059865889946606362796840272058365220973310141496685864587259289531270364200871968924953167736137272723054621458861711433750002139607864128574619354384397984714297753777079464890983725521767024645381261809799391445234530857720400474096825688347538183893856559860172679876494359293991706821165446985491663907163247118184164196442348900826555157857791029853147798247685489816521298516966927124395531327044405936463916735741554403830764803403989145592290630824133710668070458013375464795943169708565524603665561163641525144315707027024562504157003195622068428686064692403061285626633009362374324734541224695206915002431867477310424260268477817228906265430374650984782191608473606986237466420379978788400212228150634423048320015424038152153947310859677377259385952522098416332778798779457210590806396392570294299118265695614928341562151790002464784988685784413305418298614489956423583279513396072163156177388307014564634095135028916723709215241990857969731249626489383573530021118996752944479749603875381390116483591166856143670210552466442260467608156274943138599260214436375681208968753771375133922128766372545056735450996797605556250338775818851764131424983507807560577323481096551351259925782977003578675678943052275485123328036284617818158849499295110544372297690603020255506275780156416670917939088681736716661057857869447368388317871930008182547546699856912014219524843143692795311688754181411607697816756123799730160271730311841156286951178015166160125683609468893831095373738410715384995785591124968167068656177751354296008411702216364045095497504121191511846522731981061967107896471051748179017699458839424201691919095379498604559723129738328259393572002267374837701405218794411414300556981485699550481850598572402742922889069732672939504713848347283530230060854020371689037066438014989275023388850377015714268863878557733134335976114705878603804736669257554175865853080925282808889032676301678372126920854211205245500577570820790542717086666671817461123915646263714791751876969566080545125133378836130338283370727543516442994988983779633740512746977602680453117302766295279793782842942474394573753832673255777326208737045066711442966768825867208466193258422423277728818699645967672951066630850094494416256888023816771417941781151024412765546837858099322398568995273700734414414221965382893760861980095711023429168256213540445611925076734633830365895822938391018125055498322229918170451130276780329963716011741147454878885613156456716873934368188289010016919855490545404237348259539918444851624909182647011314075753264418635116234234966098263853280284970632168573248065256416236810527978748852992453104490883508510645400880588678387284153964641376736258940050651914108377587912408079086049340722062941555498628818064309520913883512022358226433652424917030842398507199762999975186796947270686473193061321382445481157099776567536321457759276579210687579980465283020306677266044353659972042770083588148767411072991068399479129284391833398126218662820204448976041761277542515786035903499977760587659024856729427955206415792443773973960171707024895261399781745414208556120149480562312115065044815632718796397150871922579133613516205773325482189084586005276843016245952075577678596178767570723014082323278665085380809103928404270643368907903557062329504115111649926172148851179205739295537712622360785636687912934193805961178250085059752803834159690466093076176305128744183639891642198817151916661191238103809374251905105629922205727703812278388898653034084688940677391424242058232779276661765213469422928317540667688529142758494585621475940718840353993193077588115008663216368070466505654696566862408475614633413965194498274842255159399302706543559672783852455851700469798013548746064853363082240524340778973461737805396784350709551006218397283614983779081918215076531084603982510699011365814204885015736693937258400461642417826840805577832706041255324473301397854365378513823811690839016902181979589999767593348678149497813572744432371743458736830515929694496408723146243829517159031323177229089801796181706088375228433035345092127106408085873762834421124216091432510928737770727380927756699495530887501890148877443429403761356950718940615866407741614284426261026058595961613739973518326013817252164035502487440818276097246647015949531456297178283466475609072902392700828533576523342947778269703905527924960442325926303831154403217781974775600132806442999227369349862969978406318611267326106842640453422307797905196378802381276994074862765822653898376684832398611695857814095995902478801067928747652425765358358953244574681258204332423605759330307233724662349365375286889622617221062728949351551810494655383096805203519106343909840820636620867187786237206649903556913199149188289857446919840656062191726592654795105097184325133282922746251122280416737020159480298367966993573352361791652760497933480286610314452928706458759498464095659973164296159263984524361178674728828492750879392509059745333627314958591297989356749313865907629677540738796093765617000385744640975656155541952722394746102925557413285613106873265815075715477953014722170427904031244269072950849927555966792689772224178748918437100896711972073978154976584501170133053333383631225588543272594303844258398242242781664776632579232267815679804067246346764633791239438238131958616523880982334213802896918827213447661881886473358317640569779977361019369518680616546464093681899369140587615663822922147946228012890783756776924799678429765526995285568396027021060347449472212805152469737477837191036769078614432854059348873229807206034664800119747607701879360695846363903588106661686310928989725206022884581859563137898191352312000888864604652530388274442983642512171318911102618436730803448902297377553908597393855975889871023379954005953529846019342822469533527338529310881128766150442757613192778774955677722862318500836609637839326035377503713178601016547841046442574072839317922697250443067960755849230715940939966122637255209675849959859253451505149157413633857839496215221354445945555539955066681590397156773717350011314487751266344826312971583452520073076708556886871554303741457672785982331205765538367984210557853327307474327598315393525937801879719707672152006941607202651654145423180240442516523485371475067625336352362360588992308799519665021076588872176667454065315665552722704920718269105957471228970702013360239945578475534523268164603274159827663963026109775951229754798229990581907170800055838425056660901317067437131803696973924051863689994569762196689410894311605415474610073196406676325977586876657421338526488303257783717184940661846366951014175679153063081414185131425440362150968435123194528827753245606023769247388245983608000194794894940920274727133193675183560853856414608136231662296469522808429219737376406203147922428585301805267651893706141449830925943434520029243084495423489993613555133675212584048284855303975737985964755647060437215371552925725677400099097474911691557175171770608418822737504328499099090179915782541030465982716042361996641638048925212074943926267060008202398802700107470154691020986107693293510270758743330790375538592864277071497166325295240750947604189284776534115126187240822737586183110847920709957512654190136212553558862141385578387082209250488597518712111553836892865687886985423297389246437028594066794682630132459121704450971449666658341268688361222498450864192394536299276157734176937369855001233888010468230776133536747947551723353778765328326816500794083612835941726264013551732800579689001983404285027566590290436100858517725517899285267842138030980957295502006174984157271106697097890724822642035772992582030759940979761240994175537745877325037223884585964193983314747155561709661961682300584502574404838104246247936803231223073966787166302072975932892583220079215089776802849410151744588196260746753667276827898738717637207906054268461086474713607338544450539229280288533493299258968094481321737615358441117251545146107510459438794566889997451661347011567414854363488601216088324383719844392267831462359770582821133509438821237405128939247777188346942200004487644792229812932911611785508989566185005646078379882419634761848776547046075656637068485881383036358077073809691682097596971494243117836953954953324385327698767100397741744469204775873257209968589537888857106001651847148543472375195028738416753077997047892094265049519349477906582771918962354343066039114523548230633579079921373016993936320335919434369428580535781027331858510062441662755872061266780532581150631429241171281371849568431988493018371981739530355659080154056404423508834919188690445916234661800039057863581386551977039026891082857962618721815170243829679411521943604394193598962240147256309853366335852572975158057205954896260601245672750959882261823771586536424504883610422880806336171085554543277659156755339529364315893946542495590252020559764118753437387873171722029536070113840740989082515661087344237911705163998495861191042300326911195658447717407199659751858769776470341417084485958686183740236115388826435741318671476510244724907046682126820035527044689401049533545407836335950808390965456179070662771678893578925251725376017563009772969761787615250965332143612974441220915748029046277216326062345110736768074582376363382690571521585980025739632823709127210380228414815522922001386171372873746021187979492379328291593404880900908171768270732233879246210389527156665181531133030248714391871469913551081702529537072654660449831580231662124308513389187297224247539020970183834747136723564954691647696035052617701310309323473858407979769538674364807436423525330075562533160655163362325482987959442933440753652746095576751234884200077879945229421634698315539113623113221766795435500195750515544757897777466415385664769749205920080529865523781085658487024558319071986505265234106915904599416882997218175777709220732863490630910210471076317735838820666049199872534846127641924696166321702983857880722895706306848066649013548199182279300853680381068942269092537804132093811378383064441855084185135886781279867909398399798133354979917010411713080734138621396596462433090386421225168055670804260252621584334628770403684632413869882355474117125182541332357127407107165950332184288177833086539839455445718759743044119023510615857569612445810826255249424116391863342072811919772678505980996597383470095210552716379390814874323910712558418337661521579114136502190780731326431757710793991772097545332072842518553649897620644874804643468774713295766855066889228974387108349385330287214080818514095110488207265940211527118672076554001170694180488227006404212882560749007456408768715554759924369668923861677794709682887320692170463533289136761996367014679160639455871438055153801122316132746845046409697186744153200313421724855064840474166376728759815482782316689987864202858507402361887059441213061818601022549761478010362226770535078833830549511393800867357399014911979705483359078439559027111623674527398615732079839700533991452645809146942088020382485816366891019930662453323494907298133422576303010780490425115049491983689789815601552070469264226156327345882828913379964610496381869864786410352619903015696184692316379946907078854401471421601651459611182017986991177158908027194398327104462797542179378987051124937731676154826843859650205913814947711240077546576072131782657372373896357067545581650571517153924102878881682168575074487252448565045759255958564906895521932802145658672894486852500399549924907468627954978663757596133902406817956957157185383449858021033085608605656934167877858943317358716593964803227234843601419670127592174840654209288837596456537457157706418370577477503936805088798625740927785401276034572855886077755626465935222443704712614593442202577565243057258411150608122472354536335494807663101365595588110924945127350231243338819039995955032215229845876510781226294911557906139599505689594260435576510305988028530262521328837109652073049980772190385045379944531663868413091286207033504786655034762568751396256421791720353323017998366790934066289829647242323099920814586883014032134274665458013673549940226265288456187409460955290256896245203441301071090031215211417698044696134601400401527448993139839171147180256131039568732419166344878855932042919726892546735134489526666874324139980099384634732783264861151131728679497379409568848911713793085764806117525989031321474686798496928685031532434661662191741675748903627562622118766600654421701130213990304698604738853154304489069713968795913410483125877078067135730403218691683436414822211314463507977428453977480655815800035755022208501677801699705237568039479533230015368196672738854018804515648559211590534039201252746861529224318204729551131734578597853995814175424634004130161390478018393937429173178990783934152583689250983359441783921190167153888373128788844468980345889476140555568945567355478409955032725335640735315956281935036841390122730757365459215429257871867390617000243622230155056910280963448953466973554158576846014582563607798407254791385578466346425605997311087269038399389094666250429574595878208140915250402721907280780390988309134075188599859836122661582531047854338560609217424794327862910078761702140581105830583341112261011200698098339095305861702535171181100034834002167837410623796128488324198712683213464294450777494768617752876265723355588851193100484920436029519094258719401276228331380531401061237591326012621829488014298609462336310390611760851281422250998495073460556464247543035679553767064975311379659265954748610238642189956820244864999264916046413082160993836966218253028878950620327485034343700308487871704843549403371889570548061763060230431617068284201287838086694142558709094007816046609771836067712172373253672759454417863980438690400006819265670243012484357598503684515269349937620477598720318826726060730800631390676731993755298421375856248327115301718537525104823907483562340928877294789314668834338869828008247019447930646707603805271259148628877455087774306162599020731178618549644380895800258062935657186898860256812887072053260599304381551229929502305339631829902243913637161553035411171666344723584884151888275430802832870654249748943093084636790357976691285567231227234010638673620116658712050928512485613112837578256557985289221215098101690672277049167457687636469070148927811273136994566271257666045979717545032287649238111398535319633522424043891335174671327876938220872794977367661529395287703115292488177855562116815053066565088887138365407383598588749624039515542253151393433486686141471907452699007637209365402522184126629007675934159978003082302194808132245823552104812438250667750619368142477275621461530042680511975608011469080205663481525769861284356414672116786952524269290867857883656278717877722018608100017983304160880338651188190788315430907558640289071745117384919195757657365278844754735443324386701106289252372657732368104922723561319581089715013608477813776730503819423818849083142102906385713955313676534293953485112286287252176239746219780874665577294183308388542422861490459064112101212624216542804206741517314898843230310025973851374460116838693356089977438149429553347337062232811227822194057988586204216789888903094268771966529222522046852029784496673162879411045726938088919729759580840687150002195148568297816066793346645054343213289537411309058979956033435551144665921151200816384782946704695543888945005657986010820785891134862714157792059023304796704654598110481150242000907110162692051317653351545896792898211977311179542836547337785805037496398501958323766387408303692693436424675250192740364111241163886514636115805557995526563618093011742063696894228370924000955581172724945703476619232453294919754608427285265549957660091277876569777899910880804484025150794719695006215315322707331268175351964506437168394573473514318453187292005054211081900591209679954161033332471046917478431796118901214557049504001046841823331240603471282696087302691823830462118490510507622946885561434494140685747396182580817068761846751342611698167301354896861895585759496814918116878954991576486656199624722592704197460073737137297011110694326133575628144214459277175165567335345897416227623425909268360447889442510139161354512607996722879518061795556306196266861413957507420887780917720096164201578968218881737421732148205401462487288105143648381116034698635870674740559657089725960428931251413612590