134246457078114872455372859736319750801708854587925161226817281116523904796741590699485030153378514087831310363417842325428102569621750137404812530156943301427967346102621910842904862529232116488805144671780102671809843282480571512092272317561301166256461210950202025116842801015921007214709074656320149301220922622616698541708207214761026375448202157432294602079286935060134762631566954880464285795203011217091038060011599285159719202043616017245922118669303688309504592280666264227365320330729128382697122693361825173660997167076014062295863915069353740166130401221372293619211481504788135730275968033969014120738614621337771017198151081478497156978578796553755763421592500594223429003851043904867116331895388524022256972902002228903531260118186816333921191232654937110096690371678538019352056517869955534132374539219285585269654687225319845211204175893840012420828235696525103736940076412481361680361400122601619323092510149174249259320283705279544172891578291292842156643524849099712065485410801602644801010275127350288014050220130210490721450679025126681912365152106012275205613482566326268340879102833211634838404334202442082935088190392310517000876555848042226320314880816574201740881315875188042421709256211734231230786968142212401880253197736052362701804488985201611778765513590019940178680638073622655612175929278081804200161086646606505530271096370171269888026602452433914934046071977200020702670080261748218638941600585348530182811258247530893298201211836113159502743780697047230580014171431228500153426016298181847389148018457253536786304876094813745382394654168571917746001747878128169844347514165591240823914165952636437593890256779063653616632269318471315540377476382060416636865982086188729554170676533763525002331029345429484282576677054121208810330774621702620810719043199365177173535599281359753313052221278547908031195254077897416588493613972817600075794499244411876591022120831065113258439755088162528140853012889141438713719966302434748880301302048886502081916709280116461815160562910267112359013132352765092070075727093558968337811319052362611431008841603782001371602955452748803189226454481240304174496325052131495105463762186133266616575391055555989604755328275617044688024885001692000522000635204110750102190026554421082272510391781098031285351693420420420387156149782581386916878763636325759240354751662601123125170710624631981886700737892102797283160129437027832002393820104234038001611917041997913274465250338235895547015425164227240757950346766246155071002424306501248870182838616777175686502436318549516196338512935606978401595386198132190281009849226424270241607788271034411749551262664134603435431213778587560962995055538474379501300081223612925052074065280616469074800803907281084860235669125401524755122775619357869715862044816770253983251645290544191404304205164242219492884793155248655016016698769311925929207869987750527461981703229165599447955559743251492500166055699852640801253405827556086526679608028565315582023423109025004627262057052392600212883214384327791004776701751085769899261206417951961471652602291236431198882180780284736025748493513280000090957842636892936145620309771685971322809208081684823209568263854576044211453605945943237112655843048935864601884114792948515100102455644180020762108133121641666156400957816925298353011978561526614635269018013689001396747196078130232774345203203390002810038117236110539213122003696822909405864744256356612780059317415587884957682147444223713617635441478592155845924882393569156804006582421388040164381580256019695173760602047146098226574238086976829227418492014297410364327723383774541590280464877120931231972519000281140723619002108293128641443131999752630124109088310279240118082430780831024306867107903623233041372672806664326188557702424872268725203323884948822980449194251534463257184073284810350287323361043751315146486400628155319441611170472108709780701727318184835039044640172922175366058716036265239427216863004018974279528362994231192640890461349088233481037315066452065320794731368684150426707414089690846675310211535091896840110424307013174811221724081670664267148287400075999123561614290210130449225555611666457153560456298954955018096126660226018476199704586661832607541851413228156291717952721047132240497610767682180108837304263283374235629058207368191162515429128905169946713474010808261947182646681346470882738989210539171656122528512121203359202129448136344233100221620070079228286558665920093201761984182284018480403648002440044283518035358728817617527401497550320866820295663383104891632062544385123778036510801389904636321000386150980841184174746187488835682802424466288114855073939873830023183511415530182666097444848480103095096062564796420511482969605659481839024344406012607251348080655893655764363077401941942102114269045754740221021233796130124848093095310099546160617614607601412010615066642029086712358683808041454178374041382011813822888017782817875003877762499255944110557549839181525992297880282755336592228352094801559328209475015288229285365990814729147232223636342481820394653306388129600964161555402835752116321377447993830057618856560897834960137409515674881428618661241141800513304275259213438268035281067625336420106294530875023177027684523015616001587003407166361099582167098968072194459137160214724062660711186539786341515888213457525685101163428252980266876339897876512122639410543201610257365200293618726018458011971182499384162279183825952092105239612563107339051164072244607106904026172825175702620018690022779967892107837501951207108662418034120946524218713586441823926106183234290031472015330002380735194661161575428874872363068126933813049402977504112742750014209169114610887139807833097115912830818341213650117198027185253427006924920043827472874292577015753050951719363417003402164343414814321749002825955943866431551442045104067132496055910436456014150568019904768225497511932501749504209328295978636027526301909078355130554724440465816119252387600447141329207147537027950554305343384316908775204786095697031540074819564390062310090998092528873254648125170464550495784155216180752392584800046934323091663189356494671698840132274851397565670011995201313403119164510835207808201223084830736938901236812124089189268252925458733412789701541694468076221684010791010969789804669175293189239904280805188721417264117813017409218825748406952973443832841240197851040786163246151298355281962287456011994161531552149202431118170699890850116829915762068930190439916248020897513208805986291199718740080150458160080703026100606517806002751428152292619888344762627797704461242587209320301960170133624820930540596144928173002720529626017213734090716443923436432725056254562834165895104132052813154131419912105198279390115898468600709651391085437224252474068867769147025852711513924391753170082186150031935969047705503921224762143304017492827072415198220975215167704000015694830966893117246785971282786102402317829639250151298108048270764472982513594519322404752662783469112651022438081143858618538020477632127774526399909996634047758180486273721134772862696484704407681619225230420173721057708815442566580479094627214206684959550257856775920672220226780662084138094234728413774001555815178841162350161449258171511599501228020890569712272212001414343028055018827744438751673877205524030341441330862496324491436500026540282619561290184216652351391220216062037742456482701708750134250023374196853113284903057171124270811680565455108799659568143523932102425216161095214228680630854491212705344326577376655477812046323943354201151878198755701327938768164199510254351199633144046199996411951041386242139880813279421038747758121169410144261592802101552348466555477843056014942491485435172700284088030048049320329034550962218400270356019494055748015249201470842852465502002130475899858611516918888169617473951555398650608355672492063201549425872601466157516802359863159958245693686004536893279902572103065641398741183035268959110663381062024114660193680109136545875159913677577791694414874329346592021687461205030895680713663302803248115500017410536363087250823237762572501063721085175238118110022417556044270475634377924285755020352076464064108712388225820003473309368041273594788002882347632002284226475999171425112402464474415883846285304275002385196164036449680273079017625197344471611442622440963819788915498399750120252264068688834802228409555030470124483240443731220915857590668238568382612629425640492881306136125456886875711106274188645438794009283382161959402100564482144921117138101614109123822340244800309582590390310566819936029125411432310001248211797321246828143990257455014489404285724310281190280116449074209527024272096250227644284235296345211013168273219141609751041009714885041669877159003534939147202214632245823292299215916093187341942969042424983015727561155224347511710027528565641021620060576030797504973366622017604162166912600800911088221755433374019556041518908353826020557129196990021571172397040213276829809520683079532037076714483724837471193613313307103071864744110670513936237087555377418811047617755658771776432164358412186152670208951678592016252630125875266590337675419128520604113140078776835801603469835997601295245152805975061301340335714189050010156902494805787401540392979004445151369375171518653333817760100082149657150568513005185836828112962338525447300105098467161631671049261177112377265648007599916265045429202164554616668348600012647128525442062591799551726406976887569100186450300188748800113386015507522834664515085284968085408016750001462958341239616969220514020200859751659930019074907208557743241524670299004812322111357201983492770642536784126308430595179802063260949202725682390542563219157619940866696667361197001162720371718441378634314145948242284532413483620743465883061610164001801415771510998602884203620968779220172812915866552974728107721533012188281506260320611529350421114412353629951325212473371099285337534821686090102943239240005204982714046229740964761863090860664312284101451270840107730028256179720105241940383611840673719192455178477752529900155729985812726903960592583504650696996786620154543602798760894148914280002024219050130043885753065827744423335561433961580724909761302210642350101509226535411248247101528012841921376928130357548222576516137788876512521286233120126306615067561326120271582279463011210102004081217472195454361600797582312680124697543010167947211677653666001266925365700706612205896140141315751492702252131764132916032457694380343824771291192424051895013768301843145137302262165189318032456912147522395222070000122561888542230516154512173190506996192604121520015846551755017104346017704961010758270875390642021146281021097685032122598012117984516562468880110646494005652707286136032186003603417661162274680249839400455461081108814184451191640337065024426201715250371239720481923900149572224882713405499243625228002199912125994062992640953141765412725888961409869581985866165060134808019696042823516293932718241082728151308049762823533016588952102152796792133344631813617995021294060461160921052552252050776148192697037877642292626241921038324255608570542025972172128021972610188063752008253017802011556626595001070417975559255682922362397137424792469755202482173165451001110201948329234001023640366114160180161781522760329921035705046670273556660308912519506005041048820313838125917550880168680811596481261744208370412280823195201321083461760397749599440194150492276815708061887112851272298616096501943606171109733055478341849304701367278400169320112307889888410965243212048112645954327519282075680408718053125154422108928344858187149219285501004862202019222867267584512172123774228601564290113068881184210555565481213842094180827177952528017520803251670147001845216230376070434011339821813681243928302851964610410380504451974095933633554465487419207026399336714128217073246373062046203911949601113530250746262990256155897707213018211994111136642192201002571735302775602806442161464148008044800858680840167596838792650486818870326451842489201914046341027328856052665318430320645989761068210768782120376015613656462154770961061762269540195176861305614027053808011460902664918681102704701313415931546207202822845635062516411201244088102051337203024480016919763396367128992551793516379901288667194832851438225426229044863767371698980721501376694561864253001373890605941262548230966414849361276539359786180960965580421250133775210251856460272832134917640282536677349948522062691172941088013006120154620865342020776208728367360712206422778621622291203804751305018218680948915160876880926530483382236245590301194223455871120932258532167750206197573110124806451302619750093420615696158928198273545362304249046569688394216388030216651473528122822009320847838255328876621205981119537222218132782725204071409211158568349140104125032861419224097770483098810506253200203118919441381115406505601101880976896188293024333431713081161634333915381158173006819916168386809978054438533262091321641627205486282109336128719572401425676054376901959398128013016922221758277026450421851968122716442548079606429843197575303435261755016980027279611242376250502064370696637958040618936151598115162087166228191871951696141341398069137431076730332190018471903565002601072352640884884325907451923271314022287491198208155114113676582762548374806485750508818335714248248228582018366193248702125417313221078796303092719832235760412219121164163070964346912738995512507055603256284642861932000681204350111089878158841701454523016151209661740207104818530722248004246954373881397298178536273972373110311563001974281214291027327321609061662761051424076153578405927202227972622489671001714944312374042504030175261653177444580374510980282711114974649313203272411204202711300198055985960604608154512284022277042849799125163321430262265376842046211397004336821502416367123039104535741859898125067092239969311137943001571452404518451905592192112962612248213324605744642729934947835454936031522402792132047624362441177233646715135318161700010740779805810720001978515543203051984151116074156517829568799647088106080035705028759652585120108125726771202806088611964275148911233569712648984031753416960048171201039170713941565732113091019753401612980221255817476161236254925320321087902458040141645161800126886315016781017927439306179942924925118510571410028636818898226112891099756280598798211114692268747355155625911444162539201260720120556811206561297143599076312619655572362241357713138335126779859677222274789148502444220297959661083680486125510464737231736489896470165420378085101177608033302563409512998707207283942110105600369220937225562051900581105202605525432005772051431081279278862470125623558830091934411650021017675114932238601944776815425273612238933911030001911024448192295113179175698555868600062016085108419260002598543817892925601580905296318822289081090964272581492320212086465108811877951031863640888511408645560715119934811677684409937488802918162440546879901566034108768029325113848498050012481922143382536866105090039480030770029854025410721581318222997551580525538762657659357228608107169115722911550536222425255288162800347235223485821681120126927626145621613229261833555893061142579510490268290472535926107406095956138060075532524171519549561981800249956088302522616457497937179885853755219295219219585755117822826372261565596736235320243810089843433877815206761540729503458128292710271147802153604166348872399611184033073640183334891511048152514972918030001749594247234416383065290489216411202681938581006962129937242429619505134561807486591273205973644827950838992200110574051245925330576342735064864839591257601214761443417002486888170201558370167085171351522395270684164017718590281504436169478410460161780781999375157872236230827109435356520381132037414362278860536992592274873149072027686081232604684075179834244512022545758857022942872039408103675014751871511524121324226176014245296665471060524387833015486961779271117269184427211310946548362631212799382224149100020255042689751891008936276100699218530563815717336215042481428900659736610547958092097876193517020582282396241455672150021336483040426950222638010984443899562759903490981856368273767220221555876818763348172804584461039316087893429846456811185652443248704178287433610864172508334438464142140083262701126424814622442984015645281719804796472801362679773265592375228145950308365220899424202211316694732803638162326394285542455833289102021523242042080416827350415450127495091855414123106309991611200276315906022926053284010237446636911474545134269264006521880029464898168842313362091808109272022796817680433572516828018534528110360236826131219220968682711141745250975451134101630817225138166920082410024175101924161393868211792621622166099211431401596011269581811061147335610078081210329903461180081530135139018209745024529312032858376208194902961606649001555264496344128784402021730651070784190008016059301339758103292019004851657712221542818327010451431737927953865559681208013312965525267063090142299908417276249767710644752426841978414124954233312520547102584880187360815214082369280158780897282426722122777476730483530026234750291162465767805162169329487090217759869855464008593552315216411764458768834568187755955305923428278015935609559291675619237303025963352657891300129929810764803804342772481674234472440484548753720507500989774266406423572852809081036802682459038210196676800116405202013271332813814901419704143510953991714396972196756641948114824440129249737311271685695622764103296610886402635443790141800060203489074762632832015653341905225183386735866022130711359474654830025361384167139313727841044064131463020186808891109435922787496954422144048169240810768933914721447215533200846827182857512984064350015827892512350248127060872491760165870016870002647210552886283101337252179912217740131537191046193725416374961921567176903554311858080948166227035221568929419161608221270742778560205471213135017244871000389290720010250829457831428480167501410967401997679544698247456981772136126433108014379962010002178682244260206445258571622974352605681635368177053739538610944010552743443528553421354413129305811305358381101254255641022733888246157828090023245525054722034962626133588345498680650016605828289425620766603312021196342571418253808144708275422142724224306310515543380737792286020012320171431901350010648311737997187389517643675804109610591520169200045389414268004241722647563436090109480994816120510429438643447808317319481293411407496642682726756481544073157002416577882171315280486845960349681108884471960130653623691808165449617558706962725920199537895542811550422697243181690126156610225001254435754276174447031136513730304410028260010769555990431142041711215166181228064001541744435591156066597051423831379246732005684603404326614884587016185154280073610010883087006815202456520289964712782887618241023295214032013530540466378430582822214855293634828579519688723350401073651728678137030215618251231634725619230053797601970375498456165352183361170286819456166275455160105198211655111708323395233637501341790532951601808138278861930646350196697023909758197516613281085400239772646070838501009470162556817379242713201418208130120213154917945162514864136986344385608328451825119190513601339037880821063348597010015201096301371844196313743150510480602244321007224116200205631425647302065015840016311029084888233257036118712436356445718423440717336783361416675142084812567003139205990847380045925669321664120718640550640080903137392032835245315220163521951566557393810543433751650822424001571575122423680625632171424480001042971193328896184834640191439003248649492122831400521856358254985925738258725856061164600211304860522026754666414633957043953025945442262416712580516230138237227263961562307946251020816729429773041670410145207519077303912482728713146893511533869417751649088504576223938949050359976644232282399157832053618027589032486468531434695763722798247650106801683468282111131756810261687501978119899691242002588880374796105125221775601038061406784255799129587512628282005960224623212772303543573280903621750241273688114670460166892133511213203538081925975276864138602047499011524007728751996561752463361024053596462499724452259345982826728608634368751138977140532025995625152218616380203214816267440001487499265965045613918529284866922864793270631600789118301622071041303875776968217924403256601524624871286616967191711952930800228296414669681330124414909742500110605259649333152698421395178126187625074171294220790105783401352098247716418823051706321292130736560613700158670015424051216316143668890558532698619706495532469048017484064098601609371972532280601994125330601981140365644228823501205353533045016937040199145921042258463627122507139393687632671061295018800516049167183687186302300561504458649721879039115518713116559845329810487642473439100902316086765332816884154582538652923236151122409372024378166166517743952306842866206205113641820176700253545664052822848092980899328575751141530510960414852566086345090407130482391124616062627568506695229634422619813180442748455206509279088197951168204375716220705428322092794220207968724304521258302094170973039369415259091255100384800762660105834270165116435256214684294207822469296311921120830721032129987018271752898500340817252203611606414399519099568079872136762020452199485223260241977858306240549601167661112518099097599050013860015274494782242677136127170033465702659116654245182916911928969177016227546170162948674619581644032185300111236478137811144646232862820265764617603745744780206333601026100288602529124361763114315567229815501954083831481171170854100116232224360092414068002220561761024128549080134936021236413912540511447035090919824385898186627011919348836332014147401294944230287214927042365722117797618718423386604962321568801862402461025283117211137965894107372191226488565160296521627039008273151298886923099232740680757682676962511964280621820548661369264126708274195623819601698982588384953280101210215242517540881386346728078904015147422581870126217935034297810496896281907010691301017136268026962064227121829244427528953970204419003346272624042527012733002314896033156195002369416360961864818108645656463080443029907991092030156678646980193898814731592811376674173521260545331576032012548324161894347117137711346214846249818418540201266000792880132608440348558970641395856229548567689120499210047001092690102189010138873305611327943116731920882236191834010001025820133494244411924408021051908211394395985005310608254672071753533697804294981910816610630696466431376150384277660591835714646751097712110327830335387541374965446416281730431118286159744122160517686351882762642944160317064468870672616691501783822174438911866005933523122463387438615010397751147356145369222122374538935558692529678558144101603630740965298154033121492400105783238328876421933700270052710164444948381692672517280530671069485261640254640479353160060084087671604015493612790840479604717965550161343840954600113390613212306163057441218151115666912561847354021664957434243550127619087736815939185283422814584100907408706783423561683244092359306254813668608439346209820252201666978984957166290225018098666269488075377485386616696325564298389509100936278317501364401733753161120237720163880021611703536864450206968832891965635126016579653253680367562990750321960841076544276406779801311190145482622113351803200316803923730388524519341913195614001108614117770462586066670317399061138024551447488429037819487223223394420814076056602132379530285283010380356070234954049955054340087172518425723424903377104248020372589217606913579217435686968789647829842578427512616291185402019840381039374564002934344214152941376026576027691302484903036474113484012505057044064452211712016657800177314517332810986281077480131872167116733523207870132810496542463327261787523133223425404244821351889127020818002881865921585278109721187136426245707016328644103465266810879120163377212450062150129202978724629513063712595798450253289822061373517684563206202797134157446861855555549254450252896027668948171521877569408243102290472900167710439328411927205433793134466599597995515212714016628878460718862691514813245337468723211777264324001989042374950176619019259622480225920141860595842499014054817218657877431021216547992109987828763876297766597023482803992041227390104871812590272684232344282819731414575307331633951486283362965538395687642908520145372535089822755678460816533166611055689511481162117521270870665229869924254242114349687498902328640171725410067761393497209208077336434983836474464497220089535960041812798753362367983296934051480527801106292548100314176512490817150365056202944127683618414934112478413317541568248166332103677967920016230075022258760810957661546528918486844610877995208889232255741511015696035551444117925555211140684265422314572165856653671016480211162501293426214135128843033337545314965486457538524963970807241760450536285547566502325797075201838111225983868027430196398161328033172568023407477472847024505548776216000030577812075001144712735000193377410318281753920455056258912027450512040873297178876592073229406022908752048478157616728795841029600557664273398514500921026081767740374602118384517683222445318201562094756321967381047709945134217320381153548747255195619236277381441335518407009174723311965942631543784503051063242756589295811066821314848817601276335333336295264928061904586648484742665452216140409344278064513003402518656904518454701058304236325417633400530549608531401247097218176048234842440620178138442407450604611768153087745344760228826149471712057502186030194278518088610462622483686201091979640925267826448132465326558181328420209388437354050890515146620527658016751536391375936223696636732254703229260881685840270921213231442294388170474514906973103863136000804051402622583751557898265190920028548115996559548424380213637291927184295820893295847754780214272019681928516983323203365332019051239147174791022657285098319681257947121609016186422739975648050972402755500492752324253537154529155619932197184264132253228042711282350399771108800160097625296907370641456082240434174997245939523978404277282685541693719109080630631714328863190164963737888422384652359247303183319566625694502272551847817183355516967192798824117491995482934326773363340819183505239214872325020681250501648910291749428882432934144776718144961455027605881486867139414669102394546200296819919125343001423981872485578069161891017360288602692952259684197568041006713882883477653562620625401017769134143290648620950169728408226807052044880324926496232022138864081128982302013365156373015587402186288557136207669133123233276223178482063461532722582195195016604101676064961395107601098838211972818351709200644063182114698105052560211294336082174415329631254326082971503442640644380145800868562056448375606268250171110069375028545340172148215215301013249895687948848169503363325458984416601216620102666512975139096130375612883203485241495570988768272659610206007300024048081081392513936366612365968560560113092617060979680432300195933014000011028146121204510302027689303235083832935154238647286025194337872121802125201840912411214200011634042226007483522880423452163357645410260815442953238249900594300278217881962240243041011012908621550866723111301211553191340640866512747912620801102794721955781665505200588132187670635820240205112463757912361122669732634551398217303913448497189103857176681340688801789702183184475272498180850796283329911586789955057208046002015621043503423355418793811120381399950138294030318184300880461257623389836780730335233262873214518052765191911820874465320271282132283854000105468014850801389920199138814395682638995580509976322944089244204112552651304195928507300159127068617818828843765823047923937601085083387112628504395306475765102182265604228843394803273222421853034742721887584502305006940085359215106073244736369221980488128212708015025216160129260961810608386232268868670140049536645689352018299942227800203764135278110081634968011703126232519764018402301389965531511551700951720321731013728487731341272324212511698545721893136655751972656301341027044124080998223504263452500734023142124585932940184190950024519041466824621330107997326997365624130212021239714321794586711987802197001723500492480959610457821110095810793933690561041408244175124217381670310228604140929641001296360676801103619264039525616132375674306660933623525321374354212628257932673818319183441347326215254273121431264362295480304248027517103168076242526624921932649808701548591102577260073815228002225164256707394975173847023437252074670812117331833892561095540141001721984401791153032050381614349391724869219118212168005226602770651827561145001797390901719867904324351012172542899248075318403986513102325300302328013606411086530171296043456437426292617516515305250138501220298942758120711494199983056613165228848669340814037841876250177462963639123359953663362498622112939228855084952837594532498258759078442152084015568826536472476812720001189647559576261867289100013952024911832245531387848438784967521533134190104902010002341052835130643318661503868065228448383554059229619474928440741512797128946820250466480497362920971588170243072335556962760650881945120522744220601478268689475081814216925526725103043912650515960012895981771006546401848651708885290658213106429101833560812945421138830562798317196170170012589025791246384038846971785476366660194829279697668505521840040541113382428852655236408257769554161661236394081453056334390204118415826805000889989991540046671020668641018880782286110781047955017930405314207818121404480172148634900024684803972041055236806367810302461355173451017527381461592283760423061064537682136024140801749881267600011181727459961581808124978781615510451817240120643912512586296551439514848802397127051201996981508325113244812429285664302567421553851236496544502652608260850874718314863219920085878359869073832218475613974372551221979982576898793832168615679713144430318407258316024008652003013610505602803506976211356049528222464013365007912082518122722561393266294468188211013134775116261030394119786443376116779003453382803944425043162816172347171485415305642240035387891024497341063829147852610153017938432550180832435258112744034227726881701452087841159388753023662207106658552879121959680170661867648559188071010944634920013136402109240202319695353939214488871099269721984529943357971566066281825798503083081684368540168377580139026155498301040632632246334480088019128495370067924899193581533216259161797168903588913316609192604566183896032951105435644470204950434426710108031728023108414526781376856130053645517212655305896022400104880166935613251801385675576912162987326034984880631028491257174521212372189468062657476930758928216503111427121915056519010702162355432056068953644258825814884809340605220353428178852299041236844222426424197256580022842088734021553776922441875361620677952464508665767039531859889945829629231691254207618328548024928095043486685361129392179819812350287646431913890393427013768048863121753686208833024671692127585411333437253042216717530185875172486285031958042455657144557640632240330998904502106300101807511404833321961299564918450112053612582955682113899292511966351232556248209590212663201232213900237388258133081127218267224604251244859112399246961175168272794565126416920948633333361494692525000624834197272436319455286614411947102577859227348113689629419673517112744001843158539172573611229867212201647571012336914362401097307427441204450217120267235920180277656434799694689030714674245964476518364794532651924545352766173332376816657303347558526002740652851041130490272445104346245233129911257365720522141650860273896605720203013308201852294494614708801500050314529623100932316444927547104010762561094324612360125704046422612540546084672144138057620725273800579308102217586083647138051929279865116895185021435265390879552855816954500129724530022049531545472315926762895285440415958050026223257592833981204344606088249493049077632077123292704305757488176279528805801083889935614301013986749941050442338402336247095049160328827129949271590461189045707735274756196458943730449575625992031146495729451903007710172082432177223252403522883362137671305828508368143288464903010873899124847211962068015624001006200933842280273550867611998842513047788168910533920549657130642224855455233150708133837537053042937415643347680402670204334851050329117340524933751128648221835011890185524723952108609684489411591011197441176471490730119412016820542025408658600299364497536224866277226837900100060316614806732182897221001168319961718095135366912488581647200120634822488548708035602701392512552049764030839601117816231521576696584835276360208014410953306661694905478023740280196820081996220811915645601732713028279204153419410601705202899312355628764064126921547146841316811249055640018129215763762745120137992754465124018730823562763377057786338761942582290290286822214160459049831455279109262476746213343077854510986082174732325680011917885553632563680479571629012453573204325103194016444804514408823882276750240408933780683650639201139070107537518870815096201753981159216165775616751121400724211117313044917163752858445179951274028174312206479235286722979552228864147264114156015881972462666370564584121703131693342214252031497255906402383921685842102708301485770802327986842651536574273540814465331246106323196452094395022894166090226400968703206928041533876263934172730221179219224691308903288209684019211588050930427382266100151148856462148468394246216598483226015822152491872325920248666011885831101660198878711952323760904112362310708724959885160961575288304957543009012712707751744195689975192274543920869225048300080340224468813869051970731732558116019230996543176281345932200724432849282511180212222418154038430740836021331026163201729728161848811965389389681437519988201873377109000432257922818607522976786455540426026468018526890594100229549573321710835612949021585224122464434588291030614186165318467025131440858692549807648107660921632018611029243831161096184817310218002212566090313911041808584203157522216885928501348704941106913792720645123680747174497666172764290850244224107770011900003175441691208116871324733125898605294717992001914164232624044785524450501995255276562026105218984843057621175416108072013328002167224222874214812518371222822404855794208767291789114309471638322688788206400029751501640466379692549032124098093810425545808798421886830318021248531891796431010404627147198329793014876402739101101549028791089089724748159591931977541347248763203916005982241306131823794598772134968457744688439277048115480028300502440651830045025211626306893101043358054170965027515217016092017435802817733947224361261741666501429056105668531609618021426795365288118676839808826927612559001922570317730183456019204661240866066120111175233577144927122311718549102406172803115164260142430467308063081011042469639761572904045212595492391393654016337007816948244231451856252199634398046035068388617820045840558096172922419073341627320160200169556017711542431065182085816689282897221016106360421278740036981217901474925020804642743188850769464402032394912660128236512710002333074177124422648762458820487258102681318998912580422271522814685394150196275228833365856010983707854623378962097696221214354562093461157517335620020307315288602410728268395876561432704762440215308810241010787504035122379344733125700150116037826265610790138169965754568339485851411359183938086651391845614428039942218590670072482232360412902826266571446122401871870412487868331201411878234604381714958371586794680814401080127596011375012117615550721111968263150637060901693165471928373318973586162023696951184269175232192542849021317282145332885454384028408595592850726188878611062281767223141132216769609903509733690458245645790826452168710723964056167796062243222995219088814166276946242214196322028689013709271593601221887692254482418871673560255113035897972162167887599673293754796452128253192008721008751560114360334497929915208355320216262578960148018217806210833615581999316815532561448700205224598588261598779526230057349775148825654796852972514105137765112971204449141049043414086629901840753385024618707829334251060728122683523362803803855267301692610429303054905533565228871589631240878517549031126416887046145414770587024256897932063185548342517852462905596122371217254936828525757162355725398881666125306965043800042780018778533907746089585604003113284532641136776941871032002844096505639442368482226804135124005003222702004726700596186341643120742932410809682603737149759538850040224267698205506247352412507753757201171616987987281126482898582576487146140245218689855258613028752169650700398477362964307132782881737438999127756121243017903101856088221512563336049424719315534760856795420670306385530922513183501585165214635033663043399823748481192321079595188746811371918064406369810600158242612150127913627840020000018180003466651979040232664118656929545626928214488028668223534421897502042880219172522302165362411161822977062385201887300129519624402721141413560304164256095270244748480625279019751057593304344625576256166406181291293855781394959901660666589115814937829017136027827528374871207712075106207283512387871049370279229050061011059241595371965132730085994449140592303000171097722550501339926200072169796230529530978306073560137221505598781463760368024372671100480299970206679389295880712257166349229050599490802274309031968949320202296464974047603535793090058223212423553455740903614192159360794740194095518282249783841701339112644011982755294706773521631544980220662150121860953216912938102259912464821602251187697481749926423360576004770123199201862608136488678912213000060155433368461857691524487894036603653213412416154140896417699138012837272578412318420672564330852187852856730839511106826458802204932753140535231207904015580090871650763311702633307201126320206832735786408982487888976321430882242648448560957000317761443882649423581250325380610182367996191345054548955290238822720762312120132856487689641740528824934101505913700649648001095361393524772560587100125092828625224057791754698187456018023713645141631322189449808709648700987537900415220267465617448532124221752284327626537965871424182423996761550472149593614520191254880186359072822214987683948151226032230010841830723207975160274466395061379553941218518781904424211218130180120630293730919960206599523622842085906036971072344240878463001098496125808510988287230082224131363016271722238854250500819586562749968538200165485039213384586905627725421707510719565143380608313052053532029021102277702780361284101434722017124836804839109160878169516119459471402149520132843513722254722879058332803411232100900861161612344285544145197256716212114166659414557601572579180490229826161183061680010160222610642192674363594516677006392179610056492845033855151817610027902614937783915038086971266588146100810124048136279450152892080600217074027712246687215743010920802596051525168173475024453210405615718086946916016070058738192281442688000125960734208184084151215693838299722710006062114579442352623655787038351260051962813034523896142203697017633769341577254211629613008161894652053293175441829001668117443362540431444273496797277436235752101835553482189878418801901407522401330560373350117045029280091667413121584952042104191096176104498163636320336682145068607203536828320428595640208079920806958195199194805026797031548412219894366896860281296002488387789686300003268605232521934830114361813857092169014800501141566252897194610152214369513622559167421219242862522260304280784203546312186161251276254590738637627856004294292319072221996531778453552008175475601735000163101839109611821721545673287256328938611620352059992487474200954186969616103526380382330253839229052468610131046762412504518134855205072031144329993127085636251678683014208482255153065101733611547508265182583405104687121918421735501206280186653738088345978149364129918118244107655661065613926362289105216296055389017609095982272672280833092710562303430106401662700428013515281213609701722429362707816209200640092019218219716083511715868284686514715942922370759360171604623858990884329529832679711661613417840212477212505043917161585024137774354280435744193983641034631771534293511390054296007644944811617028821327543504646091505956198561215072023485143751446144217700856736510676271640566897127222998411884122816715156541726345971150080641732209457211297733819924872261009332103672821352853515194949323546657970486326821221406594332752072100573113344417913281181021389413923135123792003476435246877561108958324447517489445319926300415501751236751502820172026608697185492412315901028837934691866058795446812024955925157791038986716394568756084683971501060485375135425762047520224153895703612792501901598586872191081086634665881210295594035962109864804083015872604913260894240879541238056334529909041401182362561908024100204079866237721227988502222510526022235122074271389285194947010195241783663955961630561142432699219762561148169435364342401121743695442144212098331459604102403617821822100759520117304176881176418329775661215017242161169298474010929910437325995214146316146400032319048639610112583529551122325207758095362253702036068111104057977111645969534181589985410108311851077020860104784115897510133452814054803114570183996211081886247809976171631016142242873718159642196603219101186537159493701232644372668984126200330632467141230701300845618800403260153368614196314981604558241897212005612392464966026340508953071353028112263130354362988491115101096135014110250402020618624875282114531037520614331246904617110059093125871426363313329182197027892922341248259760270940020664021234291864286335580106984853312093348910387081171171422812896174183317397921941572122682830501209145667481207010068946913424647832753424378496308627283187107372158834207229068321929426335652746416229241225585569296432086393101212833982772481410434921512114961303016124490516206363938143912514724603055502851008466032128441221384622120875424496782940580190246022671235024412557641664001532019367868812011614640029988601223220429948314722288288659143102951847650489107613512941979892124353357579512071918191766684190144522336131457889854639696217211365426732518753665924478581229624246917111323732973601147608346756682287020829781242345246051025391707590193607826961001083628617904976580438094401955547155214775056474125545542434083601266594147152649907221980141850554325127237131865025739233332748461459102828261459427500525740845544100800023982416230085436565023614472407215856776531702294161553240160818196020130284022652412394724970681497258211501217775452239511085356946319933016691831817700158193966786510301263936811427174393561689616219316255462125851617301294188410052132058511616849384002350504346313100572046560145672853298016707502496456025002613602085954104284818842101339200520365194392820932265738418589236123180986411971609485079915845478409396107477808596482168945172227237647026477288864603715449398404888425226681489950115304173145778804135826086714116198337192243469404981682487922379812379555139714019653005660924913512501298557151164046608444906411557003915714689968282472930189970034249480511710268526895878256680091606056369630349621134084395784275200996208149250213454675040020738908717156242820134801224894772475400832983335784637554836272705576201351875985250585336129828343330766612456682512737324462489424414185008514992948283325250747626549771082221311496819990611593789150401075096240034213271067193121561340368049256496130805130228282854511122021035521050703696846770401157703054403670262180043299408311422722025748178447577335271964413258792849409199586045277683229930001194742450175200629989704508161041768634514569427124420612552268966518204260545208417592610725460640771481547154350961170103685442673529371556160024699221206252178025876562212321424691673920359488105030068706615877250220175352834724278498274903260051012564510313611003214315742481963445206736917102927808144785837800258318612105054750032671195453223501623864492270360667821147822011581442549574153153314340120272393188255640090353635632819166824142018634561676997161840209042186275240656363987435600500414197505222823092561800721700136953823103664498366415830762270835104379210859989516051883616005147464163839255780240593218657416914243113206370002382521891258063071670742891157167305119102358668541132178931463920140756023459483043620378200331500324870144144256542148258578750246312236503968884835525027885134649917236866666679744041588846455533224928005949625964448045586742016762171771390889226119402467998034739576774624848801536360539082687090225217823062051359306146995219916111112656209733357271258320285633378880225913034486075555025295761099692555514196928322794295150613814851525360121673684955568445434522486112716802803861150513411348283457086749743608063252911910061588011782501425050716099979243456051480618235162307635844932352012672836852061792036863251600522239851531728229616242129814161169129203351201088711474825144576048739428305127083831548738128700704047466525152014248154259125011306002210166419375472992734162471625132252961926374486802224425958379045275286110557002342016188202393588013875762771982164780333776050167650948042622013336859781669212942760428147096155100263589334928728390082191203548890436210893604492912351384033799782969603661280340008116727520672259856180090153697468416211717162182923024821128803434083459784887502496900689196865824951083532375109200571959141573470481733985895874174765921366101207423866998848321587567173201737050018970355880431129262471715873288292330915153552825113975100800637135181170045616876408515770802308881516026118200923543558545532275659028801616692247200569064127175565201099686113446368032150713544750987027095849297361424000483875679698205390059774215263705199738809610014732089152202716037728018952595976239909519870220147221144572229106173734259174568960515230429696385034338001681101209663128667844438954048011941982229845128262653625358689513314100842839753216892073033031246754500504401450172674374141120196018232143228899066528010359706810421597533855630132016832864280475688363348315140223495606792162171012619501136596048932257320456424285688014546232168010422505116074226683651953666146368229104041916296907013102141221800108260172748320229144963343602431129280860158873199545634283342057664206955050111520188443173155140219217641835047651638392744735746235733131861681236460469168627480293405366282315334491037115443762112516105301080017016901068720152389240083413952152138765587762625070503624487758637722395679343252101898078314529874251825095833417640018263403530577778596129202216893452298259984998493947123013025612597315234295362852027448018117016578725368028206938961014457762677505505283390836257382316165013055006404584368029676921978308864000248892827129689176081732244136947462429202967111441077490170313745185217198817719893498301987712912824126479010209783079328344963245318430384801335159475837913214317805863922352608308169134259315143764356382201557147137773266780109120187156857115278690116200144144027375061518924570725947501980280438520133556885742320856275567669967187375024447013721401250333261711818804969205601633676899868832150107903637926065893822095501761508223445732679321484021451205286611289602537436208395040678259424313214521675656487080968967317805578041959376364221186146493504102085523154014181352839212219998162806539460922334780101700133859750676257347033952298615740012090449121268200143068427623999410551244619586222785993881587868240531210186352817600739915543581307918410673689687042893995414822856388229442159706412113366484301295937332274860929056142594407294281078005657287838618340705207414391504938841697172139840205755617810641716752238200304000448253692274272866087894020768859283511827352621090695259547630745015143602254915282998834196414949902858401959298168970880720118507491440012899048164890219026909921645689772452360076210946042461536226615010905322471337769350424352153207013915202011401220812429525908934167917511564603273499534336264656422788991293616656042264572850390224380812516966630513080622869519352030519601307691276160242424615682272440153046818127204630086940823898658676817830470692948352259178438061172232106457413895681716080130784141520177124200361361242190924879339161490289982722052162931865241785603906363166287920470000454302287240322695928982136364733285280174399656511012260454275096990472256307475251092920207234731010978846657886956812107621783696268122437724466473470875055549897435213253768416801898484527811033200185977125704204389125248417598406282225699207671811130201745895191700177087812796850220828968019699203049216281072198958301180026563716959702487694508320174234041227245656483369890641689212025867252793240592314750660029679147049411692624465102432377677908981912363000105572677880410406018943108075342445373709674116348272854431464011016853804340266941629619593658381211765712034423021614701163107494403146480013580841462652271618152006436855047947816254081340169342871488119855315790574803511706248330007725952732805406171723500189504241137216504020977655151121128503280590770016027171072942830880723843108570119659297143214029602786856626076358607679161398089301142268315310580302135682041799462110403657546913722050860309400125334872953417450115850086202617486425288408577201302472918402032380218961614993507851691185033214422707772368101076218173599843866910195978465618185543792901305756134628100425246768178000221750726522883390966161252011680489566101527285480642002106105120027212221676376742706620743858821698030562998108756879869164043616816412203784530880225403454511347242039541832624630817618673580864069232537748868321071986125551616825410618007219621321736658169811226082004648816011549643921397772549869413928894881321253191181630652704307121412254186330403813300761738662378769152342052180111341281792282111119044323716387136105491210481252915176196705813305739225584304058104324948717391301095768177309092778642558013703611497689273471027031900052588096313975912936011465022342990861320217819017908019056381850202992965962005383209447624940024514709640603161850260365796293556019665670257635040380719342961012377216895405008991255818378400117306524049996216287377124431186636022837668544381851301495535188726631485923526111563619479143948003172267254478290907299626816541820394120989714659845331331935161310084848041378952477120823548966570299120872141331120427034562055560854848130269061008024929172773807152613350421172420169111374042818388906810693783467600233382099626826445389713045900148998494250046664819154285814361000503294578188851750116847082055105622501852376250135360332838639607207921292106205503372781716121832690556488179578129488818910805888421131522910306219608670683193596437242706881943761385892748624424500195297618440648195569287463546422422924872681988572282125388656538509823126413415221456651038323226454624677521539378249346943117640658490124957501789296600022736486496697680305598292792510042481797160282232630712952678421781590291753603481181790476003383348734001168120131689018341764539609014602284923672005861756163302418188816663538350838653440516855096521381852846256035138552416803340743484665148338731762610984962705045355359193614969642875099847919563704323001186980888528134904017892302504645237004017375675198020627116272481134003101016693568631407453244288718165181894292055914215431125234528906170568211924361821012183307866692424064503312714033322643124060514758614367905005203810247865215226237368138136628968134019944010511530131544237584964416643892207357530590185828479368769713218849605173180180122177797088015645284276828645562763600149621114616025873391529286128341480576130991418075045098381215000919652132117312201921460122070412708363264168123048868473428637803436992117522312176114706024228752054756216140225340331816962002333003334023361585081683453516482502507548895225408292793718531831763761433025177214812077523399481192600101896240593135756303702771319406944015022820323420428566829215315268892351901824657338431596375073340018865861427264602683148471566036160775571985927690100278114501662910163743949043533329892796458244680481326309280240742140151800025239281073951813350127174413082001879209103741188422618801237073107168588752113236211123645124418448505169532051461143877048235552129986189838717090878338430902190080152661217448231486083510735360879325406171039501478280147279621932311222533384544196628425876486523652617755701808649984734424664714266121388608105881012568504189383396446725145900022819683211861069679443251572109165801629260108006665255518623113600152019030638281730171366016302005135133470651169298206315429405293620681431458208103013603141672314596230222871187196174845430736093965524645023447512841361194771232424426040025844716794214226903263045414903214680317856127990417028274623150289826705168658795135107496774451159180242236431257629238330988011673601108815325201075517207888439961689732601692136488101085987203112850022512062185299235830161972017358224775952495216816646272280958426085027448205455598342952056775190416517472127415115970193595846170212347212994601657564937702488441102304204726213112523416901704340112030246797535953222080715520293075666254102784023528619786548790010176441400239358656118428610176036816008140454642873915372180550148010100200156306617127849816168231456967307121632824977720397964423802000461149125923286082515885603120605061719280325920356214221924380272055849512226105852701228507167348092038213469601549440337086179780140788512640688418248314022747240998250206527512607201239660104791254352023125350484570021302840808704284526042980519381531298021201189082250261118525336205079935392234351064289686804963202567994262792395048266058065834125363201748122705448144826476632012884483066115198672112481693736810333682440788839141588230758063189920928010486810658646501341774773185590811052997519453534642168320364011970848524293972305106684012316597323361156872863814554958938402646273116046330249018312227107521856640102921904428178084417643072587681801964554584149505709002213120128016212613529798884852749122169257256740643119991344238008878321346730196921303050161650031990842815328672342113436412263328075002622870297498169518372717665150810209964378923914352151540293375015134008987043096567211724302400192574752668993649845614197516911501092511762594133910420687553582742569212146384100663211969494227251266330701568137014433921214017921750202185494718207952572116239269488414524845698145421121648819354168191081626041965906649800898930132342620957454515325815320958015022791938982145064487185098474896098154673110972371159364814934882165911764165555551007407646110040628379085573858164593776293370224420041813211206011803815726152919310534604120176423294441896862985018951532219229343364856881016522435888488849123314178998228253499708335132447275011349373496709461362869536151257028100817951669788948417581979796132844887451068448441312501783652004547942160138395397420141278877778617400286445023883441774208116535203013547468376011662402377224237716202734030109811128881490170126523210021321650285202812847880020740833730609975017295549416405134520836393164071464220344648184093063436613367511972542607352555379538891780344546376151651539858284409116284303922718170164817220243963585980626535184777810837604978601478334124849410251002233007893014399791476405910122994100873334162855032054411358011572451262162497769544482594982260301632209271913620156184669601175026014553006958684646946958261911616452284923286150774489431749384528953991286730403727733953496284354978364896725702620232786127129770433890517848981722211261440937936212648139797253924364197104887671547615601415099577424402463075419904427028269352105360134754422058188715017466841375920164002224225115787011970267919613824024042601256850275613013532746537226012451295287885028067172676525245029221378637053044354022539241535760579579213251572182563700481780344608139238411408257703410484107428542691152065872549873166779817101521471032889601189476170775832155170167812745187466501257493920949740328444809688418626980072948619176328611097502432032300308562752874901539734973295748369018282021756625185697005602705541330820113553024003841584126407102324955136604011745091543784576002032019132925512461749954010473041834114123432019795520125211722325417482122992151360032234536664637994837905495526379941058417704502163447161718412735361775202260906502068207318013424806743203281110313802506352827644242122067900162196325619939641053405144320130804823225013835041620304881790127003017498815432931917409124708514807101784340919185127360839474202125012976217184242783450118010810113602902514599207429402520501278901337550210293012384321000008110601338761428223023885016054519027041654592273945634164025779785225995658661581408842347127303481558291691610741510547354532031516200274784175333120927212003766664449307037536187547279038317219719296991991781143171080944538880497448670680317635270382115412422301748605150876101727998869529704036344814204405921586624271225753703238234517226634401303151100962240946213554189612721092005245011206254365806474632195813718322895486693661554756144596463710703647714168581950169078013330827678753142156320616696549303127653803425713528863474055394476188648713333021517718627924137507236918669657394680164323416796002447250171543312021080938712721028584059892071303330717236153790060996018486441357920583164120001037022539273756324974263681435153475024837125762663313301504321608761248152564105631553853922315044512057088039612474802010284844244601151194250492211776110745018680964387688206202650882299500326034242408192100410880563219302205784210678205275670240512376473929233712384930127923618939222332099571726422093852139911057766817288021005399283030242477763042103599614374084631251607655126720147110668628036861452744150982720215464218295481026826109209268231125539846711186726682298295893585650204843006777469560025459202498752981784274610715981841162216530720278743820799802229249195242458684054317326387433076729102721475115358381732893592020329245168226026598018992720516932457062328019660814036167769419880003790083078453398474728425742381124881942688242014237012054641514688784350276113519035035326851442804214551103680015281111853478482658164500702721358864139259034196273232194740820563184051262326588256021523272324743531358652473674779218541443461727139842173637864612110020116064019766284707892280622256131808754273928563142740531993098606562762742004893868804832305982161100168286597819334782793672794112497949064301501755138481539294076201295923113400051731180865448105848959574398897803916331146040013370613590011937391206712844956622440165464017035207916221030848707945817819291300073920623309788305319112400062232050088587026584817152466001616364522078611276474171634677315052836020658722065932362687125407615750923805652542036554202575232551670101246417977506815433096042106440180217448201969621091982739750158402230849922848903314349328575009528367813897946413257589421525316125617207399441223928141984165810484412032385011636464465532542375263220765870166444628624252674101107636387464789378208967060032297273251397644884229400001253304940748483294382956408500578016992864141098313687746725926462546615117325001150074346065945735110659049602076124340981354656869979737356319246988334430794415361510752034072429378002701762167140845714624079211794862384244818505253584618630423214601781065992257640812668196012834290631973974215470885324852041269376043708033196683211008237994937229032403869224421574161812802397131121128423760052248183061940361121440106488414900229944075030529376309048131473419776039757646837604458631984467626942283831532840634527106783831152208616024475501064803241740147347214713233679881003348532813480352459921642000922014236117010396622750423344411249288481856660825441257400015538801619505106225173124027518716235021562123176576859455196283267200020370042585564294115013729041377918720479653351587931593614712782650658120224130267527439654080281730838774418707672119935207500833563818603176670024475475283181301880810244858047545422673018304057293640091123658251774082550241022868181638121442881375396895924205064350024187501906868803595244296810530646735242835750115275052272020382638976028686465776744022402329496127428047949880071230026507875013898721222200192588464387835635556104233181987558352091058916837393467782013099058874458365407880552467502848981133031322031014998665685759273684471902530028033523194517007845864133454502273040375151224464249830106470735548834702894770844118564996299806291698148289019098832962713229201301138276000411510129677768345550088247040316079414844063785016517983561284139776142590812431765047921297500218025243716055315218600003328644135945571914121060584283214014006938897185217863821247120395115175677016367631557067855510227632784355307643124712040374993854615268531345619084262505264233480290144182018376251143585940971859509627920147294627685313467605775961662595358853103768519734511747202371262244790012437101213558687750186566171801186609057844835624466032121905260881510797607000013167242642040745155226750321535226671841239029082463018373252744720591878252704599521461210262679249609094725270901230325182282430328201705441242428740320115828812914221311373728902284323312752502276250592712997452193174611798082631390123717518904617564403574037406103371856268805915282305102757208539952355912481284223839012879854846504894433774604368962405546145094914007876490957280308462969696268884779076827544182289830851271548360158505113475612829052556803337403267961180344821145224415451803891875630355486041474781262754153763318519362668763154175123632487822410667681092420513816473882347680134992042557413931414746011015162182986185582869342100343585382120124310142881219300130943715185452078252380299344796561200784001252021534326549918162540988788916349401249373891230252511519219642516825111646816286394892705600432914502572564904282986374883195488908910039391823952559957644655772157210309206178806366621134234326317663221825631663800244760816191508631061967732197121004340134375135298035158503695121096228117300164287560688618490684095901492210755370480795697958127727722424692200898218439653313714456035851618679978758645487035939818553730719717098703065272240408180241544720104929816136748621421792061104056961330416611391467157172415947002081376244386316175282782176943232160715820015248954863931830793242498576159512021107522987580123638414489129110642113716313275614677611807022549855030125745570267652739326206858014715013825502604080171005225850522027319432084018654460224944448195384150180390264024614407251355900537151519312842160208656065504025175830565089057412806252356831606167877456542984397288505237323994474475241179582381898262057095185041548874830259542431392084408515017897038201176531301999701720080461838140520320135630028277622493930323951004050699600125361610617771238952157917941434855719017532917401041749301422075123132227882264622845427540046634800963368115715391074111587772465062425922920645196297472627018306173761348644210630566866125003061824738926958081774460598620025540413405131587821779072236080223380066350217099929399774201106960799480240592534599642796123259612391261777004321068541875379223056604939529360411709420978541100995698566539401154133782084478823637241715540568411712253680510400141848260568292813308349557146362213740125742012615958604734564243843616421863523919687712599085571434372816367612574144280309510713610982401196401071927608005412590100474880709345032828792020960174617761568229244477193158136521523264714248185038559679113359069960419309435952016494311901903992894576647130136532297027130521313611997382921153380145935412413166991422885532742792064792166379211163610688841246201273980738651981228554218059404061163396852038400279313484373124668824083735565083396635661573185559861549223146601014185481810901010466216204021646901325742619231814372033708264880506287335534273182193600220098415281776644480995218358021287911029006704435731516277592054001264901414602120125180815920131783137984820042051004641109498141841758804023972601892971041762166350110264079810047827822215504294846463112685202637963316510480903127681702894115414216234408195403960001752728359413379005270399942480512582215938898070025971259532583223978174336604001090635269261180785023995583334085154864572713646454519386526208025955527045241048894121750044182638286931192261498240235407158760196172827093629664606320174517227291512921050662053010041935234866154083526814921131375181709763782744255208257019754466083627040095179513959824681316238111347501319251380875190121431657663249230267012170802245101510120685995828201051682416142210056800013834812557063998420234881236004525741782002210082244776180491799225520500153339057630634314711875422536191223128287811166810514496632541533723521205823438008181183859032600570104122643596812294422866494724707187572834202021519681281405754455594683861081134936019551842184090429279829422777555952491006825180425875871767950174023077825679443011687492321832233934259920050487273357251994813766402103116551707387556371070742914137139225125002132905360797557840148149015754681716346702021816894866265434410061269100622221010982894006681739968268251052828261336422414006164201406371606176422979910600523712556476152597519585381715841506961516562168767862263362848016774561708240385878322392011227476774251068081949483047072124839013652881386471223200106262688768184485633591142542482161583315726233920012967508679483762902407596100311629155081307619335613172010935452051886217898447854716071417581205100158468418137563232680353460148929474592013197608835098856042081229860532611836053442091542280806989049174486628648454813615227479263237606538881483912113528105336512960312954630999031341769569400282228841997611513769693602924002544496201105925252028420017554261000587429336196512259091833924826703007233452373032707500855218147732147829525600411537380336110919155923254449963290432277504104988659248811205230202996917428762394781782240162071014375921182041582600357510153003494405695621049100165123465900813690013446121058985146160080152386831227247773492541112640289870406121500964779501514107241681248132625200113461444569401655879015290501674640278321489445067624589001711714222362538284266490212291331134171551516079922292093122795410554241010560050680360936586564488338688212562149688027565503104648438416869681638936163131547271913967636654082305648741310361512765401404268103722020998321209712219085911182601685726089081912677311139870454351262278237851035755595372020534474552411765762375535462607155205925141007170596622142860315504017495762700018208851827823318970678998120602581755470551328353151329081203916151084811524327839721598483200521537954286802488660647532012920117705645988846979018204283615307504865270121075624649264435491867334510112809122136508152429228723820126231000251214619696734859046683827773481810500166222121760201771159577810437737131944520871324690406593415035026990991606600710940237556819778060916887444863729610875022852267884833215041392584834307261333524657685034252961885192780419985813392527460139460397997354188713517847293141831228889411089801373579131325959100830820934084122481016912002692722562969674419242303765424377470460928160167170525488011225501227064086079205195055614525876519921803424181734410000289100384033185079061600379860645310295815682550664092124998592481999061512712220303531464049386821097143056207864551262225495642032836110608011138392299933045123211609306202130732106650682006326366019343944312717605898884446775152418450234906013296282678941275285327109314549998436602270400205656103161612735829532002897184298116866730112403511179527824404620807359322841014293712551025982949953921903200569601948800666524466289646040326137394018470162550497553322702211896501700183873222291083084422247835769076819238462372039474445328415604323304490280425025100200121323618137601029105490770253601933807926751097280767082154070117040248628947376028600135305814729407918202767742786436767000347985273539258160760904424821412100730380969750146151620803410417476002533205384752001551980248787515643401514100108246619831401355706257393414250407447201309814862903891246040651370898353822949960138720394196930424268537526056824967711281963191469637912212042844841610239466439261491908138432056121616884022187213716211495585213807030061260384031903562204547472752105652658118921429832189055651141772339297104558419758901340616136980813176533535321437543190001842271200528893297678335391824311550548916602078708210433360621495681166881230341283407058152608106542152122791771801281580894822576077405288424028884642804265570818283152261487151830612986819366449634188760212704818420501496535431443353223217385762840701727012705605298632219580660482502499123896025586281246235810540285362525761381947956340157043736762201131000223566958351579980235762821400821138398763001733623381922122130417551999125241817482581815533431571616795091266288829980175827586170439796383172230209124221641678721400961852503175800116239290139227608004955866826408561021225418195468117251910405832753360001706554148770101388464136229968850120684042774090508452449952374165291820372129630850192116760153756489966001405284150742883201796056376611210424161791684365414197160998402813851060911469194238688136666358382567502702200120761215137383111059614876860311645027531518488524417141125888849078176403720002817752777376432001482576268584324307159744116058021798489343786275254780032250612666512144882017806151404909708147578411240609855033057289893438582526415990986104118743455820703102855642905248732015936320292121984322362120902245390524539605316244478882770028047818604805097121699493424116097398629237103773503172261473822218762047590429497669742555837827363210715217542218883668300547066912340276037215083702046007853236577561866169420912273136812404342337840611810844164134134461050617185959821352430422916966736812301022196929100986222419201004641186192720174181911613676208610829652032098328434803530878418304209821192485218383386064679905272757015522002244210502900514582133077648298090415966666672871270626670000203043215764433213450983577886320650230462018021249482801403901425544803862431521226287209062980557901424868081036308103922077066208739210039881339039967294314705142276262228906811982981243024669894139194170772260256158293069080130951191798122092016235949904321509360124940816559701736595103728610187323089910187270116370218032571505166721350019974418274284491096264775032313636544051441613976157040504922149816594960580819072377974816579827866301382024248724610493883628898538162792428360876941053331012854514766254686561429527583011902081302840188153227916025217597796022826631580012226441912724475745881980179282114480169343061009050336555180999053706976284970320970201512060108442033462027758162951624038019715495366401798531323304893455343826797221725552345142125760015931623365609270868764029040113010158267041241883540326241602679300134813711394397446271302488227858011459945217965652681706461132300209582829178971961610625648847469629149371215779803264502295120279840961848762200352201969508853364592321424942014081776068444826647612283703315125705701468581442320699775105841226089473127360106749762216339661862582457643748130400258400010670406278413466321301122008605679808771042201016494050034001101764406321222059796013250821184832799204823772420992517140632422207466010441959750321865940561408508200223470545445974162226329383233648563325519635001687644110174088946292024119011217590171475622448049404403104610272176290411615699474989161637127911219684266976338660628044125474469000137428292824695521404606333138315907096931604185441378505083741826006141307650471225096951916864441660116494865981338409029794796288317967246576643659251086500115575313424641103421144519227097233990115984080239212566402282832279497193629018198441390800479872225139220065882272424363221967616273410509376328120198211210860968627858389621401544415681360314580229514402418598291750047374630870085784473180814918848332380637080642429568203130926352487557640040214214276640108414069875018092345724183472561667190997496119561615440926114111988821735809052811850111001415323328032411521560377742589928715392269893039099953819123151701329216152423735178868695108218422846823714706310065437357316882060625134306415161211036601258401188342305613228933048037610642322260536239085725206098401591002763136259584063826228350002202753701520231124899974196950015216854435028711677684995629926900118008499891750760288828146059229275206746416533442443774314067215296288758862816024212511892142139930224940791151115635827422971006603447062227815266528141783027963833323984390243038036173615282758309667298107207161435859892116985116786621288967900296280014420757112161531702324315309611019111683874161758528209598018539382853891271244423199001287344508620228697629601851247935831492432445964258080774422634529369556288001105104218967120397961416950509490935132986862412847825046648797854032589727732941234036360815921142915550270938413252982688693060128076934875362149687319365068951531989507470647096969058119990079313113043527557181189642711491508064036624549592311283598798627270840484511070073060154595765293570596032930956389282544648203460611099751609280678617416355655919613782227595741480884544450844826048378021640703329978412300698700106392335042413575513312023457601487572498012760029017505049607046476880176045211992030701155345402332992208775710222841456607821243647631575816567201613997244844116982121436435266666949981110690160064263825121110406270661560370722107868396738382110258851684305745775197359886931622523015159767696368000999003074313251328159951684086486533216014931777215376812933601352180879130958188298422615698542039037142535760685162093016765768584020311602573233305040704052420820737552722304156879516683036654257540111401372600609242986520697688823771050013416819080318435122065116881884645159578161200843443754956690109002449891612642903176011644301459970700832106620310519361313678566671733491201824427097225452059450313329149928802490027446691353898813069107559011832001478718290618418170090914460005479756092463010850723451351173484618565969603090150233597424723803372985451932096270302866470612371681845430811214067412779041965540100010242864093012884460327654351540027129611197481073809597342859045958189151638326592165810824363178849580838245270805873632111592630000083991445511273083139217518503546147942807681396027910502069440142003710144199472174582481016016547402149695102000401907136765814817602585550138888408681037525303763065656743581468358752512427561117500567486510896257676232566634380544520240413932025311269954099519316264187860475457824690255656321244097976152268206528442182303680343588104992013573602958721218231130920035259013765022503919021231054948250565644857009412960181301960128268421794025737663666015558403556082914120107550332547066331546488336202329941145066882213367484968157932195819633496024941746558889880634404220179654805284765656994238830016476641283801444335325243100810463552139872126897520586151483217030561151116800228543646404750206338201801868719118888941317798711648865585346025385402954718128334102901125760135695712321655264016531154121949714104710022443485770107646117623070560244053010184231061126519588951958153523698323613925107468261464015470002732184450354147190058070424487711651251014301401939196685012549253280267468615279883620862143891840256438482229955837540368928598001241881210264137808540774031694094987210573292130432220042027476791138127986909734342379476430180170194254320060759112358410603145050109421376968910080165940821574041935227356245140064505014573027961263432662109175425716044802843261155897107844033772832338012449455935723996189430041775322360890266013124856334559133024960180729169761042011510089020652569850748440287150419507271692570681533375041848825532241977621770556684314970449026921464312512394542085695682984801685112297990010659070080252144018936014992443952055064714523606580243236062725164239681299611948884506688105803210128036288456871660946290096319429801650089133405833885781262127648417052516869913681855180341648441276275270285108474143136037624815435047863269905041760022185012785853867842820013582654015432435668992477500569696925791903522553135315012173708110058378256410442000204592026078169810883475262519165149076114482722325217212864728260490239766898548034716555108813016164502259730804100010732261182272363934170182973418594995067275047185643627223086428071014314822572254539419113668332659880163280183116871962631699222824451985984171398425022831852426950380138040831410004023001568762809706130014082440116121218916267236054010327694811273369125047615728255643008420062381229421833040111162011104506609969535408854441697081337338212984158795173665630420511020075118581291282535205364877429160224644151448197889717563791241604652146916453121699581485074028179769714464801533707508680960498134515210890368517207639739681194986181919735282083960420531671807955378144497861866628590940102445825475528269501640126405248113410314040880010304283303820326401126621941200170287626396101881365460439627017388012850701989908664085114876916054720055139522904743098766261990415035863429992726291342080565480127758047457313159914840444702909067961329274259600476256981020780685262506088448020819567742252783563244961407776153103139342018242624297682561562648396322456558521634926082607261119796216356355988418384401181720345233829974781330285599868185328112739177345620405994241151315246761595212353468614210008010404710771994617552858262153402923256354812544038940041222133162222392544119380742048011630388372720938523951235465162722352206067129880856346385278859107888223010841189903052656204092040561716505161408209100338835154042117024392507325502804183070132476161052256360536349560126314820533651528395201488434344078390152663520410121672811317453109230980164942645327149061731926680904428036397236298412801252845682667291113677011723602224814866250121930423243582818388652212339152359800019960293556804138217266940887417614613803435453459888698491950124193821650563031264269212040534975002816016149931353825669646518748801373746617185947360175096555856191132428444588396440903583725348846814977004657161941843137684338428773073139442550213970741111776994694235250055989685523218415084535304609282710008150984022585244475076044226630414398801197000172920321784802593638995527096580549721174867605033128181105214837441941570238224467354155602178727801828792704532582009462127870216944017631020904474695664621498143111138551580847260425404937658802614661691501559747143304691698144078271321677270386772782884594900267038121943321822028118439434686313342561120037196454427637129316365308173193109496621540754272205362973191558525133726472801804355536820746761574232371280241960419325683644619333185680307272863605393967735550605169123546835117286439780063825244543049949498548823039611163790471670868946313472395002210953131132529656601469577136864141332621936482606800238045217277757881194922715241903749962114191535926605257254418044526944161512658557041385120185364038453830924244770481319175309053982132531212655059324145401317890488475155500441140189371242390120312230786516660081611038131308810683251234809117277850001290600870482039368120258628184641484239156768167101215206647180810512649379172317274940647278761805103237303355454481096432321043201131196789594663282769442132825154008131587414338002032242994212186372011470410281610120567887641592151665615516621866375240465240128225663634279236362456341121867212492602923388363841030880773761320102495747171535218214850001449726434928669576117849457894753999515581622733147625542721416361672140288361615081891727822153581572959114762497138823230025936111251241628702321679144036515891222025590273511143936221600044372482026035462066500332696022924443510441680582693113592184231692858466615946701613920383860121761513129924101365722887736387603019794197404445600237987031437451010075841491569540114770420872894102846022410788001822429878534177723150785128557212903442757160220237812966361619631962592892980108755523530450914566528034501765845681636992526680651421135728458766190085715147013171914916020475816816602911588344406146758340537614351691002921338668056037667206016499521182856290820022284944629566320031646162207214707201465890783624323552511418548634648942407083214335482446152368926174727081488360163784016294893667510595184212049011106488201869610219764400939652791953838695339647216132132740132183721238274209728145850414151442899149045813581428492508930581149050158818514497601053078136577225336518103961933308195014060570531580657301967335103059813844614212066670318078485071742938698122801633939201135070899428378740557325952565907771654901077250115768418301135708650826172041178844154424238710612123544262584470314092475552649216718557503900621238748587501215844101394836093020213414501761296240982704187759413572012849411912382110852392955297862822760181053174236381610287340412826149543220823507978384036571529274104228022843281675968704826638653917767262622441002812674192074806287102622001304720135090012268801591923995421769812219545415912881324803503221937219449371201024248263220862315659107197199377201491935208995525628592320178322713629161351566293384085200016952027789431027840217005719495526947899876579251101125900637332162192017952684963499700173575534431838398419512505019649012524106631865762344160298412112983943761391137425397482566231740072039065699150113933613865691094224262545630115588819212152057550573303197882970321259027211705622764182762205263417043006519214706453121616589989278661727008188940796288508326825021023041013840207386093786066016823255893377782174722492101205675311129185799613099055080535689825793619770651202121043188177606389401340348782221942490257570226442215556627081305831522857115874272993619289771388115164164134717019613812707947810958804751758243126209066351496738317975013846002668921921383450271734813556958006601685472308770589566169625031319667869914650268716642216448190944025250757812146492113896963173728365177733187447016265356010090091631988310022437527849201416450168700012324512543120593730159350445250454683013952801258003833182967412274008614397801232712608622289692734946134862015921366843222017990195412503862489762194787231182043920810739823860226296497920544620117306209722644344100838615678017217049317011037686105638264361677872107469326549494263236297344816855571224083413209041381798190872864371892223620035133387552195625026621501735328257788263784747234440071591253150687849441489860106704279568187091274675711043883770444880451636840307360722400319415652533227711128288320915427482243262372456586125208975613030067015611427543006752242223812819107901276781417240349716011936885174401591164915824872962249390114061596624714240236382829280503243062194444220349013156051259184164383647360027059924014925329761580439945101683046531432373066427420191963278416066079027594787217223781051877288399122824321782291190225441296678871501081446102159416417217653157685814081702632142112290681074185189279375207012258677003621415142399775330657980015501101057840736951435200213142437779024964216666216072004804416646463100866468028801701005675165747422160222708540029910144501010872322956180108049430045610406002394513247260921102230632100585625530071990617035205059263244752157684616884064860024731437045019632341334619210658088646483622982409384163670866358077854413520044915473080011618881392997104280739200935088264942074994177938720836233027615395641763822646001520253116972812346627406292072820855545129639269658293645746692164101617790087112041341894124434623755870108361819212644753298898383893357186464520279840232629622743302245200563115149674459182213346281206225667875244127533136134997919303970950181569613847210444893100114820813659845079761274653152353326886329814319911963827761214766193470942725141858171167912517883873482825592136371221100813076261953292184092015200083510710149330287821625747334084287069651446734071061201537344467791237634172684641015737993602045022159831158088807732411412612444138274550625616650811600745626757101575632612811138402413320108153318060029508621677820970882258550690345472520932736330594856731802514360124845853140207033621265818516601379985238056074110511141225270028658577944213730128660415274924086612727561134842788830112125321276835758221951051172786691825962170624358052681735241044093968120641080268143775115353639567070211020612243520817472501786143497927834067907432588766553963134911986090599893145811737048211788019258022559641294310122223173349027691446220502480940548205514047612003350884513324503591653015729962808691419468243392436040108372280324812056111629925010650692870855111868527445627038162299200128700176059233140001065864157459250858019569316407246501433163394564644502659201335204135861867442604942141412237165050635328776115431568081125994032155217857557408532433528186093677248210368021196371554903123988229135701584474174304147043612411007868248491144338451628464499844512691528191119347236611873661229936482973858365610882081328049144675712090901414436128656017610661635081947062351765978492219189542557430380407789148643601658467700002876641900071588704186092584645015359209225601014408206925133790443668146254810154931573681774220121142240994155142584528103500187658939441616562461557025205419604605672201543314738508937928316116817140958043692331973438953875844812077783339443946802216596441620224910634425245943626830655625962719843800641173458135720124218665331210838428116510916181156500714816528255115248160428010511493141508974591488492182447868618559233561583412011325332404568012166462721497690207582416046019068848404175820891130013855604601251317627531921049002047364182250690691732368106446215657076076028463214977211069488100640539065169276636548718479668151303139311253967092313723272197601425424926744