1618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204189391137484754088075386891752126633862223536931793180060766726354433389086595939582905638322661319928290267880675208766892501711696207032221043216269548626296313614438149758701220340805887954454749246185695364864449241044320771344947049565846788509874339442212544877066478091588460749988712400765217057517978834166256249407589069704000281210427621771117778053153171410117046665991466979873176135600670874807101317952368942752194843530567830022878569978297783478458782289110976250030269615617002504643382437764861028383126833037242926752631165339247316711121158818638513316203840052221657912866752946549068113171599343235973494985090409476213222981017261070596116456299098162905552085247903524060201727997471753427775927786256194320827505131218156285512224809394712341451702237358057727861600868838295230459264787801788992199027077690389532196819861514378031499741106926088674296226757560523172777520353613936210767389376455606060592165894667595519004005559089502295309423124823552122124154440064703405657347976639723949499465845788730396230903750339938562102423690251386804145779956981224457471780341731264532204163972321340444494873023154176768937521030687378803441700939544096279558986787232095124268935573097045095956844017555198819218020640529055189349475926007348522821010881946445442223188913192946896220023014437702699230078030852611807545192887705021096842493627135925187607778846658361502389134933331223105339232136243192637289106705033992822652635562090297986424727597725655086154875435748264718141451270006023890162077732244994353088999095016803281121943204819643876758633147985719113978153978074761507722117508269458639320456520989698555678141069683728840587461033781054443909436835835813811311689938555769754841491445341509129540700501947754861630754226417293946803673198058618339183285991303960720144559504497792120761247856459161608370594987860069701894098864007644361709334172709191433650137157660114803814306262380514321173481510055901345610118007905063814215270930858809287570345050780814545881990633612982798141174533927312080928972792221329806429468782427487401745055406778757083237310975915117762978443284747908176518097787268416117632503861211291436834376702350371116330725869883258710336322238109809012110198991768414917512331340152733843837234500934786049792945991582201258104598230925528721241370436149102054718554961180876426576511060545881475604431784798584539731286301625448761148520217064404111660766950597757832570395110878230827106478939021115691039276838453863333215658296597731034360323225457436372041244064088826737584339536795931232213437320995749889469956564736007295999839128810319742631251797141432012311279551894778172691415891177991956481255800184550656329528598591000908621802977563789259991649946428193022293552346674759326951654214021091363018194722707890122087287361707348649998156255472811373479871656952748900814438405327483781378246691744422963491470815700735254570708977267546934382261954686153312095335792380146092735102101191902183606750973089575289577468142295433943854931553396303807291691758461014609950550648036793041472365720398600735507609023173125016132048435836481770484818109916024425232716721901893345963786087875287017393593030133590112371023917126590470263494028307668767436386513271062803231740693173344823435645318505813531085497333507599667787124490583636754132890862406324563953572125242611702780286560432349428373017255744058372782679960317393640132876277012436798311446436947670531272492410471670013824783128656506493434180390041017805339505877245866557552293915823970841772983372823115256926092995942240000560626678674357923972454084817651973436265268944888552720274778747335983536727761407591712051326934483752991649980936024617844267572776790019191907038052204612324823913261043271916845123060236278935454324617699757536890417636502547851382463146583363833760235778992672988632161858395903639981838458276449124598093704305555961379734326134830494949686810895356963482817812886253646084203394653819441945714266682371839491832370908574850266568039897440662105360306400260817112665995419936873160945722888109207788227720363668448153256172841176909792666655223846883113718529919216319052015686312228207155998764684235520592853717578076560503677313097519122397388722468258057159744574048429878073522159842667662578077062019430400542550158312503017534094117191019298903844725033298802450143679684416947959545304591031381162187045679978663661746059570003445970113525181346006565535203478881174149941274826415213556776394039071038708818233806803350038046800174808220591096844202644640218770534010031802881664415309139394815640319282278548241451050318882518997007486228794215589574282021665706218809057808805032467699129728721038707369740643566745892025865657397856085956653410703599783204463363464854894976638853510455272982422906998488536968280464597457626514343590509383212437433338705166571490059071056702488798580437181512610044038148804072524406164290224782271527241120850657888387124936351068063651667432223277677557973992703762319147047323955120607055039920884426037087908433342618384135970781648295537143219611895037977146300075559753795703552271449319132172556440128309180504500899218705121186069335731538959350790300736727023314165320423401553741442687154055116479611433230248544040940691145613987302603951828168034482525432673857590056043202453727192912486458133344169852993913574786989579864394980230471169671573622839120181273129165899527599192203183723568272793856373312654799859124632750300605925674549794350881192950568549325935531872914180113641218747075262810686983013576052471944559321955359610452830314883911769301196585834314424894898565584250834109429502771975833522442912573649380754171137392437601435068298784932712997512286881960498357751587717804106971319667534771947922636519016339771284739079336111191408998305603361060987171783055435403560895292908184641437139294378135604820389479125745077075575103002420726629001809042293424942590606661413322872269806901459945119954780163991514126125257282806643312616574693881951064421673871800011004218483025809165433837492364118388856468514315006373190429514814694243146089525470720374055669130692209908048194529751106504642810541775525909518713188835914765996041317960209415308585533238772538023272763297737214312796821671623442118320180288141274744316884721845939278143547409999907223320305926297661123832798331698825393126200650370288447828666940447307947104761255865837529862362509998232335971550723383833244081525778193364262630433026589581708004512788731159355877472172564947000516366725771539209840950327451121536873009121996295227659131637093968607271342692623154753304379933165811073696431421719794340563915512108108136262688856974806806011691894175027229874158699179145349946244419401219785860137366082869072236514771391268742096651378756205918543288883417429209015631332831935756220897137656309785015631549824564458654247929357228287506084814533513521817295879329911710032476222052194645105362450512988430871344439507244267351462861799183233645983696376327225756915972395438305208664747423815110792734948369523964792689936983249179995027895000604596613134633630249499514808053290179029751825158750490074351879835118360327227726017174045355716588555782972910619581935171055482579307091005763586990192972179951687311755631444856481002200142545405542927345883711602099479457208237804368718944805636891825802444996318783420274910153357910727336253289069334741238022220116262771193085448502954191320040099986556665177566409536561978978183804510303565101315894589028718610869058939471368014845700183664956472032943343742989464274125514359058434840919548701523614031739139036164401984550510491211697920012019996050699496640303508636929039410070194505320162348727632327324494396304808905542513797233147518520709102506368598167953048181007394245317002388047598343234504142584314063612721096022824233782280902797659607771084939151748873168777135223900911711735091860065462009902497585277925427816597038349505801062615533369109378465977105297502231730741217783441894118459658610298018778742744563866966127724503845860526415103040898257777544741153320764075881677514975538047116296677710058766461595496776927054962393985709255070274069978140843124965363071866533718060587422425981653070525738345415770542921629981149175086113117657731720956156564786954744892713206080635457794624145310669837421137981689638235333044778831693397287289181036640832698569882544385166758622899306964346848975148408790396476042036102060217173944702634876336543931952290773836167389811781242483655781050341694515636260430036657431084766548777801285779236454185224472361713742292558415931356128663716703280721715533926463257306730639108541088680857428385882806023033414085503909735387261345119629264159952127893113544314601527309025538271043259662267439037455636122861390783194335705900381487008986613153981958574423304419708566967222931427307413848827889755888607997387044702031668348569419909654802982493198176579268298556297230106827772351627407838074318778273182119196952800516087915721288263379682312725628700015001829297577299935790949196407634428615757135444278983830404547027101945800425820212023445806303450336581472185492036799899729353539196812133195165379745399111494244451830338588412904018178188213760066592849413677543174516054093871103687152116404058219344712044827759605416948645398783262695480139150190389959313067031866167066371964025692867138871466311891926856826919952764579977182787594609616172188681094546515788691224106098141972686192554787899263153594729228250805425169068140107817960218853307623055638163164019224545032576567392599765175308014271607143087188628598360374650571342046700834327542302770477933111836669032328853068738799071359007403049074598895136476876086784432382482189306175703195638032308197193635672741964387262587061543307296370381275151704060050575948827238563451563905265771042645947604055695095984088890376207995663880178618559159441117250923132797711380329437654750901651694965099160738339377158332302457019483474000704376186719984834016318260084626196562846491182256888575213463754902541808338213835222452587267893795053759156035794546985091022562254550030175710494698334835453238352607870922193045817823060123707532806783685413065846367888664334862493680101987827996306702595432651378060073863929085648308741576187418973458484501418897652934110137221586435599155271136233220035266778591598902314461633210265196659076320615243837476190495315829688362650420948401056545891306298277172498096419594723404651104198213476893540180382569549562860392442641598674859822800603538628391662012528266074933061965849651999794193932260172357107336425370830330114336249857536359704244464759989999508550413549775585859345765909265333072527754167584314669367678061703501200384487488382337603440775159477812218830709000873866273620916607990502269892703218997603795098905910859103929673456146107003045819212738925992696106211676436424383501410204086321499178152979681522379832242737536570085534699796554138590503268361602227884755470626984391088521030207686047068045568465604916864988606162229523239070980926293023379564821799816326458278888776745208463719710634789231066754693550476151977816990258818404079275109018244827870525059769837535143062244509022023824398231255058416232071883193006936064646820965950065492901097161865263672161074171361837766733279756268548012456576827903176039465553945231433875677303497915785885910116637484556758479527139186087825401042333298574427471189696104851264019750435990920766215589986607368376231883588450812929501146653548281714484640568652465409078154716196257844695752625694551656015191640292179885489093732803146519222475900309657154905053610437768687726191595284492046478689734737085984138451316211929720126342407736945459818650296592335345125684549745411298197358766707286016160562042306360661302814967734457977377505575646654752563226481771169978570871228315431045691232625034976811524521744973961367488220464805196887543419695119331204502160514293848447545238212701438309578558136196783023106850808458769520590532946833849047120991625563650340034396708289336983674230015751173851512691230661722764144216075129173418747143150932419249141609699986728158238592573598238948492749196461522722733387463121384362621163794670620326302250554895805730837504612992311362991730694894073425883194839992741639509844396340576352847175627621927865225396087201310804864065343961688754525342630989695176190197709631922587093421659559744717501575383767415222805706502806831433565249171997333584030641535507591159742643664828466281368021745059097058946027442926322222154594507580465712060686399043082369396932082374907675611901715613054248133117152425684784633637700152044179165011682325752361604957497063908224434445103512190488198302760017668098509652454390071990980349930268606755238796852921947323933523700866502214074645540372223434816757493731446409283790065391967740103558619361815668366168648923955549614528264728949941606158030458678914619717281554511000566605424996919741027987405932764349537145251676946206985978809469501747302284142757188719409212091379940594303705043648386004346452279933029239018659226898749921132565605578401423354260589510562036907202893931592044047683592763647996005964048607619891592981949508787860276634599054042637700459008032794347206298254452563564795429924881986461361713144857734699534755771554913842392894017540341399738461694812934792422346097430196275230138286072244963809538384015265678197645075885478551554923452347816460330629388420099508032601409183025743857706710252272436669059889085450155707542303166659247235289247025886247948875462527657272851511128782706734543102445152334565422843110396795282962501936989399834739617639880957354152601453729646814738218436005210994721194165914947167052037922552096336458484680414477803021647286239992640483635087737478245016382008952403225343799257901292656401555377540917517044196272850391266959566648772429676603673034536687340490791418869452147158279081572339691240399858693908551730798019555461285134089120610840122136170705704300605692468559164688347733208568914126794284480413846828132569291481601097862726968668673739171189314622691348945804277898996081447095247629050192603116492068677433186615469668966018226635787887506088562435626789327973546339041821087746380392162447720256726995963918246877884554971790385158392047483199031276224370662350925187754341401071123358659077481220637634590198842254727276552905043995025244403911365826708133005805882094603102082613413691275729369928930299617308928436703152385897539873889368074415263737942405064487641717686135523432698657289704630691801742779721738898594432848520572575883375638201505467206516742526818948516733280463076478132931326028932293660452102131898129876615262444874866938904061784699166654174850845979701461782158450149195721098250892345174745122543273868197258649445880837713986850659840854577316541691740670521119491662863377322637534756663700221203275243899977360060740427029722036347780482988348551895250794746055199403401107711697256442610050920598433625358470695971857626167766302117478783419756445018380410292032404088266173443390902635223505068285828544328396184809253761308201156268699079991170847555869821503100735632404219885695842006824399269537844032022223746281476592306055474769368305765496776904711596255024745078096248374499080256137509156223590810105344939417742942770914451666687004152285446380766153511415564878549360113874731038287733133883917096461748290631567880651827617657985350216659986074640126748841211300985499383371060319625067027975243101193773355485370116946748588883630803332877395716562753403672721807056225623263741488334992899702589772992240369417507434273141941574324667945785860398940750973563636888156721596763543806655939389343820759840612160643176644219026777737991455799450314687087162662265241335905699284940063727449088216352429480225663304585536363372517620490746240629389623906220304248726884323776317335742057539975743735084096577921808800894205906625727823076927886564455637580126672809525273798280300766369769281648446512774738223970617385675071466927482203748811225639940752276264649946584636740195599737028383931198848223355399649783331650084674912545229565124093909637840954169012346753752801390808308630226533523870692730719846546494549791011342871546366955434374621543918865260853669743665305885621644116480689128373577943415306094784572709870379769213462059695388438267608276591817736276699187278037542199541724283357910645206137368847085451658221931586453770183134018188272510999229176147118605291765514228811235662172416926806206488453176151642729535857983754123758761004154758055957301224592767118952773338233560433742013213928043170533794636464283519930145767064918477077689598854216479733717696259439386480748936332010988936435283244941325693174383235092582864212762094734328799843871982916250358863688574408960916197675530236361478401862718277088913603989330772930602967177602584180301334754744060932182226620770598424760826379413885986019352089598219418857238237142719303493545182401126710460730974126812790727264386856815447291448267613899450920640987926476925746988123346429952673082374057204061437487008670486125995901784249768458447368248279478247531763381748147995710312033963452267434151237223224546265463283535642466277864608398721791278430896416364222371528221998608506001582451694783189260601658274911427749335028655037276910681075578264633403992192226022085909678418600138596538772658262446575976940692405418044447384716079014497430180558893376237612969182292347684537595564684211226987316375062499711822914856896044725277600939343435583391951651329856236458931491018608496834803380909327362610620547959704212986698835735604043471283998012498022094668510934904078784501021176842763450791376876097469006657596830435192666765639609226488456702128507448211848361029076891964934023006417531734839147589166720230692453471076277197925249973285768903886801417803137994836510895272209465913045066566582585391746904868726499025467659665991645473651342597555773973485065284399773844905139058294301300083669614556697485377934078812772157914872107192588690892778787329829822145742332732659879827569508988453062402230364863477229670565241270358878302819400749805754390162857867455313271976526071076431531123915260772193621443460960897587269342236743316137185745776081177515180696621047955851401300697018450070262904794925708371201752793785549576273912455871483320101703618405216368180173414250898061606346763308505041845858166293340934791991036859130537894821586517011812101133300066957752327866855180782567528361494949207458373368458136914079775959252672739664234787466143998196480810367050660052382691650551446347111168674281773195025606429516379596594756449878914614469259366293093648048161740598082142543405252113713324081139135799716228581014191034104605692907824989562145600410456922214168308932366625176186962717194538549985514842751733692412026801599280832014583007544847423312643878084780850561043049099993643459051951874948436967727574733596708833496091574474357503986020163976661142765369526704411552001939148429346010151295311744588764830703716773961542655913990830375776630213099087127198870690329304701241058615063998529981417578043034808035882032020110476070047557101694234120341089156439478253031645937304375581946867525349532301302767823535601166413111779960997936620434495696835479307543113275586431897315151710644321892497932778012649647644754670781658074061312593752718474088161154798183078167510478092914139545646311605812690517539535569157755804106719812316384052775560522722237647118832332230995850689710187175047819065334948584232597622565758418985291447178335173226029857862929434650563669321626276738162459574179326988923272206666360819924909888314685299409913867344460496708424429782436302329389103559656017399422019886902572454714016330096121461872083651086881853340606220170995158270704423370421801766963491336959960643220053288734948931359660304243808045659447433356783167270372963636759421699937952167095692396057684641243475428862162451491577930404767533480530331533075215415263857105254220909377287321699219937550780887294110259760393720794946307738163216276777582315455117121336064964431344986130146983186861119298689965775037845194518547241622069761308863070007104496388988583410335555028595802201136585427055577655626689312847621495362883075929165070677350669253526446953360563011006885856093055331423064649115774312034182664087846489898334364535694144513595652999463531948732358336541499120918603406996578651393721406278363850847758871993500574790975755758211754053514355238666393316185237052049679912511826761800807176495556618864400431651859019615673552706068514364421921373161002049853883119818649693151904937192162731027988313377592687760026759930224440553631420191642774119013701754151704024529943795152923621666956192313829369992370193985317269893738599142212903898486108492674713825921068026505506768627781233457339599898446908183550800978988380503075726629086750283092575861456387836562949810535735929174964616231377078029965485025502643109779347373375243794832526996512185009970555308584003098612467304329297676081973534921368950084952866466408387282860167086835497651230211693080564368723864116436454489551601897109845224918783798909665701950783443590519122787127557577334141519657398998342509853949499881412438678344648738273761705423062704765473182646310922913933596186911797728317918677892664280544980919405935629984148356658448867416817973381642657401089408594913000720215887180782522545663986218139804903052164162647405833353750400074019448225427999371064849155405178059806776121547741997798637159552028275044162595213702319964155904084229453708450531823390695742281802674209345929431721766647055280675541526929351777251263739972104464552058415757504648494538273507649012383682450422406276922934599441174968934755326328234270149682169806545531725523980017720543071270185956843695698968216092743814775248612680718263033087204538586555876898112221754536300404897487689999583057264834275901388584765039819305800297899044143207379776841580319592708789862036868505674282530926161399051814590899563863113755797150726152941303174454924021479647460069670312786430190188203267162982121142523673209030557603695139347749227219625275241909792654358270586191438262361695965545706204362145369148225931056713687621120204182199670045863054864714353198765301963307776902856795432420317486954239788971024668632587351017604818589259738664418145623277994573009543674138413174768055344379901364553268582476749307222029001762420457289906332885399078510993630983537776936826991247052801237782324114426965913930163915557985267058941279262994994364636944701249522350217468321758884757553487463131851642317991271006711369901442204240640702633746660630790962244891001295229536040366862895544663542375548418285246756103247068124830249287252538624457985797195934105406087056287060442992919333749843029297675688686127749740454459667649076892338661901753233174704998415839775559554514665114725087920008766003548802003543416100203051835360550287381504230248882242019472893407170858055668979431955715757308711197513746395710862112148740722757760326364826650986920748322780935371351640208906986762214064701368239825451080753177118632286827276337835282121741552044334024357008206415543717163496456431952008926459760284143051982969882356951196210481556622972955894213125435152133658865329222242904562088507416107769527646188572866299673912410279203467459044115502427222815508978489258087231230748563412816256597230157785559800281136810663568927397096822116910751599196343873286326292015087171334406687939079741474643079793330808730356987193178993812578858306157619839756417436256476217633098741705880599996528014691722873715180941178802061382749654428965926049964718219582962146712120809396443480040704471241624887678231582001058785650323780992904175537180574891403002428843917703460489898294710827705778928174701212451762531909184093071629646228122368029733236661244358693311751696663476802946292085220345634967928896704393078067915378487508500660899740532878404220886109335439813321258123230836112444082115128165127324991753064079589788720189172207346793950329691312688241942158024605692428701782184896890380940974616032509849795610106738330990800310306106232732807191039338578988036532263312885875884933597646996559047853459179765190801397265458124809505028742796212642892060967159289285966627519118455163712619805169278306447535003673908981387119627115074426356826224343010996323081852112820948605405327069433136550287823250124266960919099133269943737073413210775020514462647023814062230125854952142993047684750225884290944652424712060172727729325058834436511045297384739359420726268523879310868290308096555955901345623955423928523793118840259350052534815342229533478035545597786100869853181330625739103639235373904283565861313512838845227336749841968225502436851149378552724521776559568776240990530262561344081036836954356808523955230526288150950525071717734155503138776391193167206619029992444351317614160148431726284428377383194468998630617498342824021619302714257705767685412371587163345276934519904273566935450403752546390507874778250254082851911618196061190066597929590807661072107325295887324180570394304585929099203645141947522835777431024348370764928141427170991901280941881851445753596008787480526212122899662162777298486202017187748836910463029056674116770388496831786632115351195604534398605402029322334716197028909854460170528309824781774342963959894711387103056174352382673206501237922623537936967252524386261282268580485567690465138414920217533591561532406736796825992813763180848714404771186086978197030276719080104270580339184257871504176823881474907731752879535550582387749841790400903965624883543933105168272641602716746031394402158051860479725100742328104484651321266400741488069842003551662668469332697406922026403735068317212989943623759264996552276802293898120037257341596342563541587412199759877735797514236467516599642736436261084101718552668679780174253400414131876654162848446215503319423263021281174808528341271604175634262978961863592147328738736726942036340525967341388118327033627139130141077772870162564076693942766228307117118462429827287230214702676335388911670171931050439282583105378305249539040317587429399353940605581475110142869326455007979770230897840964145619112571880686458052561596343803248781163991742820377336884793552348817078883700981323378426733854156461644501713903843359523820395278990695661583017768531938217761296339495799230329794823330755711714577335454294048180676525162231712524574383333677448878388695257671435775910557121941361661554081150211289305001549643975649595837169530400057982359259484813133942231074176434904925904396419889973399592504240527944184531350724202661454002563367902345183618867276972905298854400123094352098452785943333827722080256652278453826141994249005074973934705490693986240533073617208324802516723700056749459258632348524286316737089496560275545704435734071262872372461015657166694866286582338967574934474390568577112825623298440931262863391225647255223336200758308145756114758239474989044446034379825187497032499920814288011573787337721983292757439678019103291164757079039091901798449729639050182861794643721092270303378656067509511067869674208819634419944776488923053243699020466287546167971893749208532921574250006128448007742815874382243174012564476680641718755785178239391385511373448919672368296042736618483210205606593655310635407864581060987433977473140752078406560743249041921630389053128016777045888929901003054424844365670197052452644945238948460616029831571147160450796370497372357488389032876509979966530791915152607661010546346820950265180841848322962665275661931285294604985723744037531674574794142124582930398250064430515757726949174631841090101109625026999036644954405425421429386805597106364675865975145451499350858381702985506065654465628019321397056075684366389678123768077259174231919814700591704492925031706893599876104149719733663527289565019024861579558774396930689906421356517123528230343933129629301618094494249464462336343807640776102802473593255556266011505834905323908194571017817660308103218110841232800980169254361291236285689575353727085150490923138860506834850681873583244794709988388078985902248604021459611368388700161138793503779028272960300546488489682188163277795710678799410997521871153748352116904270133974737029354921089342728616091112748765647786318058256945934985068468048618926914310540190857400146213626341507651226328270596562350133432174572957632510295994660587386191393649208290825213383199126307446352816393601074129069402822300414561077069691252625224523671188006654542267987250687800126220762761646804480525781666596582817879462990884424788232498933854898275142949104198071278636603385524315216035033432807246882042169878912599492872355571452519131289127914883373764658336112347046914194722665387832259378017358943188120093207164441609663587644191356503912100319491900473031959549970095845493934279339454721292730409198974425921589325471394394052950415038953716901306992039691864195221460315775425876904333898561918414204009098362376746794355192861800576279297134419388879032874281886917022461129120963320974978449277679597927043672473453249411386326482312137953955107259252663353193112250317985047356431232363209816028442849858102687685887257814363441408217647102086600697206241362591926740783021488906591036901633643883372856199054842237085964393463414620782227372884532418274833118597700089354945729419502575391563030300286963448941704125270246961278815012057810797188071827583574257946595742843242197903669397264346240424365363107293077148803892880349003039683588796020798911698581495357500793364701255337842627956247164531880380492827592665311805207226688651655883009429366720883255147510476479684795085778833232596814660463997024366993611006131303724979683106219801722775342674855375011409742639220206118022378835947762391883315161099606855156262506117063079221350179012789483490610968320150646920159792058585443407105777268392178454666198010586616463885944660660107640682764370555082066808763297042358494199821444934274543515794203230476700551547943066559938460751775483712772612635250135262479367567452142566457156130736411781949231599234393173889133206474458301496668342247355705066466443036568290769406026009807315031495106192294086742906862553109657271340975687863813339096359495410689032163446215295304003332204914695559613862403685057109085674195914011036644423065314737140578345537399451148674290158049325613017818079743349928114768318931987195494610341059638396105902790890701762428687667848401922690512671016071328705485593552608245215828969218862399857243172414706844805555865540875501135112646001483370690312532812627828545562987819568363846495693657849263997993579516021194356811864509071825048378049211276857517372603839919851874996619873896172466500684719691588834963994887760916565798232013532849933787661904521677668156574215704917757710878614587120801745456504918651001282026438720900158924381884470281403839402064376044502944084203747031086566226966262255398178018245542581869803913973122911737303804448818103646555368713674690975718031378894432804157571671109204677106264315681083993688769666371680095839216968650869736257228529800395654508227648329703816528510985689739760927191008448267138927542355246987425204170756221367514883051534954321641918102482304219385620370060642669841312049956771564338752743155523493646561559032874349767055239470417929614869846923252257112257663970176486620378282608636499174603001798371004541699805114571513762359602397891809070451511359736376500589469861706211528863902903585442083346721784653453521258199899626467447890357945288105792983856733915772662338249376337019905413036376149026883757972338326652135682644847251731108972266175348120089371740109043230646194986611520003358529532642422722125561455436484038995752704561093473423953332842868539335631446762443406566794299836986497115569252803956967573854062882690505811877885850340045374358480067945839080533562654170485021534329869856768343205774896033671377003177370764160190995679153973516635636443148663979016777159537171376996106084575232812372297529288636165324798725902508751588260425103982222524736300155031729747556291315020275789169392237013024999006841234891302934228382845208806382583025709932961422577146905831381798895826528606323521634840763055058438142659548613509824310573736698540004239310623164367421949416916141532655133660429496819289574833258782866300908476424046114873411915442915287751827119702507217696515527267996716662019101091262904768695400962300314052436793220737738216934913156717407979716738103266788695215525906097563785882251568631371166167710951651373259866280759191645908630225244878538816914557728374934077339983323706266980220694009529586116943251741618706101707719151279380311382487206253690173031213245572050657889426610430377529031248185612269016686324375582748974195868652080823943879668817470108318349488537511417921190592189866049454945516837287467507027867858525273349197112997188193089768708362945624127976948925564457840444592378096665632180627664684602120922430961789081635222621301756520958962049326008254733144407460891821036440448593238972403452569640940376833255187789658610242128251386400450188371891087112635405821618076959078298431941659987897077198077310251250247205247647554378804231720569794498176428972801095849604896955176503880290947982494089061993635090936870024776522757386849265025458799498070695084100189313360694912140819560918523962821525369223633367407474705090936658158592013381041219728486091815431156464909980449507958026964048158709196213373517285434194647453335886152886493090672792194292437473926196528349574559911216050238284012402080399890089582181709850766913491327724647417374555803930986919448131271331651423692600892196375872074914612334795134529543270566241647499143333838307163819913253388351885983813481238153101470256266070342691126705743994110572124037362961357016965922999693445698825096889433386788983109102987217533580709156556629539643474037340708715232215784751131788777333971000665615062526477459331361364046087233262980288054431846913244488007775157562564213309735703558306171139761078550749825606757822921461347125036900515214120994670285394445670985934662595067703939127423603827534148801413719109338000019947894068931742479004657408600074836233791056161884829312662228565402979665876480432062005074628418060416383396126373869521362058869765838839938452769473949542003038489686269870181207235922962458165015037149515443697941024372703327567339671054949911116709267863870445329768912614300087821022221651303466406176678208149352341730335056382499285788492238621977080957311683401271666226762949836227998546799941225195852898918345655689990836866928989039535759559316837386503844476663380966095580737023028795482233586264451248570022221983078597220090391367908322011305725310974599378123306502307391986775605405795749455045211763556218729409570484612627343445192489861825459089651390473877875863484502277422840364696191591619539446197206618829812156705023378037261685525840737105439058189962840666895494933622165804730716827738484962566921901057762708316863383017818191424695618429519832489914788971296051484671809298255852167030795556989026143369974069539742552814595071179593400377523544286429424290454874981218832217534232157943271471286488573495918919607098666726197310828244903226830039626221714470107103753471969031338740648769066684064185269294405394707153032678675044601048759023850047736521003504513919942462329981662317815091211015224524644363767946685351923196541823360689311563624579683148740871317783084029480587524677753247950936004130757392612856941812414788296832335696214179987645826710361312286585786154653854829718528647776071369168461909115526060265978550648138966262051970056310510428855217975447955053201482038143038045475292459346715019068210217249044569870162102099807064056229552970018993928862047107894394254691463524689989229901430983607344144323973348284467815465097555313971100677152380961848651305880159586582129579085774854523649937956169232731120906400241306845691708948829508079274934970279954790176707806006017405155587297912627754715683467313058290472281055672751358478347427361390960144984045175124320166433898183280172575616265719326397007883939996760609906098032675269288032204827750842803907914503869513218574611710616779544090710318589358517658616320093250504498152360516635871923591159175286228391393267412444689559005857922853968511273604762486565098195685435537222583365957640300825876760803276910876748124953127849811487555470780465902476101730785224168917174323380338576655526049510466486679742518439865713565147573688449744891989372411590331883701199585512369423890681291988842150370348339516965701674172709428201669981638843909552302760035682016959087763988304275601323537695592006578139546726173190030332150533406846725754169323191214307954217407970487566788848765911953210783126653308174597045463718033861316606891405112271470921230450439670117687930668411930066829707853000018052765176588746782758469841146310166395599649469658210854604998446875101458595781326497235376669917123244290161486578197993527199646741688758424902595396741311392096882159679329674328528266564717910657399668557717117899011868833295175620228357322494268036575817062412257489564244213186661038462654218200256622289859078603721905703232150188992864596721230415865364810715355390001846456084064937241415389454319863057656876433743912184909035536621058635147619750562038168814352244819901248292059949734260327583803909125403991599309474306034866640485280176348013139176685481006942977635346069808691319721579108787034110443678214195232170987513060855464374850241134009929871978578998624160242092880861334116324550044596196960523730903164600130398009404674276059083390708636023313948993349667085689805468577173724459954069024506948324488644810861237815004852393364366447236353776330679837537621879069149685133794033728768424644200908573550273113670803204595447646209666487985880885699092632390682121116526996972837258478150648798239843965690751930114339722308115304692775670701022101679713399351946456571189308742038543562378280522155949639966403145232275805781885660194500200240228835758236981435846292900252530791515495783356119692793879852725452607821489883587300672008345160778110027019898579405321226009091313123259252473366603951089223998365083094840045638925399617906130180612729625187239841783272040501588032348869358781636148595552164158355486851329172272360510631487708797014101940968110513650116910958683720834680820225318819643706240777585478997564639292223023887432400288281273835776193442351788890420343851137099713893351121773816703031686513304709061641833169898200318530572718501050906002961427294085458232819737642455050352746773274068883741083126768493464139231659942105696194850100066295296962725251614455523483504938933817743175533124619399828208695232614803338753281405264231642699241614114080162062832401288462849355342623576306667629720486587618256462223896135585394960829143891771828084432487252301302366689653438780186003601501716495466160879805081555207051296151462707061601241293684171098062784137067723019879680493068002228959073392255264816663996359376411361015518262958170645872773800538228950464076150063349579335504037185530446211619594361281072634614735108397674933482923850685998070378380253080012420866817501999005795623608800084758378292259035109426005934620028251341815243915568053431771459728832509257476151783292977934103426275503282682665130447401767544308723487228657677489806950611597467498795855758188387555584333168210395600657023520351909630026637647795177730711206271951666846318757913000391847961043764149945995972126608600128185847602787061129951996189269045067812192836772743606022497135141995214657375895617035015528220996877549210979429578609511658858591461309942772943928861187141700630939185509216206690638163633712265848192970661291019120091179638284435779376632316958235408642610068125907097023286684993636077544314614336451466392001004493987209138052922829814802432915270994853499367998446873695258325945960619998978462153700580978684441814825717331873038925182812850888299471006992775807335023001503224349426919358922416804860904307844481827944210626038980610548073441398525874100610190437318994005769043242972104935914078770719352127494465777449010526338190427484409717331163417266255249315171086194818647641315427333822300210504121346148288984214039369511553830463435916358320794973603246715318717901883611834745137404501640642030396089084607400994344313076971106501464200240100634312454042078887903916930173400029667104036089074724025384181150729943149583202235649093640844733283566351223355082683012357787800591491010951640143831621688901407639617816676143922955457946872035739689696839613102687247562951758746982660786524150448730430399616164637180294087082554864454994834056496322091031709160089475111885530632354777197193588464988554426960628935052468800131786262799950533777883113043221839438197036169294623465974652224790734015872725477128892558107482994267887069342574047785865749517224743691777976208942917252436830446766005429924549955105248645909550732702428130988891738624423013580417145711686810206930084321378641208821652508563844682028354260796223781048793061609621209005461392776628412734776231328354821721841419057448451819397510544878681989844074965489190985594719696018517582229688875416333475224083787897357730479085774474556128328216021554058274034131615377030625868349980552390410534090337388110978926584932525028164039625137607256337701460691670665327928042276404077930632441110327756963742944844906868181272574887525159295077232558052289517440724834412509971240442450029722415603899455563224169852467764793545881711463724945696450446643897316098459205322055280350427087138703658545328398600097019668150755886502030102225350403615471443072120369398178373959320055933844780997552069140526732659453104646430345391171705280620013823475851372367394113516332351336394147311217218970178943559038633782458202380851978540938374138994825069715600705818697171804888771873055650821990326579916709913759947155488872490497104880912333615968150866545330408974209189726303879792249171959311146817234976970609233899097802650099916563968135915612411676310501810667060743300262159937951361380872276301901380084674979740453268080871169894498284016415504179433788062151671222463844183392743601012262398886143156316404487785697710227558135432421628966656107665375275811225299678588048378430224917229383075593201623404289659209025975017549923260059801499833192803476559754530187922983360820077163072825052756535455787647930601527151597140583311880872037086680562512923058211091723625584886238458914265680763014349540741715170945158928755016954991118408581782296382580109459895405935700944110840638361054589844800433614470622041210536677797810318712099551878414897734690307014940827816433864479878135419286196865602737833510630114952188724773998814425806977201153503606704544970873319917512767478622575126730098342128569751444644001646707197359577237828800284433766494628278069202059287177907544176433495856681230225236835239566099824207674960432278749318108687048808626692492085739233386376145725686950583859742380829350077773501965071731786244430830343794266951315252998617712303966357863935404712395482567121060644850434507625549324889389090328857235404914167592384059577267922022224263342337675557898363164983693967543364791641374899825287295861953594022892668425742755632997287563897072188067777185599594071090283315973789520087878040036560908898673578028612551360360933104245955041447137734649988685443067742625474139905764041842567307353027057952807498556013560896679374255938277367701708835722390086499730417896626163578322252105782576492737390139850130614681688493393126975141006902620337498178671460585981775474282699683091424039587312501683318629617897238220195555036691326715764049281325102831426595838845817064663708438337902843319771857165314900460564707727649865885565557682865229006293862331202470448299765952819001341032198305849998895518610243047618598289797145233221404242996705494038243152056627798740876441563789858229128372780898089342311419764918946032567109148108022261204756578342780370008731431419634866714527225270397692052622742034265810438844954145016339160459208281075122467734734219319896383364133733903775273149994797021224856358549589202940341941783639860685999127148270997190606147512063295260565843079875198586072608998682976087389560077219388840070577752014079433954401001330390276027069160182404255347438654223588493553918814927922666353445540373882050703111998202127828969509643246177450393013846795823791667766600027118767258119896102978869738570474229680986450090435068358835201290382415487428063270371953102313169514370318302079736532122701320622961303329561649462042753600861430349567434300549228225652684073266368887027033477771799440333285762547849717783539792673711449981633397261740147231783251008899320006871507608577575365656561283876420165249134353540281928025141276930033748581787659378016098436628278550029351704015960405675810503045839197736115139309728739702012765247514501510319553174094446190726926332616366650749960401783754386915249731475761836268390833750511015034623448280681983902774413891603044804580178211837789393209226032713519089119282446133740978621428532116000555883419758888890312488190679097093328099153989607281152702957535362598100053255912763828055730655434674465666835647747194722831623179066727361839932231020765337741877153726470198576077054412994190393854276831341324879968153670482753186962876145958422456204358927028125407135833655308593971027040228614738058753209907015167548603725028227029683795484303150289704146035593482581285940505682083013929743216074884675156860089553859401966592052027857448727295897957525870930559359831605497121941666929156601091322261462883644384024539006037802554777987290481622756430167978468703401526763475250454538965702858492701908817029018939169188327962846518964943406415856281566868233598105203852095586156706360053318422561518637981530375636255802888163644270724126953487408316184435044442508885330180925644616099960911139518144302684890896589140884275695557767598161956309733462373007510455820074432815468758588704378369341666777136926633865189570947731127093767138682181249054963751172008817206696758008497539125176658403557475598014010126530811487246071571413520621260764778162305786659679092879731183753837156492337231336150522985690288736116091482911515223041217841607510094967691333988270342619172040427081555065501005112254761991950963936857657374498172530794956982332129365388336537504533069742449999851708868190183041412726444319618605211805802799264092234595082780001362484864832828819412800421561800997579559868538144469766619650624181905898515598908191134160355267500590801406493444662871044417815159426517491862242676629138568107734856800983163689339397663555352506627237494655803143378609808124730028486356424434386120549583086307570800602825434705935386707583520689059946914895048193097290674690401236071281901217210511924259255442513436642947386359771942650291271418984651872338412193981462130854264599165834148968495603605776044723463823109371499310221184756734702442525706697575591344470730081168049288886013457155593442364025444097976746349076116840611065235233328848636439704741323848865415815019700418713915706646783569946813853491725684858941234030799646961650669878190134950106752084258441805484289263681914778237817967765227591752769624551076301046757485542505101938653899948384982421140383120477981153021347138837257861076014276761700070539850461083697406173766631425310582464355255149892805315542734501800641317755701920105410255847096005860401761195029253743079564426615851165069730889144657344250925312878651810959289327036508906491237406175619104005858975241234086977967872626786004401298021904504766249036489522185127439074757058152583097095869834821527288042716773138781580524141393962296246096522812979565189062098447551717331412077104332023601672890757668243371908158427614248334920144095948934137432004002315271468415807138063777364896587567509129835403999565754296836979913450556709016879999520970075304392022533531892589258688787235598699219717015599986779078172738333187695273107213683610377552088416714017824054118257109213782143850145943717195175154857770227171493262254828846451673550155116471484854730293879134804347839091164003983544049041132206860542106718253398660594938558056819974988615818668454444680561313821130218378941697973900751075687496398638825652650073616950120283658594793652585339156066654965876530819490713844203993558686887268917612136197610920939099503654161152253876084166324454773233294538362400371765564434313900215503237429289759790229497410200829108168678566944721289664605726849887675322646510431570356672742829280457870457252057248266174914224606197125144953762946386309241363877957789772135386900533431264751508741863837842825147907290017606464684011475533076454236234677512854489388333532523664552330817753958910213739986083293458106859152027445755224894973599358049190883199261967677410446508239581914950239519171700356641079488183310087620809085668657379507379911743457283230492110963280457391049360322714995078580661289027871114977553750021103859076322501263229568265001483006993647822327569355233637365258680434256025109422396627382077109518638401522613685397214598442394726993510486365183156791596400047679628998406027978037696465651955106329128248461385585414494917008781766743368892214483158537135381172024296301158274785416578871933213826650989825951828764319155611473388956721014037211582110913248046827023875668734333890078260299316805361056597386756032715127542445116309934188527950350369220236967057258939740806483175935357860383322108402014895466442039622911432825907232919935637853292791154400436134201605741421010338242577735602599370837545601136441324385037577755389867557129852937951713589130860163558116093726109249811785171527561315160759861042799680890339951712242036759386124862023009541133465636081938643097371691113697949694396334559726276005437385355628686571735845963512377424617051565356618218862224765034133071825938334807384985183942672430737609442131394766181473392727380696935614280422699373574860997480298822031087609424089012541580471916979908326253366728140065645137953517149193816335615455390784564770327807624503713913351531441546918782243862260212403416101992707666756608316027939132680525397731768068551901622590655311479595077007756014478382779933482915312811412388642559419009827470250581633133322210936898619349770587657157662092646299067386030855574969272237743998426367404578111406416563593815497333555725198588204788115453463701771390115861840714069887437792515012502335686946820657916108958412219018585495257759969908435475659371066541017557877054100769086121717237344372909189171535991603181759383072439086766298661993204329065701276216624621267323844317351559265152507375512973914808400669532477872658258828244834210101229201338532560178787090432781610421886526761975816862867489896964145906076732375683795194376863346198849284234876637831674156734820164868298034237528693108517689621054332233340687496174926048713613024527547037131863440931552200708273905701747684349191903295614819518827957278492255794674207650791089687333691782750461296132859083727090768863220383107836475233240964883382013583708396777704407829497766855549734608220100731125772616822546493558180962036159437014338241832314932389948715938740507120534384075690876087740225789478195661001276905115744248540746235873424831530097032471309308687647799904440438983722493005466737843040637463853480208203019929292059680917934893819128080125120993512765844094552154754054584957954978074055834251627098867521461437786959084510442039377284083592326234731569028349459382207091745476537975295624530125727004229406377044991298887706277860399709841960391436799574606674689225952718670889249738361028107881877544067100593940724694110099172088826988231063268716345962286705609276936136597587711311885818054555844408268820610009787030574398632653577038087818455234196658597995879800325822107637160004324198480914011213436965902775039258821415173748031928387449021555182249476747033697453800012706824024050943476440727979746250363030368127186465562701829364927511465792399575235159395488134503455360079487559597064457135453586501800604342593278697920915723772120349462727494424853288267981071083189969996420944366600307584804817899767087672178115183962904139083949183223339784918790502383007931096344032381348113829999893136938466311531140686063486143949614665247237471624917867282928647420273911060414570603721258460748007892413431336059522664814471358852419703447420527889489469666351132379597850450323840451194022494815091152339335627447952361992094998076477099210824089877528979429502535734511159671290343721617429601165605811739599145184136466554632510320080348294404956262513814652057764394038662732696738940409821965028994800212513739297772655660529820115064021003374964132093324130803993737454465003438361124447492767468621843282850115020476676640060676187275761226199597603181152434623773099081403148428674413072127907292151647400888057635757167126671537449027824524699964775342031288517265147721406554949614049257536879455785947285196093527961764506522443096146905242988028694735715689584115828816563237645112418077982243263112871558072795620449902104098105774855448224757143158689653037653288732779709469698646426836627066554037782911180163606359075105110710704347797782646772572909850795568731497871268055311716616247280402535565980201708663073689182809460042723222681850507249805996600682968536654427949640696595198287636651530809168871659676894812601267719854611873926974937524151067598284906608798785603313126529802605186369128395251516582652121125754070937339966491354154877097163052092343667524126639209770894096853509740747771984993358405286896827521776951027604747001339175433009199459792964268397564842115212322038412724935138586683315270719663453400851539622816542305159846940220387717687513551159342437951264689798770906469566866760253905390759139785360196058092337824778529663323585483037886763742839724795188863255404248555267732906117817595020671090273176398414242883583893265102283715170542058131061407440781621175672074669449029405074601896462383041333099324308135040076042614495752071675276873022086671256340624866706170590049153683188915616326941761587616572272450269095604422102929326470541540798098538729621617815546384985088656250171449827551632213633233005010680845698194004008296880655158181589177505944635269598517911145084327164713190735818378502330031718077956072985892738520899588750775120927473663178686706189517819712367294909586589265471444543285619458521909898824961709609346340036120635973273342510978367591617353495584144825570848546330248048634364684990693983633676456815793174556257390228048091580227260561372629831683527161647895557307001380237377947491437053157110814376177855196312940591705943753376329392346718571454585437946054313942595675238817135665778384530069010709453972080225820094910175735914575417076662807809973373945941792310300772469347534935860650550330331650257177932564154503502426082470605721309981626049812381394556705261617545653173331248576079163245187611527727288875208018396476361132988454932684507086368669191958901856236910609892024253790651229406673559476136967095951352896767480826976100504862938956582330693363792869901122270411003531711092398675374943321458647973203991006348256999564505917990556473283731813429713550488293217994883098720392911050855655922592754346220733837560945873994326708486098846273150512955654199334457655208860270586732362184028478858872929454447828379721103675356361667772421147618868177219107447439110813545459516489580216800126430514565426078540431825860649656383232014675016909783007949467318797457900379442919777945230898331743089804118177502054240348268210352579916553132917190544091052958393756802688387175586724941897603663835816056802936471502310274944194359601157901501996525504493765001384038055746730836417450049698270514846934652412508812739636801327124158293964534288177581798300934506224792434770128673585572958707790950737291815485046172245389834131118219805901359952814864965271713887184493693975556141970905850416467138239033941798055869529191604865643018648773356416735023012064439171654614319629870373683242830460234024779354656261337312603917377304913332621360448087653812337122073227215851288846199563161485722920631174276335801547072487068913441313433167618969925494819506519798287067802001289334326757279576804393577122360825674982177525416955867810740246816236484014332036483517266902136090678056738484866051815634300191746080681530409500966416105173091139260022645390193226427852946029380486243080772264421461746823118540942453748457635630198965676689129657152761695220575728034229526794997425122982338954803392390416222241528795414208427038005380505820657226003111045327006850386646664741162240292618136177649129920187222482940054257772396523360235582091356680621116594063011541365845978802931272164427385805925254568513410674339988814495858308521794309267627549824854244919149263158341251652103868705016341530574376826680020051265803874118323437783075861140687828542511700247512255565348723174649896874043644568100109615393527837829887149875408153874098042432828522000549442799382521029524548645687251207200116149973441013506755476930063823410775291979034663561366177298010349329559589411057406218824014002203256162197744476757039964847780540696333331611161226262625066524291298656269015851772129000632021055241462813410386188644825812655829527819260673572007957296379398720468102879669926171217687753901805486137240816141558019354613266406582771152409975632244377441974913596905738552780215750566209097098189573633640874777170393948086309378495664350177905185451294323340176931735428983857986854009822743188891055245068667517305244856719737987612932562966062801319372372431070768334955895016715785748108399892449613737615365705583593054146386384741269331587465992906972909833110130948174280976756722078813869564508597904431054664747587962572220912795319220439817698190584461506330777474230383289196750165387414870469126017247780423807328397933498083614779389147739593717588038823996514696679665409643424330479596746004588187628640704132187918970920842094853217077246543898780811266334028886722550781576174400935543138217751310902193104459894736563900730851367215676980891184272531180910122030696534331029865054842754453025622204085641735780033098112706367923495809479156562882098219430118243845786945801418434110052012741400784549595403191971503961365417268723025282654682982582624072736307911046025698972864460887240500550265444793304081444787778284538060848439021014172035460856589489300590637546335829273110342591151550910950397829053094818185186219584218947045220684404012460246413505794862491518114432060300711883439475804729660312366084760498191088907968004456228378837899049703406264359370626051823993455275005801078002655004056792477126089902174503411283753048760404490148887999485469896660146397643016574127002252655961480094178301186721594521195624027494729048959998415210872620621807460903452400411083975960431809723874719913753964675148438644007935031329212758391553168985645678677826372351865191202617760516088948036150557948955349326379205610681465962048705139309607612146616506426012809495830515903773416384910806293853618825249863104456278058977494652130138609070305541663597043068458675614175400808793738782062539560307317854048311279974309896497838176681369036699066872829909467015549070868904697850748634337675242080004313632807505009364539857318602586355040090851158422520413085031256061103126311540075712140040432520431322331462853109394689041864235142754010535393391200777907718736928117670319576104823060077481675529076349793174156141662486291883020486624871027500909586143683231496794151412970518896303507187108160761935327053131867527868528825091542071002345682932162117754999361084490756773360274002297926260273608935611995622107803188754965694880971602321832372366561666800580185298187770023835778914056124012214012788193514924423455145428688072641540936925697197893440101085641600041661093977819579140733313765559730501551956287584489179236393742248495111762684511666762726806288114205297198854417170400146682581413155048723035702604456810583932545575483286086547205395046992906670817595069519877077272870111777028966832801589259632371462107995015447115077299269869031463744690931072035905636847360243206344374049233221230685735823696887323654435744587507492135795889329179121746665318630048791532019561350204256457213484425838735374129189912751542431530444274355926157924457829013557722986972288419855469680118540481484168442908385727583418388347865486255513458484652470714962430030869133154571608018581668731338371727308839198477791870480530108348197342701224261994824658846485851256561149324682671271191152999675594756996050951351704997274106875885694779785077796991065207535114763694433406007512404713523384692050900800567420493637868501371314316643003833728034736093551047987718312392211806977644246015197687028942395187832847539703817695402843704435026443447612761692333923472434646230793112868452089764493493697013435096815856956626918649481944334049364067335676788234598981150820803741321619714897424363230918701056015358336175061924807184234759830067595473217672549439342657416693024813941122139842722502860444099577745977529786542865945554115372133361342712473155018215819745431952780554898395484781961998588879928958887169790029239320192923813900410061907937889590268213536343524751082322537030226904824313306681909339738524727726901812191156363093476599628571374418249828113578553014918753609311713855899813108869453682881023187213020623056907308811439167181417750247954819833095367850706022522194858883214255208151694044370231040268127310397316856832149073198291648156204410464128399988986393524299747892808229883263869425474365660540457076614495437795718302541474266704332298431376222293594405107725200394003532205089482654543209808457913874735846392541727743144905171354750911081996977516866290797447296013673555966319211217139868888816306894076159643075866730082805540904503735369855464395455854545740007011351958746829042941908693494947505683079117259688980493082508806165158870926543591281016000323528329483367480617936955258927608833468834161974237602137523622071896016608998419900762728799689714039486507855972261902406386268419513217189723000320384338623634748526710962080827316956229096320185422238578758679173903137943223944297511556382738561285948491113698956925779766459402866775158770021679733076906974879070963047569336956846334360112282188702007745049749337395989298825262664714122524169700073990610616263212672326360649573652576069606124971518111897309548036880708176220044999862975189713015459810760303434311278461004519775302888402476668628892025176695769306242361319178921463476164676262207332686658388730841086416802580384137681302881959714508976083703346115594055272749309580655223301419912210143764310705144643801820076994068274596439507205899064741692993281959022160191706465901489422716484740381297335027475208721587914765649157289420112830586814435823666483225398582770918978179114001816603817133371124824891237466493758892134043291588485872947102254497809450329355374253211147984694406420643694080758061925631938184087912036519425166382384984737730373522180629272860889828044076986218358318334808412156904531866478996375162560526653332097878850911045389039798251194461517889198754430685251111189679921548006672712392455787334546106835458683449452225864658879988101809907694087069909214983121660393020976326972396635555073159108686690426847992788632643883770640666092493674695955029263500571542776384072625642998000661704714355889977932160909981254610439339587637474882855149473422961421058480219572050877244400874482900587797566482027022060292365440815685891161314483717064098459471893030792587471027419167688774508995340351738511245476274116264712978919295328379591651241782600570480221566598257522068278249592041537224645649519961115811045134174803675944384214279605491945046328738248083305813174315539366578145557985360438723795122548536540170999308135273745373362853334492350990641907379783820216944098325821966556985405432473149436999749396059847653660574855850131335012478826751306790681144197587704865762370726432674158085575702588779759572067626260847583220332964558059037425673911767943604587010380721712736288311105525719164460559405832996888189690806131879386470744612156005944757175804538877374899436045865445733213903290320832397542502878175154315159855181205792049005788416273350516145151472839516410323686404121605716905682826084989106358219139912599927190747786221395449682463627087979683771677354267917703937622502336169434338362505930985971972197492575078951438901592894838670213066376348389272192612205585254478729782280231803561030443500621018379732250301380172688651788931298605596245381834824578595760026625605381227946718364668475590836215947654461015263339528759843873461522450716602898552845953630466556718583263994237844658749802848421679355811201111866514614764923206227373868139572600085174043302777409441122039965016340014953541995433230698381199832204968892773114367852790461345233025184166849368014111547983698506819236898455703393133622845072985653874677971551777987789707722747605748141978249190345068589834156540275635591401915800261618579650646249578800354564397331866017136022225901366879419714684960186013478759973566980347311029823181371176505343965553871718378839816907155133996798724725592599681549182182188125074556659333849687051820172106622270157309760249798115414134783208324802221967102193746388305668648828627286971996197420373859440242937302531174176697401674646646482161302350831768642633469284298824448052638312326317252395241891396142580169164019976886271964458489290439461174663220973610950084809209957679121525795639139551613186055777263991712389204463936913908868609663620043698686123230297005309653488309521624218036870618909039752815408670175239068352182009631043707446145548469137585095556249157150221855807832520927348944295306059254343053090993934166317398541047950157407317784626896995268087969373017373221721693508024375944583880610187242332040230062788374326235918743020687739324185243731770398115406127504654989650693606692758145558792432126660985921122157489238582487055883410430480659989349762457802215097047034234082445168735213173389636272263862259980106981221019104388169687475837475420709668667825026860390412082425791620546242969092139843777879407168946306581878602442456888760914647830012156543878388286308190895342143003970336983742750379879352865656479414057917737698826023194453974914145913126519182823631670345291602241759306040022031411634009415333805964319883937957677231811538469980246719839811484871589647447554223769882478693168855040347639811592919536559499405106590333178254152733956083750203089073221633841857199271556162228805533886739358912609155645599502069364217418011775607915361158366852748190791413904508519006091867384632809246906476547164034033787224249656696668179520515432402525465948045057673518129118812272732140869176040415319880297978513328034722349166610320174184521757532401689721112456939513759174266057986843631152546037566311483420477882711101997662750555046118359292669650585936753069988445845558978046544081221919415624201590511262670468105642272470549173242361541920176126133867338962186088397137645432659023811297821177766844445254191790939445148290080655905620319704975833798819004644509752241813831114553153361350043751601418507162793917443962921279159734565732134530043695697853976393927888331214406764733657469224202548585536796167207832471548995823690126523024931005777987403887465045539159426724829878912799465012655162997499216026331548554002539326689323173739318326344711675504399368236650948639281746502022114674068028581484919558643244192017960612513180530809162715490608242916551911279495781832102802634431205717537534744663837188450814654750957724363733630448634486980292281971313586248668698445909220321134383670465674730417362876953872418532086392561305781515185688821223330395815772658870492054506166827563500267410692245577210444453047866542260851919448545306783723584782123538555240742057314790041178173702531958210825869638897881872224485860494322733282378894113484492908703465610590782572894036275625983955857415456101491718875328135811827307485065623292282185945284229613246741658100647392282637373757496094344237878866085943523104084760036616157159224223961206470692437396033908941478892886960549832786901398077826493362249525157056898651516887258300706587133789752285730139176913057900109484325840609442412119282901592194247869460970751313420227381913276850429622407723923885324560488959398252241243721060480537238447797682847682457478779834064618352237136555852270492854440324394763640497397094661646887328387639818387809226316039735420633198912862860518656449100804048327262342942894060122800641104969691159887160755522539486157374417580059677749158177455794759714221261264401222819100545499069489699985257441806693538674170228210641928784959860234668693414277394998018577666132076185828941725875519409994507733753499499289739610603143244099410130117566329906917087266299885116169624340167006365753709568380665037266917449228572825388915939430772853915195195695199059053352403400597762889359289426026540460412262661237419613771429526504554383043302823699181911831607150162505684647762055870713715787325952238882864725326810722687972336236322720500866777773026583843512115529065481702655688571008132550437162363982559710663261398755119413843219039103179178142413466280172177036783561481968480866350584032500498681077841223097302952427999671720735020368773440282938663011569573182784735353013635070322307582596317081835543384108378047143349369714713722989824637491506435326593644995572093428740978657312361824700945483407836796212642130445587317404691003696423260389375963491541779337849891583172341241080921340335500451984062755028245009595554917999785464994613062660649222728770570581502755347304579198401207144490085913377869746588946333115149723132143808011922907657960798771412279731929595990469124777823714920316458701426888811197029009726711715687128738623364237198941990736596066022855766268943883684748331764033946075237494298885812647189217376266800398960797199853122533294329373724202411008937947310517611860328147818897699591611724892030185866101803907843159285905576514908609601602001532578461118667169225168942120710420084997644519995494865347713358609074978836499255915613333027591431530111627511125508081285105027226686236513059732815854137302181995969777559843393024223365880553501304144496641578748414049358833905410406081111326388556509575837433240862511733304024671999473559229332090586463493575872854920705292046923381030082805443671779193485134231941840066797591503701790574841404779270905789825753325400981350421972867278461647584391920853271152455739366263314065940031823057428237271857241136195434256226934628676007025469978069638562368455247919932344247966964114758894888871136892957894612715898806590976889369807389605570981453706771340485472608924553307165530274509053925504934763249407791686692332615289896517505543943557035557011977096239532234659515047244176185370110853359980303845262019674474063510798990642302035477910943787216189436850451761017551996203934155256396105479892117071978637652368567856239288459540862222588876760401235486573180600518584639116118832540151002253602037132639278535776945664180510662103687406325907278286932475772383404323861092041838277833140200787085520114925363389606993414094486443199975576192144143689450838159830385046218115386671527784499046222486341735522539727334976730438862611495631815346776830187269372945467529174439200607245015058307752689700823171178531247503186195755615529182251168091037448842429288951069674732621250663098013604294098522982643402628792678152043559816908256905823658417028339668704028980103843895045994759606291109739883623656955689606967376441176478543327225049664286754079005942186264998935135206048468444104691418919753100164692115179697337730194757769664173162398865548985296143661863863254493483830072034677176849812936506699570023497513517218896367741266432092488917130002409242762831038591577265217107057040462339945369470062372155753870152889474664275878787296193559396455330268644657951632753669939685082202520479832220766908022748307248926004238438030075311471125157978908874229856505496998456857928705342074053482136007586350946804455365637460060182796846716158901410983808322824232039137239013090187153899783401455855013231039391202378692865655139354275497692892960295829976951574455651542922421346646209045028290248102016604446979774925607985180294738291711066640038410690191392688862734943885555562852336858927156344336796956359393229490257647154090052541121965212508567832496102780968283899500796293426544518292593870266514846355264342761105206725940238214671466269685137897210881990491371829170821246179884295249535492358341646552447410901404767421764742857384703251474747435272622305859615914669596755529386939908636885882310718362722708534509674578956255289113531138037237433753695614048224706739387992095745485750058185943099854422659982264196662688355099529145290725229400141423888946115222367689443800550779337713771412525037465835226030794667555537635122252418397028744054322356567146078542442324183704313566339780486515694314925948950301047924517822742996286813862964648058954360702441994653724268800652726675037138020878930188963424408449581704194000685626263014124186051331601563698088801942753853892364207049985718438452207113563393444117033381144233507604422652849851234268872406569438317850874448921903036547716553090080069056161733976648687539531148864808449310577578509219167232619514449869332562519329293060668148380232692342337883323064058839979527476337364853057564041535504405468695467707013139863616130171977550492420437328880275397740774860118304100841081938699902666231579185368231965728672275419069128371555324428798580165920365109482188529743946811919666345846096289585944663637970562786601390696708323731619875665020451082376713212087318275472777607885441878545997853099793123748220059729527933098484582169869579657249039671778739423799187630287075566251970997026596361847884889339790814349693707811259815109197831707035918740775248967630697547749574344053766958331470066389755493599612464371162332168675807348054265420330964039227006412671544528802881583586044971377094418742274298325289454176438850326423226223986147982930088757839041927501289099524415878713269503755006225225841739031965454880266005128411932056522178145187610511000178994326437194498621108165948571466815021687941204762308923403548712183515510043756962278128819526829737863635379219193962854879854183067240268891528462035004769557513752009769623493032237356927360852173488001934115078245419979262086730528360473727390450146670311754055336140210626325924683221054918715686056522390668121391524493626816279083448783793170399680651708138847422686531679002642096658978291172682554342645758192656023017570116984202014628357544040878849549204848061994277931672561498771629814481115789745860020711815482252896463620332276907012117808935260468528486056013746397548894017179690614166452286867404863809786734432708777252712492833581429566637023278904649599687245090211484569619800523072890234445804656791609667038612880141243793770194286636890043642645202485730697500054643453107023054802104954515176706741087953971441204640145102206551424712199857405989797408027850645659981456745057996474294484297766699032209869459521586124862346927095497063430602904203441476031509781749313561748792683415048183575538593268115774924822199967653738496079766495106952744255273613561085529560736327172807725013427978441392256307783060084645498054454874186502402673236244017489963673576191099390486674926211894777226121846129945281608956572296911512643913301512675267679866941354110985543460195164065877416911966727427160614745174749658397647178692944093089957170204339262477056956388761532922403013893059027022323829039482494394058544628236710399202311034486897468615382272476690727559073419756155663243057139147920236088205680500552401773660187472344516535967068318810318227368910275288349348662378701543600332580458858432161569543776300199184918646312607388755440158353522510197702240974034398807712029654285022421522639868569133429283896109750502395922222074711417323276554307025980560794281384949663582597395377145451539410331397291594532103571089237101217754008151558409839054162230356417240250469271344618013576540658352767073075815643826410905019524208050649807329393191426861449341240244624889564654332627093165968204492161690835110447374944315197550583353676798178688557314008764247793317155143857452541586940273735062964146172956727048267740590020458961233339480857236888067045352010803384099862483167576283328775559504585674846384879385686287408669329961000632868898700211751999219801492050663153652621430290087299012537238708635837830204389892277981845638117220132884138256166643867230234563046115743276562288289930175972523455756973176374421229918593565865432866723822944122198591158821109832718249766973772217867949961968232887041370076249810208692736918833664956887955032871597410311211840873527664623472963374075210882156858913551552945337291428854478040126148409278444766817153438705916183825182131114236033032972911220593153257093760291613158972961517100050852352568003685480858880998410767565379031827023768345314045255549333726906105717941115346413391709772895016909140647272323829249794595327537800938744785048222062522797783209362343843999809983207960387727049248029439998012894266688733118534538591372179384796529634333664837949951286592867959915132876418394757054906784510942662346826961807375164757846136006055247560040960685100090923597866258478882332578332278377584761961567383978969502587403693266553528847098441663403018134111681328593863563519226114493759165375596291638404884085893899247351811921052722901225402439879455119001235158975132909375772160703908673684833839524988140949190469883464574350682725192435514062321335437242867499429531299798300930154472655688822221370071866220557958209292760538641282352457772924046111869566867619451615148265224193317556943193052352405408439014835838285575957713482333979694584203507831765996083753887870895660094455938070763680028100489828542527163062126936397046938681503323894379178168381931741097595838626816549662360038019748249320160387443997953076886184915171612594143798701054307156096880149475031174308836795224064882743644868850926975688926869397636451579555775687050516772147870090094299417573213951986201032135759955573191434708310717172446565723108676311361056485644289137036532705968718543612080133028916355406505932012991916647133102565904898238228518115021958598936781729509013150728225666930056785245897418565894224491738799028124079538042556484125472721072176276606964750159268394347522607582219050777140635783669924290730249060708078329177954502497325224336964474514453510766200454021429697453242633282819347949883188174771014942708065200361928658481899166377546438012790308832647620008841047248616896027070352388232896069170249008353154429475292506435703485784167488632520116552130799429822806496669751666413640463852053051938610639463348572914329870126857222318759996349955554817742186063002509361851089077247739137717260887968567828214105511603343812834750873653209226836453621686938014893505424873408800254210633508564908105372937652205406713371752934445753007120019321138092654208951225325076435242049909008722688445730975608377443300008446645614869022569733606683041102499122794070308434969178764541125833578002742069176664571100211561447126516470844662060457575365548786308734182742441864648428676364908589848943746618278065751207066952025243327528427984360179458051545941153868457845806169949478342954023256185366782023801312121091286863707399577856272096465244491373034277378254427007553951514885194440786518004231849369370604901589914810831804573657022467284313766947117314279434237862851201420648582684102688161897536780464414879562342527786988146502213654742390317236356111465903737180688098217806468738770571464471579251566513206250804044440614165418125617244759956945845705229253084934001229417273874831892012584454760264377077221813601794016840785241259641069135414699574113434753063355132813932110652681847138713802038354821573025592494872342112770652274056936898242957810565972816184981892222714056592097026676867328258758675339393738647017170533221729926306314901859587039381144751636540499534324055360714746960281867187633805805722705538050735601850706901474439194721163330128656951105578849158189176747299627224151720977036995299239572564810837842275353851045187216024185382950653529378784965945679708762191110130995820991929927693897611533769842734489715486727060697448105990384542990166548871286339567591805436940818301241879753168986014146120526731502009879561771558334115082675557136607637280644522427527278872689199307707761637065813988975960813549279210821783113685669714298092144324009470795447965687006944997276479132659344994342396673203394004620548948363729644133637715792515948115395948461779811460283165529395308216546650882921285254765618779990482114079277914604382458652096817236863872506329802596740703354690350407946724605975504073942703826274897241315546636441099450701936478820100522591035288940860498030407599804041452789757937997719840557381352917678137058795257245981171630998757689425952590922243676633524595138371276929217031740662562688853991812865349889231493833667281981766784580870283667845143709540270400382928680090525274854519868513621302320435227516838673215853996883786579420486652054714617963330917580213499839889108191069431215124615033382784996778884914416916860983935170823226668415467813173037261687541129286087837730999829680322267593779588692118176786021823796681073371907328517664948486316382863100823920189906278180422273575787394785232975176974913440997149451190795928397068379610852964205614733760600881431577739480226584589532781100365337952980723863949458661698266031429418005253404844631629153270824229195283422829204009531759849806881776931953545250158147506299764828227344330848193928271198264266950520065281087172957704857464670292242462953786310413947389369945502964802090918428676635941850992395802535313334484490281529018556449643196838477587233707926901668718112846637953026495557243685090910891982971543638274714804556612078466702839449831851171968079379883212697359012202996216440767083216758931189630099704152334085119806411664851533212397226968581680525905649847144783157114448430949128770674647318565685064150941235996093657528756073703327029651253443723755138133756316090536114479958152283195849612677884392037400385250775972405256626945153531161704852741391592013977646772741529405943794108916592822759069455120337926584525364620767991806968635930249023549631374635719179008094912415955102003082613486235779813943353137793160557004016414854779517627717682766869847809708084150111327278022354121014299244943800059913582017122372401179104878350197491967330979467174056801214904330939293014901728953860281351180408849274962031762658065553314129529157631688742445239501918300487186008401024157577196458823476628912914486471269626301261570476068660190554111231525547701802122194519784415182781080682821353895475769719402329661750380186380339765826070142039180589163401725990695787810234753382910049573420762182717040722359421069665719238443640688321029452129728861546186903085797939971629571348431064572170961492948281388086311538681256436648084956003177193439666246605941345105109772739044669978386792999865964639535248893926685057816484776853382241721142674287917385333434242803856098798670828853511066418281197300012509465870713804145270506909109409969149249848316260959431898020954416765164307698633326909143782563176758548580058085485365376356277982611368919293433418076718227972472720843790868666607817332490586926933705538180939421684371609302360146068801405944815308052508942926165943958217255450729536649086551625355993816318542590682689491062802856505573343603522902790175409277469135858117187176846276747114706592098801103290520598194124115098105800108796574538679987466197379084616435626176408457365165462613915317326823810342737811076243600876170316519851248506119525770985927395921364783137343610334307889108093935906380521468717139351803297556670700416493097859566211518579777311019939800935620158616436411730167656551402658449385550573116543813544897372369541228174042496886611615432858955182046127089928305091012712440632688695850293133688395187790699339376373238001961745937266308906756426563889589281264750036148317563852185637589273389660511270942052662617894917672875663432375677668594120177781174127538220921985508218264796632528822630721234339437724697693184641806208125353710888798170090432696283957371465437754627101644638680242001527841299561623334025671231027208837673924970710088834061738839178885533048663915468873813665460975317190464642984237424154564454327717489590168887938720411821858253165943665398125150368387358581752059863488001637343713065493570846608414273083880531435645929837097371991961004296060941575455534073609002565952994845331381309080617748074563584473747209035853444860254604139243796733796703258711716978876295401836912338641712045361240726337840736751137991709046567210601002996735077772078485862436822131513003279837845236422771594817617522751932252546996238374566330422286473428427539115341935984768023577641795982286813299518371665211657387074985510084022718352458443590982517912333939885638177156508226515316865586247471592583948829332169594668009724973132076903137231900803315620069494128569021429208462548470158319027298540833183694781694011109227090142001603573711236922249879530938320634325897475435214275245317741059686211742319210976332030682788325334236815533606272520521705560324518258427387759204119355616566299414365729990594140000034299407418952609242417677137115123955423479394302563309018547652094143551551509503857762625466892771375470210433882119688242297876717484175348647714092106815000444040535174146766808387864688447573883523160804287941974267237036739588467236544209154121439661878377371060514122081517363882710568515171247419945854325805002941281940631309393997563590901178105255244360167663385818569316194448919396148750474950566091954075709224953844527127949866664733937625618173025669011809343983375366956164285849797075980007894510753947537447139533962955473316559752545573121745234589495826652504946982426095160436971784202587621263196754694432268229632181480801928855628736771249434865319231522926699556308200437100414923108941161267953965230093538400062095976663839469820759290267650132251130160880323484475684012508852381860642305909434914306886957025832404357953262263172614477031935741028691148354818910608932182946928422984825283451651810553933226396770866155707840528396223309986210117900215384336141185060840006943823535329173895497471553598187113393296016958930821617636167600961893203757773834513637490794506914880639067645614394082745638537620460940483119619302485826249004618381221301492498318745430167488178375037598032337927821902937728922786870847218068031757449148260715371571131321233671060830815342476216785350430454624471971480705183137560631570934811220211250709455709634982078126152993112913043771424972330187692598720124790047456446844451644850771592375084180071810249636459534664960898695077683910550877334719645716659049446346183913575636292151473176971547871379015026975555382649530414728221907985787590126728679731402364328270090887070763011940659344281220924892608691516953603223429664178112341550180865516776413051218149999589469383526442309668500300565464310624475183152341134679771553699584840598184785339010830844740911771925304439607715738836061599702167435117233149052892647994242471552439151884773567267548832839430437504748741638058968836731770189492934445746562168391493524083156012740379931407949196487123687735191701736596581078293069164600406521911394458668490759152309917932658482685428987400526936366051324718912604115055201045037252532876717769345519969442313865065481875911387788722015122663243928320949739795117040429063550240098776637695253951648381152683945071984009893096761850009360647850747669052612956881467960738636567907049009117101910700697814998562349290369866373351340351605960105330864520787203940700175472323126831590808929301907176990298375522058302758692291853954077227736579665793372877748255700697255658133847344786517289469623957666568273822482124839496323545293269294952758892220570044455876788825876176930780794782590476227762415874761409057661402212149713011231434426574424640640428352571723848690975866276840893465089172652101213810415885012642760983285556936808125210258385790180751046779175169563288239981040937760673060567945322267578811995845261474234412141900416234659753721127690434977528158020082522104614487168777579651049194493737498738994810455708718659839563121281819604555187576502120217418953799289509572211027917407642807470307233327945904555913027051873302214308109674107942194718649249101858370743731686802849472729672456937642529329945618472231718098006384078842332026965458931847197333635653977079570984469827637722007005715457155997946759333061557024364173953979997199551837705773298071240874396760177084478735642004872503129472540701239892786312948849340827173465019812160204809892035316913488651856157892493087453523231145548684558032635184067359054154362321193991805207527024495853149764084897922331097184292304119849623170036802122839618278743401928033791505216293665791470905334494803875242734804118864425671710181635831228993666874711825354793744030137865133014071099917267685683212677023381208121104626861860850994269603637361161195580257502466412619907781697516851606745525816707980205524597950054474911531715251130255426334534833559117065326372406233913691270854975899980898130788189752194084742946571767145589669457825401158345202985423042184955973686144011919192968449051735009655855000705837879266557086360873248462251371836302778318550758862019117435168917155736982231378314011792372804072896287599359244823835496666906075167553209662583139790929962314276220026373496469291286597061863462418287530987438542340809302040252874799076844066436666288392210335321354555649903974514528188792192307160935307440289170971216652334784420867854716199772329945648638583730411422991131082742798772549731806385448001710544497127974793131350395787973897822760981148101190629547817607842413227876778432663066977039460776188272696948866662398822243087014679495169342208961436523594754851505035932657327198463764272450955762088862665555948642408359398569882156765226683808277183602585282745973687332670293981848534943291473834411236509804996229988590928165244976137013593071744648148979225858221291102087308463246718546438864413466151029278405646086815145239819413380821259039064971387871089871353368064803823822742898832355929371053191585249507251479031681913275250242350305618143916084604036736430154805121380957447791591654429500270493447019909828416298023884248796461735195329262655138815949466723161327616495541168398085832145064387453632358199118763343465655204755943928662552401005353218191773574207429633698423736916446174212148096919324633037253567096632435550613083618187961467378288851868039548925823051721317580432298878459006844434050740560100194308735668443146436457387930701780001906099315882828862698110097407660060989222993051967276932440289575004524620933956831341019094670355133708857493751613799509181748874141502565233577659628589239101090706415584781536108983797234965472443181249141119603328306483293122013891059331639035992569433151442679396922730128321398590439243591233967874841822239457629152143294573361108152087768889612675570245386505309382807007285432289798273421786621373041405898722093250195304016076828290200759743875095072264372914563444749099371903662836464243571218247458236664785621991863837411205105688760566521924765830148135972301983683495555370116687038252651739470631785387093440762123177569570365760647017715265648200310718884573035681057269829879464758303001144116695724540429815808927277232236717597173276762973457272382589232518328519033772666445273359389044801844428556910000120637477640277308754424110562827342282978396903609538193594654420156686670595868101670189230893506986935011870572523133640364711700325419981471643217954225725256192580308401110587913914462091891383392724345869036821778853936848524820962708445309538557926632009515651897137891094633129847176017179559713410740542617226781723844121640751481637258119967224193471950340566919280885268155029400089880651349258541013310330173917080507575608270067504294107473735276446429623124089862181822537264311602668812575777140072070899237983486772594347480568755287885592031454105109086779545172513774666752807975377918876843508112999168532544505603269185995180138029395774406698077480397270457375368056251502142147731036798970750824418975893464892182162256910239496842542438748438415029740398207030140583449958169041614203477026306758009321057268053226980645641666015142437408421371945882097137537391635722848145632653739912551804332199068430997806157568014636353118178537269508313776384939969211333106108299706882225094294426261403659534268432749665689532810592134544976400280871047568408005513801655581853999647823930121522321815734394711753185045481649990862773094532384149657809126714396137657794861883097368107062766617025204259960395346714722086092845128791849609124270234863333360358557098875081775228446844032201353094076987556498850270831655036531854138346333711878620426877569154579881223495248202018017122038125244799783945640128670386510269168283476817996888941113214882932641629404308670336828812922994691301049278943969629625768412018291065377686906621551553595071698162700992215894583739171155439392638356686442630906495446476925982718211569071320159277782285931383101953346715867803978282258947896879794752740985597263906732607543945340518364520369621392606001868429716028852036527590245684649713554062159925473125058427047340941455526152152455824291602401960092662725055106812271642786719651518014675860404952380904432555878638318922173793445069901068406223328312599309590669453827862512106097323084648308450982878244936749263919209415066983723629434065885304396346260287498460263124935799164066998988150230584321694951588482224255265127100939450568879883103932365897425756335661010389995273850373296196681292096943961737134917363543350236609798862233730117169404030485340379610218656843946375500183946038982875017991145817951189379403365979022719739224465830013907041598347291808319987324243581741243376680074469215999397917160292865004456619739119710574875762063321519129816180443683930602191006703010658347360751242040936634500880544556068424644280351168127966993751834162248541018286484659123307439722282254012490796417541072155636611137532635208876895775609534520546693853527922381624765856681875671638367976586888977604167359595090030237323061585647656613034731073991957691830576362478315191453320032534051624731855252442740459216606780585512190718677445629684900746946340057608022976841426355460042202022897935856139118210054045235126377015834829513435600859031040517133992750912201221995359776015418725248883297902640508719925409400088211348285076394465292540370656703326403471654516130240433768764082517424948077665471299138056859133260986720715587974574647134623403260740016324699791399894428221261073896679566699748551596602117793864752327640536651696416891892271173720051404733245834364375216835020192443286254845271376956589053300398879780393952614499085150846664123724853884429162803639453622220009340816152505154603751043747971773656791725914725095412557919068993700656055342203700823673757202167468229150217931302970174980215356713943957745153797313843312732997562856343294661634792802864978834099398387556137248751807896540601866709364363242139231955998262259706812308203084221370035744830024090943473384486786474419065551336342142673021501248747170581604479338391962787462769974938354315854813432984543470624457744767101169825037706023550360765527293168612441452685345497374185564905649393037928246445542626335595879214917784941392381740668113874226465512546568532675139611797569400935960605566718008099935256478245758126843224888329741741066528270570509594094444479709076667958042116161047774822191108280725718319601999704445254219078120702599850622288235819335577038798526969749642679589304775090899715190472104532353578396518065218924701768408745877353859461491413345162922334070306421670313507619006756070082781403317453612799568045854878780905242715542968118012325959430948285842512612002884160592190781399569664118092108685648129321206226791361890844998682734564817730639173342671500335690973396950750410246123816829466342733807242197803799344805374366978727597550525429182580459743116184535174546817854111170314787284474013594740588346823975422244958611037200708040746618347156532843497970402695449865966231247889954533215022068988358775758707044494067409969005565980609465428899858906572623233028368752425954463070403546787978364503703453985488243125011354316390473191091455241589304799755700377770033137728835793203996934538378477896454856130299407799513178935235475783999323961801236852304003998756531554716395901561179364286165871888088837862107936113866131049059323465785115741795175862694030392491859100234334002933543094413150943718230021288048504984178035060710480404734466191859191987656715020569123988387874405057475147886622347133354849418178777180004466621942640652139275525384059144531942617932415150646155013529102569055274371185818113271871112547459921874269615805083037555676161596101625433316877857339151171661996465624227246903421143753069115187651789366333070854046046055674798751716617331287132257272214347136482165174011369379150258528695000550492604798700597594587352381410381954227543613658980947266152639576705926645550791023845790076487655469095537453334729766091054050470080738128376885303229786325632270875768848026051570454520919057024964886740640719032466344836221691372772643784410033556803628939471127375935130914342007843068987895656201297959742422470532925835184410670740126050132068210576542710865136573903656325174718339379136790177857824637989861156032272072144123298324345801357253364508161261683673615377834132660182638465555918325420849341132564459690132230412332603146548401500612009542433200950283814433311269555970302546579261592314489741801496019924251462844111174046583425905546706085814111577658662892939731414244310802661423621200397927070612202833878877030566611243826434034726265845611494320426138717379598828401453722841022194427354922973455937860128358093744073668129894037431319082488934501357675887386176944687677761284315292106767842025592471866688455345473300062958673432664748306535078589384287648996625689656253969945253205544745509795819892337333296181752559323802452764846500582705919725234923557289151208648888433830998467826183023818857068744645536791810431267454000912251721472770141124422093660368841772720973052835874033589637435503445924341305209509261595507553528279899241841214267651821582952696206953320655805131790668783643304914485338938713517035530260457150233482015661562150476736971423338097377857302500990289593512237661769617903473323760504594479194249316063502389753937270618258825493516449994650227168366594369495117979345839983171499390454289289042842022429977002535503038872731277978027773076997771981658238643756122410956931123271504324521972759283050070331735204348188225567491036429228228762072626298445071625542342152423758973951725449548800816873768989834824117127621571089801232482441523021254056983063724933009147642840571034551855449256227930659994439476669286674844783421019038370344613971247272724801342691550165711317372657081475213222938639678017087630667009497997955937356205683135032764184701164141035802436481207980078660492401125821283665571745330305004359025759534121464885397868353823264119635002967238432342077643049655555504956956270763411163728386615812310361350564246926908750071891441866587667330816229370229582880880806116805918423570021672165911397720412400109651167624634702734491784677266940917082487697883673974955932610