Wilson Trail Runrunning23559709023559709023559709023559729023559749023559769023559889023559810902355981390235598159023559817902355981989235598218923559824882355992688235699288823569931882356100338723561013587235610137872357102398823571054088235710642892357108448923571084789235810950892358110539023581105690235811258912358113609123581136291235811364902358113678923581127089235811272892358112748923581127690235911378902359113819023601138391236111485922361116869323611168893236111690932361118919223611179391236111795912361117989023621171009023621181028823631171058723631171088823631171108923631191129123631191149223641201169323641211189323641211209323641201229323641201249123651201269023651201308923651201348823651211378823651211408823661211438923661211469123661211489223661211509323661201529323661191549323661191569323661191599323661191619323661191639323671191669323671191689323671191709323671191729323671201749123681201769023681211789023681211819023681211839023681221859123691221879123691221899123691221919223691221939323691221959423701221979523701231989423701252009423701252029423701252049423711252069223711242089123711242109023711242129023711282149023721282159023721302189023721302209023721302229023721302239023731302249023731302269023731302268823741302268623741302288623751302298623751302308623751302308623751292318623751292328623761292348623761292368623761292388623761292408623761292428723771292448823771282468923771302499023771302509023771302529023781302549023781302569023781312579023791312589023791312599023801312609023801312629023801312639023801292657923801292676923811292686923811272707023821272727023821272747023831272767023841272797023841272807123841272827223851272847123851272857123861272887123861272907123861272928023861272949023861282969023871282989023871283009023871283029023871283049023871293069123871293089123871293109123871293129123871293149123871303169123871303199223871303229223871303249323871303269323871303299423871303329423861303359423861313389323861313409323861323429323861323459323861323489223861323519123861323549023861323568923871323588823871323618823871313648823871313678823871313708923871333729023871333749023871333779023871343809023871343839123881343859223881353879323881353909323891353929323891373949223901373969223901383989223901393999223901394019223901394039123901394059123901394079023901394099123901404119123901404149123911404169223911404189323911424219423911434249423911454269423921454289423921454309423921454329323921454359323921454379323921454399323921454409323921454419323921454429323921454439323931464449323931464459323931464469323931464489223931464509223931464539123931464569123931464599123931464629123931464659123941474669223941474689323941504699323941504709323941504729223941514749223941504769123941504799123941504819123941504839123951514849223951514859323951514879323951514899323951514929223961514949223961524969223961524999223961525029223961525059323961525109323961525149423961525169423961525199523961525219523961525239523961525269523961525289523961525309523961525339523961525359523961525379523961535409423961535439423961555459423971555479423971555489423971555509423971545529423971545549423971545569323971555589323971555619323971555649223971555679223981555709223981555729223981555759323981555779323981555799323991555829323991555849323991555869323991565899323991565919324001565939424001565949324001565969324001555989324001556019324011556049324011556089324011556109224011556139124011556159224021556179224021556209324021556229324021556269324021556319424031556339424031556359424031556369424031556389424031556409424041556439424041556449424041556469524041556489524041556499524051556519524051566539424051556559424051556579424051556599324061556619224061556639224061556659224061556679324061556699324071556719424071556739624071556759624081556779624081556799524091556819524091556829524091556849524091556869424091546889424101546909324101546929324101576949324101576959424101576969324111576989324111577009324111577039324121577059324121587079324131587099324131587119224131587139224131587159324131587179224141587199224141587229224141577249224151577269124151577289124161577309124161577329124161577349124161577379224161577409224171577429224171577449224171577469224171587489224171577519224171577549324171577569424171577589424171577609524171577639624181577669624181577689524181577719424181567749224181567769124191567789124191587809124191567829124201567859124201567889124211567909224211567929224211567959324211567989324211568019324211568039324211568059324211568079324211568099324211568119424221588139524221588169524221588199524221598229524221588249524221588269524221588289524221588309524221588339524221588369524231588389524231588409424231588429424231588459424231588489424241588509424241588529424241588559424241588589524241588609424251588629424251578659424251578689424251578709324251578739324251578769224251578809224251578829224251598859224251578889224251588929324251588949324251578969324251578999324251579029424261579059324261579089324261579109324261599139324261579169424261579189524261579209524261579239624261599269624261599289624261599309624261599329624261599359524261599389524261599419524261599449424261599469424261599489424261599519324261599549324271599569224261599599224261599629224261599659224261599689224261599709224261599739324261609769424261609789424261609819424261609849424261609879424261619909424261619929424261609959424261609989424261601001942426160100494242616010089424261601011942427160101494242716010179424271601019942427160102194242716010249424271601027942427160103094242716010329424271601034942427160103694242816010389524281601040952428160104295242816010459624281601048952428160105195242816010549524281601056942429160105894242916010619424301601063932430160106593243016010689324301601070942430160107294243116010759424311601078942431160108094243116010829424311601085942432160108894243216010909424321601092942432160109494243216010969424331611099942433161110294243316011049424331601107932433160111093243416011129324341601115932434159111893243415911209424341591122942435159112594243515911289424351591130942435159113294243515911349424351591136942435159113994243515811429424361581144952436158114694243715811489424371581150942437158115394243715811569424371581158942437160116094243716011629424371591164942437159116594243715911679424381581169942438158117195243815811739524381581176952438158118095243815811829524381581184952438158118695243815811889524381581190942439158119394243915711969424391581198942439158120094243915812029424401581205942440158120894244015712109424401571213942440157121694244115712189524411571220942441157122394244115712259424411571227942442157123093244215712329324421571234932442157123693244215712389324431571240932443157124293244315712459324431571247932443157124993244415712519324441571253932444157125593244415712579324441571260932445157126293244515712649324451571267932446157126993244615712719324471571273932447157127594244715712779424471571279942447157128193244815712839324481571285932448158128793244815912909224481591292922449159129492244915812969224491581298922450158130092245015813029224511581304922451158130692245115813089224511581310922451158131392245215813159224521581317922452158131992245215813219324521581323932453158132593245315813279324531581329932453158133293245315813349324541581336932454158133894245415813409424541581343942454158134494245515813469424551591348942455159135194245515913529324551591353932456158135493245615813569324561581357932456158135894245615813609324571581361932457158136293245715813649324581581366902458158136787245915813688524591581370832459158137280245915813737724591581375762460158137775246015413797424601541381732460151138373246015113857224611481387732461146138973246114613918224611461393902461145139591246214313979124621431400912462144140292246314414049224631441407922464144141092246414414129224641441414922464144141592246414414179224651431419932465143142092246514314229224651431424922465144142692246614414289224661441430922466144143291246614414359024661441437812467142143973246714214427324671431444732468143144672246814314477224691421448722469142144972247014214507224701421451722471140145270247213814546924721371455682472136145668247213614576724721341458672473134146066247313414616524731341462652473134146365247313414646524741341466652474134146878247413414719124741321472902474132147489247513114768924751311478892475130148089247513014838924751301485902475130148791247513014909224751301493932475130149593247512914979424761291499942475129150195247512915039524751301505962475130150896247513015109524751301512952475130151494247513015169324751301518932475131152093247513115229324751311524932475131152593247513115279324751321529932475132153293247513215349424751321538942475132154194247513215449424751321547942475132154994247513215519424751321553942476132155594247613315589424761351560942476138156294247614015649524761401566942476142156894247614215709424761421572942476142157494247714315769524771431578952477143158195247714215849524771421586952478142158895247814215919524781421594952478143159795247814316009424791441602942479144160693247914416119224791441614922479144161892247914416229224781441625922478144162892247814416309324781441634922478144163892247714416429224771441645922477144164892247714416509324771441652932476144165493247614416569224761441658922476144166091247614416639124751441665912475144166792247514416709224751451673922475145167692247414416789324741441681932473144168494247314516869524731461689962472146169297247214616959824721461700982472146170598247214617089724711461711972471146171397247114617159724711461717972471146171997247014617229724701461725972470146172697247014617289724701461730972470146173197247014617339724701461735972470147173695247014717389424701471740822470146174171247014517427024701451744702471145174670247114517477024711441748692471144175068247114217526824711411753682471141175568247114117576824711401758682471138176068247113617626824711351764692471133176669247113317676924711281768692471129177069247112917726924711291773692471128177569247112817776924711331778692471133177968247213317806824721321782682473132178468247413217876824741321790682474132179268247413217948024741321796922475132180092247513318039224751331806922475133180892247513318109224751331813922474133181592247413418179224741341818922474134182092247413418209224741351820922474135182092247413518209224741351822922474135182492247413418258124741331826712474133182770247413218287024741321830702474132183170247413018326924741291834692474129183669247512818396924751261841692475126184370247512618457024751271847702476127184970247512718517024751271854702475127185670247512718587024751271861702475127186469247512718676824751271870672475127187267247512718746624741271876662474128188065247412818836424741291886642474129188864247313118916424731311894652473133189679247313518999324731371902932473139190693247313919099324731391912932473143191493247314419179324731441920932473145192393247314519269324731451928942473145193094247314519339424731481934942473148193694247314819399424731481942952473147194694247314719499324731471952932473147195692247314719599124721471962912472147196691247214719699224721471972922472147197593247214719789324721471982942472147198494247214719879524721471990942472148199294247214819949224721481997912472148200091247314820029024731492004912473149200691247314920089224731492011932473149201493247314920179324731492020932473149202293247314920259324741492028932474149203193247414820349424741482037952474148204096247514820429624751492044962475151204795247515420509524751562052952475156205595247515620589524751562061952475156206495247515620669524761562069952476156207296247615620759624761562078962476156208096247615620839624761572086962476156208897247615620909624761562093962477155209695247715620989524771552100952477155210195247715521039524781552105952478155210694247815521089424781552111942478155211494247915521169424791552119942479155212294248015521249424801552126942481155212894248115521309424811542131932481154213393248115421359324821542137922482154213992248215621429224821562144922482156214693248315521489424831542150942483154215294248315421549424831542157942484154216094248415421629424841542165942484154216895248415421709524851542172952485154217495248515421769524861542178942486154218094248715421829324871542184932487155218692248715521899224871552191922488155219392248815521959324881552197932488155219993248815522019324891552204932489155220694248915522089424891552211942489155221394249015522159424901552218942490155222095249015522229424901552224942491155222693249115622299324911562231932491155223393249115522349224921552235922492155223893249215522409324931552242932493155224393249415522459324941542247932494154224993249415422519324941542253932495154225593249515422569324951542258932495154226092249515422639124961542264832496154226675249615422677424971542268732497155226973249815522707324981552273822498155227692249815522789224981562279922499156228292249915622849224991562286922499156228893249915522909325001552292932500155229493250015522979325001552299942500155230194250115623049525011582306952501158230895250115823119525011562314952502156231695250215623189425021562321942502156232494250215623269425021562328942502156233194250215623349425021562337942502156234094250215623449425021562346932502156234993250215623529325021562355932502156235792250215623599125021572363912502157236791250215823709125031572372922502157237593250215723789425021572381942502157238494250215723869325021572389932502157239293250215723949325021572396932503157239793250315724009325031572403932503157240693250315724089425031572410932503157241393250315724169325031572419942503157242294250315724259425031572428942503157243294250315724359425031572438942503157244093250315724439325031572446932503157244893250315824509325031582453932503158245693250315724599325031572462932503157246694250315724699425031572472942503157247494250315724779525031572480942503157248394250315724869425031572489942503157249294250315724959425031572498942503157250294250315725059425031572508942503157251193250315725149325031572517922503157252092250315725249125031572527912503157253091250215725339225021572536922502157254092250215725439225021572546932501157255093250115725539325011572556932501158255993250115725629225001582565922500158256892250015825729225001572575942500157257896250015725809725001572581982500157258398250015725859925001572587982500157258997250015725919525001572593942500157259494250115725969425011572598942501157260094250115826029425011582603952502158260595250215826079525021572610952502156261295250215626149525031562617962503156262095250315626229525031562624942503156262694250415626289425041562629942504155263294250415526349425041552636942505156263995250515726429525051572644952505157264694250515726489425061572650932506157265293250615726549325061572657932506157266093250715726639325071572665932507157266793250715726709325071572672932508157267493250815726769425081572679942508157268294250815726849425091572687952509156269095250915626939525091572695952509157269795251015727009425101572702942510157270494251115727079425111562709942512156271194251215627129425121562714952512156271695251215527189525131552720942513155272394251315527269425131552730952513155273295251315527359525131562738952513156274195251315627449525131562747952513156275094251315727539425131572756942513157275993251315727639325141572767942514157277094251415727729425141572774952514158277796251415827809625141582782962514157278496251415727869625141562788952515155279195251515527939425151552795942515154279894251515428009425161542802942516153280394251615328069425161532808942516153281094251715228139425171522816942517152281894251715228209425171522823942518152282594251815228279425181522830942518152283294251815228349325191512835932519151283793251915128399425191512840942519151284094252015128429425201512844942520151284693252015128479325201522848932521152285093252115228529325211522854932521152285693252115228579325221522858922522152286092252215228629225231522864922523152286792252415328709325241532873932524153287693252415328799325241532882942525153288494252515328879425251532890942525153289295252515328949525261532897952526153290095252615329029525261532904952526153290695252615329099525261532912952526153291495252615329179425261532920942527153292294252715329259425271532928942527153293294252715329359425271532938942527153294094252715329439425271532946942527152294994252715229529525271522956952527152295995252715229629525271522964952528152296695252815229699525281522972952528152297495252815229779525281522980952528152298294252815229859325281522988932528152299292252815229969125281522999912528151300291252815130069125281513008912528151301192252815130149225281513018932528151302093252815230229425281523026942528153302995252815430329525281543034962528155303696252815530399625281553042962528155304496252815530469525281553048952528156305195252815630549425281563057942528156306094252815630629425291563065942529155306894252915530709425291553073952529155307695252915530789525291553081962529154308496252915430879625291543090952529154309295252915430959525291543098952529154310195252915431049525301543106952530154310995253015431129525301543114952530154311695253015431199525301543122952530154312595253015431289525301543130952531153313295253115331359525311543138952531154314095253115531439525311553146952531155314894253115431519425311543154942531154315694253115431599425311543162942531154316494253115531669425311533168942531153317094253115331739425311543176942531154317994253115531829525321553184952532155318795253215531889525321553190952532155319295253215531959525321563198952532156320095253215632039425321563206942533156320894253315632119425331563211942533157321102533157321102533157321648253315732219625331573224972533157322797253315732309725331573234972533157323896253315732429625331573244962533157324796253215732509525321583254942532158325894253215832629525321583266942532158326994253215732739425321573277952532157328095253315732839525331573285952533157328795253315732909525331573294942533157329894253215733039325321573306942532157331094253215733149625321573317972531157332097253115733239725311613326962531165333096253116933349525301703339942530170334293252917033469325291703350932529169335493252816933569325281693358942527169336094252716933629425271693364962526168336599252616833689925251683371982525171337299252517133749925241713376982523170337897252317033819725221703384982522170338898252117033929825211713394982521172339799252117233989925211723400100252017234029925201723404992519172340699251917234099925191723412972518173341596251717334179525171723419942516172342094251617234229325151723425932515172342893251517234329425151723435942515172344095251417234459525141723450952513172345495251317234609525131723465952512172347095251117234769525101723480952509172348595250917234899525081723493952508172349894250717335029425071733504942507173350695250617335109525061733513952505173351695250517435209525051733524952504172352796250417235309625041723532972504172353298250417235329825031723536972503172353996250217235429525021733544942502173354794250117335509325011733553932500173355693250017335609325001733564932499173356793249917235709324991723574922499172357892249917235829124981723585912498175358891249717535929124971753595912497175359891249617336029224961733605932495173360895249517336119624951733614972494173361898249317336209924931733623992492173362699249217336289924911733631982491173363498249117336379824911753640982491173364298249017336459724891733648962489173365295248817336569524881723661942487173366494248717636689424861763672942486179367595248617936789524851793682952485178368594248417836889424841783692942484178369595248317836989524821783702952482176370495248117637079524811763710952480176371495247917637179524791773720962478177372496247817837279724771783730972476181373497247618137379724751823740972475185374496247418737479624731873750962473188375396247218937569524721893760952471189376295247118837659524701883768952470188377196247018737749624691873776962469186377996246818837829624681883785962468188378896246718937929624671913796962466193380095246619338039424661933806932465193381093246419438149324641933817932463193382094246319338249624621923828972462192383198246119238349824611923836982461192384097246019238439724601923846952460192385093246019338549324601943857942459194386094245919438639424581943866942458193386995245819338729424571933876942457193388094245719338839524571933886952457192389096245618938949624561893897962456189390095245618939039424561883906942455189391094245518939149524541883917952454188392095245418839239424531923926952453194393096245319539339824531953936101245319539381022452194394110424521943945103245119539491022451195395210024511953955982450195395898245019439619824491943964972449194396897244919439709724481943973972448194397697244719439809724471943984972447194398797244719339909624471923993962447192399695244719239989524471914000952446191400395244619140069424451914008942445191401294244519040159424451904018952445190402095244519040229524451894025942445189402793244418740299224441864032902444184403489244418340378824441824040882443182404388244318340468824421834048892442184405191244218540549424411854057982441185406099244118540641002441183406610124411834069101244018340711002440183407310024391824076992439182407898243918240809824381824083982438182408697243818240899724381814092972438181409697243718140989724371814101972437181410497243718141069724371814108962437181411196243718141149624371814117962437181411996243718141219724371814123962437181412596243717741279624371744129962438174413296243717441349624371744136952437174413995243717441429424371744144942437175414694243717541499424371754152942437175415595243717541589524361754161952436175416494243617641679424361764170942436176417494243517641789424351774181942435177418494243517641869524351754188952435175419196243517541949624351754197972435175420097243517542049724341754208962434174421196243417442149524341744217952434174422095243417442249524341744228952434175423195243417542349524341754237952433175424095243317442439524331744246952433174424995243317442529524331744255962433174425896243317442619724331734264972433173426898243317342719824331724274982433172427697243317242799724331724282972433172428496243317142869624331714289972433171429297243417142949724341714297972434171430097243417243029724341724304972435174430697243517443099724351744311962435174431396243517443159524361744317952436175431994243617543219424371754324932437174432792243817443309124381744333912438174433691243817443389124381744340912439174434392243917443459224391744347932439174435093243917443539324401754356932440175435893244017543609324401754363932440176436693244117643689324411764371922441176437492244117643779224411764380922442176438292244217743839224421794384922442177438693244217743889324431774389942443177439093244317743929324431774394932443177439693244417743989224441774399922444177440192244417744039324441774404932445177440493244517744069424451774407942445177440994244517844119424461784413942446177441595244617744189424461774421932446177442493244717644269324471764428932447176442993244717644319324471764433932448176443593244817744379324481774438932448177444094244817744429424491764444942449176444594244917644469524501764448952450176444995245117644509424511764452932451176445393245117644549324511764456922452177445892245217644609224521764461922452176446392245217844659224531794466922453179446892245318044709224531804472932453179447493245417844759324541784478932454178448094245417844829424541784485942455178448894245517844919424551784495942455178449994245517845039424561784507942456178451094245617845149424561784517932456178452093245717845229324571784523932457178452593245717845279324571784530932457178453293245717845359324571784538932457178454092245717845439224571784546912457178454891245717645509224571754553932457174455693245817345589324581734560932458172456393245817145669324581714568932459170457093245917145719324591714572822459170457372245917045747124601694576702460168457769246016845786924611684580682461168458168246216845826724621654583662462162458465246215745866524621574588652462153458965246115245906524611524592652461148459465246114745956524611474596652461149459865246114946006524611494601652461146460264246214646036424621464604642462144460464246214446066424621434607642463143460864246314246106424631424612642464142461364246414246156424651414617652465139462065246513946226524651374624662465137462666246613646286624661364630672466136463267246613646336724661374634672467135463567246713346366724671324637672468132463866246813246396624691324640652469132464165246913346426424691334642632469135464362247013546446224701354645602470135464659247113546475924711354648592472134465159247213446545924721344655602472134465660247213446576124731334658622473133465962247313346606324731354660632473135466164247413546616424741354661642474134466364247413446656424741344667642475134466964247513446726424751344674652475133467665247513146776624761304678662476129468066247612646826624771264683662477126468466247812646866624781264688662478130468966247813146926524781314694652479131469665247913146996524791304701792480130470394248013047059424811314707942481131471094248113247129424811324714942481132471694248113247189424811314720942481131472194248213147229424821314724932483131472593248313047279224831304729922483130473092248313047329224841304734922484130473692248413047389224841294739922484129474292248512947449324851294746932485129474993248513047519424851304753942486130475594248612947579424861294759942486130476194248613047629324871304763932487130476593248713047679424871314769942487131477194248813247739424881324775942488132477794248813247799424881324781932489133478393248913347849324891334786932489133478893248913447909324901334792932490133479493249013347969324901334797932490133479993249113348019424911344803932491135480593249113548079324911354809932492135481193249213548139324921344814932492134481694249213448189324931344819922493135482091249313548229024931364824892493136482689249413648288824941364830882494136483290249413648339224941364835932495136483793249513648389324951364840932496136484293249613748449324971374846932497137484893249713748509324971374851932497137485293249813748549324981374856932498137485993249913748609324991374862932500141486493250014248659325001434867912500144486990250014448717925011444873692501143487469250114348766925011434877692501143487869250214148806925021414881692503140488269250313948846925041384886692505138488769250513948896925051394891692505137489269250513648936925061364894692506135489669250613548986925071364899692507136490170250813649037125081364905832508137490795250813749089525081374910952508137491294250813749149425081374916942508137491993250813749219325081374923932508137492593250813749279325091374930932509139493293251013949349325101404936932510141493893251114249399325111424941932512144494393251214449449325121444946922512144494892251214449499225131434951922513145495392251314549549225131434956912513143495891251414349599125141394960912514139496291251513949649125151394965912516139496791251613949699225161394970922516139497293251613949749325171394976942517140497894251714049809425171424982942517142498594251814249879325181424989932518142499194251814249939425181424996942519142499894251914550009425191475001942519146500294251914750049425201475006942520147500894252014750109525201475012952520147501495252114750159525211465018952521146502095252114650229525211465024952522146502694252214650279425221465028942522146503094252214750329425231475034932523148503693252314850389225231485040922523148504292252414850449225241485046932524148504994252414950529525241495054952525149505695252514950589525251495060952525149506294252515150649425261515066942526151506994252615150719425261515073942526150507593252715050779325271505078932527150508093252715050829325271505083932528150508587252815050878225281505088822528150509082252815150917625281515092702528151509470252815150957025291515096692529152509768253015150986725301505100672530149510266253114951036525311495104642532149510664253215351076325321565108632532156511063253215751116325321575112632532157511363253215651146325331565115632533157511663253415751176325341575118632534157511964253415751206425341575121642535157512263253515751246325351575125632535157512663253515751276325361575128632536157513063253615751316325361575132632536157513463253715751366325371565137632537156513863253815651396325381555140642539155514265253915551446525391565146662539156514866253915651496625401565150662540156515266254015651546625411565155662541156515766254215651596725421565160672542156516268254215651636825421525164692543152516669254315251686925431525170692543155517169254315551726925441555174692544155517669254415551786925441555180692544155518169254515751826925451565184702545156518670254515651877025451565189692546156519169254615651936925461565195692547156519669254715151987025481505200702548150520170254815052027025481505203702548150520470254915152066925491515208682549151520967254915152106625491495212652550149521465255014952156525501495216652550149521865255014952206425511475221642551147522364255114652256425511455226642551146522865255214552306525521445231662552144523266255314352346725531435235672554142523667255414252386725541425239672555142524067255514252426725561385243662556136524466255613652456525561365246652556136524865255713652496525571375250642557137525164255713752526425571375254652558138525664255813852576425581335258642558132526065255813152626525591315263662559131526466255913152656625601325266672560132526867256113252706725611325271672561132527267256113352746725611335276672562133527867256213452806725621345281672563133528267256313352836725641325284672564132528567256413152866625651315288662565131529066256612852926625651285294662565127529566256512752966625651275298672565128530067256512853016725651295302672565129530368256512953046825661305306682566131530867256613153096725661315310672566130531167256713053126725671305314672567130531667256712953176725671295318662568129532066256812953226525681295323652569129532465256912853256525701275326652570126532865257012653306525711265331652571126533265257212853336525721285334652572128533665257212853376525721275338652573126534065257312653416525731275342652573127534366257312953446625741295346662574128534866257412853496625741285350662574128535266257512853546625751295355662575129535766257513053596625751305361802576130536394257613153659425761325367932576132537093257613253729325771325374922577132537792257713353809125771345382902577135538489257713553868825771355388882577135539188257713553948825771355397882577135540089257713554029025771355404922577135540694257713554089425771365410942577136541294257713754159525771385418942577138542094257813854229425781385425952578140542795257814254299525781425431942578143543394257814454369425781455438942578144544194257814454449425791445446942579144544894257914454509425791445453942579144545694258014454589525801445460952580143546295258014354649525801435467952581144547095258114554729525811455474952581146547795258114554809525821455483952582145548694258214654889425821465490932582146549392258214654969225821465498932582146550093258214555039425821455506942582147550995258214855119525821485513962582148551596258214855179525831485520952583148552295258314855249425831495526942583148552894258414855319525841485533942584148553594258414855379325841485539922584148554292258414855449325841485546932585148554894258514855509525861495553972586149555696258614955589525861495560952586149556295258714955649425871485566942587148556893258714855709325871485572932588148557493258814855769325881485578932588148558093258814855839325891485584932589148558694258914855889425891485590942589148559294259014855949425901485596942590148559995259014856029525901485604952591148560695259114956089525911495610952591149561395259114956169525921495618952592149562095259214956229525931495624952593149562695259414956289425941495630942594149563294259414956349425941495636942595149563895259514956409525951475642952595147564494259514756469425961475648942596147565094259614756529425961475655952596147565795259714756599525971485661942597148566394259714856659425971485667942598148566894259814856709425981485672942598148567594259814856769425991485678942599148568094259914856829425991445684942599143568695260014156889526001415691952601139569395260113856959526021365698952603135570095260313457029526031345705952603133570795260313257099526031315711952603131571395260313057159426031305717942603130571994260412957219526041295723952604128572595260412857289526041285730952605128573295260512857359526051285738952605128574095260512857429526051285744952605128574695260512857489526051285750942605128575294260612857559426061285758952606126576095260612557629526061255764952607124576795260712457709526071245772952607124577595260712357789526071235781952607122578495260712257869526071225789952607121579295260812057949526081205796952608120579995260812058029526081195805952608118580895260811858109626081185812962608117581596260811758189626091175820962609117582295260911658259526091165828952609116583095261011658339526101165836962610116583896261011658419626101155844962610115584696261011558489626101155851962610115585496261011558569626111155858962611115586096261111558629626111155865962611116586796261211558699626121145872962612114587596261211458779626121145879962613114588196261311458839626131145885962613114588796261311458909526141145892952614114589495261411458969526151145898952615114590195261611459039426161145905942616114590794261611459099426161145911942617114591395261711459149526171145916952617114591895261711459209526181145922952618114592395261811459269526181125928952618112593095261911259339526191115935952619111593795262011159409526201125942952621112594495262111259459526211125947942621112594994262111259509426221125952942622112595494262211259569426221125958942622112596194262311259649426231125966942623112596894262311159709426231115972932624111597593262411159769226241115978922624112598091262411259839126251125985912625112598792262511559909226251195992922625123599492262512459959326251245997932625125599993262512660019326251276003932626128600594262612960079426261296009942626130601194262613160139326271316015922627132601693262713260189426271336020942627133602294262813460249426281346026952628135602895262913560299626291356031942630135603393263013660349326301366036942630136603894263013660409426311366042842631136604375263113660457426321366047742632135604873263313560507326331356052732633136605373263413660547326341366055732635136605673263513660577226351376058712635137606071263513760627126361376063712636136606570263613660677026371366069692637136607169263813660738026381366075912638136607691263813560779226381356079922638135608192263813560839226381366085922638136608693263813660889326391366090932639136609293263913660949326391366095932639137609792264013760999126401376101912640137610390264013761059026401376107902641137610991264113761119226411376112902641137611488264113761168726421376117862642137611879264213761197226421376121722642137612372264213761247126421386126712642138612870264313861296926431386130692644134613270264413361347026441316135702644130613670264412961387026441286140702644127614170264412861437026451286145702645128614670264612861477026461286148702646128614970264612861507026461286151712646124615370264612461556926461206157692647119615968264712061606826481206162682648121616468264812161656926491216166692649121616870265012161696926501216170692650122617269265012261736826501216174682651121617668265112161786826511206180682651120618267265112061836726521206184672652120618667265212061886726521206189672652120619067265312061926726531206194682653120619569265312061967026531206198712654120620071265412062017126541206202712655120620471265512262067026561206208702656120620970265612162107026561216211692656121621269265712162136726571206214662657120621665265712062186526571196220652658118622165265811762226526581186223652658118622565265811862276526591186228662659118623067265911862326826601186233702660118623570266111762377126611176238712661117624071266111762428126611176244922661117624692266111862489226611196250932662119625394266212062559426631206257942663121625994266312262619426631236263932663125626593266412662679326641266269932664126627193266412662739326641266275932665127627793266512962799326651296281932665129628293266513062849326661316286832666131628773266613162897326671316291732667131629372266813162957226681316297722668131629972266913163007226691316301712670131630270267013163046826701316305682670131630668267013163086726711326309672671132631066267113163116626711326312652671133631365267213363146526721346316652672135631764267213563186426721346319632673134632062267313463226126731346323602674134632460267413463256126751336326612675133632761267513363286226751336329622675137633163267514063336426751416334642675141633565267614163366526761416338652677140634065267714163416526771416343782677141634590267714163469026781416348912678140635091267814063529226781416354922678141635693267914163589326791426359932679142636193267914163639326791416365932680141636793268014163689326801416370932680141637292268014163739226811416375922681141637792268114163789226811416380922681141638291268214163839026821416384802682141638671268214163887126821416389712683141639171268314163937126831426394702684142639670268414163987026851416399702685140640170268513964037026851386404702685138640670268613864087026861396410692686139641269268613964136926861396414692686139641569268613964166926861386418692687138642069268713864216926881386422682688137642468268813664256826881366426682688135642867268913464296726891346430662689134643266268913364336526891326434652690132643565269013264366526901326438642690133643964269013364406426911336442642691130644464269213064456426921306447652693130644965269412964506626941296452662694129645366269412964546626941296456662694129645766269312964586526931296460652693127646265269312764656526931266468652693126647165269312664747826931266476912693122647891269412264819126941206484912694120648792269412164909226941216493922694121649692269412164999326941216502932694121650593269412165089326941216510932693122651492269312265179226931236520922693123652392269312465249226931246526922693123652602693123652802693126653102693130653402693131653702693131654048269313165439626931346546962693136654996269313765529626931386555972694138655897269413965609726941406562962694141656596269414165689526941416570952694141657395269414165769526941426578952694143658195269414465849526941476588952694147659195269414765949526941476597952694145660095269414566049526941456608962694145661095269414766139526941476616952694148661995269414866229526941486624952694148662794269414866309426941486632942694148663594269414866389426941486641952695148664495269514866479626951496650962695149665396269514966569626951496659962695149666295269514966649526951496668942695150667194269615066749426961506677952696151668095269615166829526961516684952697151668696269715166899626971516692972697151669497269715166979726981546699962698154670196269815467049626981546706962698154670896269915467109626991546712962699153671496269915367169626991546718962700154672095270015467229527001546724952700155672694270015567289427011556731952701155673395270115567359527011556738952701155674095270215567429527021556744952702155674695270215467499527021546751952703154675395270315467569527031546758952703153676095270315367629627041526764952704152676795270415267709527041526772952704152677495270515267769527051526778942705151678094270515167829427051526785952706152678795270615267899527061536792952706153679595270615367979427071556799942707155680194270715568039427071556805932707155680793270815568099327081556811932708155681393270815568159327081556817932709155681994270915568229427091556824942709155682694270915568279427101556830942710155683294271015568349427101556837942710155683993271015568419327101556843932710155684593271015568479327101556849932711155685193271115568539427111556856942711154685994271115468629427121546864942712154686694271215468689427131546870942713154687395271415468769527141566878952714156688095271415668829627141566884962715156688697271515668889627151566891962715156689395271515768959527161576898942716157690094271615769029427161576904942716155690694271715669089427171566910942717156691294271715669149427171566915942718156691894271815669209427181566922942718156692394271815669269427191566928942719156693094271915569329427191556934942719155693694272015569389427201566939942720156694194272015669439427201566945942721156694794272115669499427211566951942721156695394272115669559427221586956942722157695894272215769609427231566962942723156696494272415669659427241566967942724156696994272515669719427251566973942726156697493272615669769327261566978932726156697993272615669819327271566983932727156698593272715669879327271566988932727156699093272815669929027281566994872728156699685272815669998327281567000812729156700279272915670047727291567006742729156700874272915670097327301567010732730156701272273115570147227321557016722733155701872273415570197327341557020722734155702272273415470247227341547025732735154702672273515470287227351547030722735154703172273515370337127351537035702735153703669273515370386927351537040682735152704168273615270426827361527044682736152704668273615270476827361527048692737154705069273715270526927371527053702737152705570273715270577027381527058702738152706071273815270627127381527064712738152706671273915270677227391527069722739150707172273915170727227391517073722739150707472273914970767227391497078722739148707972273914870807127401487082712740148708471274014870867127401477088712740147708971274114670907127411467092722741146709472274114570967327411447098732742144709973274214471007327421447102732742144710473274214471067327431447108732743143710973274314371117327431437113732743143711573274414371177327441437118722744143712072274414271227227441427123722745142712472274514271267227451427128712745142712971274514271307127461427132712746141713471274614171367227461417138722746141713972274714171407227471417142722747141714472274714171457227471417146712748141714871274814171507127481417151702749141715270274914171546927501397156692750139715769275013971586827501397160672750138716167275113771626727511367164672751137716567275113771666727511377168672752137716966275213771706627521377172662752136717366275213671746627521347175672752133717668275313271786927531307180692754130718269275513071836927551307184692755130718669275513271876827551327188682756132718967275613171916727561327193672757132719467275713271956827581337196682758133719868275813371996827581337200672758133720167275813272026727581327204662758132720566275813272076627581327209662759132721066275913272116727601327212672760132721467276113272166727621337217682762133721867276213372206727621347221672762134722267276313472246727631347225672763131722666276313172276627631317228662764129722966276412972316527641297233652765130723465276513072356527661307236642766128723864276612772406427661277241642766127724264276712772446327671277245632767127724663276812872486327681287249632769128725164276912872536427691287254652769128725565276912772566527701277258652770127726065277012772616427711277262642771127726464277212372666327721197267632772118726863277211872696327721187270632773118727163277311872726327731167272632774116727463277411572756427751137276642775113727664277511172776427751117278642775110728063277611072816327761087282632777108728363277710872846327781087286632779108728863277810872896327781097290632778109729263277810972946327781087295632778108729663277810872976327781087298632778108729963277910773006327791067302632779106730363277910673046327791057306632780105730763278010573086327801057310642781106731164278110673126427821067314642782106731664278310673176427831067318652784106731965278510673206527851067322652785106732365278510673246527851087325652786108732665278611073286527861107330652786111733164278611473326427871167333642787116733464278711573366427871157338632787116733963278811673406327881167342632788116734463278811673456327881167346632789116734863278911773506427891177352652789117735465278911773556627901177356662790117735766279011773586727901177360672790117736267279111773636727911177364672791117736667279211873686727921187369672793118737068279312073716827931207373682793121737568279312073766827941207377682794120737968279412073816727951197382672795119738467279611973856727961197386662796119738766279611973886627961197389652797119739064279711973926427971197393642797119739464279711773956427981177396642798116739864279811574006427981157402652798115740465279911474056527991147406652799110740766279910974086627991097410662799109741166279911074126627991107414652799110741565279911074166528001107418652800110742065280011174226528001117423652800111742465280111174266628011117427662801110742866280111074306728011107432672802109743367280210974346828021097436682802109743868280210974396928031097440692803109744269280310974446928041097445692804109744669280510974487028051097450692805109745169280510974526928051097453692806110745469280610874567028061087458702806108745970280610874607028061087462702806108746469280610874656928061087466692806108746769280710874696928071087471692807108747268280710874746828071087476682808108747769280810874786828081087479682809108748067280910874816728101087482662810108748366281010874846528111087485652811108748665281210874886528121087490662812108749266281210874946628121087495672812108749668281210874976928121087498692812108750069281210875026828131077503682813107750467281310775066728141077508662814107750966281510775106628151077511652815107751265281610675136428161067514642817106751565281710675166528171077518652817107752065281710775216528181087522652818108752465281810875266528181087527652818108752865281910875296528191087530652819108753265281911175326528191137533652820113753464282011375356428201127536642821112753764282111275386428221137540642822113754164282211375426328231137543632823114754464282411375456428241137546652824113754765282411375486628241137550652825113755265282511375546528251137555652826113755665282611375586628271137559652827113756065282711375626528281137563662828113756566282911375676628291137568662829114756967282911575706628291157570662830115757266283011575736628301157574662830115757566283011575766628301147578662830114758066283011475816628301147582662830114758366283111475846628311147586662831115758766283211675886528321167590652833116759164283311675926428331177592632833117759363283311775946328331177596632833117759763283311675986328341157600632834115760264283511576036428351157604642835115760564283511676066428351167608642836116761064283611676116428361167612632836116761263283611676136328371157614622837115761662283811576176128381157618612839115761961284011476206128401147622612840114762361284011476246128401137626622841113762762284111276286328411127630632842112763063284211276316328431127632632843113763263284311376346328431137635622843112763662284311276386228431117640622843112764263284411276446328441127645632845111764663284511176476428451117648642846111764964284611176506428471117652642847111765364284711076546428471097655642847109765664284810976576428481097658652848109766065284810976616528481097662652849109766365284910976646528491097666662850109766766285010976686728511097668662851109766966285110976706628511107672662851110767265285210876736528521087674642852108767563285310976766228531097677622854109767861285411076796128541117680602854112768060285411176816028551127682602855112768360285511276846028551127685602855112768660285611276866028561127687602856112768859285711276895928571127690592858112769159285811476925928581147693592859113769459285911376955928601137696602860111769762286011176986228601117700632860111770263286111177036428611117704652861111770565286111177066528611117707662862111770866286211177106728621117712672862111771467286211177166728621117717672861112771867286111277206828611127722682861112772368286111377246828611137726682862114772868286211577296828631167730682864115773169286411477336828641147735682865114773768286511477396828661147742682866115774468286611477446828671147745682867114774668286811477476828681157749682868115775168286811577536828681157755682869115775668286911577576828691157758682869115776068286911577626828691157764682869115776667286911577676728701157768672870115777067287111577706628711157771662871115777265287111577736528711157774642872115777564287211577766428731157778642873116778064287411777816428751177783642875117778564287511777866428761177788642876117779065287711777926528771167794662877116779666287711677986728771167799672877116780068287711678016828771167802682877116780468287711678066728781167807672878116780866287911678106628801187811662881118781266288211978146628821207815662883120781666288412178186728851217820672886121782267288512178246728851217826672885121782880288512178309328851217832932885121783493288512278369328851227838932885122784093288512278419328851237843932885123784593288512378468228851237848722885124785071288512478517128851247853712885124785571288512578567128861257858712886125785970288612578607028861257862702886125786370288712578646928871267866692887127786868288712778696828871277870672888127787266288812778736528881277874642888127787564288812778766428881287877632888128787863288812878796328881297880632888128788264288912878846528891287885652889128788666289012878886628901297889662891129789066289112978926628911297894672892129789567289213078966828931337898692893133790069289313479016928931347903692893134790569289313479066928931347908692893134791069289313479116928931347912692893133791469289313379166928931337918692893133792069289313479216928941347923692894134792569289413279288328941337931982894133793497289413479369728931347939972893134794296289313479459528931337948942893133795195289313379549628931337957962893133796096289313379629528941337965942893133796894289313379709328931337972932893136797592289313579789228921357981932892135798493289113579889428911357991952891135799495289013579979628901358000962890135800395289013580069428901368010942889136801393288913680169228891378018922889137802292288913780259228881378028922888138803193288813880349328881388036932888138803993288813880429428881388045942888139804894288814080519428881418054952887141805794288714180609328871418063922887141806692288714180699228871418072922887143807692288714380799328871438082932887143808594288714380889528871438090962887143809296288714380959628881438098952887143810195288714581049428861458106942886145811093288614581139328851448117922885144812192288514481249228851448127922885144813093288414481349328841448137932884144814094288414581449428841458147942883145815093288314581539228831458156922883145815991288314581629028821458166902882145817090288214581739128821458176912882145818092288114681839328811468186942881146818895288114681919528811468194952881146819695288114681989528811478201942881147820494288114882079328801488210932880148821293288014882149328801488217932880148822093287914882239328791488226932879147822893287914782319228791488234922878148823893287814882429428781508246942878150825094287815082549428771488257942877148826094287715082649428771508267932877150827092287715082749228771508277922877150828091287715082839128771508286912876150829091287615082949028751508297892875150830089287515183048928741528308892874152831189287315183149028731518318912873151832291287215183259128721518328912871152833291287115283369128711528340912871152834491287115383479128711538350912871153835492287215383579228711518360922871151836392287115383669228711538370932871151837393287015183769328701518380942870151838494287015183879428701518390942870151839395287015183969528701518400952870151840295287015284059628701528408962870153841196287015384149528701538417942871152842094287115284249428711528427932871148843093287114684339328711468436932871145843993287114484429328711448444932871143844793287114384509228701438452922870143845492287014384579228701428459932870142846193286914284649428691428468952869142847096286914284729628691428475962868142847895286814284819428681428484932868143848793286814484909328671448493932867144849693286614485009328661448504942866144850793286514485109328651448514932865144851793286514785209328651478524932864148852792286414885309128641498534912864151853791286415185409128631548544912863154854891286315485519228631548554932863153855894286215385609428621538562942862153856493286215385669328621538568942861153857095286115385721032860153857311128601538576115286015385781192859153858012128591538581122285815385831232858153858512528581538586122285715385881202856153859011828561538591116285515385921142855153859411228541538596111285315385981112853153859910928521488600108285214886021072851144860310728511438604104285014286051022850141860610028501428607992849142860898284914286109828481428611962848142861294284814286149628471428615982846142861699284614286171012845143861910128451438621102284414386221042843142862310628421428624107284114186241082841141862510828401418626108284014086269428391408627812839140862781283914086278228381408630802838140863278283714086337628371408634752837140863675283614086377528351408638782835140864080283414086428228341408644842833140864688283314086479228321408648942832140865095283214186519528311418652962831141865495283014186569428301418658942830141866094282914186629528281418665962827142866898282614286701002826142867310028251438676100282414286799928241428682982823142868597282314286889628221428690972822143869397282114486969828211448699992821144870199282014487031002820145870610028191458708100281914687109928191468713982818146871696281814787199428171488722942817148872494281714887269428161488728952816148873096281614887339728161478736972816147873998281514787429828141488745992814148874898281314987509728131498753972812150875696281115087599628111508762972810150876596281015087689628091508771952809150877494280815087779328081508780922808150878292280715087859228061508787922806150878992280515087929228051488794932804149879593280414987969328041508797932804148879893280414888009328031488802932803148880493280214888069328021488808942802148881195280114888139428011498815942800149881696280014988189928001498820101279914988211032799149882310427981498825105279814988261062798148882710727971488829106279714788311052796146883210527961468833105279614588341052795145883610527941458838104279414588401032793146884210327931478845103279214888471012791149884910027911498851102279014988531042790149885610727891508858110278814988601112788149886311127871498865110278714988671092786150886810727851498870105278514988721062784149887410627841488876106278314888781052782150888010727811508881109278015188831102780151888511227791518887112277815188891132778151889211127771518894109277715188971092776151890010927751518902108277415189051082773151890710827731518909107277215189101062771151891110527711518912104277015189141032770151891610427691518918105276815189201052768151892110627671528922106276715289241062766152892510627651528926106276515289281042764152893010227641528932102276315289341022763153893610227621538937102276215389381022762152894010227611528942104276015289431062759153894510627581538947107275815389491072757154895110727571548953107275615589551062756155895898275615689609027551568962912754157896492275315789669327521598967942752160896997275115989711012751160897410027501618976100275016189799927501618982982749162898597274916289889727481628990962748162899396274816289969627471638998962747163900096274616390019727461639004982746163900698274516390099827451639012982745164901497274516390179727451639020972744159902296274415990239627441589024962744157902696274415890289627431589031962743159903496274315990379627431599040972743159904398274215790469927421579049100274115790521012741157905410027411579057992740158905998274015890619727391589063962739158906594273915890661042738155906811427381559070112273715590731102737156907610827371569078106273615690801052735156908310427351569084104273415890851052734159908610427331599088103273315990901022732159909310027321599095992732158909797273115891009727301589102972730158910497272915891079827291589110982728158911399272715891149927271589116992726158911899272615891199927251579120992725157912299272515791249927251579127992725157913096272415791339427231589136932723158914093272215891429327221589145932721158914896272115891509927201589153100272015891561012720158915810027191589161100271915891649827181599167962718159916994271815991719327171599173932717159917594271615991779427161599179952716159918296271515991849827151599186982714159918799271415991899927141599191992713159919499271215991961002712159919899271116092009827111619202982710162920498271016392069627091639209942709163921210327091639214112270816392161102707163921910827071639221107270616392231062706163922610427051659228102270416692301012704166923110027031669233100270316692351002702166923610027021659237100270116592381002701165924099270116592429927001669244982699166924699269916692491002698166925110026981669253100269716692551022696166925710426961669259105269516692611062695166926210726941669264108269416692651082693166926610926931669266108269316692671082692166926910726911669271106269116892731052690168927510426901679277103268916792791032689168928010026881689282982688168928497268816892869726871689289962686167929295268616792949626851679297972685168929897268416893009726841689302972684168930597268416993089626841699312952683169931496268216993159826821699316100268116893181022681168932110226801689324103268016893261032679168932910326791689332103267916893361032678167933910226781679342101267816793461002678167935098267816793549826771679358972677167936196267716793649426771679367942677167937094267616793739526761699376952675169937996267516893829726751689386972674168938998267416893929726731689396962673168940096267316894039526721689406952672168941095267116894149426711689417942671168942094267016894249426701689427942669168943094266916894329326691679435932668167943893266816794419426681679444952668167944896266816794519626671679454972667167945796266616894609626661689462962666168946596266516994689526651709471942664170947494266417094789526641709481952663170948496266317094889526631749491952663178949495266318294989526631829501942663186950492266318795079226631879510912663186951291266218595159126611859518912661182952191266018295249126601819527922660181953091266018195339126601819536912660180953992266018095429226591809545922659180954892265918095509326591809554932659180955794265918095609426591819563942659181956694265918195709426591819572932659181957593265918195789326591819581932659181958493265918195869326581819589932658183959293265818395969326581819599932658181960293265718196059326571819608932657177961293265717496159226571739618922656171962192265617196249126561709627912656170963091265616796339126551679636912655167963991265416796429226541689644922654168964792265316896509126531659653912652164965691265216496599126521649662922651164966594265116496689426501649671952650165967496265016596769726491659680972649165968397264816496869726481649689972648164969197264716496939826471649697972646163970197264616397049626461639708962645163971195264416397149426441639716932643163971992264316397229226421639725922642163972892264116397309326411649733932641164973694264016497399426401649742952639164974595263916497489626391649750962638164975397263816497569626371649759952637164976295263716397649626361639767952636163977095263516497729426351649775942635164977894263416397809426341639783932633163978693263316397889226331639791912632163979491263116397989226311639800922630163980392263016398069226291619809922629161981292262816198149326281609817922628160982092262716098239226271599826922627159982892262715998299226271599831922627159983391262715998369126271599838912627158984091262715898429126261599843912626159984491262615998469126261599847922626158984992262515898519326251609852932625161985494262516198569326251619858932624161986093262416198639426231619866942623159986894262315898729326221589875932622157987893262115798809326211579884932621157988893262015898929326201589895932620159989993262015999039326201599906932619159990893261915999119326181599914942618159991694261815999199426181599922942618159992694261815999299426181599932952618159993595261716099389526171609942952617160994595261716099489426171609950942616160995293261616099559326151609958942615159996294261515999649526141599967972614159996998261315999711002613159997210026131599972101261215999721012612160997210126121619972101261216199721012612161997510126111629978101261116299801002611163998399261116399869826111639990972610163999497261016399989726091631000096260916310002962609163100059526081631000895260816310010942607163100139426071631001694260716310019952606163100219526051631002396260516310025962604163100279626041631003096260316310034952602163100379526021631004095260116310043952601163100469526001631005094260016310053942600163100569426001631005993260016310062932600163100649326001631006693260016310069932600163100729226001631007592260016310078932600163100809526001631008295260016310085952600163100889526001631009095260016310093952600163100969626001631009896260016310100962600162101039626001621010696260016010110952600160101139526001591011695260015910119952600158101219426001581012393260015810124932600158101259225991581012792259915810129922599157101309325991571013293259915710134942598157101369525981581013810025971591014110425971591014410525971571014610725961571014910825961571015211025951571015510725951571015810525951571016110225941571016499259415710166982593157101679725931571017095259315710172942593157101749325931571017592259315710176912593157101789025931571018089259315710182892593157101828925931571018389259315710183892593157101838925931571018675259315510188612593155101916125931541019461259315410196742593155101998625931521020286259315210204862593153102068625941531020787259415310208872594153102108725941531021287259415310214872595153102168725951531021987259515310221862595153102238625951531022586259515210227872595152102308725951521023287259515210235882595152102389025961521024091259615210243922596152102459225961521024793259615210249942596152102519525961521025294259615210254942596152102569325961521025793259715210259922597152102619225971521026491259715210266912597152102689125971521027191259715210274912597152102779225971521028092259715210283932597152102849325961521028693259615210288932596152102919425961521029293259615210294932596152102969325961521029993259615210300902596152103018825961521030288259615210303882596152103048825961521030688259615210308882596152103108825961491031176259614810312632597148103146425971481031565259814710318652598147103206625981471032381259814710326962598147103309625981471033395259714810336942597148103399325971491034293259714910344942597149103469425971491034894259715010350942597150103539425971501035494259715010356932597150103589325971501036093259715010362922597150103659225971501036892259715010370922597150103749225971501037792259715010380932597150103839325971511038694259715010388942597151103919425971511039494259715110398942597151104019425971521040494259715210408942597152104129325971501041593259615010418922596150104209225951501042292259515010425922595150104279125951501042991259515010432912595150104349225951501043892259515010441932595150104449325951501044893259515010451932595150104549425951501045894259415010461952594150104629525941501046495259415010466952594153104699525941541047195259415410473952594154104769525941551047995259515510482952594157104849525941601048695259416110489952594161104909425941621049294259416310492942594163104939425941631049494259416110495942595161104958025951611049567259516110495672595161104956725951611049867259616210501672596162105026725971631050367259716310504662598163105046625991641050665259916310509652599162105116525991621051364259916210515642600162105176326001601051863260116010520642601160105226426021601052364260315910524652603158105266626031571052767260315710528672603156105296726041561053067260415610532672604155105336726041551053467260415510536672605155105386826051541054169260515410542702605153105447126051521054671260515210547712605152105497126051521055172260615210553712606152105557126071531055671260715310558702607153105607026071521056370260715210566702607152105687026071521057070260715210571702608151105747026081511057670260915210578702609150105797026091471058070260914710582702609146105847026101441058570261014310586692610140105886926101401059069261014010591682610138105926826101381059468261013610596682611136105986826111361060068261213610601682612138106036826121381060569261213810606692612138106086926131381061069261313810611692613138106126926131381061470261313810616692613138106176926131381061869261313910620692613139106216926131391062269261413910624692614139106266926141391062868261413910630682614139106326826141391063368261413910634682614139106366926141391063869261413910640702615139106427026151401064371261514010645712615140106477126151401064871261614010650712616140106527126161401065471261614010656712616140106577126161401065971261614010661712616140106627126161401066471261614010666702617141106687026171411067070261714210671702617142106737026171421067571261814210676712618142106787126181411067971261814210680712618142106827126191421068472261914210686712619142106877026191421068870261914210690702620141106926926201411069369262014010694692621140106956926211401069669262213810698692622138107006926221391070169262213910702692622139107037026221381070470262213810705702623138107067026231341070770262413410708702625134107107026251341071269262513310713692625133107146926251321071669262513210717682625132107186826251321071968262513210720682625132107216726261321072267262613210724672626132107256626261321072666262613210727662627132107286526271321073065262813110732652628131107336626291311073465263013210735652630132107366526301321073765263013210738652630132107406626311331074266263113310743662631133107446626321331074567263213310746662633133107486626331341075066263313510751662633135107526626331351075467263413510756672633136107576726331361076081263313710762962633138107659526331361076895263313610770952633136107739526331371077694263313710779932633137107829226321371078492263213710786922631138107899226311381079192263113810793932630137107979326301371080194263013710804942630137108089426301371081294263013710815942630137108189326301371082293263013710825932630137108289326301371083093263013710833932630137108369326301371083893263013710840932630137108439426301361084694263013610848942630136108509326301361085392263013610854932630137108569526301351085895263013710861962631137108649626311371086797263113810869962631138108719526311381087394263113810875932631139108779126311391087989263213910881802632139108837226331391088572263313910887722633139108887226341391088972263414010891722635141108937226351411089572263514210897722635143108987226351431090072263514310902722635143109037226351411090472263513610906722635133109087126361331090971263613210911712636133109137126361331091471263613410916712636134109177126361341091871263613410920712636134109217126361351092369263713510925682637135109276626371351092963263713510930622637136109316126381371093260263813910933592638141109345626381411093654263814110937532639140109385226391411094051263914010941502639140109425026391401094350264014010944502640140109455026401401094776264014010949103264014010952101264014010954992640140109569926401381095999264013810960992640137109629926401371096478264013710965572640137109665626401371096756264013710968562641138109695726411381097056264113810972562641138109745726411381097559264213610978732642135109808826421351098288264213510983872642134109848726431341098687264313410988762643134109896526441351099065264413510992662645134109946526451331099565264513310997652645133109996526451321100065264613211000662646132110026626461321100366264613311004662646133110056626471331100665264713311008652647133110106426471331101264264713011013642648130110146426481301101564264813011016642648130110176326481301101863264813011020622648130110226226481301102462264813011027632648134110307626491341103490264913511037912649135110409226491351104292264913511045932649135110489326491361105093264913611054932649136110579326491361106093264913611062922649136110659226491361106893264913611070932649136110739326491361107693264913711078932649137110799326491371108093264913711080462649138110806026491381108060264913811084752649138110899026491381109290265013811095912650139110989226501391110094265013911103942650139111069526501391110995265013911112962650139111149626501391111696265014011118962650140111219526491401112495264914011128942649140111329426491401113594264914011137932649140111399326491391114293264913911146942649140111489426491401115194264914011154942649140111569426491391115893264913911161922649139111649226491401116791264914011170922649140111749426491401117695264914011178962648140111809726481401118397264814011185982648140111879826481401119097264814011192952648138111949526481361119794264813611200942648136112029426481361120493264813611207932648137112099326481371121192264813811214922648138112169226481381121882264813811219722648138112207226481391122273264813911224732648139112277326481391122972264813911231722648139112348226481391123692264813911239942648139112429626481391124496264813911247972648139112509626481391125296264813911254952648139112579426481391126092264713911262902647139112659026471391126891264713911270912647139112729226461391127493264613911276952646141112789526461411128195264614211283952645142112859626451421128896264514511291972645148112949726451491129698264414911298982644149112999826441501130297264415111305972644153113089526441541131094264415411312922644154113149126441541131791264415411320912644153113229126441531132492264415311328932644153113319426441531133493264415311337932644153113409326441531134392264415411346922644154113509326441531135293264415411353932644154113569326441541135894264415411360922644154113629126441541136491264415411366922644154113689126441541136991264415411371912644154113739126441541137791264415411381922644153113849126441531138791264415311390922644153113939326441531139693264415311399932644153114029326441531140493264415311406922644153114099226451531141192264515311413922645153114149126451541141691264515411418912645153114199026441531142290264415311425892644153114279026441531142992264415311430932643153114329426431531143493264215311437932642153114409326421531144293264215311444922642153114479226421531145091264215411452912642155114569126411551145991264115511462912640155114659226401551146892264015511470922639155114739226391551147692263915511479932639154114829326391541148493263815411487932638154114909326381541149393263815411496932638154114999426371541150193263715411503932637154115069226371541150991263715411512902636154115148926361551151689263615411519892636154115228926361541152490263515411526902635154115299126351541153292263515411534942635154115379426341541154095263415411542952634154115449526341541154795263415411550952633154115549326331541155791263315411560922633154115629326331541156693263215611569932632156115729326311561157594263115611578942631156115829426301561158594263015611588942630156115919426301561159494263015611597942629156116009526291561160395262915611606952629155116099526291551161295262815511615952628156116189526281561162195262815611624952628156116279526281561163095262815711634952628156116379526281561164095262815611643942628156116469426281581164993262815811652932628159116559326281611165893262816311661942628163116649426281641166794262816511670942628165116729426281651167494262816511677942628165116799426281651168193262916511684932629165116879326291651169093262916511692932629165116949326291651169794262916511700942629165117029426291651170494262916411707942629164117109326291641171292262916411714922629164117179226291641172093262916411723932629164117269326291641172994262916411732932629164117349226291641173792262916411740912629164117439126291641174691262916411748912629163117509126291631175391262916311756922629163117589126291631176191262916311763912629163117659226291631176892262916311770932629163117749326301631177793263016311779922630163117819226301631178392263016311785912630163117889126301631179191263016411794912630163117979126301631180092263016311804932630163118069426301631180895263016311810952630163118139626301631181695263016311820942630163118229426301621182494263016211826942630162118289426301621183093263016211833932630161118369226301611183991263116111842912630161118459126301611184891263016111850922630161118539326301621185694263016211858942630163118619526301631186394263016311865942631163118689326301631187093263016311872922630163118759226301631187892263016311881932630163118849326301631188694263016311889932630163118929326301631189593263016311898932630163119029326301631190593263016311908922630163119119226291631191492262916311917922629164119209326291631192394262916511926942628165119289426281651193094262816511933942628165119349426281641193494262816211936942628164119379426281641193894262816311939942628163119409426281631194294262816411944942628164119459426281641194694262816111948942628161119498126281621195069262816111951682628160119526726291601195367262915911954672629157119546626301541195566263015411956652631153119576426311531195863263115311959622631152119616226311531196361263115211964612631151119656026311501196660263215011967602632148119685926331481196959263314711970592633147119726026331461197460263314611975602634147119766026341461197860263414611979602634146119806026341451198160263414511982602634145119845926341451198559263414611987602634146119896126351441199061263514411991612635144119926126351451199461263514511996612636145119976226361451199862263614511999622636145120006226361451200263263714512003632637145120046326371451200663263714312007632637143120086326381421201063263814112011632638141120126326381401201463263814112015632639140120166426391401201864263913912020642639139120216426391391202264264013812022642640138120236426401381202464264013812025642640138120266426401361202765264013612028662640136120296626411361203066264113612031662642136120326626421371203366264213712034662643137120366526431361203765264413612038652644136120396426441351204064264413512042642644135120436426451351204464264513512046642645135120476426451351204864264513412048642645134120506326451331205163264513312052622645134120536226451311205462264612912055622646129120566226461291205862264612912058622646131120596226471301206062264713012061622647130120626226471311206362264713112064612648131120656126481311206661264813112068612648133120706126481331207161264913312072622649133120746326491331207663264913212077642649132120786426501321208064265013212082642650132120836526501321208465265013112086662651131120886626511311208967265113012090672652130120926726521301209367265312912094672653129120966726531291209867265312912100672653129121016726541301210267265413112103672654131121056726541311210767265413112109672655132121116726551321211266265513212114662655133121156626551331211666265613312118672656134121196726561341212267265613412124682656136121266826571361212868265713712130682657138121316926571391213269265713912134692658140121366926581401213769265814012138692658140121407026581401214169265914012142692659140121446926591401214568265914012146672659141121486726601431215066266014312151662660143121536626601431215566266014212156662661142121586626611421216066266114212161662661142121626726611431216467266114312165672661143121666826621431216867266214312169672663143121706726641431217268266414012174682664139121756926641381217669266413812178692665138121806926651381218269266513812184692665139121866926651411218670266614112187712666141121887126661411219071266614112192712666142121947126671421219671266714112197712667141121987126671411220071266714112201712667141122027126671401220471266714012206712667140122087026671401220969266814012210692668140122127026681401221470266814212216712668142122187026691431221970266914312221692669144122236926691441222469266914412225692670144122276926701431222970267014312230692670143122306926701431223269267114312233692671143122346926711441223669267114412238692671144122396926711441224069267114412242692671144122447026711421224571267114212246712672142122487226721421225071267214212251712672141122527126721411225471267313912255702673139122567026731401225869267414012260692674140122616826751431226267267514312263672675143122646726751431226466267514312264662676141122666626761411226866267614012269662676139122706626761391227267267713912273672677139122746726771391227667267713912278672677141122796726771411228066267714112282662677141122836626771421228466267714212286662678142122886626781421229065267814212291652679140122926526791391229466268013912296662680139122976726801391229967268013912301672680139123036826811391230570268113912306702681139123087026811391231070268114212311702682146123127026821481231270268214612314692682144123156826821441231668268314412318682683143123206826831431232168268314312322682683143123246826841431232668268414312327672684143123286726851431232967268514312330672686143123326726861431233468268614112336682686141123386926861411234069268714112342702687141123437126871411234471268714412346712687147123487126871471235072268714712351712687147123527126881471235470268814712356702689149123587026891501235970268915112360702689151123627126891491236370269014912364692690149123666926901491236768269014612368682690146123706826911451237268269114412374672691142123766726911431237767269114312379672691143123816826911431238268269114312384692692144123866926921441238770269314412388702693144123907126931431239271269314212393712693141123957226931411239772269314012399722693140124017226931401240272269314012403722694141124057226941411240772269414112408712694141124107126941411241271269514112413712695140124147026951391241570269513912416702695138124187026961381242070269613712422702696137124247026961371242571269613712426702696137124277026951381243070269513812433702695138124347026951361243671269513612438712695136124407126951361244271269513612444722695137124467226961381244972269613812450722696139124527226961391245471269613912455712696140124577126961401245971269614012460702696141124627026961411246470269614112465712696141124677126961411246971269714112470712697141124727226981411247472269814112476722698141124787226991411247972269914112481722700141124837227001401248471270014012486712700140124887127001391248971270013812491712700138124937127001381249470270013912494702700140124947027011401249469270114012496692702140124986927021381250068270313812502682704138125046827041381250568270413912506682705140125086827051411251068270614012511682705140125126827051401251368270514112514672705141125166727051411251866270514112519662705141125206527051411252265270514112524642706141125256427061421252664270614512528642707149125306527071491253165270814912532652708147125346627081471253666270814712537662708146125386727091461253967270914612540672709145125406727091441254067270914412541672710144125426727101441254367271014412544662710144125466627101441254866271114412549662711144125506727111441255267271114312554682711142125556927121421255668271214212557682712142125596827121421256167271214212563672713144125656827131441256668271314412568682713144125706827131441257268271414412572672714144125736727141441257667271414412578672714144125806727151451258367271514512584672715145125856727151451258667271514512588672716145125906727161451259167271614512592672717145125936727171451259467271814512595672718145125966727181451259867271814412599672718143126006727191421260267271914012604672719140126066727191381260768271913712608682720136126106927201361261269272013512613692720135126156927201341261769272113412618692721135126206927221361262269272213612623692723136126247027241361262670272413612628702724137126307027241371263270272413712633702725138126347027251401263670272514012638692725140126396927251431264068272614312641682726144126426827261441264468272714412645672727143126466727281431264867272714312651682727143126526827271431265369272714312654692727143126567027271431265870272714312659712728142126617027281411266370272914012664702729138126657027291371266671272913712668712729137126697227301361267073273013612671722730136126727227301361267371273013612674712731135126767027311351267870273113512680692731135126816827311351268268273113512683682731135126846927311351268569273213612686692732137126887027331371269070273313512693702733135126966927331361269969273313712701822734137127039527341371270594273413712707942734137127089427341371270994273513712711942735136127139427351361271694273513612718942735136127219427351361272494273513612726932735136127289327361361273093273613612733932737136127359227371361273792273713612738922737136127409327371361274293273713612744932737136127469327371361274893273713612750932737136127539427381361275494273813612756942738136127589327391361276193273913612764932740134127679327401341276993274013312771932740132127739327401321277593274113112776932741131127789327411311278093274113012781932741130127839327421301278593274212912786932742129127879327421301278880274213012790682743131127926827431311279369274313112794692744131127967027441311279870274513112799702745134128017027451351280371274513612804702745136128057027461351280670274613612808702746137128106927471371281169274713712812692748137128146927481371281681274813812818942748138128209427481381282294274813812825942748138128289427481381283194274813812834942748138128379427491381284095274913812842942749138128439427491381284694274913812848942749138128509327491381285293274913812853922749138128549227491391285592275013912856922750139128579227501391285892275013912860922750139128619227501391286492275013812866922750138128709227501381287391275013812876912750138128809127491381288391274913812886912749138128909127491381289391274913812896912748138128999127481381290291274813912906912748139129089127481391291190274713912915902747139129199027471401292290274714012925902747139129289027461391293291274613912936912746139129409127461411294492274614112947932745141129509427451421295495274514212958952745141129629527451421296695274414212969952744142129729427431421297693274314212979922743142129829227421431298592274214312988932742143129929327421431299593274214312998932741143130019327411431300493274014413008932740144130129227401441301592273914413019922739144130239227391441302692273914413029912739144130329127391441303691273914513040912739145130439227391471304692273914713049932738145130529327381451305694273814513060932738146130649327381461306893273714613071932737146130749327371461307893273714613082932737146130859327371461308893273714813091932737148130949327371481309694273714813100942736148131039427361491310693273614913109932736149131129327361491311594273615013118942736149131229427361491312594273614913128942737151131319427371511313494273715213137942737152131409427371521314495273715113147952737151131509527371511315295273715113154952737151131579527371511316095273715113164952737151131669527371521316995273715213172952737152131759527371521317895273715213180952737152131849527371531318795273715313190952737153131929627371531319596273715213198962737152132009627381541320296273815213204952738152132059427381521320794273815213209942738152132129427381531321594273815313218952738153132209627381531322296273815313225962738153132269727381531322898273815413230882738154132317827391551323277273915613234772739156132357627391561323676273915813238752740156132397427401571324073274115713242722741157132437127421571324470274315613246692743154132486827431531325068274315313251682743152132536927441531325569274415213257702744152132597127441501326071274415013262712744150132647127441481326571274414713266712744145132677127441431326771274514313267712745142132697127451411327171274514113273702745140132757027451391327770274513913279692745138132816927451381328368274513813286682746138132886827461371329182274613713294952746138132969527461371329995274613713301942746137133039427461371330594274613713307942746137133109327471371331293274713613314932747136133179327471361332092274713613323912748136133269027481371332990274813713332902748135133349027481371333790274813713340912748137133439127481371334691274813713349902748136133528927481361335589274713613358882747136133618827471361336488274713613367882747136133708827461361337388274613613376882746136133798827461361338288274613613385882745136133888827451361339287274513613395872745135133988827451351340088274513513404892745135134078927451351341090274513513414912745135134189227451341342193274513313424932745133134279427451331343094274513313433942744133134369427441331343994274413313443932744133134479327441331345093274413313453942744133134569327441331345993274413313462932744133134659327441331346893274413313472922744133134769127441331347990274413313482902743133134849027431331348890274313313491902743133134949127431331349792274213313500942742133135039627411331350697274113313508982741133135119827401331351498274013313516972740133135199727401331352296274013413526952739134135309427391341353493273813513536932738135135399327381351354293273713613545932737136135489327371361355193273713613554932737136135589327361361356193273613713564932735137135669327351381356994273513713570942734137135729427341371357494273413713576942734137135789327341381358192273313813584922733138135869227321381358894273213813591962732139135949727311401359798273114013599982731141136019827311421360298273114213602982730142136029827301431360202729143136020272914313602352729143136037127291431360668272914313609662728143136127027281441361475272814413616892728144136191042728144136221042727144136241042727144136271042727144136301052727144136331042727144136361042726144136401032726144136431022725144136461022725144136491022725144136521022724144136551022724144136581012724144136611012724144136649927241441366798272314413670962723143136749527221431367794272214313680942722143136839327221431368693272214313689932722143136929427221431369494272214313697942722143137009427221431370495272214313706952722144137099527221441371294272114413714942721144137189427211461372295272114613725942721146137289427201471373294272014713735942720147137389327201471374192272014713744912719147137479127191471375092271914713753932719147137579327191471376193271914713764932719147137679427191471377094271914713774952719149137779427191501378093271915313784932719156137879327191561379093271915613792932718156137949427181561379795271815613800952718156138039527181561380695271815713809952718158138129427181591381594271815913818942718159138209327181591382393271815913826942718159138289427181591383194271815913834942718159138369427181591383893271815913841932718159138449327181591384693271816013848922718160138519227181601385493271816013857952718160138609527181601386296271816013865962718161138689727181611387196271816113874952718161138789527181601388195271816013884952718160138879527181601389094271816013893942718160138969427181601389894271816013900942718160139039527181601390495271816013905962718160139089627181601391096271916013912952719160139139527191591391594271915913917942719159139199427201591392194272015913924942720159139269527201591392895272015913931952721159139349527211591393695272116013938942721160139409427211591394294272115913943942721159139449327211591394692272115913946922721159139479227221591394892272215913948922722159139509227231591395392272315913956922724159139589227241591396093272415913963942724159139669427241601396894272415913970942724159139739427241591397693272415913978922724159139819127251581398491272515813986912725158139899227251601399294272515813996952726159139989627261581400196272615814004962726158140079627261581401096272615814012952726158140159427261581401894272615814021932726158140249327271581402693272715814029932727158140329327271581403492272715814036922727158140399227261581404292272615814044922726159140469127261591404991272615914052912725159140559227251591405692272515914058932725159140609327251591406294272415914064942724159140679427241591406894272415914070942724159140728127231591407369272215914075692722159140776827211581407868272115814080682720158140807927201581408090272015814082922720158140849327201571408693271915614087942719156140909227181561409291271815614094912718156140959027171561409790271715614099902716156141009027161561410290271615614104922715156141069427151571410995271415814112952714158141149527141581411696271315714117962713157141189627121571412295271215714125942712157141289427111571413294271115714136942710157141399427101571414293271015714145932709157141489227091571415192270815714155912708157141599127081571416292270815714165922708157141689227081571417092270815714174932708157141779327071571418093270715714184932707157141869327071571418994270715714192942707157141959427071571419894270715714200952707157142029427071571420494270715714206942707157142089427071571421094270715714212942707157142149427071571421694270715714218942707157142199427071571422094270815714222942708157142249327081571422593270815714228922708157142309127091571423291270915814235912709158142379127091581423992270915714242922709157142449227091571424692270915614248922709156142509227091571425392270915714256922708156142599227081561426294270815614266952708156142689627081561427198270815614274972708156142789727081571428197270815714284972708157142869527081591428994270815914292942708157142949427081571429694270815814299942708158143029427081591430695270816014309952708160143129627081601431497270716014316972707160143199727071601432297270716014326962707160143299627071591433295270715914335942707159143389427071601434294270715914345942706159143489427061601435293270616014356922706160143599227061601436292270615914364922706161143679227061591437092270615914374932706161143779227051611438092270515914383922704159143869227041591439092270415914393922703159143969227031591440093270315914403942703159144069427031591440894270215914410952702159144129527011601441496270116014416972701160144199827001601442198270016014423992699160144259926991601442799269916014430992698160144349926981601443798269816014440972698161144439626981611444694269716014449942697160144529426961601445594269616114458942696162144619426951621446494269516214467942695162144709426951621447294269516214475952695162144789526951621448195269516214484942695162144869426951621448994269416214492932694162144949326941621449793269416214500932694158145029326941581450592269415814508922694157145109126941571451391269415314516912694150145189126941501452091269414814523912694148145269126941471452892269314714531922693148145349226931481453792269314914540932693150145429326921501454493269215014545922691149145469226911491454792269114914548922691149145499226911501455092269115014552922691150145549226911501455689269114914557872691149145587426911491456061269114914562612691149145636126911491456461269114614566612692145145686026921451456960269314714570602692147145716026921471457260269114714574602691148145766026911481457761269114814580612691148145826126921481458480269214814586100269314814588100269314814591100269314814594100269314814597100269314814600992693148146029926931481460499269314814607992693148146101002693148146121012694148146141012694147146161012694147146181002694147146199926941471462197269514714623952695147146269526951471462894269514714630942695147146339426961471463694269614714639942696147146419426961471464394269614714646942697147146499526971471465295269714714654962697147146569626971471465996269814714661962698146146639626981461466695269814614668952698146146709526991461467294269914614675942699146146789426991461468094269914614683942699146146859426991461468794269914614690942699144146929426991441469494270014314696942700142146989427001411470095270014114702952700140147059527011401470794270113914709942701139147129427011391471494270113914716942702138147189427021381472093270213814722932702138147249227021381472791270313714729912703137147319027031371473490270313814737902703138147399127041381474192270413814744922704138147469227041381474893270413814751932705138147539327051391475593270514014757932705140147599327051411476293270614114764932706141147669327061411476993270614114772932706141147759327071421477893270714214780932707142147829327071421478593270714214787922708142147899227081421479092270814314792922708143147949127081431479590270914314796882709143147988627091431480083270914314801812709143148037927101431480577271014314806772710143148077727101431480874271014314810712711143148127127111431481471271114314816712712143148177127121411481871271314114820712713141148227127131411482471271314114825712713142148267227141411482772271414114828722714141148287127141411482971271414114830702715141148327027151421483370271514214834702715141148357027151411483670271614114838692716141148396927161401484069271613914842692716137148436827171371484468271713714846682717135148476827171341484867271713414850672718132148516727181321485268271813214854682718132148556827181331485868271913214860692719132148626927191311486370271913114865702719131148677127201311486872272013114870722720131148727227201311487472272013114876722720131148777227201321487872272013214880732721132148827227211321488372272213214886712722132148887127221311489070272313314892702723132148937027241321489470272413314896702724133148977027241351489870272413614900702725136149027027251361490371272513614904712725135149067127251351490870272613314909702726134149117027261341491369272613414913692726134149136927261351491469272613514915702726135149167027261351491870272613514920702727136149217027271361492269272713514924692728137149266827281371492768272913714928672729137149306727291381493067272913814931662729138149326527301381493465273013814935642730138149366327301381493663273013814936632731138149376227311371493862273113714940622731136149416227311371494262273213814943622732138149446227321391494561273214014946622732140149486327331431495064273314714951662733147149526627331501495466273315014954662734150149556627341501495766273414714959672734147149606827341451496268273414514964692734145149657027341451496670273414514967712734145149687027351451497070273514514972692735146149746927351461497669273514514978692736145149806827361441498268273614414984702736143149867127361431498872273614414990732736144149927427361441499576273614614998852736148150009327371481500293273714815005932737149150069327371491500893273715015010932737150150129327371491501481273714915015692737149150166927371491501869273814915019682738149150206827391491502268273914915023682740149150256727411491502767274114915028662741149150306627411491503066274114915030652742149150326527421491503465274215015036652742150150376527421501503865274315015040652743150150426527431501504466274315015046662743149150486727441481505068274414815051692744148150526927441491505369274414915055692745149150576927451491505969274514915061702745149150627027451491506370274514915064702745150150667027451501506869274515015070692745150150716927461471507268274614615074682746146150756727461461507667274614415078662747143150806627471401508167274713915083672747139150856827471391508668274813915087682748143150896827481431509168274814315092682748141150946827491411509667274914115098672749140150996627491391510066274913915102662750138151036627501381510466275013715105662750138151066527501371510765275113715109652751137151116527511371511265275113815114652751138151166427521381511764275213815118642752137151206427531371512164275313715122642754137151246327541371512563275413715126632754137151286327541371513064275513715131642755137151336427551371513565275513815137652755138151396627561381514066275613915141662756137151426627561351514465275613415146652756134151476527561331514865275613115149652757131151506527571311515265275813215154652758132151566527581321515865275813315159652758133151606527581331516166275813315162662758133151646627581331516667275813315169682759133151706827591341517269275913415174692759134151756927591341517770276013615179702760136151807027601371518170276013715182702760137151837027611371518469276113715185692761135151866927611341518769276113415188682762133151896827621341519067276213415191672763134151926627631331519265276413315193652764133151946427641351519564276413315196632764133151976327651331519863276513315200622765133152016227651331520261276513315204612766133152046127661331520561276613315206612766133152076127661301520860276712815208602767126152085927671251520858276712515208572767123152085627681231520856276812415208562768124152115627681231521456276812315215562769122152165627691221521756276912115218572770121152195827701211522058277112215221582771122152225927711231522359277212315224592772123152265827731231522758277312315228592773123152305927731241523059277312515231592774124152325927741241523360277412415234602774124152366027741241523760277512515238612775127152406127751271524162277512815242622775128152446327761281524463277612815245642776128152466527761281524766277612815248662777127152486727771271524967277712615250672778126152516727781261525268277912415254682779123152556927791211525669277912015257692779119152586927801191526069278011815262692780118152636927801171526468278011715265682781117152666827811151526867278111615269672781116152706727811161527167278211515272672782115152736627821151527466278311515275652783115152766427841151527763278411515278622784115152806127841151528161278411515282612785115152846127851151528661278511515287612785115152886227851151529063278511515292642785115152936527851151529466278511515296672785115152986827861151529968278611515300682786115153026927861151530469278611515305692787115153066927871151530869278711515310702787115153117027871151531270278811515313702788115153147027881151531670278811815318692788118153196927891181532168278911915323682789119153256827891191532768278911915328682789119153306827891191533168278912015332682789121153346827891211533569279012215336692790124153387027901231534069279012415341692790124153426827911241534368279112515344672791125153456727911251534666279112515347652792125153486527921251534965279212415350652792125153516527921261535265279312515353652793125153546427931251535664279412515358642794125153606427951261536264279512615363652795126153646527951261536666279512615368672796127153696827961261537068279612615372682797126153746827971261537668279812615378672798126153796727981261538067279812615382672798126153836727981281538466279812715385662798128153866627981281538766279812815388662799128153896527991281539065279912815392652799128153936427991291539464280012915396642800129153976428001301539864280012715400642800126154016428011261540264280112615404652801126154066528011261540766280112615408662802124154106628021241541166280212415412662802124154146628021231541566280312315416652803122154176528031221541865280312215419652803122154206428041221542164280412415423632804122154256328041231542763280412315429642805123154316428051231543364280512215434652805122154366628051221543866280612215439672806122154418028061231544393280612215445932806122154479328061221545092280612215452922806122154549228061221545792280612615460922806129154629328061291546493280612915466932806128154689328061281547193280712815474932807128154779328071281548093280712815482932807128154859328081281548893280812815490932808128154939328081291549693280812915498932808129155029328081291550593280812915508922808131155109228081311551392280813315516932808134155199328081341552293280813315525932808133155289428091331553194280913315534942809133155369428091341553894280913615540942809138155439528091381554595280913915547952809139155509528091401555295281014115555952810142155589528101421556195281014215564952810142155669428111421556994281114215571942811142155739428111421557694281114215578942811142155809428111421558394281114215586942811142155889428111421559093281214315593932812143155949328121411559593281214115596932812141155979328121411559878281214115600642812139156026428121381560365281213815604652812138156056528121381560865281213715610652812137156126528121361561464281313615616642812136156186428121351562164281213515624642812135156276328121351563063281213515632632812135156356328121351563863281213615641632813136156446428131361564765281313615650772813136156529028131371565590281313815658902812139156619128121401566492281214115666922812141156699228121421567292281114215676922811141156799228111421568293281114215685932811142156889328111421569193281114215694942811142156979328111441570093281114415703932810144157069428101451570993281014515712932810145157159228101461571891280914615721912809146157249028091461572690280914615729902809146157329028081461573491280814615737922808146157409328081461574293280814615745932807147157459328071471574594280714715747932807147157499228071471575092280614715752932805147157549428051471575696280414715758962804148157599728031491576099280214915761102280114915763101280014915765101280014915767992799149157699827991491577297279815015774962798150157769527981501577895279715015780952797151157829627961501578495279615015787952796150157909427951501579394279515015796932794151157989227941511580091279415115803902793151158068927921511580888279215115811892791151158148927911511581790279015115820922790151158229527891511582599278915115828992789151158321002788151158349827881511583797278715315840962787153158429627871531584396278615415844962786154158459827851541584610127851541584710027851541584810027841541585010027831541585299278315415854992782154158559927821571585799278115715859992780157158609927801581586010027791581586210027791581586310127781581586510127781581586710227781581586910127781581587110127781581587399277715815875972776158158779727761581587996277515915882962775160158859527741611588797277416115889982774161158929827741611589498277416015896992773160158999927731601590298277216015904982772160159089827721601591299277116115916982771163159209627701631592395277016315926952770163159289427691631592994276916315931962768164159339927681651593410227681641593510527671641593610727671641593811027671641594010827671641594210627671641594410327661641594510127651641594699276516415948972764165159509727641651595298276316515954982763165159569927621651595899276216515960992762166159629927611661596499276016615966992760166159689927591661597099275916615973992758166159759827581661597797275716615979952757166159819327571661598393275616615985932756166159879527551661598997275516615991992755166159931012754166159941012753166159961012752166159981012751166160001012751166160021012750166160031012750166160041012749166160061012749166160091022749167160121022748167160141012748167160161012747166160181012747166160201012747166160231042746166160261072745166160281112745166160301162744167160341142744169160371122743170160401082742172160421042742172160451032741172160481032741173160501042740173160521052739175160541052739175160551052738175160571032738175160591012737175160611002736173160639927361731606698273517316068962735173160719627341751607496273417516076962733175160789627331741608096273317416082962732174160849827311751608710127311751609010227301751609210327301751609410327291751609510427281751609610327281751609710227271761610010127271751610210027261751610410027261751610599272517516107982725175161099727251751611098272417516112992723175161149927221751611610027211751611810027211751611910027201751612010027191751612210027191751612510227181751612810427181751613010627171751613310727171751613510727161751613710627161751613910427161751614110327151751614210127141751614499271417516146992713175161489827131751614998271217516150982712175161529827111751615498271117516156982711176161589827101761615899271017616159101270917616161102270917716163103270917716165102270817716167102270817716170100270717716172992707177161749827071771617798270617716180982706177161839827061771618598270617716187982706178161889727051771619096270517716192952705177161949527051771619694270517716199942704177162029527041771620496270317716206962703176162099727031761621298270217616214982702176162169927021771621710027021801622010227021831622210427011831622410627011841622710927001841623010827001831623410827001821623610526991831623910326991831624110026981831624398269818316245962698183162479526981831625095269818316254962698183162569626981831625897269818316260972698183162629826981831626497269818316267972698183162699626981831627196269718316275952697183162799426971831628193269718316283932697183162869226971841628892269718416290912697184162929126971841629491269718516297912696185163009126961851630292269618716304932696187163079426961851630995269518516311962695185163129826941851631410026941851631610026941851631710126931871631810126931871631810126931861631810126931861631810126931851632110126921861632410126921861632610026911861632810026911861633198269118616334972691186163379626911861634096269118616342962691186163439626911861634596269118616347962691185163509626911861635297269118416354972691184163579726911851636096269118516364952691185163689426911851637294269118516376942691185163809426911851638494269218516387952692185163909526931851639495269218516396942692185163999326911851640093269118416402942691185164059426901861640895269018616410952690186164139526901861641695269018616419952690186164229426901861642494269018616426942690186164299426901861643194269018616433942690185164349426901841643494269018416434942690184164349426901841643494269018516434942690185164368026901861643867269118616439662691185164406526921851644165269218316442652693183164446526941821644565269418216446642694183164476426941821644863269418216450632695182164516226951781645262269517816452612695178164536126951781645361269617716453612696176164536126961761645361269617516454612696175164566226961751645662269617416456632696174164586326961741645963269617316460632697173164616326971731646263269717316462632698174164626326981741646263269917416464642699174164656426991741646665269917416467652699174164686527001741646864270017416470632700174164716227001741647262270017216474622701172164756127011721647660270117416478592701173164805827011701648257270216916483572702169164845727021691648557270216916485572702169164855727031681648557270316516485572703164164875627041641648956270416416490562705163164915527051631649255270516316494552705163164955527051631649655270616316497552706163164985627061631650056270616216501562706162165025627071621650357270716216504572707162165065727081621650857270816116509582709161165105827091601651258270915916514582709159165155927091591651659271015816517592710158165185827101581651958271115716520582711157165225827121551652358271215616524582712156165255827121561652658271215616526582713156165265827131561652658271315616526592713156165265927131561652659271415516528592714155165295927141551653058271415516531582714155165325827151551653358271515516534582715155165345827151551653558271515516536582716155165375827161551653858271615516538582716155165395827161551654058271715516541582717154165425827171541654358271715416544582717154165445827181541654658271815416547582718154165485727181541655057271815416552572719153165535727191541655456271915416555562719154165565727191541655857272015316559572720152165605827201521656158272115216562582721152165645827221501656559272215016566592722150165676027231501656860272315016570612724151165726127241511657361272415216574612724154165766227241541657762272415416578632724154165786327241531657964272515316580642725153165826427261531658363272615316584632726153165866327261531658763272615116588632726151165906327261511659163272615016592632727150165946327271491659563272814816596632728147165986427281471659964272814716600652728147166016527291471660266272914716603662729147166046627291471660566272914716606662730148166076527301461660865273014516609652730145166106527301451661164273114516612642731145166136427311451661463273114516615622731145166166127321451661661273214516617602732145166186027321451661959273214616620592733146166215927331431662259273314316623592733143166246027331431662461273414316624612734143166246227341431662562273414316626622734144166276227351441662862273514416630622735144166316227361441663261273614216634612737142166366127371421663761273714216638622737142166406227371431664162273814316642632738143166426327381431664364273814316645652738143166476627381431664866273814316650662738145166526727381451665369273814616655692739146166576927391461665969273914516661702739144166627027391431666470273914316666702739143166677027391431666870273914216670702739140166726927391401667468273914016675682739139166766727401381667767274013916678672741138166796627411371668065274113716681642741136166826427411341668263274213216683622742130166846227421301668561274213016686612742130166886127431301668960274313116690592743131166915927431311669259274313116693592744132166946027441321669660274413216698602744132166996127441321670062274413216701632744131167026427441311670364274513316704642745131167056427461311670664274613116708632746131167096227461311671062274613116711622746129167146227461291671662274612816718622746128167196227461281672063274712816722642747126167236427471261672465274712616726662747126167286827481261673068274812616732682748126167346727481261673667274812616737672749126167386727491261674067274912616742672749126167447827491261674688275012616748892750126167499127501261675091275012616751912750126167549127501261675692275012716759922750128167629327501311676592275013416768922750134167709227501341677392275013416776922750134167789227501331678093275013416782932750134167849327501341678593275013416786932750134167879327501341678891275013416789892750134167907627501341679063275013416791632750134167926327501341679363275013416794622751134167966227511341679762275213416798622752132168006227521321680262275313216804622753132168066227541321680762275413216808622754132168106227541311681162275413016812622755130168146227551301681562275513016816632755130168186327551311682064275613116821642756131168236427561321682564275613316826642756133168276527571331682864275713316830642757133168326427571341683365275713516834652758136168366527581381683865275813916840652758139168426527581401684366275914016844662759139168456727591391684667276013916847672760140168486627611401684966276113916850662761139168526527611391685365276113916854652762139168556427621401685664276214016857642763140168586427631401686064276414016861642764140168626427641401686464276414016866632764141168676327651421686863276514216870632765142168716327651421687263276514216874622765142168766227651421687862276514216879622766143168816227661431688362276714216884622767142168866227671421688762276714216888622767142168906427681431689165276814316892652768143168946527681431689665276814316897662769143168996627691431690166276914016902662769138169036727691381690467277013816906672770136169086727701361690967277013916910672770140169126727711401691467277114016916672771141169186627721411691966277214116920662773141169216627731411692265277314116924652773141169256527731411692665277414016928652774140169306527741401693265277414016933662774139169346627751381693666277513816938662775137169396627751371694066277513716942662776137169446627761371694567277613716946682776137169486927761371695070277713716952702777137169547027771371695570277713716956702777137169587027781371695969277813316960682778133169616727781311696267277813116963662779131169646627791321696566277913416966662779134169676527791341696865278013616970652780136169726527801361697464278013716975642780138169766427811381697764278113716978642782137169806427821371698264278313816983642784138169846427841391698565278414016986652784140169886627841401699066278514016991662785140169926627851401699466278514016994662785138169956527861381699665278613816997652786138169986527861381699965278613817000642787138170016327871381700263278713817003622787138170046227871381700662278813817008622788138170116227881381701262278814017014632788141170166327891411701764278914117019642789142170216527891421702466278914217026682790142170288027901431703093279014317032932790143170359327901431703893279014217040942790142170429327901441704493279014417046922790144170499127911441705291279114517055902791145170589027911451706190279114517063902791145170659127911451706790279114517069902791145170719027911451707390279114517075902790145170779127901451708092279014517082922790145170859227901451708893278914517090922789145170929227891451709491278914517095912789145170989127891451710192278914617103922789146171059227891461710692278914617108922789146171109227891461711292278914717113922789148171149227891481711692278914717117922789147171188227891471711972278914617121722789146171237227891461712472278914617126722789146171288127891471713190279014717133902790147171359127901471713791279014717139912790147171419127901471714391279014717144912790147171469127901471714891279014717149912791147171508927911471715288279114717154782791147171556927911471715668279114617158682791146171606827911451716168279214417163682792144171656827931431716668279314217168692793142171706927931411717370279314017175712794140171777227941411717871279414117180712794141171827127941411718371279514117185702795142171877027951421718870279514217190702795143171927027961421719470279614217196692796142171976927961421719868279614217200672797142172026727971421720367279714017204672797139172066727971391720867279813917209672798139172106727981401721266279914117213662799141172146628001411721566280014117216662800141172186628001411721966280014217220662801141172216628011411722266280114117224662801141172266628011411722865280114017230652801140172316528011391723365280113917235652801138172377628011381723988280113817242882801138172448928011381724689280113717249902801137172529128011371725492280113717256922801137172599328011371726193280113717263932801137172659328011371726793280113817270932801139172729328011391727492280113917277922801139172809228011391728392280113917286922801139172899328011391729293280113917294932801140172979328011401730093280114117303932801141173069328011411730893280114217311932801142173149328011431731793280114317320932801143173229328011441732493280114417327932801144173309228011441733392280114417336912801144173399128011441734291280114417346922800144173489328001441735094280014417352952800144173559628001441735897279914517360982799145173629827991451736498279914517367972799145173709627981451737295279814517373942797145173749427971451737594279714517377942796145173799527961451738295279514617384952795146173869427951461738994279414617392932794146173959227941461739891279414617400912794146174039227941461740692279414617408922794147174119327941481741293279414817414942793148174149427931481741494279314817415942793148174169427931481741794279314917418942793149174189227931491741891279314917421812793148174247127931471742671279314717428722793145174307227931451743272279414517434832794144174369427941431743894279414217441942794142174449427941421744794279314217450932793143174539327931431745693279314317459922793143174629227931431746691279314317469912793143174729127931431747591279314317478912793143174809127931431748392279314217486912793142174899127931421749292279214217494932792142174969327921421749994279214217501952792143175039727921421750497279214217506972792142175079727921421750897279214217510972792142175139727921421751597279214417517982792144175199727921441752196279214317524962792143175269627921431752994279214317532932792143175349327921431753794279214217540932792141175439327921421754693279214217549932792142175529327921421755593279214217557932792143175599427931431756294279314317564942793143175669427931431756894279314117569932793141175709327931411757292279314117575912793141175789027931401758190279314017584902793140175869027931401758990279314017592912793140175959227931401759894279314017602942793140176059427931401760894279314017611952793140176149427921411761794279214117620942792142176229427921431762593279214317628932792143176319327921431763494279214417636942792144176399427921441764294279214417644952792144176479527921441765095279214417653942793144176569427931431765895279314317661952793144176649527931441766796279314417670952793144176729527931441767494279314417677942793144176809427941441768294279414417684932794144176879327941441769093279414417692942795143176949427951431769594279514317697932795144176999327951441770191279614417703902796144177048827961431770687279614417708832796143177108027971431771280279714317713802797144177148027971441771580279714417716802798143177188027981421771980279814217720802798141177218027981411772280279913717724762799136177257327991361772671280013617728692800136177296728011371773065280113817731642801141177326428011411773363280114417734632802145177356328021451773663280214617738632802145177396328021451774063280314417741632803144177426328031441774363280314517744622803146177456228041461774662280414717746622804147177476128041471774861280414817748612805148177496128051481775061280514817750612806147177516128061471775261280714717753612807147177546228071471775562280714717756622807147177586228081471775963280814717760622808147177616228081481776262280814817763612809148177646128091481776661280914817767602810148177686028101481776960281114817770602811148177716028111481777259281114817772592811148177735828121481777458281214817775592813147177765928131481777760281414817778602815148177796128151481778061281615217780612816152177826128161521778461281615217786612816152177876128161531778861281615417789622817156177906228171561779162281715617792622817156177936228171561779462281815717794622818157177956328181571779663281815717797632818157177986328191571780063281915817801632819159178026328201601780463282016017806632821160178076328211601780863282116117810632821162178126228211621781462282216217815622822162178166328221611781663282216017816642822160178186428231601781964282316017820642823159178206428231591782164282315917822642824161178236328241611782463282416117825632825160178266328251601782763282616117828632826162178296228261621783062282616217831622826162178326128271621783461282716217835612827162178366028281621783660282816217836602829162178376028291621783860282916217839602829162178405928291621784259283016217843592830162178445928301631784560283016317846602830163178486028311631784961283116317850612831163178526228311631785463283116317855652832163178566628321631785867283216117860682832161178626928321611786470283316117866712833161178687128331611787071283316117872712833162178747128331621787671283316317878712833163178807128331581788171283315417882712833152178847028331511788669283315117887692833151178886828331511789068283415017891672834149178926728341491789467283414917895672834149178966728351491789766283514917898662835149179006628351491790266283514917903662836149179046628361491790666283614817908652836148179096528361481791066283714817912662837149179146628371481791666283814817917672838148179186728391481791967283914817920672839148179226728391481792368283914717925672840147179276728401471792867284014717930672840147179316728401491793268284114617934682841146179356828411461793668284114617938682841145179406828421451794269284214517944692842145179456928421411794668284214117947682843138179486728431371794966284313617950662844135179516628441341795266284513417953662845134179546528451341795565284513617956652845136179576528461361795865284613617960652846135179626528461351796365284613517964652847136179656528471361796765284713617969652847136179716528471351797365284813517976772848135179788928481351798289284813517985902848135179889128481351799092284813517993932848135179969328481351799893284813518000932849135180029328491361800393284913618004812849136180056828491361800668284913718008682849137180106728491371801167284913718012672849138180146828501381801568285014118016682850142180176728501421801867285014218020672851142180216828511431802267285114318024672851143180266728511431802766285114318028652851143180306528511431803065285114318031652851147180326428521481803264285214818033632852148180346328521491803562285214918036622853150180376228531501803862285314918039612854149180406128541481804061285514818041612855147180426128551471804461285514718045612855147180466228561481804762285614918048622856149180496228561501805062285615018051622857150180526228571501805362285715018054622858150180556228581501805662285915018058622859150180596228591501806062285915118061622859152180626228601511806362286015118064622860151180656228601501806662286015018066612861149180666128611491806761286114918068602861148180696028611471807059286214718071582862147180725828621471807257286214718072572862147180735728621471807456286214718075562862146180765628621461807756286214618078562863146180785628631461807955286314618080552864146180805528641461808156286514618082562865147180835628651481808456286515018085562865150180865728661501808657286615218087582866153180885928671531808959286715418090592868153180915928681531809259286815418093592868154180945928681541809558286915418096582869154180975728691541809857287015418099572870155181005728711561810257287115718103582871157181045828711571810458287115718105582872156181065928721571810660287315718107612873157181086128741581810962287515818110622875158181116228751571811262287515718112622875157181136228751571811462287515618115622875156181166228751561811662287515718117622876157181176228761571811762287615718117612876157181176128761571812060287715618122592877156181225828771561812358287715618124582877156181255928781571812658287815818128582878158181305828781581813159287815818132592879158181345928791581813659287915718137592880157181385928801571813960288115718140602881157181416028811591814260288115918144612881159181456128821591814661288215718147612882157181486128821561815061288215618151612883156181526028831561815460288315718156602883157181576128831571815861288415718159622884157181606328841571816264288515818164642885159181656428861591816764288615918169652886157181727828861571817491288615718176912887157181789228871571818091288715718182912887157181849128871591818691288815918188912888159181919128881591819390288815918195902888159181979028881591819990288815918201902888159182039028881591820490288815918206902889159182077928891591820868288915918210682889159182116828891591821369288915918215692889159182186928891591822069289015918222702890159182247128911591822682289115818229932891158182319328911581823393289115818235922891159182379228911591823991289115918241912891159182439128911591824592289215818247922892158182499228921581825193289215818253932892159182549328931591825693289315918258932893159182599328931591826093289315918262932894159182639028941591826488289415918266762894159182676528941591826965289516018271662895160182736728951601827568289615818276682896158182776928971571827870289715618280702897156182837028971561828670289715718288822898157182919428981581829494289815718296942898156182989328981571830193289815718304932898157183079428981571831093289815718313932898158183169328991571831893289915718320932899157183229328991571832483289915718326732899158183287328991571832973289915718330722899156183327128991551833470290015418335702900153183366929001531833869290115318340672901152183416629021531834366290215318345662902153183466629021531834666290215318347662903153183486629031531835066290315318351662903152183526629031521835466290415218355652904152183566529051521835765290515218358652906152183596429071511836064290715118360322907152183600290715218360029071521836445290715218367912907151183709329071501837396290715118376962907151183789629071511838095290715118381952907151183839429071511838594290715118387922907151183899129071511839290290715118394902907151183969029071481839790290714818398892908148184008929081481840289290814818404892908148184058929081481840689290814918408802908150184107129081501841271290815018413712908150184157229091501841772290915018420732909151184227329101511842473291015118426742911151184287329111501843073291115018432732911148184337329111481843473291214818436722912148184377129121481843871291214818440702912148184416929131481844269291314818444692913148184466829131481844768291314818449692913148184516929131481845470291314818456722913148184588229131481846093291414818462932914148184659329141481846793291414818469932914148184719329151481847393291514818475932915148184779329151481847993291514818481932916148184839329161481848593291614818488932917148184909329171481849293291814818494932918148184969329181481849993291814818502932918147185049329181451850693291814418508932918143185109329181431851293291814318514932919143185179329191431851993291914318521932919143185249329191431852693292013918528922920139185319229201391853493292013918536932920139185389329211391854093292113918542932921139185459429211391854894292113918550942922139185529429221391855595292213918558952922138185609629221391856296292213818565972922138185689629221371857196292213718574952922137185769529221371857994292213718582932922137185859329221371858893292213718591932923137185949329231371859793292313818600932923138186039329231381860693292313818609922923138186129229231381861592292313818618922923138186209229231381862393292213818626932922139186299329221411863292292214118635922922141186389129221421864191292214318644912922143186479129221441865091292214418654902921144186579029211441866090292114418663902921145186669029211451866990292114518672912921143186749129211441867792292114418680922921144186839229211441868692292114418688922921144186919229211441869492292214418696932921144186999329211441870294292114418705942921144187089429211441871095292114418713942921144187169429211441871994292114418722942922144187259329211441872893292114418731932921144187349329211441873793292114418740932921144187429329211451874593292114518748932921145187519329211451875493292114118756932921139187589329211391876094292113818762932922137187659329221371876892292213718770922922137187739129221371877691292213618779912922136187829129221361878491292213618787922922136187909429221361879296292213618795962922135187989729221351880096292213518803952922135188069429221351880893292213518810922922135188139129221351881692292313418818932923134188209329231341882393292313418826932923134188289429231331883094292313318833942923133188369429231331883895292313318840952924133188429529241331884495292413318847952924133188509429241351885293292413518854922924135188579229241361886091292413618863912924135188669029241351886890292413518870912924135188739229241351887692292413518879932925135188829329251351888493292513518887932925135188909329251351889393292513518896932925135188989329251351890193292513518904932925135189069329261351891093292513518913932925135189169329251351892093292513518923932925134189269329251341892993292513418932942925134189359329251351893893292513518941932925135189449329251351894892292513518951922925135189549229251341895693292413418959922924134189629229241341896692292413418969932924134189729229241341897592292413418978922924134189809329241341898393292413418986932923134189899329231341899293292313418995932923134189989329231341900193292313419004932923134190079329231341901094292313419013932923134190169329231341901893292313419021932923134190249229231351902692292413419029912923134190329129231351903590292313519038902923135190429029231351904590292213519048902922135190519129221351905490292213719057902922137190609029211371906390292113819066902921141190709029211411907390292114119076912920142190799129201421908291292014219086912920141190899129201411909291291914219095912919143190989029191431910190291914319104902919144191089129181441911291291814519115912918145191189129181451912292291814519126912917146191299129171471913291291614719135912916147191389129161471914292291514719145922915148191489329151481915193291514919154942915149191579429151511916094291515119163932915151191669329151511916993291515119172932914151191759229141511917892291415119181912914152191849129141521918691291315219189912913152191929129131521919691291315219199912913153192029129121531920591291215319208912912153192119129121521921491291215219217912912152192209129121521922291291215219225912912152192289129121521923192291115219234922911152192379229111531924092291115319243922911153192469229101531924893291015319251922910153192549229101531925892291015319261922910153192649229101531926892291015319271922910153192749329101531927793291015319280932910153192839229101531928692291015319290922910153192939129091531929691290915319300912909153193039129091531930691290915319310912909153193139229091531931692290915319319922909154193229329091541932594290815419328932908154193319329081541933493290815419337922908152193409229071511934491290715119347912907150193509129071501935391290715019356912906149193599129061491936291290614819366912906148193699129061481937291290514819375912905149193789129041491938192290414919384922904148193879229041481939092290414819393932904148193969329041481939994290414819402942904149194059429041491940894290414919410942904149194139429041491941694290414919419952904149194229529041491942596290415019428972904150194329829041501943598290415019438972904150194419729041501944495290415019447942904150194509329041501945493290415019457932904150194609329041501946393290315019466932903150194709329031501947393290315019476932903150194799329031501948293290315019485932903150194889329031501949293290415019494932904150194979329041501950092290415019504922904150195079229041501951092290315019514912903150195179129031501952092290315019522932903150195249429031501952795290315019530962903150195329729031501953496290315119537962903151195409529031511954295290315119544952903151195479629041521954996290415219551962904152195549529041521955695290415219558962904153195619729041531956497290415319567972905153195709629051531957395290615319576942906154195789429061541958194290615419584942906154195869429061541958994290615419592942906154195949429061541959694290615419598942907154196009429071551960294290715519604942907155196079429071551961093290715519612932907155196149229071551961691290715519618912907155196219129081551962491290815519626912908155196289129081551963191290815519634922909155196369329091551963893290915519641932909155196449329091551964694290915419649942909154196529429091541965494290915419657942909155196609429101551966394291015519666942910155196689429101551967194291015619674942910156196779429091561968094290915619683932909156196869329091561968993290915619692932909156196949329091561969793290915619700932909156197039329101571970693291015719708932910157197119329101571971493291015719717932910157197209329101571972393291015719726932910157197299429101571973294291015719734942910157197379529101571974095291015719742952910157197449529101571974795291015719750952910157197539529101571975694291015719758942911157197619429111571976494291115719767942911157197709429111571977393291115719776922910157197799129101571978290291015719785902910156197888929101561979190291015619794912910156197979129101561980092291015619804932910155198079429101551981093291015519813932910155198169329101551981993291015519822932909155198259329091551982893290915519831932909155198349229091551983792290915519840912909155198439129091551984691290915519849912909151198529129081481985590290814819858912908148198619229081491986492290814919866932908149198689329081491987194290814919873942908149198759429081491987793290814919879932908149198829229081491988492290815319886922909157198899229081611989192290816519893922908169198969229081691989892290816719901922907167199049329071671990793290716619910932907165199129329071651991593290716519918932907165199219329071651992493290716519927932907165199309329061651993293290616519935922906165199389229061651994192290616619944922905166199479129041661995091290416619953912903166199569229031661996092290216619963932902166199669329021661997094290216519973942902165199769429011651997894290116519981942901165199849429011651998794290116619990942901166199929429011661999494290116619997942901165200009429021652000394290216520006942902165200099429021652001293290216520015932902165200189229011652002091290116520023902901165200269029011652003090290116520033902900166200369129001662003891290016620041912900166200449129001662004691289916620049912899166200529028991662005490289916620057902899166200609028981662006390289816620066902897166200699028971662007290289716620074902896165200779128961642008091289516420083922895164200869228951642009093289416420093932894164200969428931642010094289316420103942893165201069428921652010994289216520112932891165201169328911652011994289116420122962891163201269628911632012997289116320132972891163201369828911632013897289116220141962891162201449528911622014794289116220150942891162201539528911622015695289116220159952891162201629528911622016495289116220167952891162201709528911612017395289116120176952891161201799528911612018295289116120185952891161201889628911612019196289116120194962891161201969628911612019996289116120202952891161202059528911612020895289116120210952891161202139528911612021696289116120218952891161202219528911612022495289116220227942891162202309428911622023393289116220236932891162202399228911622024292289116220245932891162202489328911622025193289116220254942891162202579428911622026094289116120263942891161202669428911612026994289116120272942891161202759428911612027894289116120280942891161202839328911612028693289116120288932891161202909428911612029293289116120294932890161202969228901612029792289016120300932890161203029428901612030494288916120307942889161203109428881612031394288816220316942888162203199528871622032294288716220325932887162203289328871632033193288716320334942886163203379528861632033896288616420340972886164203429728861632034597288616420348962886163203509628861632035395288616320356952886163203589528861632036096288616320363962886163203669628861632036995288616320372952886164203759428861642037893288616420381922886164203849228871642038792288616420390922886164203939228861642039692288616420400922886164204039228861642040691288616420409912886164204129128861642041591288616420418912885164204229128851632042591288516320428912885163204329128851632043591288516320438912885163204419128851632044491288516320447912885163204509128851632045491288516320457922885163204609328851632046393288516320466942884163204709428841632047394288416320476942884163204799428841632048294288416320486942884163204899328841632049293288416320495922884163204989228841632050192288416220504922884162205079228841622051092288416220513922883162205169228831622052091288316220523912883162205269128831632052992288216320532922882163205369328821632053993288216220542942882162205469428821622054994288216220552932882162205569228821622055992288216220562932881162205649328811622056693288116220568942881162205709628811622057297288016220574992880162205771002879163205801012879163205849928791632058798287816220590952878162205939228781622059691287816220599912878162206029128771622060491287716220607912876162206109228761622061392287616220616932875162206189228751622062192287516220624922875162206269328751622062993287516220632932875162206359328751622063893287516220640932875162206439328751622064693287516220649942875162206529428751622065594287516220658952875162206619628751622066496287516220667962875162206709628751622067396287516220675952875162206779528751622068094287516220683942875162206869428751622068994287516220692942875162206959428751622069893287516220700932875162207029328751622070493287516220706932875162207079328751622070793287615820707028761572070902876157207110287615620712028761562071402876155207160287615520717028761542071935287615420721712876154207227028761542072469287615420725692877153207266928771522072768287815220728682878152207296728781522073066287815020732652878150207336528791492073464287914820734632879147207356128791462073660287914620737602880144207386028801442073959288014320740592881143207415928811432074259288214320743592882143207445928821432074659288214320747592882144207495928821452075160288214520752612882145207536228821452075462288214420756632883144207576328831412075863288313920760642883139207616428831392076264288413920763652884139207646528841392076566288413820766662884138207666628851382076766288513820768662885137207696428851382077062288513820771612886138207726028861382077360288613820774602887138207766028871382077760288813820778602888138207796028881392078060288814120782612888141207846228891402078563288914020786632889140207876428901402078965289014020791662891136207926628911362079467289113520795672891135207966728911332079767289213420798672892132207986628921302079866289213220798662892132207986628931312080065289313120802652893133208046428941332080563289413320806622895133208086128951332080961289513320810612895133208126028951322081359289613220814592896132208155928961322081660289613220818602896132208206128971322082162289713220822622897132208246328981322082564289813220826642899132208286428991312083064289913120832642899130208346428991312083665290013120837662900131208407929001322084292290013220844922900133208469229001332084892290013420850922900136208529229001362085592290013620858922901136208609229011372086292290113820864922901138208669229011382086892290113920871912900139208749129001382087690290013820879902900138208829029001382088691289913820888912899138208919128981382089492289813820896932898138208989528971382090197289713820903972896138209059828961382090796289613820909942895138209129328951382091493289413920916922894140209199128941402092291289314120924912893142209279128921422093092289214220933922892142209369228911432093892289114320941922891143209449228911432094693289114420950932891143209539328911432095692289114320959922891143209629228921432096593289113920968942891136209719528901362097495289013720977962890137209809628901382098296289013820984952890138209879528901382099095289013820992962890138209949628901382099796289013821000962890138210029628901382100496289013821007962890138210109528901382101295289013821014952890138210179428901382101994289013821021942890138210229428901382102494289013721024942890136210249428911262102402891125210262728911252102854289112421030532891122210315328921202103354289212021035552892121210365628921212103857289212221039572892122210405728921222104157289212221042582892123210422928921232104202892126210420289213021042028921322104402892132210460289212921048332892129210506628921302105266289213021053652892130210566528921302105964289213021062642891131210646428911312106663289113221067632891132210676328911322106763289113221067312891132210670289113221070028911322107202892132210754728921322107895289213221080942892129210839328921272108693289212721089942892127210929428921272109594289212721098942892128211029428921282110594289112821108942891128211109228911282111191289112921112902891130211148928911312111688289113221118862891134211207828911372112269289114021124692890141211256928901412112769289014121129692890142211306828901402113267289014021133662891139211346628911382113665289213821138652893138211396528931372114065289313721142642893137211436428931362114464289413621146642894136211486428951362114965289513621150642896136211526428971362115464289713621155642897137211576428971372115964289713721160642897137211626428971372116464289713721165642897137211666528971372116866289813321170662898134211716728981332117267289813321173672898133211746828991342117568289913421175682899134211756828991342117568289913021175682899130211756728991292117567289912921176672899128211786728991282117967290012821180672900128211816529001292118263290012921183612900129211846029011292118459290112921184582901128211845829011282118457290112821186572901128211875629011282118857290112821190572902128211927529021282119492290312921196922903129211999229031292120192290312921203932903129212059329031292120793290313021210932903131212129329031312121493290313121216942903134212189329031342122093290313421222922903134212249229031342122692290313421227922903134212299229031352123192290313521232922903135212349229041362123592290413621236922904136212388129051362123971290513621240702906136212427029061372124469290613721245682907138212476829071382124968290813821250682908138212526829081382125368290813821254682908138212566829091372125768290913921258682909139212606829101372126267291013721263672911137212646729111372126667291113721268662911137212706629111372127165291213721272652912137212746629121372127567291213721276662912137212786629131372128066291313721281672913138212826729131382128467291313821286662914139212876629141382128866291413821289652914138212906529141382129165291513821293662915138212956629151402129666291514121298672915143213006729161432130168291614321302682916144213046829161422130667291613921307672917138213086729171382131066291713821311652917137213126429171372131263291813721313632918136213146229181362131561291813621316602918135213175929191352131858291913621319582919136213205729201342132257292013421324572921135213255729211352132658292113521328592921135213295929211352133059292213521332592922135213335929221352133459292213721335592922135213365929231352133860292313521340612923133213416129231322134262292313221344632924131213466329241312134863292413121350632924132213526329241332135463292413421355632924134213566329241342135764292413521358642924136213606429241362136264292413721364652924137213666529241372136765292414121368652925144213696629251442137166292514521373672925149213756729251492137768292615021379682926151213816929261502138269292614821383692926148213846929271482138569292714821386692927147213886929271472139069292714721391692927147213926929271452139369292714521394692927145213966929271452139869292814521399692928145214006929281462140169292914621402682929146214046829301462140567293014421406672930144214076629301442140866293014421410662930143214116629301432141265293014321413642930143214156329301442141763293114421418632931144214196429311442142064293114421422642931144214246429311442142565293114421426662931143214286729311432143068293114321431692932143214326929321432143469293214321436702932143214377129321442143872293214421440732932144214427229321442144371293214621444712932146214467129321462144871293214621450712932146214517129321462145271293214721453712932148214547129311502145671293115021458712931152214607129311532146271293115321465722931152214687429311522147178293115221474832931152214768729311522147992293115221482922931152214849329311522148694293115221488952932152214909529311532149295293115321494832931153214957129311532149670293115321497702931153214986929311522150068293115221501682931152215026829321522150368293215121504682932151215066829321512150768293214921508682932149215106829311492151268293114821513682931148215166829311472151868293114721520792931147215219029311472152290293114721524902931147215268829321472152786293214721530852932147215328429321472153482293214721537802932147215407929321472154279293214721544792932147215477929321472155079293214721552792932143215548029321422155682293214321558832932143215598429321432156184293214321563842932143215648429321442156684293214521567842932145215688429321452157084293214521571842932145215728429321452157284293214521573752932145215746729321452157666293214521577662932145215786629321442157966293114421580662931144215826629311442158466293114421586662931143215887529311432159085293114321592852931143215958629311442159886293114521600872930145216028829301452160588293014521607882930145216098929301452161289293014521615902930145216188929301452162189293014821624882930148216268829301512162988293015121632882930150216348929301502163790293015021639912929150216419129291492164491292914921647922929149216509129291492165391292914921656902929149216589029291472166090292914521662902929144216648929291442166788292914421670872929145216728729291472167586292914921678862928150216808529281502168385292815021686972928150216881102928150216911092927149216941092927149216961082926149216981072926149217001052926149217031032925149217061022925149217081002924149217109929241492171199292414921714972923149217169629231512172095292215121723952922151217269429221512173093292115121734932921151217389429211512174193292115121744932921150217479329201502175093292015021753922919151217569129191512175991291915121762922919151217659229191512176892291915121771932919151217749429191512177694291915121779952919151217829529191512178595291915121788952919151217909629181512179495291815121797952918151218009529181512180495291815221807942917152218109429171522181494291715221819942917153218229329171532182593291715321828932917152218329429171522183694291715221839952917152218429529171522184595291715221848952917152218529529171532185694291715321859942916153218629429161542186693291615421870932916153218739329161532187693291515321880932915153218849329151532188794291515321890932915153218939329151532189693291515221900932915152219039329151532190694291515321909942915156219129529151572191694291515821919942915158219229429151582192595291415821928952914157219319529141572193495291415721937952914157219409529141572194395291415721946952914157219499529141572195294291515721956942914157219599329141592196293291415921965932914159219689329141572197193291315721974942913157219789429131572198194291315721984942913157219889429131572199293291315721996932913157220009329131572200394291315822006932913158220109329131582201393291315822016942913157220199429131572202294291315722025942913157220289429131562203194291315622034942913156220389429121562204194291215622044932912156220479329121562205093291215622054942912156220579429121562206094291215622063942912156220669429121572206994291215722072942912157220769329121572207993291215722082932912156220869429121562208994291215622092942912156220959529121572209895291215722101952911156221049529111562210894291115622111942911156221149329111562211793291115622120932911156221249329111562212693291115622129932911156221329329111562213594291115622138942911156221419429111562214493291115622146932910157221509229101572215391291015722156912910157221599029101572216290290915622166902909156221689129091562217193290915622174942909156221789529091562218195290915622184962909156221879529091562219094291015622192942909158221959329091582219893290915622201922909156222049229091562220791290915622210912909156222139129091562221691290915622219922909157222229229081572222692290815822229922908158222329229081582223592290815822238922908158222419229081592224493290815922247932908159222509329081592225493290815922257942908159222609429081592226295290815922266952908159222699629071592227295290715922274952907159222789429071592228194290715922284932906159222879329061592229092290615922294912906159222989129061592230191290516322304912905163223069129041672231091290416922314912904171223169129041722231992290417122322922904171223269329041712232994290417122332952903171223359529031712233895290317122341942903170223449429031712234793290217122350922902171223539229021712235692290217122358922902171223619329021712236493290217122367932902172223709329021722237292290217222374922902172223779229021712238092290217122382922902171223859229021712238892290217122390922902171223939329021712239692290217122399922903171224029229021712240492290217122406922902171224099229021712241291290217222415902901172224189029011722242290290017222424902900172224279029001722243092289917222432932899174224349428991742243694289917322438952899173224419528981722244495289817322446962897173224489628971732245196289717322454962896173224569728951732245897289517322461972894173224649828941732246799289317322470982893173224729828921732247596289217322478952892173224809428911732248393289117322486922890173224899228901732249292289017322494932889173224969328891732249993288817322502932888173225049428881732250696288717322509982887173225111002886173225131022886173225161032886173225191042885173225221052884173225251062884172225281052883172225301042883172225331032882172225361022882172225389928811722254197288117222544952881172225479428801722255094288017222552942879172225559428791722255894287917222561942878172225649428781722256793287717122570932877171225739328771712257692287617122578922876171225819328761702258493287617022587942876170225909428751702259494287417022597932874170226009328731702260392287316922606922872169226099228721692261291287116922615912871168226189128711682262091287016822623912870168226269128691682262992286916822632932869168226349528681682263797286816822640992868169226441002868169226471022868168226501012867168226541002867168226589928661682266197286616822664962866168226689528651682267195286516822674952865168226779528651682268096286516822683962865168226869728651682268897286516822691972865168226949728661682269697286617022698972866170227019728661692270497286616822706972867168227089628671682271096286716822712962867168227159628671682271795286716822719942867169227229328671692272493286717022726932867170227289328681702273093286816722732942868169227359428681692273894286816922740942869169227429328691692274493286916922747942869169227499428691692275194287016922754942870170227569428701692275894287016922760942870169227629428711692276494287116922766942871169227689428711682277093287116822772932872168227749228721682277592287216822778912872168227809028721682278290287216822784902872168227869028721682278990287216822792912872168227959128731682279892287217122800922872175228039228721792280693287217922809932872182228129328721822281493287218122817932872183228209328721822282393287318222826932872182228309428721842283295287218522835952872185228389528721852284194287118822844942871189228469428711902284895287119022851962871188228549628711882285797287118922860972871189228629728711892286496287218922866952872189228689528721892287095287218922872942872189228759328721892287893287218922880932872189228829328721892288494287218922886942873189228899528731892289295287318922895952874189228989528741892290095287518922902952875189229059628751892290896287518922911962875189229139528751892291595287518922918952875190229209528751902292295287519022925962876190229289628761902293096287618822932952876188229359528761892293895287718722940952877187229429528771872294595287718722948942877187229509428771872295294287718722955942877187229589428771892296094287718922963942877189229669428771892296994287718722972942877187229759428771872297894287818722981942878186229849428781862298794287818622990942878186229939428781862299694287718622998942877187230019328771862300493287718723006922877187230109228771872301393287718723015932877187230179428771872302094287718723023942877187230269428771892302895287718923030942877189230339428781892303694287818723038952878187230419528781872304495287818723047952878187230509528781872305294287818723055942878187230589328781872306193287918723064932879189230669328791892306993287918923072932879189230759328791892307893287918923080932879189230839328791892308693287918923089932879189230929228791902309592287918823098912879188231019128791882310491287918823106912878188231099128781882311291287818823115912878188231189128781872312192287818723124922878184231269328781832312994287818223132942878180231369428781802313993287818023142932878180231459228781802314892287818223150912877182231539128771832315691287718123159912877180231629128771792316692287617923169922876179231729328761792317594287617923178952876180231819528761802318495287618023188952876181231919528761812319494287618123196932876181231999328761812320293287618023204922876180232079228761802321092287518023214922875180232169128751802321991287518023222912875180232259128751802322891287518023231912875180232349128751802323892287518023240922874180232439228731802324692287317923249922872179232529128721792325591287117923258912871179232619128711792326491287117923267912871179232709128711792327291287117923275912871179232789128711792328191287117923284922870182232879228701832329092287018423294922870184232979228701852330092286918523303922869185233069228691832330892286918323312922869183233159228681832331892286818423321932868184233249428681842332895286818423331952867184233349628671842333796286618423340972866184233439628661842334696286618423349952866184233529428661842335694286618423359942866184233629428651842336594286518423368932864184233719328641842337493286418423378942864184233829328641832338593286418323388932864183233919428641832339494286318323398942863182234029428631822340594286318223408942863182234129428621822341494286218223417942861182234209328611822342493286118223428932861182234319328611842343493286118423436932861184234399328611832344293286018323445932860183234489328601832345293286018223455932860183234589328601832346093286018323464932860183234679328601832347093286018323472932859184234759328591842347893285918423482932859184234859328591842348892285918323490922859183234939228591822349692285918223500922859183235039228581832350692285818323510932858184235149328581842351794285818423520942858184235239428581852352694285818523528942858182235329328581822353593285718223538922857182235429228571822354592285718223548922857182235519228561822355492285618223557922856182235609328561822356492285618323567922856183235709228561832357392285618323576922856183235809228561822358392285618223586922856182235899228561822359292285618223596922856182236009228551832360292285518323605922855183236089228551832361293285518323616932855183236199328551832362293285518323625932855183236289328551832363194285418223634932854183236379328541832364093285418323644932854183236469328541832364993285418323652932854183236559328541832365893285418323661932853183236649228531822366892285318223671922853182236749228531822367692285318223679932853182236829328531822368593285318223688932853182236909328531832369493285318323697932853183237009328531832370393285318323706932852182237099328521842371293285218423715932852184237189328521842372193285218323724932852183237279328521812373092285218323733922852183237369228521812373893285218123741932852181237449328521812374793285218123750932851181237549228511812375792285118223760922851183237639228511832376692285018323769932850183237729328501832377593285018323778932850183237819328491832378492284918323786912849183237889128491832379091284918323792912848183237959128481832379794284818323799972848183238029728481822380697284718123809972847181238129828461812381597284618123818962846181238229528451812382593284418123828932844181238329328431802383493284318023837922843180238409228431802384392284318023846922843179238509228431792385292284217923854922842179238569128421792385791284217923858912842179238609128411792386189284117923862882841179238647828411792386668284117923868692841179238706928411792387269284117923873692841178238756928411772387770284117623879702841176238817028411762388269284117523883692842175238846828421742388668284317323887672843173238886728441732388967284517223890672845172238926728451722389367284517123894672845170238966828451702389867284517023899672845169239006828451692390269284516823904692846168239056928461682390769284616623909692846165239106928461652391269284616523914692846165239156928461652391669284616523918692846164239206928471632392269284716223924692847163239256928471632392668284716323927682848163239286828481632393068284816323932672848163239336728481632393466284816323936662848158239386728481582393968284815823940682848158239426928491582394469284915423945692849150239467028491482394871284914723950712850147239517128501472395371285014623955712850146239577128501462395971285014623960702850146239627028501462396470285114623966702851143239687028521442397070285214323972812852143239759228521432397892285214323980922852141239829328521412398593285214123988942852141239909428521412399394285214123996952852142239999528521422400295285214224004952852142240079528521432401095285214324012952852143240159528521432401895285214524020952853145240239528531462402695285314624028952853145240329528531452403595285314524038952853146240409528531462404295285314624045952853146240489528531462405195285314624054952853146240579528531462406095285314724063952854147240669528541472406895285414724071952854147240749528541462407695285414624079952854146240829628541462408597285414624088104285414624090111285414624092108285414624095104285414124098102285413724101101285413724104972854136241089428541362411194285413624114942854136241179428541372412095285413724122962854137241259628541372412896285413724131962854137241349528541372413695285313624139942853136241429428531352414694285313524149942853135241529428531352415494285313524157932853135241609328531342416393285313424166932852135241699328521352417293285213624175932852136241789428521362418294285213624185942852136241889428521362419094285213624194952852136241979728521352420097285213524202972852135242059728521352420897285313624210962852136242139528521362421694285213624220942852136242239428521362422693285213624229922852136242329228521372423592285213724238922852137242409328511372424394285113924246942851139242489428511402425194285114024254952851140242579528511412426095285114124263952851141242669428511422426894285114124271942851141242749428511412427794285114124280942851142242829528511432428595285114424288952851144242909528511442429395285114524296952851145242999528511452430195285114624303962851146243069528521462430995285214624312952852147243149528521482431694285214824319942852148243229328521482432493285214824327932852148243309428521492433393285214924336932852149243399328521492434293285214924345932852150243489428521502435194285215024354942852150243579428521502436095285215124362942852151243659428521512436894285215124372942852152243749428521522437794285215224380942852152243829428521522438495285215224387962852152243909628521522439297285215224394962852154243979628521552439995285215524401942853155244049228531552440691285315424408912853154244109128531542441290285415424413892854155244158928541542441789285415424420882854154244228828551542442589285515424428892855154244319028551542443491285515424437922855155244409328551552444293285515524445942855155244489428551552445194285615524454942855155244579428551552446094285515524462942855155244659428551552446894285515524470942855155244739428551552447694285515524479942856155244829428551552448594285515424488942855154244909428551542449394285515424496942855154244999428551542450295285515424505952855154245089528551542451095285515424513952855154245169528551552451994285515524522942855154245249428551542452694285515424529942855155245329328551552453593285615524538932856155245409428561552454294285615524545952856155245489528561552455195285615524554952856155245569528561572455895285615724561952856157245649528561572456695285615624568942856156245709428561562457294285715624575952857157245789428571572458094285715724583942857157245869528571582458994285715824592942857157245949428571582459794285715824600942857158246039428571582460694285715824608942857158246109428571582461395285815824616952858158246189528581582462095285815824622952858158246249528581582462795285815824629952858158246319528581582463495285815824636952859158246389528591582464195285915824643942859158246459428591582464894286015824650942860158246529428601582465594286015824657942860158246599428611582466194286115824663942861158246659428611582466794286115824670942862158246729428621582467494286215724676942862157246789428621572468194286315724683942863157246859428631572468894286315724690942863157246929428631572469594286315724698942863157247009428631532470393286315024706932864151247089328641512471194286415124714942864151247169428641522471894286415224720942864152247229428641522472594286415224727942864152247299428651522473294286515224734942865152247369328651522473993286515224741932866152247439228651522474591286515224747912865152247499028651522475190286515224752902865152247539028651522475489286515224756892865151247588728661512475985286615124761822866149247638028661482476480286614724766802866146247687828661462476975286614424770732866144247717228661432477270286714324774692867144247766828671442477768286714324778682867142247806828681412478167286813924782672868139247846728681392478567286813824786672869137247886828691362479068286913524792682869135247946828691352479569286913424796692869134247976928691342479868286913424800682869134248026828701342480367287013324804672870133248056728701332480666287013424808662870134248106528701342481265287113524814652871135248156528721382481665287313824818652873138248196528731392482065287313924822652873139248236528731392482465287313824826652873138248286528741382482965287413824830652875139248326528751392483466287514024836662875140248386628751402484066287614224842662876141248436728761412484467287614224846672876142248476728771432484868287714424850672877144248526628771442485366287714424854662878146248566628781462485867287814724860672878147248626728781482486467287914824867672879149248707928791502487292287915124874922879151248769228791512487892287915124881932879149248849328791492488694287915024888942879151248919428791512489494287915124896952879151248999528791522490295288015224904952880151249079528801512491095288015124913952880151249169428801512491894288015124921942880151249249328801512492693288015124929932880151249329328801512493593288015124938922880151249409228801512494392288015124946922880151249489228801512495192288015124954922880151249579228801512496091287915124962912879151249659128791512496891287915124970912879151249739228781512497693287815124979942877151249829328771512498593287715224988932876152249929328761522499692287615224999922876152250029128761512500591287515025008912874150250129128741502501591287315025018912873150250219128731512502491287315125027912873151250309228731512503392287315125036922873152250389328731522504194287315225044942873152250469528731522504895287315425051952873155250549528741552505694287415625058942875156250619428751562506494287515925066942875159250689328751592507093287515925072932875159250749328751592507593287515825076932875158250789328751582507993287515825080762875158250826028751582508460287515825085602876158250875928761582508959287615725091592877157250935928771572509459287815725096592878158250985928781582509959287815825101602878158251036128791562510461287915425105612879155251066228791532510864287915325110652879153251126628791522511467287915225115682879151251166828791512511668288015125117672880151251186628801512512066288015025121652880150251226428811502512363288115025124632881150251266228811502512761288115025128612882151251286028821512512860288215125128602882151251286028821512512859288315125128592883151251285928841512512860288415125130602885152251336128861522513461288615225135612886152251366128861522513762288615225138612887152251396128871522514061288715225141622888152251426228881522514462288915225146622889152251476228891522514862288915225149622889152251506328891522515163288915225152632889152251536328891522515463288914725156632890146251586328901462515963289014625160632891146251626328911502516464289215425165642892158251666428921582516864289215925169642892158251706428931582517264289315825173652893157251746528931572517565289315725176652894157251786528941562518064289415625181642894156251826328941562518363289515625184622895157251866228951582518862289515825189622895158251906128961582519161289615825192622897158251946228971582519662289815825197632899158251986328981582520063289815825201632898158252026328981582520463289815425207632898154252097928981532521195289815325214932898153252179228981522522092289815225223912898152252269028981522522889289815125231892898151252348928971512523889289715125241902897151252449028971512524791289715125250912896151252549228961512525892289615225261922896152252649228961522526792289615225270922896152252739228961522527692289615225279932896152252829328951522528594289515225288942895152252919428951522529493289515225297932894153253009228941532530492289415325307922894153253109228941532531492289315325317922893153253209228931532532393289315325326932893153253299328921532533293289215325336932892153253389228921532534192289215325344932892153253479328921532535093289215325354932892153253569228921532535992289115325362922891153253659228911542536892289115425372932891154253749428901532537795289015325380942890153253829428901532538593289015325388932890153253919228901542539491289015425397912890154254009228901542540393288915425406942889154254089428891542541194288915425414942889154254169428891542541994288915425422942889154254259328891542542893288915625431942889156254349428891562543794288915625440952889156254429528891562544595288815625448942888156254519328881562545492288815625458912888156254619128871552546491288715525467912887155254709128871552547491288715525477912887155254809228871552548492288715525487922887155254909328871552549393288615525496942886155254999428861552550295288615525505942886155255089428861552551094288615625513942886156255169428861562551895288615625520942886156255239428861562552694288615725528942886157255309428861572553295288615725535952886157255389528861572554095288615725543952886156255469528861562554995288615625552942886156255559328861562555893288615625561932886156255649328861562556693288615625570932886156255739428861562557694288515625578942885156255819328851562558493288515625586932885156255899328851552559293288515525595942885155255989428851552560094288615525602932886155256059328861552560893288615525610932886155256129328861552561393288615525614912886155256169028861572561890288615725619902887157256208028871572562270288715725624682887156256256628871562562666288815525628662888154256306528881522563365288915225634792889152256369328901522563893289015225641932890152256449328901512564694289015125648942890151256519428901512565494289015325656942890153256589428901532566195289015325664952890151256669528901512566894289015125671942890151256739428901512567594289015125676942890150256789428901502567994289015025680942890150256828228901502568471289015025685702890150256867028901502568769289015025688692890149256896828901492569068289114925691682891149256926828921492569368289214925694682892149256956728931492569667289314925698672894149256996628941482570166289414725703662894147257046628941472570666289514625707662895143257086628951432571066289514225711672895141257136828951412571569289513925716692895139257186928951392572069289514025721702895141257227028951412572470289514125726702895142257277028951422572870289613925730702896139257317028961382573270289713725734702897136257357028981362573670289813725737692898137257386928981372573969289813625740692898135257416828981342574268289813425744682899134257456828991342574667290013425748672900134257496729001342575066290113425752662901134257546629021342575566290213425756662902134257586629021332576066290213225761662902132257626629021322576466290213125766662902131257676629021312576865290313125769652903131257706529031312577165290313125773642903131257756429041312577663290413125776632905131257766329051312577763290613125778632907131257786329071312578063290713125781632908131257826329081312578263290913125783632908131257846329081312578663290713125788642907131257906429071312579364290713125795652907131257976629071312580078290713125802902907131258049129071312580791290713125810912907131258129229071312581492290813125815932908130258189329081312582093290813125821942908131258229529091312582495290913125825952909131258269529091342582895290913425830952910134258339429101342583494291013425836942910135258389329101352584093291113525842932911136258459329111362584793291113625849942911136258519429121362585394291213725856942912138258599529121382586194291213825863942913138258669329131392586893291313925870932913140258729329131402587493291414025877932914140258809229141422588292291414225885922914142258889229141422589091291414225892902914143258939029141432589490291414325896902914143258979029141432589990291414225901902914142259038029141422590571291414225908722914142259117429141422591485291414225917962914142259209629141432592296291414525924962914145259279629141462593096291414725932962915150259349629151512593796291515125940952915151259429529151522594494291515525947942915157259509429151572595295291515825954952915158259579529151582596096291515825962962915158259649629151582596795291515825970952916158259729529161582597495291615825976952916158259799529161582598295291615825984952916158259879529161582598995291615825991952916158259939529171582599595291715925997952917159259999529171572600095291715626002952918156260039529181562600495291815626005812919156260066829191562600667292015626007672920153260076729201532600767292015326010672920152260126729211522601367292115226014672921152260166629211522601766292115226018662922152260196629221532602066292315226022662923152260246529241512602565292515126026652925151260286529251512603065292515126031652925151260326429261512603364292615126034642926152260366529271522603865292715226039652928150260406629281502604167292815026042672928149260446829281492604668292814926047692928149260486929281492604970292814926050702928149260527029281462605470292814326055702928142260566929281412605869292813926060682928139260636829281392606669292813826069692928138260728029281382607590292813626078912928136260819129281362608492292813626087932928136260909329281362609294292813726095942928137260989429281392610095292813826103952928138261069529281382610995292813926112962928140261159729281412611896292814126121962928142261249629281422612696292814226128952928142261319529281432613495292814326136942928144261389329281442614093292814426142922929144261459229291442614892292914426150932929144261529329291442615594293014426157952930145261599529301452616195293014526163962930145261649629311462616596293114626166942931146261689229311462617092293114626172922931146261747929311462617667293114326178662932142261816629321412618466293314026186662933140261888129331392619195293313926194952933141261979529331412620095293314126203952933141262069529331422620995293314326212952933144262159529331442621894293314426221932933144262249329331422622793293314226230922933142262329229331422623591293314326238912933143262409229341432624393293414226245932934142262479329341422625093293414226253942934142262569329341422625993293414226262922934142262659229341422626892293414226271932934140262749329341422627694293414226279942934142262829429341422628494293414226287942934142262909429341422629394293414226296942934142262999529341402630295293414026305952934140263089429341422631094293413826314942934137263179429341362632093293513626323932935136263269329361352632893293613426331932936134263349429361342633893293613426343932936133263469329361332634993293613326352932936132263569329361322635993293613226362942935132263659529351322636896293413226371962934132263749729341322637696293413226378962934133263809629351332638196293312026381029331192638102933119263843429341182638668293311726386682932111263870293211126387029321112638802932111263890293211126390029331112639202933111263943629341112639572293411126396732934112263987329351132640073293511426402732936114264047329351142640574293511426408742934114264107429341162641374293411626416742934116264197329341142642272293511526424712935115264277029361152643068293611526432672936115264346629361162643666293611626438662937117264416629371172644466293711726447662937117264498129371172645196293811726454962938118264579729381182646096293811826463962938118264669729381202646897293812026470972938122264729729381222647597293812626478972938126264809729381282648297293812926485962938129264889629381302649096293913026493962939129264969629391292649896293913026500962939130265029629401302650496294013026506952940130265089529401302651195294013026514942940130265169429401302651894294013026521942941130265239429411302652595294213026528942942130265309429421302653293294313026533932943130265348229441302653571294413026536702944130265386929441312654069294413126541692945131265426929461312654369294713126544692948131265456929491312654669295013126546692949131265463429491312654602949127265460294912426546029491242654702949124265480294912326548029491232654802949123265480294912226548029481222655002948122265510294812126551029481202655102948120265510294712026551029471202655302947120265550294712026556342947120265586829461212656068294612126561682946121265626929461212656469294612026566692946120265676929461212656869294612126570692946121265716929471212657269294612126573692946118265746929461182657669294611726577682946117265776829461162657768294611726580592946117265825029461172658450294511726585502945117265864929441172658849294411726590492944118265924929441182659470294411826597912944119265999129441202660191294412026604912944120266079129441202661092294512026612942945122266149529461252661696294512526619972945126266229829451252662498294512526627982945126266309929441262663210029431272663410029431272663710129421262664010229421262664310329411262664610329411262664910329401272665110129401272665399294012826655992940128266579929401282665899294012826660992940129266629929401292666399294012926664992940129266669929411292666883294112926669672942127266706829421272667269294212726674692942127266757029421262667672294312626678742943126266807429431262668275294312626684742943126266877429441262669074294412626694742944126266978329441242670092294412426703922944124267069329431232670993294312326712942943124267169429431242671994294312426722942943124267259529431242672894294312526732942943127267369429431282673994294312826742942943128267459429431282674894294312826752942943128267549429421282675795294212826760952942130267639629421302676696294213126769962941130267729629411302677596294113026778952941130267809529411302678294294013026785932940130267889329391302679193293913126794942939131267969429391312679995293913126802962939131268059529391312680895294013126810952939131268139429391312681494293913126816942939131268189429391312681994293813126820822938131268227129381322682470293813226825702938131268267029381312682770293812926829702938127268316929381262683269293812626833702938124268346929381242683669293812326837692938123268386929391222684068293911826841672940116268426729401162684466294111526846662942115268476629421142684967294211426851672943114268526729431152685468294411526856682944115268576829441152685868294411526860682944115268626829451162686468294511626865682945116268666729461162686867294611626869682947116268706829471162687269294711726874692947117268756929471172687668294711726878672947117268806729471182688167294711826882662947118268846629471192688566294611926886672945119268886729451192688968294411926890682944119268926929431192689470294311926896712943119268988129431192689991294311926902912943120269049129431212690792294312126910932943122269129329431222691593294212226918932942122269219329421222692492294212226926912942123269289129411232693191294112426934912940123269379229401242694092294012426943922939127269469129391312694891293813526950922938139269539429381432695694293714326959942937145269629329361462696493293614526968932936145269719329351452697493293514526977932934147269809429341462698495293414726986952934147269899629341492699296293414926994962934149269979629341472700096293414727002962934147270059729341472700897293414727011972934148270139629341482701596293414927018962935149270209729351492702296293614927025962936150270279629361502702996293615027032962936150270349629371502703696293715027039962937150270429629371512704496293715127046952938151270489529381512705095293815127053952938151270569429381512705994293815227062942938152270649429381522706694293815227069952938152270729529391512707496293915127076952939151270789529391512708095293915127082952940152270849529401522708696294015227088962940152270919629401522709396294015227095972940153270979629401532709995294115327102942941153271049429421532710693294215327109932942153271129329421532711493294215327117922942153271209229421532712292294215327125922942153271289229421532713192294215327133922942153271359329421532713893294215327142932942154271449329421522714794294115227150932941152271529329411522715592294115527158922941157271619229411552716492294115527167912941155271709129411562717291294115627175922941156271789329411562718294294115627185952941156271889629411562719196294115627194972941156271979629411562720096294115627203962941156272069529401562720995294015627212952940156272159529401562721896294015627220962939156272239629391562722695293915627229952939156272329529391562723595293915627238942939156272419429391562724494293915627247952939156272509429391562725394293915627256942939156272599529391552726294293915527265942939155272689529391552727195293915527274952939155272779629391552728095293915627283952939156272869529391562728995293915627292952939156272959429391562729894293915627301952939156273049529391562730796293915627310962939156273129729391562731597293915627318982939156273209729401562732396294015627326952940157273299529401572733295294015827336942940158273389529401582734195294015827344952940157273469529401572734894294015727351942940158273549329401572735793294015727360932940157273639329401572736693294015727369942940157273729429401572737594294015727378952941157273819629411572738496294115727387962941157273909629411572739397294215727396972942157273999729421592740297294215927406962942159274099629421592741296294215927415952942159274189529421592742195294215927424952942159274279529421592743096294216027433962942160274369629421602743896294316027441962943158274449629431582744796294315927450962943159274529629431592745496294315827457962943158274609629431582746296294315827465962943158274689629431592747197294315827474972943158274769729431582747897294315827481962943160274849529431602748694294316027489932943160274929329431602749593294316027498922943160275019229431602750492294316027507922943160275109229421602751393294216027516932942160275189429421602752094294216027523952941160275269529411602752896294116027532952941160275359529411592753894294015927541942940159275449329401592754793294015927550932940160275539329391592755692293915927559922939159275629129391592756491293915927568912938159275719029381592757490293815927577902938159275809029381592758490293715927586902937159275899029371592759291293715927595922937159275989329361592760094293615927603942936159276069529361602760995293616027612952935160276159429351602761894293416027620932934160276239229341602762692293316027628912933160276309129321602763390293216027636912932160276399229311602764292293116027645922931160276489129311602765291293115927655912930159276589129301602766191292916027664912929160276689229291602767194292816027674942928160276779429271602768094292716027684942927160276869429261602768995292616027692952925160276969629251602769896292516027701962924160277049529241592770795292315927710942923159277129429231592771494292215927717942922159277189329211592771992292115827720922921158277229129201582772491292015827727902919158277309029191582773391291915827736912918158277409229181582774293291715827745942917158277489429171582775295291615827754952916158277579529161582776094291615827763932916158277639329151582776393291515827766922914158277689129141582777091291415827773912913159277769129131602778091291316027782932913160277859529131602778895291216027792962912160277959729111602779899291116027802101291116027805102291116027808101291116027810100291115927812992911160278159829111602781896291016027820952910160278239429091602782693290915727828932909156278319429081562783494290815527836942908155278399429081552784295290815527844952907156278479529071572785095290615727853962906157278569629061572785996290515827862952905159278669429041592786994290415927872942904159278749329031602787793290316027878932903159278799429031592788094290315927882942902159278838129021582788469290115827886692901158278876929011572788869290015727889702900156278907028991562789171289915627892702899156278937028981562789470289815627895702898156278967028981562789670289815427898692897154278996928971542790069289715427902702897154279047028971542790571289615427906712896154279077228961532790972289615227911722896152279138528951522791597289515127918972895151279209628951512792495289515127927952894151279309528941532793296289415227934962894152279379628941522793998289415227941992894152279449928941522794699289415127949992894151279529928931512795498289315127957962893151279609628931512796395289315227966952892153279709528921532797494289215327977932892153279809228921532798391289115327986922891153279909328911532799294289115227995962891152279969728901522799799289015327999992889153280011002889153280041002889153280061012888153280089928881512801098288715128014972887151280179628871512802096288615028022962886149280249728851492802699288514928028101288514928030103288414928032107288315028034110288315028036112288215028039114288215028042113288115028044112288115028047104288015028050972880150280539728801512805697287915228058962878152280609628781532806297287715428064982877155280669928761562806999287615528072982875155280749828751552807797287515528080972874159280829628731612808496287316228086972872162280899728721622809297287116228094982870162280989828701622810198286916328104972869163281069728681632810995286816328112942867163281149328671642811793286716428120932866165281229328651662812694286516728129952864168281329528641682813596286316828138962863169281419528631692814494286316928146942863169281489328621692815093286116928153932861169281569428601692815894286016928161942859169281639528591692816596285816928168962858169281709628581692817297285716928175982857170281771002856170281791012856170281811032856170281831052855170281861052855170281891062855170281911052855170281931042855170281941012854170281969828541702819998285317028202972853171282059628531712820896285217128211962852172282149628521712821696285216928219962852169282229528511692822595285116928228952851169282319528511692823494285116928237942851170282409328511702824293285117028245942851170282489428511702825094285017028252942850167282529328501672825293285016628255932850166282589428491662826194284916728264942848167282669428481672826994284816728272942847168282759428471672827894284716728280942847167282829528471672828596284716728288972847167282909828471692829298284716728295982847167282989728461672830195284516728304932844167283089228431672831091284316728313912842167283169128421672831992284116628322922841166283259328411662832894284016628332952840166283359528391662833895283916828341952839172283449628381742834697283817428349972837174283529728371732835498283717328356972836173283599728361732836295283517328364942835173283669428351732836894283417328370952834173283729628331732837495283317328375942833173283769328321732837791283217328380912831173283839028311732838790283117328391902830173283949128301732839693283017228399932830172284029328301722840593283017328408942830173284129428301732841595283017328418942830173284209428291732842394282917328426942829173284289328291732843193282917328434942829173284369428291722843894282917228441952829171284449428291712844794282817128450932828172284529328271722845593282717228458932827172284609428271722846294282717228464952827172284679628271722847096282717228473962826172284769628261722847896282617228481962826172284849628261722848795282617228490952826172284929528261722849495282617128496952826171284999628261712850296282617128504962826171285069628261712850896282617228510962826172285119628261722851296282617228514962826171285169628261712851796282617128518962826170285209628261702852193282617028522902827169285239028271682852490282716828526902827167285279028271672853090282716728532902827167285347328271662853657282716528538572827165285415728271652854375282716528545942827165285479428271652854994282716428550942827164285529428271642855494282716428555942827164285569428271642855894282716428560942827161285619428271612856382282716028565712827160285687128271602857071282716028573702827160285767028271602857871282715728581722828156285848328281532858694282815228588942828154285909428281542859295282915428594962829154285969628291532859996282915328601952829153286039528301532860694283015328608942830153286119428301532861494283015428616942830154286189428301542862193283015428624932830155286269328301552862994283115628632932831156286349328311562863694283115528639952831155286419428321552864394283215528646942832155286499428321552865294283215528654942832155286569428321552865994283215528662932832155286659328321552866893283215528670932832155286729428321552867594283215528678942832155286819428331552868494283315528686942833155286889528331552869196283315628694962833156286979728331562870097283315728703972833156287069628331562870894283315628711942833156287149328331562871793283315628720942833156287239428331562872694283315628729942833157287329428331572873493283315728737932833157287389328331562874093283315628742812833156287436828331562874468283315628746682833156287486828331562874968283315628750682833156287526928341562875468283415628755682834153287576928341522875969283415228760692835151287626928351512876469283514928765702835149287677028351482876970283614828771692836147287736928361462877669283614628778692836145287808328371422878297283714228784972837142287879628371422879096283714228794962837142287969628361422879896283614228800962836142288039628361422880696283614228809962836141288119528361412881395283614128816952836142288189628361422882095283614228822952836142288249528361422882795283614228830942837142288329428371422883493283714228837932837142288399328371422884194283814228843942838142288459428381422884893283814228850932838142288529228381422885492283814228856912838142288579128381422886091283814228862912838142288649128381422886691283814228868922838142288709228381422887292283814228875932838142288789328381422888093283814228882922838142288859228391422888792283914228889922839142288919228391422889392283914228895922840142288979228401422889992284014228901922840142289029128401422890391284114228905912841142289079128411422890879284114228910672841142289126728411422891468284114228915682841143289166828421432891869284214328920692843143289226928421432892569284214228928812842142289319328421422893493284214028936932842140289389228421392894192284213928944922842139289479228421392895092284214028952922842140289549228421402895793284213928960932842141289629328421412896492284214128967922842141289709228421402897292284313928974922843139289759328431392897793284313928979932843140289809328431402898293284314028984812843141289866928441412898869284414128989692845141289906928461422899169284714228993692848142289956928491422899769285114228999692850142290006828491422900168284914229002682848142290046828481422900668284814229007682848142290096828481422901168284814229012682848137290146828481332901568284813329016682848132290186828481302901968284913029020672849130290226628491302902466284913029026662849131290286528491332902964284913729030642849139290326428491392903364284913929034642849140290366428491412903864284914129040652849141290436628491412904680284914229049942849142290519428491422905394284914329056942849143290589428491432906094284914429062942849144290649328491442906793284914629068932850146290709328501462907393285014529076932850145290789328501452908193285114529083932851145290859328511452908793285114529089922851146290919228521482909392285214729094922852146290969228521462909892285214629100932853146291029328531462910493285314629105932854146291069328541462910693285514629107932855147291089328551472910993285514729110932855147291129328551472911392285514729114902855147291157928551472911668285514529116672855145291166628541452911665285414529117652854141291170285414129118028541402911902854140291200285414029122028541392912433285513929125662855139291266628551382912867285513829129672855138291306728551382913267285513829133672855139291346728551392913667285513929138672856139291406728561392914268285613929143692856139291446928561382914669285613829148692855137291496928551372915069285513729152702855137291547128551372915571285513729156712855137291567228551372915872285513629159722855136291607228551362916172285513629162722855136291637228551362916471285513529166712855135291687128551342916970285513429170692855134291726828561332917468285613329175682856133291766828561332917868285613329179692857134291806928571342918269285713429183702857134291837028571342918370285813429185692857135291876828571352918867285713529190672857135291926628571352919366285713529194652857135291966528571352919865285713529200652857135292026428571352920364285713529204642857133292066428571332920864285813229209642858132292106428581322921264285813229214642858132292156428591322921765285913129219652859130292206528591302922266285913029224662860130292256628601302922666286013029228662860130292306628601302923266286113029234662860130292366628601302923866286013029239662860130292406628601302924266286013029244662860131292456628601322924666286013329248662860133292496628601332925067286013329252662860133292546628601332925666286113329257662861133292596528611332926165286113329264792861133292669328621322926993286213229272942862132292749428621322927795286213329280952862134292839528621342928695286213429289962862134292929528621352929495286313629296952863136292979528631362929895286313629300952863137293029528641372930395286413729304782864138293066228641392930862286413929310622864139293126228641392931362286514029314622865139293166328661402931864286714029319652867140293206528671402932265286713929324652867138293256528671382932767286713829329682867138293316828671382933369286713829336692867140293386928671402934082286714029343952867140293469428671412935094286714229352942866142293559428661422935894286614129360942866141293629528661412936596286614129368962866141293719628661412937496286614129377962866141293809528661412938295286614129385952866142293889528661422939095286614229393942866142293969428661422939894286614229400942866144294019428671452940294286714529404942867145294069328671452940791286714529409902867143294119028671432941387286714329415852867142294168328671422941880286814229420802868142294227928681432942480286814329426812868143294288328691442943085286914529432882869145294359028691452943791286914529439912869146294429228691472944493286914729446932869147294489328691472945093287014729453932870147294569328701472945894287014729460942870147294639428711472946694287114729469942871147294729428711472947494287114729477942872147294809428711472948294287114729485942871148294889428711482949194287114829493942871148294959528711482949895287114829500952871148295029528721502950595287215029508952872150295119528721502951494287214829516942872148295199428721492952294287214929525942872149295289428721492953093287214929533932872151295369328721512953993287214929540932872149295429328721492954494287114929546952871149295489528711492955096287115129552952871151295549528711512955695287115129557952871152295599528711522956195287115229563952871152295659528711522956785287115229569752871152295707528711522957175287115129572752871151295747528711512957675287114729577752871147295787528711472958075287114729582742871147295837328711482958473287114829586722871148295877228711462958872287114629588722871146295887228711462958836287114729588028711472959002871146295920287114129594332871137295956628711352959668287113429598702871133296006928711282960167287212829602672872124296046628721222960566287212529606662872125296076628721252960866287212529610662872125296116628721242961366287212429615662872124296166628721242961766287212429618662872124296206628721242962266287312229623662872122296246628721232962666287212329628652872123296296528721232963065287212229632652872122296346528721222963566287212229636662872122296376628721222963866287212229640662872121296426628721212964366287312129645662872121296476628721222965066287212229652662872122296548028721222965794287212229660922872121296629128721212966491287212229667922872121296709228721212967392287212129676932872121296799328721212968294287212229685952872122296889528721222969095287212429692952872125296959628731252969695287312529698942873126297009328741262970193287412629703932875127297059328751282970682287512929708722875129297107228751292971172287613029712712876130297147028761312971670287613029718702876130297207028771302972170287713029722702877130297237028771302972470287713029726702878130297287028781302972970287813029730702878130297317028781302973268287913029734662879130297366528791282973764288012729738642880127297406428811272974263288012729743632880127297446228801272974661288012729747612880127297486128801282975061288012929752612880129297536128801302975461288012929756612880129297576128801292975861288012929760612880129297626128811292976361288112929764612881129297656128811292976661288112929767612882129297686128821292977061288212929771612882129297726128821312977461288213129775612882131297766228821312977764288213129778642882131297806428831312978164288313129782642883131297846328841312978562288413129786612885131297876128851312978860288513129790602885131297925928851312979358288513129794582885131297965728851312979857288513129799572885131298005728861312980257288613129804572886131298055728861312980657288613129808572886131298105728861312981258288613129814582886131298155928861312981660288713129818602887131298206128871322982162288713529822642887135298246528881352982565288713529826662887134298286628871332982966288713329830662887132298326628871322983466288713229835662887131298376628871312983966288713129840662887131298426628871312984468288713129846702887131298487028871312984971288713229850712887131298527128871312985471288713129855712887131298567128861312985771288612929858712886128298607128861282986271288612729864712885126298667228851252986974288412629872842884125298759428841252987794288412529879942884124298819328841252988393288412629885912884126298879028831262988990288312629891902883126298949028831262989691288312629898912882126299009128821262990291288212629904912882126299069128821272990892288112729910932880127299139328801282991695287912829918972879128299209628781292992396287813029926942877130299289328771312993191287713129934892876132299368928761322993888287613329941892876133299449128761342994692287513529949942874135299529528741362995596287313629958962873136299619728721362996497287213629966972872136299689728721372997197287213729973972871137299759628711382997896287113829980962871139299849728711382998797287013829990972870138299939728701382999697287013830000972870138300029728691383000597286913830008972869139300119728691393001497286913930017972868138300209728681383002397286813830026972868138300299728681403003296286714030036962867141300399628671413004296286714130046952867141300499428671403005293286713930055932867139300589328671383006193286813830064922868137300679228681373007093286813630074942868136300769428681363007995286713630082952867136300859528671363008895286713630090962867137300939528671393009694286713930099942867139301029528671393010595286714130108952867141301109528671423011396286714230116962867142301189628671423012096286714230123962867146301269528671463012894286714730131942867147301349428671483013794286714830140942867148301429528671483014595286714930148952867149301519528671493015494286714930156942867149301589428671493016193286714830164932867148301679328671483016993286714930171942867149301739428671493017595286714930176952867149301769528671493017795286714930178952867149301809528671493018195286714930182822867149301846928671493018569286714930186682867146301886728671463018967286714530190662867144301916628671433019266286714230194662867141301956628671413019666286713930198662866138301996628661383020266286613830204662866138302066628661403020967286614030211672866140302136728661393021467286613930215672866139302166728661413021867286614130220672866141302216728661413022266286614130222662866141302236728661413022468286614130225682866140302266828661403022867286614030229672866140302306728661403023266286614030234662866140302366728661403023866286614130241662867141302446628671413024666286814130248652868141302516528681403025465286814030256652868140302586428681403026164286814030264792868139302669428681393027094286813930273952868141302769528681403027996286814430282962868144302859628681443028896286814430292962867144302959628671443029896286714430302952867145303059528671473030895286714730312962867149303149628671493031796286714930320962867149303249628661483032795286614830330952866148303329528661483033596286614830338962866148303419628661483034496286714830346962867148303499528681483035295286814830354952868148303579428681483035994286814830361932868148303639228681483036591286814830368902868148303709028681483037390286914830376902869148303799128691483038293286914730385942869148303889528691483039195286814830394952868148303989528681483040194286814830404942868148304089428681483041194286814830414942868148304169428681483041995286914830422952869148304259528691483042895286914930431952869150304349528691503043695286915130439952869151304429528691513044495286915130447952869151304509528691513045295286915130454952869151304579528691513046095286915130463952868152304669528681553046995286815530472952868155304749528681553047694286815530479942868155304829328691543048493286915430487932870154304909428691553049394286915530496942869155304999528691553050296286915530504952869155305079528691543051095286915430513962869154305169528691543051995286915430522942869154305259428691543052794286915430529942869154305309428691543053294286915430534942869154305359428691543053694287015430537942870154305389428701543054094287015430542772870154305436028701533054460287015330546602870153305486028701523054960287015130550602871151305516028711513055260287215030552602873149305536128741483055461287514830556612875146305576128751453055861287514630559612875145305606128761443056261287614430563612876143305646128761433056561287614430566612877144305676028771443056860287714430570602878144305716028781443057261287914430573632879143305747428791433057586287914330576862879143305778628801433057886288014330580862880143305828628801413058386288014130584862880142305848628801423058576288014230586662880142305876528801423058865288114230589642881142305906428811423059164288214230592642882140305946428831393059564288313930596632884139305976228841393059862288513930599622886139306006128861393060161288713930602612887139306036128881373060461288913630604612888136306046028871363060560288613530606602885134306076028851343060760288513430607602885134306086028861343060960288613430610602887134306116028871343061260288713430612602887134306146028871343061560288813430616602888130306186128881273061961288812530620612888124306216128891243062261288912330622612889122306226128901213062261289012130622612891120306246128911203062561289112030626622891120306276228911203062862289212030628632892120306296328921203063064289212030631642892120306326428931213063364289312130634652893121306356528931213063665289312130638642894121306406428941213064163289412130642632894121306446328941213064563289512130646632895121306476328951213064863289512130649632895121306506228961193065162289611930652622896119306546128961183065661289611830658612897118306606128971183066161289711830662612897118306636128971173066461289711730666612897117306676128971173066861289711730670612897116306716228981163067262289811630674632898116306756428981163067666289811630677662899115306786728991153068066289911530681662899115306826628991153068366290011630684662900116306856629001163068665290011630687642900116306886429011163069064290011630692642900116306936429001163069464290011630696642900117306986429001173069964290011730700652900117307016529001173070266290111730704662900117307066629001173070766290011730709662900117307116729001173071267290011730714672900117307166629001173071766290011730718662901117307206629011173072266290111730723662901117307246629011163072667290211630728672902117307296729021173073167290211730733682902117307346829031173073568290311730736682903117307386829031173074067290311530741672904114307426729041143074467290511330744672905113307456629061133074565290711230745652907112307476429071123074964290711230750632907112307526329081123075462290811330755612908112307566129081113075860290811130760602908110307616029081103076260290811030763602908109307646029081093076560290910930766602909109307675929091093076859290910930769602909109307706129091093077162290910930772622909109307746229091093077561290910930776612910109307776029101093077860291010930779602911109307806029111083078260291210630783602912106307846029121053078660291210530788602912105307896129121053079061291210530792612912105307936229121053079464291210530794652913105307956629131053079666291310630798672913105307986629131063079965291310630800642913106308006429131053080063291310430800622913104308016229141043080261291410330803612914103308046129151033080561291510330806612916103308086129161033080961291610330810612916103308126129161033081261291710230813612917102308146129171013081561291710130816612917101308186129181013081962291897308206329189830822632918983082364291898308246429189730826652918973082865291897308296529189830831652918973083366291997308346629199730835662919973083667291997308386729199730839672919973084067291997308416629199730842662919973084466291997308456629209730846652920973084765292097308486429209730850642920973085164292199308526429219830853632921983085463292198308546229219930854622922993085461292210030854612922100308546129221013085461292210130856612923100308586129231003086061292310030862612923100308636129231003086462292410030866632924100308676329241003086864292410030869652924100308706529251003087266292510030874672925100308766729251003087867292510130879682926101308806829261013088268292610130883682926101308846829261013088468292710130885682927101308866729271013088766292710130888652927101308896529271013089064292710130892642927100308926429271003089364292710030894632928100308956329281003089663292810230896632929102308976329291023089863293010130899622930101309006229309930901622930993090261293099309046129319830905612931983090661293198309076129319830908612931973091061293297309126229329730913622932973091463293297309166529329730918652932983092066293298309216629329830922672932973092467293297309256729339630926672933963092867293396309306729339530931682933963093268293495309336829349530934692934963093569293596309366929359630938702936963094070293696309417029369630942702936943094370293694309446929379430946692937943094768293794309486729379430950672937933095166293893309526629389330954662938933095666293892309576529389230958652939923095864293992309606429399230961652939933096265293993309646529409230966642940923096764294092309686429419230969642941903097164294290309736529429030974652942903097466294290309766629429030977672943903097867294390309806729439030981672943903098267294390309836629449030984662944903098566294489309866629448930987662944893098866294489309906529448930991642944893099263294489309946329448930996622944893099761294489309996129448731001602944873100260294486310046029458631006612945863100761294586310086229458531010632945853101263294685310156429468531017772946853101990294685310229029468431024912946843102692294684310289229468431030922946843103193294684310329329468431034932946853103691294686310379029468631039782946873104166294788310426529478931044652947893104665294789310476529478931048652948893105066294889310526629489031053672948893105467294889310566829498931058692949893105970294989310607029498931061702949893106271294989310647229498931066722949893106772294989310687229498931070722949893107071294989310707129498931070712949893107071294988310707129508831070712950883107271295088310747129508831076712950883107771295188310787029518831079702951873108069295187310816929518731082682952863108367295286310846629528531085662952853108666295285310876629538531088672953853108968295385310906829538531092682953853109469295485310956929548531096692954863109669295486310986929548631099692955863110068295586311016829558731102662955873110465295587311056529558831106642955883110864295589311096529569031110652956903111265295790311136529579031114652957903111565295790311166529579131118652957923111965295793311206529579431122652957943112464295794311256429589431126642958953112763295895311296329599531131632959953113262296095311346229609531136622960953113862296095311406229609631142622960963114462296095311466229609631148622960953114961296095311506129619531152612961953115462296195311556229619631157632961963115963296196311626329619631164632961963116677296196311699129619531171912961943117391296194311769129619431178912961943118091296194311829129629631184912962983118691296299311879129629931188912962101311899129621013119091296210331190912962103311919129621033119191296210331191912963101311948029631013119870296310131199702963101312007029631013120269296310131204692963101312066929631013120969296310131212702963101312157129641023121883296410231220962964102312229529641023122595296410231226942964102312289429641023123094296410231232942965101312349429659931235942966993123677296699312376029669931238602966993124060296698312426129679831243612967993124561296799312476129679931250622967993125263296797312547529679731256882967953125889296794312609129679431262912968943126591296894312679229689631269922968973127192296897312739229689731275922968983127792296899312809129681003128291296810131284922969101312879329691013129093296910231293932969103312969229691053129992296910531302922969105313049229691063130791296910731310912969108313129129691083131592296910831317922969108313199229691093132092296910931322922969109313249229691113132792296911231330922969112313329129691123133591297011231338912970112313409129701143134391297011431346912970114313499229701143135292297011531354932970117313579329701173136094297011931363942970119313669429701203136894297012131371942970121313739429701233137594297012331376942970123313789429701233138094297012331381942970123313827929701233138464297012331385652970123313866629701233138866297012331389662971123313906629711233139167297112331392672971124313946729711243139667297211931397682972118313986829721173140068297211731402682972117314036829721173140468297211831406682972118314076829721183140869297211831410692973119314117029721193141370297211931415702972118314166929721183141869297211831420692972118314226829721183142468297211931425672972119314266729721183142867297211831430662972119314336629721193143466297211931435662973119314366629731193143867297311831440672973117314416729731173144468297311731446692973117314467029731173144772297311731448722973116314507229731163145272297311631454722973116314567429731163145976297311631462782974116314648129741163146685297411531468902974115314709129741153147192297411631473922974117314759229741183147791297411831479902974118314808029741183148270297411831484702974120314867029741193148769297411931488692975119314906929741193149269297411931494682974119314976829741193150079297411931503902974119315069129741193150892297411931511922974121315149229741213151792297412031520922974120315239229741193152692297411931528912974119315319029731193153490297312131537902973121315409029731213154390297312131546912972122315489129721223155192297212231554922972122315569329721243155995297112431562952971126315649529701263156795297012731570942970127315749429701283157794297012731580922970127315829129701273158692297012731589922969127315929229691273159493296812731597922968127316009229681273160291296712731605912967127316089029671263161089296712831610892967130316118929661303161489296613031618902966131316229029661313162590296613031628912965130316319229641303163491296313031638912962131316419129621313164491296113131648922961131316519429601323165494296013231657942960132316619529591323166597295913231668972958132316709729581333167496295813331678962957133316819629571323168496295713331688952957133316919529571343169494295613431698932956134317009329551343170393295513631706932955136317099429541363171293295413631716932953136317199329531363172293295313631725932952136317289329521363173193295213631734942952136317379329521363174093295113831744932951137317479229501373175091295013731753902950137317569029491373175989294913731762892949138317659029491383176890294913931772912948139317759229481393177893294714031781932947140317849429471403178794294613931790942946140317929429461403179595294614031798952946141318029629451413180596294514131808972944141318119629441413181496294414131817952943141318209429431413182494294314131827952943143318309429431433183394294214231836942942142318399429421423184293294214231845922942142318489229411413185193294114131854932940141318579429401413186095294014231863962939142318669729391413186898293814131870972938141318739629381413187594293714131877932937141318809229371413188392293714131886922937141318909229361423189210229361423189511329361423189810829361423190110429361423190410229351423190610029351423190898293414231911962934142319139529341423191595293314231918972933142319209829321423192299293214231924100293214231926992931142319299929311423193199293013831933100293013831936100293013831938100292913831940992929139319439829291393194697292913931949962929139319519529281393195394292813931956932928139319589329281393196293292813931965932927139319689329271393197093292613931972932926139319759229261393197892292513931980932925139319829329241393198493292413931986932924139319889329231393199193292313931994932923139319969429231353199994292313232002942922131320059429211313200894292113032011942920129320149429201283201694291912832019942919127320229429181263202693291812632029932918125320329329171253203692291712532039922917125320429129171253204591291712432048912917124320519129171243205491291712432058912917124320619129171243206492291612332067922916123320709229161233207393291612332076932916123320789329151233208093291512432083932915124320869329151243208893291512432090932914124320929329141243209492291412432096922914125320989129141253210090291312532101882913125321028729131253210477291312532105682913125321066829131253210769291312532108692913125321106929131253211168291312432112682913124321146829131243211568291312432116682913122321176729141213211867291312032119672913121321206729131213212267291312132123662913120321246629131203212566291311932126652913120321263229131203212602914120321260291411932126029141193212832291411932131652914119321326629141193213368291411932134692914119321367029141193213869291411932140682914119321426829141183214368291411832145692914118321476929141183214869291411732149702914116321517029141163215370291411632154712914117321557129151173215671291512032158712915120321597029151203216070291512032162692915120321636929151203216468291512032166672915119321686729151193216966291511932171662915119321736529151193217466291511932176662915119321786729151193217967291511932180682915119321827029151193218470291511932186712915119321877129151193218872291511932190722915121321917229151213219372291512032195722915121321967229151213219772291512132198722915121322007229151213220272291512032204722915120322067129161203220871291612032209702917120322107029171203221169291712132212682917121322146729171213221567291812132216662918121322186629181223221966291812132220662918121322216529191203222265291912032223642919120322246329191193222663291911832227622920118322286229201183223063292011832231622920118322326229201183223262292011832233622920118322346229201183223562292011832236622920118322386229211193224062292111932241632921119322436329211193224564292111832246652922118322476529221183224966292211832251672922118322536829221223225569292212432256692922126322586929221263226069292212632261692922125322626929221253226469292212532266682922125322686829221253227068292212532271682923125322726729231253227467292312432276672923124322786729231243228067292412432282682924124322836829241243228468292412432286682924124322886829241263228968292412632290682924126322926829241263229368292412632294682925126322956829251263229668292512632298682925125322996829251253230068292612532301682926125323026829261253230268292612532303682926126323046829271263230668292712632307682927126323086929271263231069292712632311692927126323126929271263231469292712632316692927126323176929271263231868292812632320682928124323226729281243232367292812332324662928123323256629281233232666292812332328652928123323306529281223233165292812232332652929122323336629291223233566292912232337662929122323406729291223234267293012232344672930122323476829301223235068293012232352682930122323556829301213235868293012132360782930121323628829301213236589293012132368902931121323709029311213237290293112232375912931122323789229311223238092293112132382932931121323849329311223238793293112232390932931122323939329311223239693293112532398932931125324019129311253240490293112432406892931124324088829311243241188293112532414882931125324168829311253241789293112432418892931124324208929311243242289293112632423892931126324268929311263242889293112732430892931127324329029311273243491293112832437932932128324399329321293244194293212832443942932128324459429321293244694293313032448942933130324509229331313245190293313132452792933132324546829331333245668293313232458682933133324596829331333246069293313332462692934133324636929341333246468293413332466682935133324686829351353246968293613532470682936134324726829361353247468293613532475682936135324766829361353247868293613532480682936135324816929361353248269293613532483692937135324846929371353248669293713532488692937136324896929371363249067293713632491652937136324936429371363249564293713632496622937135324986029381343250059293813432501572938133325025629381333250456293813332506552938133325075429381333250854293813232510542938132325125429381323251354293913132514552939131325165629391333251856293913332519572939133325205829401333252259294013332523602940133325246129401333252664294013332528672940133325296629401333253066294013332532662940133325346629401333253566294013332536662940133325386629401333253966294013432540652940135325426529411353254365294113532544652941135325466529411353254765294113532548652942135325506529421343255265294213432553652942134325546529421323255565294313132556652943131325586529431323256065294313132562652943131325646529431333256565294313332566652943133325686529441343257065294413432571652945134325726529451343257365294513432574652946135325756529461363257665294713632578652947136325796429471363258064294713832581642947142325826429471423258364294714232584632947142325866329471423258862294714232589622948142325906329481433259263294814332593632948144325946329481453259664294914632598652949146325996529491453260065294914532601652949145326026529501453260466295014532605652950146326066529501463260664295014632607642951146326086429511453260964295114532610632951145326116329511453261262295214532614622952141326166229521383261763295213732618632952136326206429521363262166295213632622682952135326246829531353262669295313532628692954135326297029541353263069295413632631692955135326336929551343263569295613132636692955131326386829551313264068295512932642682955129326446829551293264569295512832646692955128326476929551283264869295512832650692956129326526929561303265369295613032654682956131326556829561313265668295613132658682956131326606829561313266168295613132662682956131326636829571323266467295713232665672957132326676729581323266967295813232670672959132326726729591343267367295913632674662959137326756529591403267664296014232677642960142326786329601423268063296014332681622960145326826229611463268361296114732684612961147326856129611473268661296114732687612962146326886129621463269062296214532692622962145326936229621453269462296214532696632962145326986229621463269962296214632700612962146327026129631463270361296314632704612963148327066129631483270862296314832710622964148327116329641483271263296414832714642964148327156429641483271665296414832717652964145327186629641453272066296514432721662965144327236629661443272566296614432726662966144327276529661453272865296614532730652967145327316529671433273265296714332734652967143327366629671423273766296814232738662968142327406629681423274167296814232742672968142327446829691413274669296914132747692969140327496929691403275170296914032753702969140327557029691403275670296914032758702969140327596929691403276069297014032762692970140327646929701403276669297014032767692970140327686929711403277069297114032772692971140327736929711403277469297114032776702971140327787029711403278070297114032782702971139327837029711393278470297213932786712972139327887129721393278971297213932791702972139327937029721393279470297213932795692972140327966929721403279869297214032800682973139328016729731383280367297313632805672973136328066729731353280767297413632808662974135328106629741353281166297413332812672974133328146729751333281568297513332816682975133328186829751313282068297513132821682976131328226829761303282468297612932825672976129328266729761283282766297712832828652977128328306529771283283165297712832832642977127328336429781273283464297812732836642978127328376429781273283864297812732840642978126328426429781263284464297812532845642978125328466429781253284764297912532848642979125328506429791263285164298012632852642980126328536429811263285465298112632856652981126328586529811253286065298112532861652981125328626529811233286465298112332866652981123328676529811233286865298212332870652982124328726529821253287365298212532874652982125328766629831253287866298312532879662983126328806629831263288266298312632883662983126328846729831263288567298312632886682983126328886829831263288968298312632890682983126328926829831263289367298312632894662983126328966629841263289766298412632898662984126328996529841263290165298412632903652984124329046529841243290665298412332908652984123329096529841233291065298512332912652985125329146429851263291564298512632916642985126329176429851263291864298512632919642985127329206429851273292164298512732922642986127329246429861273292664298613032927642986134329286429861343293064298613332931642986132329326529861323293464298613232935642986132329366429871303293764298713032938642987129329396429871293294064298712932942642988129329446429881293294564298812932946642988129329486529881293295065298912932951662989129329526629891293295466298912932956662989129329576729891293295866298912932960662989129329626629901293296366299012932964652991129329666529911293296865299112932969652991129329706529911273297165299212632972652992126329746529921243297665299212332978652992123329806529931223298165299312232982652993122329836529931223298565299312232987652993122329886529931223298965299312332990652993123329916529931243299265299412432993652994124329946529941243299665299412432998652994124329996529951243300065299512433002662996123330046629961233300567299712333006682998123330076929971243300869299712433010692997124330126929971243301469299712433015692997124330166929971243301868299712433019672997124330206629981243302166299812433023662998124330256629981233302666299812133028662999121330306629991213303266299912133034662999121330356629991223303766300012233039663000123330406630001233304267300012433044673000125330456730011253304666300112533048663001125330496630021253305065300212433051653003124330526530031243305465300312633055653003126330566530031263305765300312433059653003124330616630031243306266300312633063663003127330646630041273306666300412733068663004127330696630041273307066300412733072663005127330736730051273307467300512733076673005127330776830051273307868300612733079683006127330816830061273308368300612733084683006127330866830061273308868300612733090683006127330926830061273309369300612733094693007127330956930071273309669300712733098693007127330996930071273310069300812733102683008127331036730081273310567300812733107673008127331086730091273310967300912733111673010127331136730101283311466301112833115663012128331166730121293311867301212933120673012129331216730121293312267301212933124673012129331266730121293312767301212933128663012129331306630121293313165301213133132653012131331346430121303313664301213033137653013131331386530131303314065301313033141663013132331426630131323314367301413333144673014133331466730141333314767301413333148683014133331506730151333315166301513333152653015133331546530161323315664301613233157643017131331586430171323316064301713233161633017132331626330171313316463301713133165633017131331666330171313316764301713133168643017131331706430171333317264301713333173643017134331746330181353317563301813633176623019135331776130191353317861301913533180613019135331826130191353318361301913333184613019133331866230191323318862302013133189633020130331906430211303319165302113033192653021130331946530211303319665302113133197653022132331996530221323320165302213233202653022133332046530221333320666302313333207663023134332086630231343320967302313433210673023134332126830231343321368302313433214683023134332166730231333321867302313233220673024131332216630241313322266302413033223653024130332246530241303322565302413033226653024130332276530241303322966302413133231673024131332336730251343323567302513533236683025134332376830261333323868302613333240683027133332426830271333324368302713333244683027133332466830271353324867302813833249673028140332506730281403325267302814033254673028140332556730291383325767302913733259673029137332606630291363326266302913633264663030136332656730301353326667303013433268673030134332706630301333327166303013333272663030133332746730301333327667303013233278673030132332796730311323328067303113233282673031132332836830311323328468303113433285683032134332866830321343328768303313433288673033133332896730341333329067303513333291673035133332926630351333329466303513333296663035133332976530361333329965303613333301653036132333026530361323330466303613233306653037132333076530371323330865303713133309653037129333106530371293331265303812933314653038129333156530381283331765303912833319663039128333206630401293332266304012933323663040129333246730401293332667304013033327673040130333286630401303333066304013033332663040131333336630401313333466304113133336663041131333376630411323333866304113233340663041133333416630421343334266304213433344673043134333466730431343334767304413333348663045133333506630451333335267304513133353673045131333556730451313335768304513133359683045131333616930451303336269304513033364693045130333666930461303336769304513033368693045131333706930451313337169304513133372693045131333736830451313337468304513133376683045132333776730451323337867304613533380673046137333816730461373338268304613733384673046139333856730471393338667304714133387673047140333886730471403339067304714033391663048138333926630481383339365304813833394653048138333966530481373339864304913733400643048137334016530481383340265304813933404663048139334066630481393340767304813933408663048137334086630481373341066304813733411663049137334126630491383341466304913933416663050139334176630501393341866305113833419663051138334206730511373342267305113633424673051137334266830511353342867305113533430673051135334306630511363343166305113733432653052137334326530521373343264305213633432643052136334356330521363343862305313733440623053139334426230531393344363305413933444633054138334466430551383344864305513633450643056135334516530561343345265305713433454663058133334566630581323345766305813233458663058132334586630581343345866305813433459673058133334606630581333346266305813433464663058134334656730581343346667305813433468683058134334706830581343347168305813433472683059134334736830591343347468305913433476683060134334786830601333347968306113233480683061132334816830611323348268306213233482683062131334836830631313348468306213133484673062131334856530621313348665306213133487653062131334885730621313349049306313333492503063133334935130641333349451306513333496523065133334985230651343349952306513433500523065134335015230651343350152306413433501523064134335035230641343350552306413433506533064134335085430641343351057306413433511603065136335126130651353351463306613533516643066136335176530661363351866306613633519673066138335206730671373352167306713633522673068136335236730681363352466306913433525653070134335266530701343352764307013433528633070135335296330701353353063307113633532633071137335346330711373353663307113833538643071138335406630721393354266307213933543673072139335446730731393354667307313933548673074139335506830741413355168307414233552683075142335526730751413355367307614133554673075141335556630751413355666307514133558653075141335606530751413356264307413733564643074137335666430741353356864307413433569653074133335706530741313357265307413133574653074131335756530741313357665307513133578653075130335806530751283358266307512833584663075128335856630751283358666307512933587663075129335886630751293359066307512733592663076127335936730761263359467307612733595673077128335966730771273359767307812733598673078127335996730781283360066307912733602663079127336036630801253360466307912533606663079124336086630791203360966307912033610663079120336126630791223361366307912233614653079122336166530791223361865308012233620653080123336226530801233362365308112333624653081122336256530821243362665308212433626663083123336266630831233362767308412333628673085123336306830841233363268308412333633683084123336346830841233363668308412333638683084122336396830841223364068308412233642683084123336446730851233364567308612433647673087125336496730881273365066308912833652663091130336546630901303365566309013033656663090130336586630901313366066309013033662673090131336646730901313366568309013433666683090137336686830911373367068309113633671693091136336726830911363367468309113633676683092137336776930921373367869309213833680693092138336816930921383368269309213833683683092138336846830921393368668309213933688683092139336906830931393369168309313933692683093139336946930931393369669309313933697693094139336986930941393370069309413933701683094138337026830941333370467309512933706673095129337076630951293370866309612633710653096126337116430971263371264309712633714643097126337166430971273371764309713033718643097133337196430971343372064309713533722643097135337236430971353372464309813633726643098136337276530981363372865309913633730653099136337326531001363373366310013633734663100136337366631001363373766310013433738663101134337396531011333374065310113333740653101133337416531011333374265310213233743653102132337446531021313374565310313033746653103131337476531041313374865310413233749653104132337506431041323375164310413233752643104133337546431041333375463310413333755623104133337566131041333375760310513333758603105133337596031051333376059310513333760593105133337615931061333376259310613333763593106133337646031071333376560310713333766603108129337666131081293376761310812733768613108126337706131081263377161310912633772613109126337736031091253377460311012633775603110126337765931111273377859311112733779593111127337805831111273378158311112733782583111126337835831111263378458311112633785583111127337865831111273378858311212733788583112126337895831121263379058311212633791573112126337925731131253379357311312533794573113125337955731131253379656311312533797563114125337985631141253379956311412433800573114123338025731141233380358311512233804583115122338055831161223380658311612233807583117122338085831181223381059311812233811603118122338126031181213381460311812033816603118120338176031181203381859311811933820593118118338215931181203382259311912033824593119120338256031191203382660312012033828603120120338296031211203383061312112033831603121120338326031211203383260312112233833603121121338346031211223383661312112233837603121122338386031211213383960312212033840603122120338416131221203384261312212033843613122120338446231231203384562312312133846623123121338476231231213384862312312033849613124120338506031241213385160312412133852593125121338535931251213385459312612233855583126122338565831261223385858312612233859583126122338605931271223386260312712333864613127123338656231271233386662312712433866623127125338686331271253386964312712633870643127126338716531271253387365312812533875663128125338766531281253387765312812533878653128125338806531281253388165312812533882653128125338836531291253388465312912533886653130125338876531301253388865313012533889653131125338906431311263389264313212633893643132126338946431321253389664313212533897643132125338986431331253390064313312533902633133123339046331331233390663313312333907643133123339086431331233390964313312333910643134123339126431341233391465313512333916653135123339186631351233391966313512333920663135123339226731351233392467313512333926673135123339286731351233392967313512333930673136123339326731361233393366313612333934663136123339356731361233393667313712433937673137124339386731371243394066313812433941663138124339426531391243394465313912433946643139124339476431391243394863313912433950633139124339526231391243395362313912433954623139124339566231391243395862314012433959623140124339606231401243396163314112433962633141124339636431421243396564314212433967653142124339696731421243397168314212433972693143124339747031431243397670314312433977703143124339787031431243397971314312533980713143125339827131431253398470314312433985703143124339877031441243398969314412433991693144124339936931451243399469314512433995693146124339966831461253399868314612734000673147127340016731471273400367314812634005683148126340066731481263400867314812634010673148126340116631491263401266314912634013663149126340146631491263401666314912534018663149125340196631491253402166314912534023663150125340246731501253402567315112534026673151125340286831511253403067315112534032673151125340336731521253403467315212534035673152125340366731521253403866315212534039663153125340406631531253404166315312434043663153124340456631531243404665315312434048653153124340506531531243405165315312434052653153124340546631531243405666315312434057663153124340586631531243406066315312434062663154124340636731541243406467315412434065673154124340676731541243406967315512434071673155124340736731561283407467315612834076683157129340786831581283407968315712834081683157128340836931571283408469315712834085693157128340876931571293408970315713234091703157134340937031571353409470315713534096703157138340987031571383409970315713834101703157138341037131581373410470315813734106703158137341087031581373410970315813634110693159136341126931591363411468315913634116683159136341186831591363411968316013634120673160137341226731601373412467316013634125683160136341276831611353412968316113434131683161134341336831611343413468316113434135683161134341366831611333413868316113234140683161132341416831611323414269316113134144693161130341466931611303414769316113034148693161130341506831621303415268316213034153683162130341546831621313415568316213134157683163131341596831631313416067316313134162673164131341646731641313416567316513134166673165134341686731651343417067316513834172673165140341746731651403417567316513934177683165139341797031651393418070316513934182703166139341847031661403418571316614034187713166140341897131661403419071316714034192713167141341947131671413419671316714134198713167141341997131681403420071316713934202713167139342047031671393420670316713934208703167139342097031671393421170316713934213703167139342146931671393421669316813934217693168139342186931691393422069316913934221693170139342226931711393422369317113834224693171138342266931711383422769317113834228693171138342296931711383423069317113934232693171139342336831711393423567317213934237663172139342386631721403424066317214034241653172140342426531721403424465317213934246653172141342486531721403425165317214034253793173139342559231731393425892317314034260933173140342629331731423426493317314234266933173143342699331731443427193317414334273933174143342759331751433427794317514334280943175143342829431751433428494317514334286943175143342889431751433429094317514334292943175143342949531751433429695317614334299953176143343019531761433430395317614334306943176143343089431771433431094317714334312943177143343149331781433431693317814334318933179143343199331791423432093317914234322933179142343248131791423432669318014134328693180140343296931801393433168318014134333683180138343346831811383433669318113834338693181135343396931811353434069318113534342693182135343446831821353434568318213534346683182133343486831821323435068318213034351683182129343526831821293435468318212834356683182128343586931831283436070318312734362703184128343647031841283436671318512734368713186128343707231861273437172318612834372723186128343747231861283437572318612834376723186128343787231861273438071318612734382703186127343846931871273438569318712634386693187126343886931881263439068318812634392683189126343946831891253439568318912534396683189125343986831891253440068318912534401683189125344026831891253440469318912534406693189125344086931901253441069319012534412693190125344146931901273441669319012734418813191127344219431911273442494319112834426943191128344289431911283443194319112834434943191128344369431911283443894319112834441943191128344449431911283444695319112834448943191128344519431911283445494319112934456943192129344589431921303446094319213034462943192130344659431921313446894319313134470943193131344729431931323447494319313334477933193133344809331941333448293319413334484933194134344869331941343448993319413434492933195135344949331951353449693319513534499933195136345019331951373450393319513734505933195136345079331951383450891319513834509893195138345107931961383451069319613834510693196137345116931971373451103197137345130319713734515031971373451635319713734518713198137345207031981373452369319913734526733198137345287631981363453178319813634534813198136345378331981363454085319713634544873197136345479031961363455090319613734553913196137345569131951373456092319513734562923195137345659231951373456892319513734571923194136345749131941363457891319413634581913194136345849131941373458891319313734591913193138345949231921393459793319213934600933192140346029431911403460493319114034607933190141346109331901413461293319014134615933189141346189331891403462193318814034624933188141346269231881433462892318814334630913188143346319131881423463291318814234634913188142346359131871423463691318714234637893186142346388731861423464075318614234643633185140346466231851403464962318414034652613184139346546131841393465780318413934660983184139346639831841393466698318413934669963184139346729531831393467495318314134677963183141346809431831413468292318313934684923182139346879231821393469092318213934693933182139346969531821393469997318113934702983181139347051003181139347081003181139347121003181139347159931801393471899318013934721983179139347249731791393472896317913934731953178139347349431781393473794317713934740933177139347439231771393474692317613934749923176139347529231761393475592317613934758923176139347619231751383476492317513834767923175138347709331751383477493317513834778933174138347819431741383478494317413834787943174138347909431741383479394317313834796933173139347999331721403480293317214134805943172141348089331711423481193317114334814933171143348169331711443482093317114534823933171145348269331711463482993317114634832923171146348349231721463483793317114634840933170146348439431701463484696316914634849963169146348529631681463485697316814634859983168146348629831681463486498316814634866983167146348699931671463487299316714634875100316714634878983167146348819731671413488497316714034887983168140348909631681403489394316914134896943169142348989431691423490093317014234903923170141349059231711413490792317014134908923169141349109231691393491293316813734913943168135349159531671353491796316713334920963166131349229631661303492496316612934926963165129349289731651293493198316512934933983165130349359831651303493898316413034940993164130349429831631303494597316313034948973163130349519731621303495396316113034955963161130349569531601303495795316013034958953159130349599631591303496196315813034963963158129349669431581293496893315712934971933157129349749331561293497692315612634978923156126349809131551263498290315512634984903155125349879031551233499090315512334992903155123349959031561223499890315712235000903158122350029131591223500491315812235007913157122350099131561223501192315512235014923155122350169131541213501891315312135020903152121350228931511213502489315012135026893149121350288931481213503089314712135032893146121350348931451213503789314412135040893143121350439031421203504690314111835048903141118350509131411173505391314111635056913141116350599231411153506292314211535065923141115350689231401143507192314011435074913139114350779131391143508090313811435082903137116350848931371153508789313611535088893136115350908931351153509289313511535094893134115350968831341163509787313411635098873134116350998731321173509903131117350990313111735102031311173510403131117351060313111735109031301173511242313011735115843130116351188331301153512183313011535124823129115351278231291153513081312911535134803129115351378031291153514081312811535142823128115351458331281153514884312811535151863128115351548831271153515791312711535160913126114351639231261143516691312611535168903125115351718931251183517489312511835177893125118351808931251183518390312412035186913124118351889131241183519192312411835194923124118351979231231173520092312311735203933122118352069531221183520897312211835210983121119352131003121119352169931211193521898312111935221973121119352249631201193522896312011935231963119119352349631191183523796311911835240963118118352429631171183524296311711835243963116118352449531161183524694311611835248933116118352519331161183525492311611835258923116118352619231151193526491311411935266913113119352699231121193527292311111935276933110119352799331091193528294310911935284943108119352879431081193529094310711935292943107119352929431061203529294310612035295943106120352989331051203530093310512035303943105120353069431051203531094310512035312943104120353149431041203531793310312035320933103120353229331031213532593310212135328933102121353309331021213533393310212135336933102122353389331011223534093310112335342933101123353459231011263534892310112735351913100127353529131001273535291310012735356913100127353609231001273536393309912635366933098127353709430981273537395309712735376953097126353789530961283538095309612835383943095128353869430951283538994309512835391953094128353939630941283539696309412835398963094128354019730941283540497309312835406973093128354099830921293541297309212935415973092129354189630911283542195309112835424953090130354269530901313542894309013135431933089132354349230881333543792308713335440923086134354429230861353544491308513635447913085135354509130841353545291308413535455913084135354589130831353546092308313535463933082135354669330821353546993308213535471933081136354739430811363547694308113935479943081140354819330811403548392308114035484923081140354849230811403548692308114035489923081140354929230801403549592308014035498933080141355019530801413550496308014135506983079141355089830781413551199307814235514983077142355179830771423552097307614235524963075143355279530751433553094307414335533933074143355369330731433554093307314335543933073143355469330731433555093307314335552933072143355539430711433555893307014335562933069144355659330691443556893306814435571923067144355749230661453557892306514535581923065145355849230641453558892306314535591923063145355949330621453559693306214535599943061145356029430601453560495306014635607963059146356109730591463561398305814635616993058146356189930581463562199305814635624101305814635628102305714635630102305614635633102305614635636100305514635640993055146356429830551423564597305514135648953055140356519330551403565492305514035657913054139356609130541383566392305413835666923054137356699330541373567293305313735675933053137356789330521363568194305213735684943052137356879430511373569094305114035694943051144356979430511453570094305114635702943050146357049530501463570695305014635707963050147357109630501493571496304914935717963049150357209730481503572396304815035726953048152357289530471513573194304715135734933046152357379230461523574092304615235743933045152357469330451513574993304415235751943044152357539630441523575396304315335753963043153357569630431523576096304315235762953043152357659530421523576894304215335770943042153357729530421533577495304215335777953042153357809530421533578394304215335786943042154357899430421543579294304115435794943041154357979430411543580094304115435803943041154358069430411543581094304115535812953041155358159630411553581896304115535820963041155358239530411553582694304115535828943041155358319330411563583493304115635837923041156358409230411563584292304115635845923041156358489230411563585092304115635853923041156358569230411563585892304115835860923040159358639230401593586692304015935869923040158358729230401593587493304015935876923040159358799230401593588292304016235884933040165358869330391653588993303916535892933039165358949330391653589793303916535900933038165359039330381653590693303816535909923038165359129230381653591591303816535918913038165359229130381653592592303816535927923039165359299230381663593293303816635936943038166359399430381663594294303816635945943038166359489530381663595095303816635953953038166359569530381663595995303716635962943037166359669430371663596992303716635972913037166359759130371663597890303716635981903037165359849030371653598890303716535991903036165359949030361653599791303516536000913035165360039130351653600691303416536009913034165360129130341653601691303416536018913034165360219130331653602491303316536028913033164360319130331643603491303316436037913033164360409230331623604392303316236046923033162360499230331623605293303216236054933032163360579430321633606093303216336062933032163360649330311633606793303115836070933030157360729330301573607593303015736078933029157360819330291573608492302915736086923029157360879230291573608892302915736089923029157360909230291573609092302815636090923028156360909230281563609392302815636096923028156360989130281563609991302815636101903028156361038930281563610689302815636109903028156361119030281563611391302815736116923028157361189330281563612194302715636124943027156361269530271563612996302715636132963027156361349630271563613696302715736138963027157361419630271583614496302815836146963028158361499630281583615296302815836155973028158361589630281583616195302715736164953027158361669530271583616895302715836171953027158361749530271583617695302715736178943027157361819430271573618493302715736187933027157361899330271573619193302715736192933027157361949230271613619692302616136198923026165362009130251683620291302517236205903025173362089030241733621090302417336212903024171362148930241713621689302417136219893023171362228830231713622488302317136226883023171362288830231723623088302217236232883022172362358730221713623787302217136239863022171362428630211713624586302117136247863021171362498730211703625087302117036252883020170362548930201693625690302016936258913020169362599230201693626192301916836263923019168362669330191683626894301916836270933019169362729330181693627394301816936274953017169362769530171693627895301716936280953016169362829630161693628496301516936285963015170362879330151693628991301416936290903014169362929030141693629490301416936295903014169362969030131693629890301316536300903013163363029030131633630490301316136306903012161363089130121613631092301115936312923011159363139230111593631492301015836314923010159363157830101603631665301016036316643010160363176330091613631862300816136319613008161363206130071613632161300716136323733007161363258430071613632784300716136329853007159363308630071583633287300715736334873007157363378830071563634089300715636342913007156363449330061573634594300615736346943005157363489430051583635095300515836352973004159363549830041593635699300415936356100300415936357101300415936359101300315936361102300315936363101300216036365100300216036367100300216036369101300115936372101300116036375101300016036377100300016036379983000160363819829991603638398299915836385982999158363879929991593638997299915936391962998159363929629981593639397299715836394962997158363959629971583639595299615636395942996156363979329951563639993299515636401922995156364039229941563640692299415636408922994156364109129941563641390299415636416922993156364189429931563642095299315636423962993156364269729931563642998299215736432982992157364349829911563643897299115536441972991155364449629901543644795299015436450952989154364539529891543645695298915536460952988155364629529881553646496298715536464972987155364659829871553646898298615536470982986155364749829861553647998298615536484962986155364899529851553649594298515536501942985154365069329851533651093298515236514932984152365179429841523652094298315236523942983152365239429831523652394298215236528942982152365349429811533653694298115336538942981153365419529801533654496297915336546972979153365499829781533655198297815336553992977153365569929771523655910029761523656299297615236565992976152365689829751523657297297515236574962974152365759529741523657695297415236577962973152365779629731523657797297315236584972973152365919829731523659698297215236600982972152366049629721523660894297215236608922972152366089129711523661293297115236615952970152366179629701523661998297014736621992969143366231002969141366269829681393662896296813936630962968138366329529671363663594296713536638942966134366409429661333664195296613336644932965132366469229651313664991296413036652902964129366559029641283665890296312836661882963128366648729621283666788296212836670882962128366728929611283667589296112836678902960128366819229601283668493296012836687942959127366909429591273669294295812736696942958127366999429581273670293295712736705922957127367089129561273671091295612736712912956127367159129551273671792295512736719922954128367229329541283672494295412836726932953128367299329531283673292295212836735912952128367389129521283674090295112836743902951127367468929501263674989295012436752902950124367549029491243675790294912436760902948124367629129481243676492294812436766932947125367689329471253677093294612636773932946126367769329461273677892294512736781912945127367839129451273678591294512836788912945128367909129441283679291294412836794912944128367969029441283679989294412736802892943127368058929431273680889294212736811892942127368148929421273681789294112736820892941128368228929411293682488294113036827882941130368298829401283683188294012836834882939128368368929391283683888293912936840882938129368428829381293684488293812936846892938130368488929381323685290293713336855912937133368589129361353686092293613636863922936139368669329351413686893293514236871932934142368749329341453687794293414936880952934151368839529341513688694293415136888942934151368919329341513689493293415136896922934150368999229341513690292293415236905922934154369089129341553691191293415536914912934154369189129341533692189293415336924882934153369268829341543692988293415436929882934154369298829341523693188293415236933882934154369368829341523693888293415236940902934152369429229341523694493293415236946942934152369499429341523695294293415236955912934152369588929341533696189293415336964892934153369678929341543697090293415436972912934155369749229341553697692293415536977932934153369789329331533697992293315336980802933153369826929331533698469293315336985692932153369866929311533698869293115336990702930153369927129301533699473292915436997752929154369998029291543700185292915437004862929154370068829281543700889292815437011902928154370149029281543701690292815437018902928154370219029281543702490292815437026912928154370299129281553703292292715537034922927155370379229261553703992292615537041922926155370449229251553704792292515537050932925155370529329251553705693292515637059922924156370629229241563706491292415637066912924159370699129241593707090292215937070029221593707002922160370740292216037077029221603708045292216037083902922160370869129221603708891292216037090912922160370939229221603709692292216037099922922160371029229211613710593292116137107932921161371099329211613711093292116137110932920161371109329201623711093292016237112932920162371159329201623711678292016137118632920160371206329201603712164292015837122642920158371226529191543712202919154371240291915437125029191553712630291915537128602918155371296229181553713064291815537132632918155371336329181553713463291815537135632918155371376329181553713964291815537141792918155371439529181553714594291815537147932918155371509329181553715292291815537154922918155371579229181553716092291815537162922918155371649329181553716794291715537170942917155371729429171553717594291715437178942917154371809429171543718394291715437186952917154371909529171543719295291715437195962917154371989529171543720095291715437202942917154372059429171543720893291615537210932916155372139229161553721692291615537218922916155372209229151553722292291515537224922914155372269229141553722792291415537228922913155372309329131553723293291315537233932913155372349329131553723693291215737238932912161372409329111623724293291116237244932911162372469329101613724893291016137250922909161372529229091613725492290916137257922908161372609129081613726291290716137264932907161372659429071603726896290616037270982906160372729829061603727498290616137276972906161372779629051613727995290416137281942904161372849329031613728692290316137288922902162372909229021623729292290116237295922901161372989229011613730093290016137303932900161373069329001613731093290016037313932900160373169328991603732093289916037324932899160373279328991603733092289916037334922898160373369128981603733991289716037342912897161373449128971613734691289616037349922896160373529228961603735492289616037356912896160373599128951603736391289516037367912894160373729128941603737692289416037378922893160373819328931603738493289216037386942892160373889428921603738994289116037392932891160373949228911603739692289116037398932891160374009328901603740294289016037405942890160374089528901603741095289016037413962889160374189528891603742395288816037426942888160374299428881613743194288716237433942887162374359428861623743794288616137440932886161374429328851653744493288516837447932884169374499428841693745195288416837452952883168374539628831673745696288316637459962883166374649528831663746995288216637475952882166374819528811663748594288116637489932881166374929328801663749594288016737496932879167374979328791673749992287916737501922878167375029328781663750294287716637502952877166375029628771663750296287616637502962876166375059428751663750893287516637510922875166375129128741673751490287417137515902873170375168928731713751689287317137516902872170375179228721713751891287117137519912871171375219128711713752392287017137526912870171375299128701713753091287017137532912870171375369228691673753993286916737540932869163375409328691623754293286916337545932868164375469328671643754693286716437547932866164375489428661643754895286516437549972865164375499728641643754998286416437552972864164375549728631643755695286316537558942862165375599428621653756093286216537563932861165375669328611633756693286016237566942860162375679428601623756894285916137570942858161375739328581613757492285716037576922857160375789128561603758090285616037581902856160375829028561593758390285615937584912855159375849128551593758491285415937588922854159375929228541593759693285316037599942853160376029428521603760594285215837608932852158376109328511583761393285115837616932851158376169328511583761793285115737617932850157376179328501583762193284915837625932849158376269328491583762893284815837630932847158376339428471583763594284615937637942846159376389328451593763993284415937640922844159376429228431593764291284316037643912842160376439128421613764392284116137643922841160376439228411603764491284016037646912840160376469128401603764691284016037646912840160376469128391593764692283915937646932838159376509428381593765495283815937658952837159376629628371593766496283615937666962836159376689728361593767098283515937672982835159376739828341593767698283415937678982834160376809728331603768395283316137686952832162376889428321633769294283216337696942831163377029228311633770890283016437714902830165377209028301653772591282916537730932829165377349428281643773996282816437742972828164377469928271643775098282716437753982827164377569628271643775895282716437762942826164377659328261643776892282516437771912825164377749128251643777691282416437778912824164377819128231643778392282316437785932823165377889328221653779094282216537793932822165377969328221653779992282216437802912821163378069028211633781090282116337813902821163378169028211633781891282016337821932820163378239228191633782592281916337827912819163378299128181633783290281816337836902818163378399028181633784290281816337845902817163378489028171633785290281616337855912816163378589128161633786091281516437864912815162378689128151623787291281516237875912815162378799128141603788391281416037886912813160378899128131603789292281316137896932812161379009428121613790394281116137906932811161379099228111613791291281016137914912810161379189128101613792192281016137924922810161379279228091613792993280916037931942808160379349528081603793697280816037938982807160379419928071603794398280716037945972807160379479628071593794996280615937950962806159379529628051593795494280515937955912805158379589128041593796090280415937962892803159379658928031583796889280315837970892802158379728928021603797590280216037977892802160379798928021623798189280116337983892801162379848928011623798689280116237988892801162379898928011613799189280116137993892801161379958928011643799788280116437999882800165380018928001663800289280016538003892800165380048928001683800689279916838006442799170380060279917138006027991723800602799171380060279817038006027981703801042279817038014852798170380168627981703801988279717138022892797171380249027971713802590279717138026912797171380289127971703802992279717038031922797170380339227971703803592279717038037922796170380389127961703804091279617138042912796171380439227961713804692279517138048932795171380509327951713805293279517138054932795171380579327941703805892279417038059922794170380609327941703806293279417038064932793170380669427931703806893279317138071932793171380729227931713807391279217138074912792171380769127921713807791279217138078912792171380809227911713808192279117138083922791171380859227911713808892279117138092922790171380969327901713810093279017238105932790172381109427901723811494278917238117942789172381219527881723812596278817238128952788172381319527871723813495278717238137952786171381419427861713814594278617238148932785172381519327851713815693278517138161932785171381649327851713816793278417138170922784171381739227841713817692278417138179922784171381829127831713818591278217138188922782171381909227811713819292278117138195922780171381979227801713819992278017138202912780171382059027801713820890277917138210902779171382149027791713821790277917138220902779171382249027781713822790277817238230912778172382329127781723823392277817238235922777171382379327771703824093277716838242932777168382449327771683824593277616838246932776169382489327761693825093277616938251942776169382519427751703825194277516938254942775169382589427751693826094277516938261942775169382639427751693826594277516938267942775168382699427751673827294277516638274942775166382769427751663827994277516638282932775165382859327751653828893277516538291932775165382929227751653829392277516538294932775165382969427751653829894277516438300942775164383029427751643830394277516438304932775164383069327751643830892277516438309922775164383119227751643831392277516438316922775163383199227751633832393277516338327942774163383329327741633833693277416338340932774165383449227741653834892277316538352912773165383559027731653835890277316538360902773165383639027731663836691277316638369912773166383739227731673837793277316838380922772169383839227721703838691277217138390912772171383939127721713839692277117238398922771174384009327711743840293277117338404942771173384069427701733840795277017438410932770174384129227701743841492277017438416922769174384189227691743842192276917538423922769175384259227691773842793276917838429932769178384329427691783843595276917938438952769181384409627681813844295276818138445942768181384489327681813845093276818138452922768181384549227681803845792276818038460932768180384629227681803846592276718038468922767180384729227671803847492276718038476922767180384779227661803847893276618038478932766180384799427661813848093276618138480922765181384829127651813848591276518238488912765181384919027651813849490276418138496892764180384988927641793850189276417938504902764178385069027631783850891276317838510922763179385139227631793851692276317938520922762179385239227621793852892276217938534922762179385389227621793854292276117838546922761177385499227611773855292276117738554932761177385569327601773855893276017738560922760177385629227601773856392276017738564932759177385659227591773856692275917738568922759173385709227591733857491275817138577912758171385809127571713858491275717238586902757172385898927561723859289275617238594882756173385968727561733859986275617338602852755173386048427551733860684275417138608842754169386118527541693861485275317038617862752169386208727521693862489275116938627912751168386299127501683863191275016838634912749168386379127491683864090274916838642892748168386448827481683864687274816838648872748168386508727481683865287274716838654872747168386568727461673865988274616738661892746167386639027451673866690274516738668912745167386729027451673867590274516738678892744167386808927441673868389274316738686892743167386908927431673869390274216738696902742167386999127411673870290274116738705902741167387068927401673870789274016738710882739167387128727391673871687273916738719872738167387218727381673872387273816738724872738167387258827381673872689273716738727902737167387289127361673873092273616738732922736167387349327351673873693273516738737932734167387389227341673873892273416738738912733167387389127331663874091273216638742912732165387469027321653875090273116538753902731165387569127311653876092273116538763932731165387669327301653876994273016538772942729165387749427291653877693272916538778932728165387809127281653878290272816538784892728165387868827281653878888272716538789882727162387918827271623879388272716238795872727162387978727261623879887272616238800872726162388018727261623880287272616238804872725161388058727251613880887272516138810882725161388129027251613881591272416138818922723161388209327231613882493272216138828932722161388309327221613883394272216138835942722161388379527221613883894272216138838932721160388409227211603884392272115938845912721159388479027211593885091272015938852912720159388539227201593885493272015938856932720159388589227201593886092272015938861922720159388639127201593886591272015938868912720158388709127201583887292272015838875932720158388789227201583888192271915738883922719157388859227181573888791271815738889912718157388929127171573889491271715738896912717157388999127171573890190271715638903902716156389069027161573890891271615838910912716158389129127161573891491271515738916912715157389189127151573892092271515638922932715156389249427141563892694271415638928942714156389309427141583893295271415838934942713156389369327131563893892271315638939912713156389429127131563894491271215738946912712157389499127121573895191271215738953912712157389549127111573895591271115738958912710157389609127101573896291271015738965912710157389679127101573896991271015738971902710157389739027101573897490270915738976902709157389789027091573897989270915738980892709157389819027081573898290270815738983902708157389849127081573898592270815738986932708157389889527081573898896270815738989972708157389929727081573899498270715738998982707156390039827071563900597270615739007902706157390079027061573901090270615639012902706156390129027061563901291270615639015912706156390189127061563902492270615639029942705156390329327051563903493270515639038932705156390439327051563904693270515639050932705156390529327051563905594270515639058942705156390609427051563906594270515639070952705156390729427051553907594270615539075942705155390759427051553908093270515539085922705155390889227051553909091270515539093912705155390969127051553909990270515539102902705155391029027041553910291270415639102912704155391029227041553912292270415539141932704155391469327041553915093270415539152932704155391549327041553915893270415539162932704155391669327041543916994270415439171942704154391739427041543917694270415439179942704154391829427041543918594270415439188942704154391919427041543919693270415439201932704154392069327041543921193270315439214922703154392189227031543922392270315439228922703154392319227031543923492270315439238932703154392419327031543924494270415439248942704154392509427041543925295270415439254942704154392569427041543925893270415439260932704154392629327041543926594270415439268942704154392729527041543927695270415439279952704154392829527041543928494270415439286932704154392889227041543929092270415439293922704154392969227041543929892270415439300922704154393019227041543930392270415439305932704154393069327041543930893270415439310932704154393119427041543931293270515439314932705155393179327051553932093270515439322932705154393259327051543932693270515439326932705154393289327051543933093270515439332932705154393339327051543933493270515439336932705154393389227051543934092270615439342912705154393449127051543934691270515439349922705154393529227051543935492270515439357922705154393609227051543936291270515439365912705154393689127051543937091270515439374912705154393779127051543938091270615439384912706154393889127061543939191270615439396912706154394009127061543940590270615439410902706154394159027061543942091270615439426912706154394319227061543943493270615439436942706154394399527061543944296270715439445972707154394489727071543945197270715439454962707154394569527071533945994270715339462932707153394649127071533946891270715339472912708153394769127081533948091270815339482922708153394859227081533948693270815339488932708153394909327081533949393270815339496932708153394989327081533950293270715339505942707153395089427071533951194270715339514942707153395169427061543951893270615439520932706154395229227061533952391270615339525902705153395278927051533952889270515339530892705153395328927051533953489270415339536892704153395378927041533954089270415339542892704153395458927031533954890270315339552902703153395559027031533955890270315339560902702153395639027021533956690270215339568902702154395719027021523957490270115339577902701153395809027001533958291270015339585922700153395889226991533959093269915339593942698153395969326981533959993269815339603912697153396079026971533961090269615339614902696153396169226961533961893269515339620962695153396229826951533962499269515339626100269515339628982694153396309626941533963295269315339634932693153396379226931543964091269215439642912692154396459226911543964891269115439650912691156396529126901563965491269015639656902689155396579026891553966090268915539662912688154396649126881543966791268815439669912688154396719126881543967392268715439675932687154396789226871543968092268715439683932687154396869326861543968892268615439690912686154396939026861533969690268615339700892685153397038926851533970789268415339711892684153397158926841533971989268315339723892683153397279026831533973091268315339733922683153397369326821533974093268215339742932682153397459426821543974892268215439750912681154397539126811543975691268015439758912680154397619026801543976490267915439766912679154397689126781543977191267815439774912678154397789226771543978192267715539784922676155397869226761553978992267615539791912675155397939126751553979591267515539797902675155397989126751553980091267415539802922673155398049226731553980692267215539808922672155398109126711553981291267115439814922671154398169226711543981893267115439821952670154398249526701543982695266915439828952669154398299526691543983095266815439831952668154398329526681543983295266815539832952668154398339526671453983302667145398340266714539836026671453983802667144398390266714339840026671433984102667142398433326661423984567266614239848672666141398516826661413985480266614039857922665137398609226651373986392266513639867922665136398719326651353987493266513439877932665133398809326651333988493266513339888922665133398919226641333989492266413439897922664134399009226641343990393266413439906922663134399089226621343991191266213539914912661135399189026611353992190266013639924892660136399268926601363992890266013639929902660136399329126601363993492266013739936922660137399379326601373994193266013739945942659137399489426591373995294265913739954932659137399569326591383995893265813839961932658138399629326581383996494265813839967952658138399709626571383997296265713839975962657138399789726571383998298265713839984992656139399861002656139399891002655139399921002655139399941002655139399971002654139399999926541394000199265413940004992654140400089926541404001098265414040013962654140400159426541404001793265414040019912654140400219026531404002390265314140025902653140400268926531404002789265314040028892653140400298926531404003089265314040031892653140400337626531404003564265314040037642653140400396426531384004264265313640044642653135400467926531354004995265313640052952653136400549526531364005795265313640060952652137400629426521374006494265213740066942652137400699426521374007293265113740074932651136400769326511374007893265113840081922651138400849226501384008692265013940089922650139400929226501404009492265014040096912649140400999126491424010291264914240105922649142401089226491424011192264814240114932648142401189426471414012094264714140122952647141401269526461414012996264614140132962646141401359626461414013896264614140140972645141401429726451414014596264414140148962644141401519726441414015496264314140157962643141401609626431414016397264314140166962643141401709526421414017395264214140176952642141401799426421414018294264214140185942641141401889426411444019093264114440193932641147401969326411474019993264114840202932641147402059326411474020793264114640209922641146402129226401464021492264014640217922640146402209226401474022292264014740224922639149402269226391494022992263914940231922639149402339326391484023692263814840239922638148402419226381484024392263814840244922638148402469226371484024891263714840251912637148402549026371484025890263714840261902636148402649026361484026689263614840268892636148402708926361484027389263514840276892635148402789026351504028091263515240283922635152402869226351564028993263516040292932635160402959326351614029893263516140302942634161403069326341614030993263416140312932634160403169326341604032092263315940323922633159403269126331594032891263315940331912633159403349226321594033692263216040339922631160403429226311604034592263116040348922630160403519326301604035492262916040356922629160403589326291604036193262816040364932628161403669426271614036894262716140371952627161403749426261594037694262615940378922626159403819126261594038491262615940386912626159403889226261594039194262615940394942626159403979526261594040095262515940402952625159404059426251594040893262516040412932625159404159326241594041892262415940420922624159404229226241594042592262415940428922623159404309226231594043292262315940435922623159404389226231594044092262315940442922623158404449226231584044692262315840449922623158404529226231584045493262315840456942623158404599626231584046296262315840464962623159404669526231594046995262315940472942623159404749326231594047692262315840479922623158404829226231604048592262316340488922623165404919226231654049492262316540497932623165405009226231644050392262316440506922622164405089226221644051092262216440513932622164405169326221644051893262216440520932622164405229326221644052493262216440527932622164405299326221644053194262216440534942622164405369426221644053894262216440541942622165405449426221654054694262216640548942622166405519426221664055393262216540555932622165405569326221654055893262216540560932623165405629326231654056493262316540566942623165405689426231654057094262316540572942622165405759426221654057893262216540580932622165405829326221654058493262216540587932622165405909326221654059392262216540596912622165405989126221654060091262216540602912622165406049126221684060691262216940608922622169406109226221694061292262216840615922622168406189226221684062292262216840625922622168406289226221684063092262216840632912622168406339126211684063691262116840638922621168406409226211674064292262116640644922621166406479226211664064992262116640651922621165406539226211654065593262116540657932621165406599326211654066293262116540664932621165406669326201654066893262016540670932620165406729426201654067593262016540678932620165406819326201654068493262016540686932620165406899326201654069093261916640692922619166406949226191664069692261916640698922619166407009226191654070392261916540706922619165407089226191654070992261916540710922618165407129226181654071392261816540714932618165407159326181654071693261716540718932617165407199426171654072094261716540721952617165407219526161654072195261616540723942616165407259326161654072793261616540729922615165407309226151654073192261516540733922615165407359326151654073693261516540738942615165407409426151654074194261516540744942615165407479426151654074993261516640751932615165407539226151654075592261516540757922615165407599326151654076293261516540765932615165407679326151654076994261516540770942615165407729426151664077493261516640776932616166407799326161664078293261616840786932616168407899326161684079193261616840793932616168407969326161684079893261616840800732616168408015426161684080254261616740804542616167408065426161674080954261616740812722616167408158926161674081689261616740818902616167408198926161674082089261616740822892616167408248926161674082789261616740830892616167408329026161674083591261616640837912616166408399226161664084293261616640844942616166408479426161684085094261616740852942616166408559426161664085894261616640860942616166408629426161664086594261616640868942616166408709426161664087294261616640875942616166408789426161664088294261616640885942616166408889426161664089094261616640892942616166408949426161664089794261616640900942616166409029426161664090694261616640910942616168409139326171684091693261616840918932616167409219326161664092392261616640925922616166409279126151664092991261516640931902615166409339026151664093590261516640937912614166409409126141664094291261416640945912614166409489126141664095291261316640955912613166409589126131664096291261316640964912613166409679126131664097091261316640974922613166409779226131664098092261316640982922612166409859326121664098893261216640991932612166409949326121664099893261116641001932611166410049326101664100793261016641010932610166410139226101664101692261016641018922610166410219226101664102392261016641025932610166410289326101674103093261016841032932610167410349326101674103693260916741039942609166410419326091664104393260916641044932609166410469326081664104892260816641051922608166410549126081664105690260816641059902608166410629026081664106590260816641068912608166410709026081664107390260816641076902608166410799026081664108190260816641083902608167410869026071674108890260716741090902607167410929126071674109491260716741097912606167411009126061674110491260616941106912606169411099126061674111191260616741113912606167411169126061684111991260616741122912606167411259126051674112892260516741131942605165411349426051644113794260516441140942604164411439426041644114693260416541150922604165411549226041654115792260416541161912604165411659126041644116891260416441172912604164411749226031644117792260316441180922603164411849326031644118792260316441190922602164411929126021644119491260116441196902601164411999026011644120289260116441204892601165412078926011654121088260116541212882601165412148726001654121687260016541217872600165412188726001654122087260016541222882599165412248825991654122689259816541227902598165412299025981654123191259716541233902597165412359025971644123790259716441239902597163412419025961634124390259616341246912596163412489225961634125091259616341253912595163412569125951634125891259516341260912595163412639125951634126491259416341266912594163412689125941634126991259416341269912594163412699125931634126945259316341269025921634127202592163412740259216341276025921634127702592163412780259216341280025921634128002592163412810259216341281025921634128102592163412820259216041284025921594128602591159412880259116041290025901604129302590160412960259015941298025901584130048259015841301962590159413029625901584130496259015841306962590158413079625901594130896259015941310962590159413109625891564131002589155413100258915541312025891554131502588155413175325881514131910725881504132110025881484132393258814841324942588146413269525881434132695258714541326932587145413269325861454132793258614541329912586143413318925861424133289258614241334892585143413368825851434133788258514341340892585143413429025851434134490258414341346912584143413489125831434135091258314341352912583144413559125821444135791258214441359912582144413609125821444136291258214441364912581144413679125811444137091258014441372922580144413749225801444137692257914441378922579144413819225791444138392257914441385922579143413879425781434138996257814341391972577143413939925771434139599257714341397992576143413999825761434140198257614341404962576143414069525761434140895257514341411942575143414149425741434141694257414241418942574142414219425731414142394257314141425942572141414279425721414142994257214141430952571142414319625701424143495257014241436952569142414389525691424143994256814241443932568142414479325671414144992256714141451912567141414549025661414145890256614141460892566141414638925661414146689256614141468902565141414709125651414147393256414141475922564141414779225641404147992256314041481922563140414829125621394148490256214041486902562140414889025611404149191256113941494912561139414969125611394149991256113941500922560141415029325601414150293255913941502932559139415039225591404150491255814141504902558141415059025581414150690255814141508902558141415109025571414151190255714141513902556141415159125561414151891255614141521922555141415249225551434152793255514341528932555143415309425551434153295255414341535952554143415389425531444154094255314441542932553144415449325521454154792255214541550922552145415509225521454155192255214541553932551145415559325511454155793255014541559932550145415599225501464155991254914741562902549147415658925491474156889254914741571882549147415738825481474157588254814741576892547147415788925471474158190254714741584902546147415889125461474159292254514741596922545147415999325451474160193254414741603942544148416069325441484160892254414941610922544150416139125431504161891254315041622922543150416269225431494162993254314941632932542149416349425411494163993254114841644932540148416509325401474165592253914841659922539148416639325381484166693253814841668932538148416709225371494167291253715041676912537149416799125371494168291253714841685912536148416889125361484169092253514841692922535148416959225351484169791253414941699912534149417019125341494170391253414941704912534149417069125331494170891253314941710922532149417139225321494171692253214941716922531149417179325311494172193253114941725932531149417289325311444173094253014341732942530143417349425291424173793252914141740932529140417429125281394174390252813941745902528139417479125281394175091252813941752912527138417539125271394175492252613841756922526138417589225261384176092252513841762932525138417649325241384176593252413841765922524138417659125231384176689252313841766882523137417668825231374176687252313741768862522136417718525221364177186252213441771872522134417728925221344177390252113441774912521134417749325201344177594252013541776952520135417809525191344178396251913441786962518135417909625181354179295251813541795942517135417969225171354179891251613541801912516135418049125161354180492251513541805932515135418059425151354180594251513541805952515135418059725141364180898251413641812992513137418141002513136418171002513136418219825121364182597251213641830952512137418349325121374183792251213741840912511137418409125101384184092251013841859922509139418789325091394188493250813941889922508139418909225071404189292250714041896922507140419019224991464199886249914641998852499145419988524981464200686249814642013862498146420158624981464201787249814642019872498146420218824981444202488249814442026882498144420288824981444202988249814442031882498144420338924981444203689249814542038902498147420409024971474204191249714742043922497147420459324971474204892249714742051922497147420539224971474205593249714742058932497147420629324971474206494249614742067952496148420699524961484207196249614942073962496151420759624951514207794249515142079932494151420809324941514208293249415142084932493152420869324931524208893249315242090932493153420929324931534209594249215442096932492153420989324921534210092249215342103922492153421069324911534210995249115342111952490151421139524901514211695249015142118952489151421209524891514212195248815242123942488152421259424881524212893248715242130932487152421329324871524213492248715242136922487152421379224861524213892248615242140932485152421419324851524214293248515342142902484153421438824841534214474248415342146592484153421485924841534215159248315342154752483153421579224821534215992248215342161922482153421639224811544216593248115442166932481154421689424811544216894248115442169942480154421709424801544217194247915442172942479154421729424791534217294247815342172942478153421769324781534218192247815442182852478153421847924781534218581247815242186832478152421868424781524218684247815242188862477152421898924771524219088247615242190882476152421919024761524219291247515242193932475152421949424751524219694247515242197952475152421989524741524219995247415242202942474152422059324741524220894247415242212942473152422169424731514222094247315142222932473151422249324731514222693247215142228932472151422319324711514223493247115142238942471151422419524701514224496247015142247962469151422499624691514225195246915142253952468151422559424681514225693246815142258922468150422599024681504226089246715142262892467151422638924671514226489246715142265892467150422658824661504226587246615142266872466151422678724661514226887246615142269872465151422708824651514227090246415142270922464151422709424641514227494246315142278942463151422809424631514228294246315142284942463151422859524621514228995246215142293952462151422969524621514229995246215142302942461151423059424611514230694246115142308942461150423109324611504231393246015042317932460150423219324601504232693246015042330932460150423359324601504234093246015042344932460150423489324601504235293246015042356932459150423609424591494236594245915042369942459150423739324591504237893245915042382922459149423879224591494239292245914942396912459149424009124581494240491245814942407922458149424109224581494241492245814942419922458149424249224581494242892245814942432922458149424349324581494243794245714942440942457149424449424571494244894245714942453952457150424569524561504245894245615042460942456150424619424561494246393245614942465922455149424689124551494247291245514942476892455149424798824551514248287245415042484872454151424878724541494249088245414942492882454149424958824541494249689245414942497902454149424989024541494249890245414942500902453149425019024531494250390245214942505902452149425088924521494251088245114942513872451149425168724511494251888245114942520882451149425228924501494252489245014942526892449149425279024491494253090244914942532902448149425349024481494253690244814942539902448149425429024481484254691244814842549922448148425529224481484255592244814842558922448148425609224471484256292244715242564922447155425679224471554257092244715542572922446154425759324461544257693244615342578942446154425809324461544258393244515342586922445153425909124451534259291244515342595902445153425969024441534259890244415342602902444153426059024441534260890244415342612902443153426149024431534261591244315442616912443153426179124431534261991244215342621902442153426229024421534262489244215342626892442153426288924411534263089244115342631892440153426318824401534263188244015342636882439153426408824391524264388243915242646882439152426498824391524265288243815242654872438152426578624371524266086243715242662872437152426668824371524267089243715242674892437152426788924371524268089243715242682902436152426849124361514268792243515042689922435150426919224351504269492243415042696922434150426989124341504270091243414942702902434149427059024331494270791243314942709912432149427129224321494271493243214942716932431149427199324311494272393243114942727932431148427309324311484273493243014842737942430148427409524291484274295242914842745962429147427489524281474275295242814742756942427147427609424271474276493242714742767922426147427709224261474277493242614742778942426147427829524261474278495242514742787952425147427889524241474278895242414742789952424146427909524231464279095242314642790952423146427909524231464279095242314642792762422146427945724211464279457242014642794572419144427940241914442796322418145427996524181454280066241814542802682418145428046624181454280665241714542808642417146428096424161454281064241614442811642416144428127824161444281293241614442812932416145428139324161454281393241614542813932415145428169224151454281891241514442819912415144428209124151444282291241514442824902415144428269024151444282891241514442830922415144428339324141444283593241414342837942413143428389524131434284096241314342841952412143428429524121434284394241114342844942411143428469324111444284893241014542848932410145428499324101454285193241014542853932410145428569324091454285993240914642862932408146428649324081464286693240814642867932407146428689324071464286893240714642870922407146428729224071464287492240614642876922406146428789124061474287991240614742879912406147428799224051474288192240514742883932405147428859224051474288792240514742889932404147428919424041474289494240414742896952404147428989524041474290094240314942902942403149429059524031494290794240314942909942403150429109424021504291195240215142912952402151429149524021514291594240215342916942401152429189324011524291993240115242921932401152429239324011524292693240015342928922400154429319124001544293489240015242936892400152429378923991524294089239915542942892398156429448923981564294789239815742949902397159429519123971594295391239715942955922397159429569223971594295892239715942958922397157429599223971574295979239715642959662397156429616623961564296366239615642964792396156429669123961554296892239615442970932396154429729323961544297494239615442978942396154429819523961544298495239615442987952396156429889423961564298994239615642990942396156429919423971564299167239715742991672397156429966623981544300166239815243001652399134430016223991344300163240013243006632400132430126324001324301364240012843014652400128430156524001264301666240012543018662400126430196624001264302066240012643022662400126430246624001234302666240012243028662400120430296524001204303065240012043032662400120430326624001214303266240012043032672400119430326724011194303568240111943038692401119430406924011194304369240111843044692401114430467024011114304870240111143050702401111430527024011124305371240111243056712401112430587124011124306071240111243061712401111430637024021114306570240211143065702402111430657024021114306869240211143070692402111430726724021114307466240211143076652402111430776424021114307864240211143078642402111430806424021114308164240211143082642402111430846424021114308664240211143087652402111430886524021114308965240211143089652402111430896524021114308965240211143089652402111430926424021104309664240311043096632403110430976224031104309861240310943100602403109431016024031094310260240310943102602403107431036024031074310459240310743104592404107431046024041074310461240410643106622404106431086324041064310863240510643109632405106431106324051064311164240510643112642405106431136524061064311465240610543116662406105431186524061054311965240610543120652406105431216524061054312365240610543125652406105431286524061034313165240710243133642407102431356424071024313864240710243141632407102431446324081024314664240810243148642408102431496424081024315264240810243155642409102431566424091024315864240910243160652409102431616724091024316367241010243165672410102431666724101024316867241010243168672410102431686824111034316868241110343168682411103431706724111034317367241110343174672411103431746724111034317466241110343174662411102431746624111024317466241210243178662412102431816624121024318265241210243184652412101431866524131014318965241310143192662413101431946624131014319666241310543197662413109431986624131124320066241311243201802413111432029524131114320495241411243205952414112432079224141124320990241411243210812414111432117324141114321273241411143214732414111432167324141114321873241411143219722415111432207224151114322171241511043222702415110432227024151104322270241611043222692416110432226924161104322268241611043222682416110432256724171104322867241711043230662417108432336624171084323566241710843237662418107432396524181074324164241810643242632418107432446324181064324562241910643246622419106432476224191064324862241910543250622419105432516224191044325262241910443254622419103432566124201034325861242010343259622421103432606324211034326263242110343264642421103432666424211034326865242210543270652421105432726624211054327467242110543275682421105432766924211054327870242110243280702421102432827024211044328470242110443286702422105432887024221054328970242210543290702422106432927024221064329370242210743294702422107432947024221074329470242210743297702422107433007024221064330070242210643300712422106433008224221064330093242210643303932422107433069324221084330892242210843310912422108433129024221084331590242210943317902422108433199024221104332090242211043322902422110433249024221114332590242211143327902422111433299024221104333090242211143332902422111433349024221114333590242211143336882422112433378624221124333873242211243339612422111433406124221114334262242211143342622422111433436224221114334462242211143346622422111433466224221114334662242311543346024231154334902423115433520242311543354322423115433556424231154335665242311543357652424115433586624241154336067242411543360672424115433606724241154336267242511543363672425115433646724251154336668242511543368682425115433716824251154337368242511543375682425115433756724251154337566242511543375662426115433756624261154338065242611543384652426115433866524261154338765242711543390652427115433926524271174339464242711743395642427115433986424281114340064242810943402632428109434036324281094340663242810943409632429109434116324291094341362242910943414622429110434146124291104341461243011043414612429110434146124291104341461242911043416602429110434196024291104342059242911043422582429110434245824291104342558242911043426572430110434285624301104343056243011043431552430110434325524301104343255243111043432552431110434335524311104343654243111043439542431110434425324311104344653243111043447532431110434485324311104344953243111043450542431110434506624311104345177243111043452772431110434547724311104345676243211043457752432110434597424321104346174243211043462732432110434647324331104346672243311043467702433110434686924331104347067243311043472662434110434756524341104347564243411043475642434110434756424341104347564243511043477652435110434796524351104348065243511043481662435110434826624361104348366243611043484662436110434866624361104348665243611043487652437112434876424371144348764243711443490642437114434936424371144349464243711443495642437115434966424371154349764243711643498642437116434986524381164349865243811543499652438115434996524381154349965243811543502662438115435046624381154350466243811543505662438115435066624381154350766243911543508662439115435106524391154351065244111543510642441119435106524411194351365244112043516662441121435176624421214351867244212143518672442121435196724421214352067244212143521672443121435226724431224352367244312143524662443121435266624431214352866244412143531652444122435326524441204353465244411943536652444119435396624451194354266244511943544662445119435466624461194354966244612043552662447120435556624471204355867244711943561682447119435646824471194356768244711943570682447119435736824471194357468244711943574682447123435746824471274357468244712943576682447129435786824471284357968244712843580682448127435806824481264358167244812543582662448125435846524481254358665244912543587652449125435886424491254358864245012543588642450125435886524511254358865245112543588652451125435936524511264359866245112643600662452125436016624521254360266245212643604662452126436056624521264360667245312643607672453126436086724531284360966245312843610662453125436126524531254361465245312543616652453125436196524541274362064245412743622642455127436266324551274363063245512743633632455127436366324551254364063245612543643632456125436466424561254364864245612643650642456126436516524561254365366245612543655672456126436576824561264365969245612643661702457126436637024571264366570245712643667702457127436687024571274367070245812743672702458127436737124581284367471245812943676712458129436787124581294367971245812843680712458128436827224581284368482245812843685932459128436869324591284368893245912943690932459130436929324591354369392245913943694922459139436969224591394369892245914043700892459139437038624591394370484245913943704832459139437047624591374370569245913743708692460137437116924601374371269246013843712692461138437126824611384371367246213843714672462138437166724621404371766246214043718662463142437186224631434371861246314243721612463142437246124631424372560246414243726602464142437276024641424372860246414243730602464142437326124651424373461246514243736622465142437406324651434374365246514343748652466143437526624661414375567246614143758682466139437626824661394376669246713843770702467138437747124671374377880246713743781902467137437849024681374378890246813743791912468137437949224681394379692246813943799922468139438029224681394380492246813943806922468139438099224681394381292246813943815922468140438189224681404382093246814043822932468140438249324681404382793246814043830942468140438329324681404383393246814043834932469140438359324691404383693246914043838932469142438409324691424384193246914243842932469142438449324691424384693246914243848932469143438509324701434385393247014343856922470143438599224701434386292247014343865922470143438689224701444387192247014643874922470146438769224701464387892247014643881932470146438849324701454388693247014743888932470147438919324711454389493247114743896932471147438999224711474390292247114743906922472147439099224711474391292247114843914922471148439179224711474392092247114743922922471147439259324711484392793247114843929932471148439309324721484393293247214943934932472149439359324721494393692247214943938922472149439409224721494394192247214943944922472149439469224721494394880247214943949692472149439516824721494395367247315143955662473152439576524741514395864247415143959642474151439616424741514396364247415143966632475151439686324751504397062247514943972622475149439756224751494397862247514943980632475146439836424751454398664247514443988642475144439916524751444399466247514643997792475146440009324751464400293247514644004932475145440079324751454401093247514544012932475145440149424751464401793247514644020932475146440229324751464402593247514544028932475145440309324761454403293247614544035932476145440369324761454403893247614544040932476145440439324761454404692247614544049922476145440529224761454405692247614544060922475145440649224751454406692247514544069932475145440729324751474407593247514744078932475147440819324751474408395247514744085962475147440879624751474408996247514744092962475147440949624751474409694247514744099932475147441029224751474410592247514744108922475148441119224751484411392247514844115922475148441179124751484411991247514844120912475149441229124751494412491247514944127922475148441309224751484413293247514844134932475148441359324751494413678247515044137642475151441386424751514414064247515244141642475151441426424751504414464247515044145642475150441466524751504414865247515044150652475146441516524751454415365247514544155652475145441566524751454415866247514444158662475144441596724761434416267247614344165672476143441676724761424416967247614244172772477141441758824771414417888247714044180882477140441828824771414418589247714144188892476141441908924761414419290247614144195912476141441989224761414420193247614144203932476141442059324761424420692247614344208922477143442109224771434421291247714344214902477143442179024771434422090247714344222902477143442249024771434422691247714344228922477143442309224781434423293247814344235932478144442369324781444423792247814444240922479146442429324791464424493247914644247932479146442509324791464425393247914644256922479146442599224791464426191248014644263912480146442649124811454426691248114544268912481145442699124811454427090248114544272882482145442747824821454427567248214544276672483143442776824831434427868248414344280692484142442816924841414428269248414144282692484140442836924851404428569248513944287692485139442886824851384429068248513744290682485136442916824851364429267248513644293672485136442946624851354429566248613544296662486135442976624861354429866248613644300662486136443016624871364430266248713644303662487136443046624871364430566248713644306662488136443076524881374430865248813744310642488137443116424881374431364248913744315642489137443176424891374431964248913744321642489137443236424891374432564248913744327642489140443286324891444433063248914544331622490145443326224901464433475249014644336882490149443388824901494434088249014944342882489149443448824891494434689248914944349892489151443519024891514435390248915144356902489151443589124891514436191248915144364912489151443669024881514436990248815144372902488151443759024881514437890248815144380912488151443809124881514438191248815144381792488152443816724881524438467248815244387682488152443886824891524438968248915244390682490153443916924901534439269249015344393692490153443936824901534439368249115344396682491153443986824911534439968249115344400682491153444026824921534440368249215344404682492153444056824921534440567249215344405672493153444056624931534440566249315344405642493152444056324931494440762249414944409622494149444106224941494441262249414944414612494149444156024941494441659249414944417592494149444185824941494441957249414844420572495148444215624951484442356249514844425572495149444265724951494442857249514944430572495149444325724951494443457249514944435572495149444375724961494443958249614944441582496149444435824971504444458249715044446582498150444465824981504444758249714844447024971484444702497148444500249714744452024971474445431249714744456632497147444586324981454446064249814544462632498144444636324981444446463249814544465632499145444666324991454446863249914544469632499145444706324991454447263250014544473622500141444746225001404447662250014144477612500140444786125011404447960250114044480592501138444825825011394448458250113944485582502139444865825021394448858250213944489582502140444915725021414449357250314144494572503141444955825031404449659250314044497602503138444986025031374449961250313644500612503136445026225031354450462250313444505632503133445066425031324450765250313244509642503132445116425031314451264250413244514642504132445166425041314451764250413044518642504130445196425041284452064250412744522642504127445246425041274452565250412644527652504126445296525041264453165250412644533652504127445346625041274453567250512744536672505127445376825051274453968250512844541682505129445426825061294454469250612944546692506129445496925061294455179250612944553902506129445559025061304455790250613044559902506131445619025061314456288250613144564872506131445668725061314456787250613144569872506131445718725061354457279250613544573712506137445747025061384457669250613844576682507139445776725071394457867250713944580662507140445828025071404458493250813944586932508139445899325081384459293250813744594932508137445969225091374459992250913744600922509137446029225091374460481250913744605712509137446077125091374460971251013744612702510138446147025111384461670251213844619702512138446218125121384462393251213844625932512138446279325121384462992251213844631912512138446349025121384463690251213944638902512139446398925121394464089251214044642892512140446448925121404464689251314044647892513141446488925131414465078251314144651682513141446526725141404465367251414044654672514138446556725151384465767251513744659672516137446606725161374466267251613744663672516137446646725161374466567251713744666672517137446676625171384466866251713844669652517138446706525181384467064251813644671632518136446726325191354467463251913544676632520135446776325201354467863252013544679632520135446806325201354468163252113544682622521135446836225211354468462252113544686622521135446886125221354468961252213544690602522135446916025231344469260252313444693602524134446946025241344469560252413344696612524133446986225241324469962252413244700632524132447016225241324470262252413244703622524132447046225251324470563252513244706642525132447086425251324470964252513244710642526135447126525261384471365252613844714652526139447166525261384471765252713844718652527138447186525271384471865252713744718652527137447186325281364471861252813644722602528136447255925281364472759252813644729592529136447305925291364473259252913644733582529136447345625291364473655253013644738552530136447405425301364474154253013644742542530136447445425311364474554253113644746552531136447485525311364474956253113644750572531136447505925311364475260253113644753622531134447546225311344475663253213344758642532133447606425321324476264253213244763652532131447646525331314476665253313044766662533130447676625331304476866253313044770652534131447706525341314477165253413144772652535131447736525351324477465253613244775652536132447766525361334477865253613344779632536133447806225361324478161253613344782612536133447846025361344478560253613444786602537134447866025371344478860253713444789592537134447906025371354479061253813544792612538135447946225381354479662253813544797622538137447986225391374479962253913744800622539138448016225391394480362253914144805622540144448066225391444480762253914444808632539144448106425391434481164253914344812652539141448136625391414481467253914144816672539139448176825401394481868254013944820682540138448216825401384482269254013844824682540138448256725401384482666254013844828652540137448306525401374483265254013744834652540136448376525401364483865254113644840662541135448406625421354484166254213544842672542135448436725421354484467254213644845682543135448466825431354484868254313644850672543135448516725431334485267254413244853672544132448556725441324485767254413244858672544132448606725451324486066254513244860652545132448626325451324486362254513244864602546132448665825461324486857254613044869572546130448705725461294487256254712844874562547128448755625471274487755254712644879552547126448805425471264488254254712644884532547127448855325471274488653254712744888532547127448895325471274489053254712744891532547127448925325471274489353254812744894532548127448965325481274489753254812744898652548127448997825481274490078254812744901782548127449027825491264490479254912644906792550126449087925501264491081255012644911832550126449138425501264491586255012644918872550130449208825501334492289255013344925892550132449288925501324493089255013244932892550132449338925501324493590255013244937902550131449409125501314494392255013144944922550131449469325501314494893255013144950932550131449519325501314495293255013344953902550133449548825501334495575255013344956622550133449576225511334495862255113344959622552133449606225521334496263255213244964642552132449656425521324496664255213144968732552131449698125521314497070255213144971592552131449725825531314497458255313244976582553132449785925531324498059255313344982602553133449846125531334498662255313344988762553133449899025531334499290255313544994912553135449969125531354499891255313445000912553134450019225531344500392255313445005922553135450089125531344501091255313545012912554135450139125541354501491255413545016922554135450189225541354501992255513545021922555135450239225551354502492255513545026922555135450289225561354503091255613545032912556135450349025561354503690255613545039902556135450429025561354504490255613545046902556135450489125561354505091255713545053912557135450559125571354505790255713545060902557135450638925571354506689255713545068892557135450708925571354507390255713545076902557135450789025571354508090255713745081912557137450839125571374508591255713745086902557135450879025571354509090255713545092902557134450949025581344509690255813445098902558134451018925581334510488255813345107872558133451098725581334511187255813345114872558132451168725581324511888255913245121882558132451248825581324512689255813245129892558133451328925581334513489255813345137902558134451409025581364514290255813545144902559135451479125591374514991255913745151912559138451549125591384515691255913745158902559137451609025591374516291255913745163912559137451669125591374516891255913745170902559141451729025591454517489255914945176882559153451788825591534518088255915745182882559161451848925591634518690256016345189912560164451929125601644519491256016345196912560163451989125601634520090256016345203902560164452049025601644520690256016345208902560163452099025601634521190256016245213902560162452158125601624521772256016245218722560161452207225601604522272256016045223722560160452247225611594522672256115945228722561158452307225621564523274256215645234762563156452367925631544523982256315445242832563154452448425631544524684256315445249842563154452507625631554525269256315545254692563155452556925641554525669256415645258702564156452596925641564526069256415645261702564156452627125641554526370256415545264692564154452656925641544526668256515445266682565154452666825651534526668256515345266692565153452666825661534526668256615345268682566153452706825661534527268256615345274672567153452766625671514527866256715145280652567149452816425671494528263256814945283632568150452846325681504528663256815045287632568150452886325681484528962256814845290612568147452906025691394529002569140452900256914045294025691404529802569140452992925691404530058256914045301592569140453026025691404530359256914045304582569140453055825691394530657256913945308572569139453095725691394531056256913945311562569138453125625691374531456256913645316562569136453185725691364531957256913745320582569136453215825691364532258256913545324592569134453266025691344532860256913445329612569134453306125691344533162257013445332622570134453336325701344533564257113445337652571134453386525721344534066257213445341662572134453426625721344534365257213445344652573134453466425731344534763257313445348622573134453506125731334535260257313345353602573131453545925731304535659257312945357582573129453585825741284535958257412845360582574128453615825751284536258257512845364582576128453655825761284536658257612845368582576127453705825761274537158257612745372582576127453735825761234537458257612045375582576119453765825771194537858257711945380572577119453815725771194538257257711945384572577119453865725771194538857257711945390562577119453925625771194539456257711945395562577119453965625771184539856257711845400562577118454015625771184540256257711845404562577118454055825771184540660257711845408602578118454096125781184541061257811845412612578118454126125781184541362257811845415632578118454176425781184541965257911945421662579119454236625801194542566258011945427782580119454299025801194543189258012045433892580120454348725801204543686258012045438862580120454418725801214544487258012145446872580120454488825801204545189258012145453892580122454559025801234545790258012345459902580124454619025801244546390258012545464902580126454669025801274546890258012645469902580127454718925801274547389258112745475892581128454778925811284547889258112945480892581129454828925811304548489258113045486892581130454878925811304548889258113045489892581130454918725811304549386258113045494772581129454966825811304549868258212645499682582126455006825821254550268258312445504682583124455066825841244550868258412345509682584123455116725841234551366258412345514652585122455156525851224551665258512245518652585122455186525851224551965258612245519652586122455196525861224551963258612245519622586122455225425871224552646258712245527472587119455284925871184552958258711845530672588118455316725881174553267258811645534662588116455366625881174553866258911745539662589117455407425891174554283258911745545832589117455488325901174555083259011745551832590116455548225901164555682259011645558822590117455608325901174556283259011745564832590117455668225901184556881259011845570822590119455728225901194557382259011945574822590119455768225911204557781259112145578792591121455807825911214558277259112145583772591122455867725911234558878259112345590792591124455928125911244559483259212445596862592125455988625921254560186259212645604882592126456069125921274560791259212745608912592127456108825921274561185259212845612692593127456125425931284561454259312845616542593128456175425931284561854259412845620552594128456215625941284562257259412845624592594128456265925951284562760259512845628612595129456306325951294563163259513045632632596131456346425961324563666259613245638672596134456406825961344564269259713545645702597134456477025971344564971259713245652702597133456547025981334565670259813245658702598133456617025981344566470259813545666702599135456676925991354566968259913545671682599135456748125991364567695259913645678952599136456809425991364568294259913645684932599136456859325991364568693259913745688912599137456919025991374569289259913845694882600138456968726001404569987260014045702882600140457048926001434570689260014645707892600147457098926001474571190260014645713902600146457159026011474571891260114745720912601146457229226021484572492260214945726922603149457289226031494573092260314945732922603149457349226031494573792260414945740912604149457429126041494574491260414945747922604149457509226051504575292260515045754922605150457569226051504575691260515045757912605149457579126051494575791260514945758912605149457609126051494576165260614945762392606149457643926061494576539260614945766392606148457673926071474576839260714545769392607144457703926071444577239260714445773552607143457747126071434577671260714345777712607142457786926071424578068260814245782682608142457836826081414578468260814145786682608140457886726091394579067260913945792662609140457956626091404579778260913945799912610138458019226101384580392261013845805922610138458079226101394580992261013945811922610139458139226101394581592261013945817922610139458199226101394582292261013945824922610140458269226101404582891261014045830902611140458329026111404583490261114045836902611140458388926111404584089261214045841892612140458428926121404584389261214045844892612140458468926131404584789261314045849792613140458516926131414585268261314245854682613141458566826131414585769261314145858692614141458596926141414586069261514145861682615141458626826151414586468261514145865682615141458666826161404586868261613945869682616139458706826161394587268261613945874682616139458766826161394587766261613945878652616139458806526161394588165261713945882652617139458836526171394588465261713945885652617139458866526181394588765261814045888652618139458906526181394589165261813945892652619139458945826191394589551261913945896512619139458975226191394589853262013945899552620139459005526201404590156262013945902562620139459045626211394590556262113945906572621139459085726211394590957262114245910592622142459116126221434591262262214345914642622144459166426221444591764262214445918642622144459196426221444592064262214445921642622144459226426231444592364262314445924642623145459256426231454592664262314545927652624144459286526241434593065262414345931642624143459326426241434593463262514345935632625143459376326251454593963262514645941632625147459436326261474594463262614745946632626148459466326261484594764262614845948642626148459506526261484595265262614845953652626148459546626261484595566262714945956672627149459576726271494595866262714945959662627148459606526281484596264262814845964642628148459656426281484596864262814845970642629148459716426291484597264262914845974642629149459756426291494597664263014945977642630149459786426301494597964263015045980642630150459816426311504598264263115045984642631150459866426321504598764263215145988652633151459896526331514599065263315145992662633151459936626331524599466263415245995652634152459966526341544599764263415445998642634154459986426351554599964263515446002632635154460046226351554600562263515546006612636155460086126361554601061263615646012612636156460136126361564601461263715646015612637154460166226371534601863263715246020632637152460226326381514602462263815146025622638151460266226381514602662263815146027622639151460286126391514603061263915146031612639151460326126391514603360264015146034602640152460366026401524603760264115246038602641153460406026421534604160264215346042602642153460446026421534604460264215146045612643151460466126431514604862264315146050632643151460516326431514605263264315146053632643151460546326431514605663264315146058632643151460596326441514606063264415146061642644151460626426441524606364264415246064652645152460656626451504606666264515246067672645152460686726451514606967264615146070652646151460726426461514607263264615146073622646150460736126471504607361264715046074602647149460755926471494607658264714746077582648146460785726481464607957264814646080572648145460825726481454608358264914646084592649146460865926491464608760264914746088602649147460906026501474609160265014646092602650146460946026501464609560265014646097612650142460996226501424610162265014246103632650140461046426501404610566265014046106672650140461086826501394610968265013946110692650139461126826511394611368265114046114682651141461156726511424611767265114246119672652142461206726521414612268265214146124682652141461256826521414612768265314146129692653141461316926531414613369265314146136772653142461388626531424614086265314246143862653142461458626531424614787265314246150882653141461538926521414615690265214146158912652141461609126521414616391265214146166912652141461689026521414617090265214146172912652141461749126531414617691265314146178922653141461799326531424618093265314246182932653143461849326531444618593265314446186772653146461876126531464618861265414646190612654145461926126541444619361265414446194602654142461966026551414619860265514146199602655141462027426551414620489265514046206892656140462078826561404621088265614046212882656140462148826561404621688265614046218882656140462208926561404622290265614046223902656140462259126571404622791265714046228912657141462299126571424623091265714246232912658142462349126581424623691265814246237912658141462389126581414623978265814146240662658141462426626591414624366265914146246662660141462486626611414625066266114146252662661141462547826611414625690266114146258912661141462599226611414626292266114146264922661141462669126611414626891266114146270912661141462719126611414627291266114146274912661142462769126611424627791266114246278912661142462799126621424628088266214246281862663142462837326631414628560266314146286592663141462885926631404629059266414046291602664140462926026641414629460266414146295602664141462966026651424629760266514346298602665143462996026651424630060266514246301612666142463026126661424630361266614246304612666142463056126661444630661266614446308612666144463096126661444631061266614446312612666144463136126671444631461266714346316622667143463176326671424631864266714146320652668141463226526681404632466266814046326662668140463286626681394633078266913846331912669137463339126691364633591266913646336912669137463389126691364634080266913646341692669135463426926691354634369266913546344692670135463466926701364634769267013746348692670137463506926701374635269267013746354692670137463556926701374635669267013846358692670141463580267014146360026701414636102670140463620267013946363026701394636402670139463650267013946366342671139463686826711394636968267114046370682671140463726826711404637367267214146374662672142463766626721424637866267214246379662672144463806526731444638265267314446383652673144463846526731434638665267314346387652674141463886526741414638965267414146390662674140463926726741404639467267414046395672674140463966826741404639868267414146399682674141464006926741414640269267414146403692674141464056926751404640769267514046408692676140464106926761404641269267614046413692676140464146926761404641669267613946418692676138464196926761384642069267613846421692676138464226926761384642469267613846426692676138464276926761364642869267613546430692677135464316926771344643269267713346433692677131464346926771304643569267813046436692678130464366826781294643768267812946437682678129464376826791294643768267912946437682679129464406826791274644268267912746443672680127464446726801264644666268012646447662680126464486526801264645064268012646452642680126464536426801264645463268012646456632680126464576326811264645863268112646460632681127464626326811274646463268112746465632681127464666326811274646764268112746468642681127464706426811274647164268212746472642682127464726426821274647364268312746474632683128464756326841284647663268412846478622684128464796226841284648061268412846481612685130464826126851304648361268513046484602685131464866026851314648760268513146488602685132464906026851324649060268513246491612685132464926126851324649461268513046496622685129464976226851294649862268512946498622686129464996226861304650062268613046501622686130465026226861304650462268713046505622687130465066226871294650862268712946509622687128465106226881284651162268812846512622688128465146226881284651562268812946516622689129465176226891294651862268912946519632689129465216326891304652363269012946524632690129465256326901294652663269012546528632690125465296326911244653063269112446531622691124465326226921234653262269212346532622693123465326226931234653262269312346534612693123465376126931234653861269412446540612694124465426126941264654361269412546543612694124465436126941244654560269412446547602694124465485926941244654959269412446550592695124465505926951244655059269512446550592696124465505826961244655058269712546552582697125465545926971254655658269712646557582697126465585826981264656057269812746562572698127465645726981264656557269812646566562698126465685626981274656955269812746570552698127465725526981274657255269912746573552699127465745526991274657655269912746576552699127465775527001274657855270012746579552700127465805527001274658155270012746582552701127465825627011274658356270112746584572701127465865727011274658758270212746588592702128465906027021284659160270212846592602702128465945927031284659559270312846596582703127465965827031274659857270312746599572704127466015727041274660357270412746604572704127466055727041274660858270512746610582705128466125927051294661360270512946614602705129466156027061294661761270613046619632706130466206327061314662264270613146623642707131466246527071314662566270713146626672707132466286827071324662968270713246630692707132466326927071314663469270713046636692707130466386927081304664070270813046641702708130466427027081304664370270813046644702709130466456127091304664652270913046646522709130466475227091304664852271013046649522710130466505227101304665152271013046653522710130466555227111294665652271112946658522711129466605227111294666253271112946662532712130466635327121304666453271213046666532712130466685327121304666953271213046670532712130466725327121304667453271213046675532712130466765327121314667853271213146679532712131466805427131324668254271313246683552714132466845627141324668556271413046686572714130466885827141294669059271412946691602714129466926127141294669361271412946694622714129466956227151284669662271513146697622715131466986227151314669961271513246700612716132467016127161324670260271613146703602716131467046027161304670660271613046708602716130467095927161304671060271613046712602716130467146127161304671561271613046716612716130467186227161304672062271613046722622717130467246227171304672562271713046726622717130467276227171304672861271813046729612718130467306127181284673061271812846732612718129467336127191284673461271912846735612719128467366127191274673761271912746738612720127467406127201274674261272012746743612720127467446127201274674461272012746744612720127467446127201274674462272012746744622720127467466227211274674963272112646751632722126467536327221254675463272312546756632724125467586227241244675962272412446760612724124467616027241244676259272512446763582725122467645827251234676558272512446766582725123467685827261234676958272612146770582726121467705827261204677158272612046771582727120467715827271204677359272712046775592727120467765927271214677660272812246777602728122467786027281224677960272812246780602728122467816027291224678260272912046784602729120467856127291204678661272912046787612730120467886127301204678962273012146790622730121467906227301214679162273112246792622731122467946127311224679561273112246796612731122467976127321224679761273212246797612732122467976127321224679761273212246799612733122468016127331204680261273312046803612733119468046127331184680561273311746806612733117468076127331184680862273411846809632734119468106427351194681165273511946812662735119468136627351194681567273511946817682735118468206827351174682267273511646824672736116468266727361164682867273711646830672737116468326727371164683367273711646834672737116468366727371164683867273711646839672737116468406727371164684267273711646844662738116468456627381164684666273811646848662738116468506427381154685163273911546852622739115468536227391134685462273911346854622739113468566227401134685762274011346858622740113468596227401134686061274011346862612741114468636127411134686461274111346866612741113468676227411134686861274211346868612742113468696127421134687060274211346871602742113468725927431134687460274311246875602743112468766027431124687760274311346878602744113468795927441134688059274411346882592744113468845827441134688558274511346886582745113468885827451144689058274611446891582746114468925827471144689358274711346894582747114468965927471154689859274711546899592748115469005927481154690260274811546902602748115469036027481154690459274811546905592748115469065927481154690759274811546908582748115469105827491154691258274911646913582749116469145827491164691558274911646916592749116469186027491174691961274911546920622749115469226327491144692363275011346924642750113469266427501124692865275011246930662750112469316627511124693267275111146934672751111469356727511114693666275111146937662752111469386527521124693964275211246940632753112469416227531124694161275411246941602754112469415827541124694157275411246941562754112469415527541124694453275411246947522754112469485027541124695049275411246952492754112469534827541124695448275411246956482754112469584827541124696148275511346963632755114469657827551144696880275511446970812755114469728227561144697583275611446977852756115469798827561164698290275611646984912756116469869127561174698892275611746990912756118469939127561184699691275711846998912757120470009127571214700391275712147006912757121470089127581214701091275812147012922758121470149127581224701691275812447019912758124470229127581254702491275812547027912758125470299127581264703192275812747034922758127470369227581274703892275812847041922758128470449227581274704692275813047048922758131470509227581314705292275813347054922758134470569227581364705992275813547061922758135470639227581354706592275813547067932758135470709327581364707293275813747074932758137470769327581374707893275813747081942758137470849427581374708694275814047088932758140470909327581404709393275814047096932758140470989127581404710190275814047103892757140471058927571404710888275714047111882757140471148827571404711688275614047118892756140471219027561414712490275614147126902756141471299027551404713290275514047134892755140471378927551404714089275514047142902755140471449027551404714791275514347150922755143471529327551434715592275414247158922754142471609127541424716391275414247166912754142471689127541424717091275414247173912754142471769127541424717892275414347180922754143471829227541434718492275414347187922754143471889127541424719091275414247191912754142471929127541414719391275414147194912754141471958827541414719685275414147196852754136471960275413547198027541354720102754135472020275413547204027541354720602755135472070275513547208292755135472095927551354721061275513547212632755135472136327551354721464275513547216632755135472186327551354721963275613547220632756135472226227561354722362275613547224612756133472266127561334722860275613347229602756133472305927561334723259275613347233582757133472345827571334723658275713347238592757133472395927571334724059275713447242592757133472455927571314724776275713147249932757131472519327571294725393275712947255932757129472579327571304726093275713047262932758131472649327581314726693275813147268932758132472699427581324727094275813247272942758132472749427581324727694275813247278942758132472799427591334728092275913347282912759133472828027591334728269275913347282692759133472826927591324728369275913247284692759132472856927591324728669276013247288692760132472896927601324729068276013247292672760133472946727611334729567276113347296672761133472976727611324729866276113247299662761132473006627611314730166276113147302662761131473046627611314730565276213147306652762131473076427621314730864276213147310642762131473116427631314731264276313147313642763130473146427631284731664276312647316642763125473176427631254731864276312447320642763124473216427631234732264276412347323642764122473246427641224732564276512247326642765122473276427661224732864276612247329642766121473306427661214733263276612047333632767121473346327671224733563276712347336632767123473386327671234733964276812247340652768122473426427681224734364276812347344642768123473456427681234734663276812347347632768123473486327681234735063276812347352632769123473536227691234735462276912347355622769123473566227691234735762276912347358622769123473606227691234736162276912347362632769123473636327701224736464277012247366642770122473686527701224737065277012247371652771122473726527711224737466277112247376662771122473776627711224737866277212247379662772122473806627721224738266277212247383652772122473846527721224738464277212247385642772122473866327721214738662277212147387622773121473886127731214738961277312147390602773121473926027731214739360277412147394592774122473955927741234739659277412247398602774122474006027751214740161277512147402612775121474046127751204740661277512047407622775121474086227751204741063277512047411632775121474126327751224741463277612247415642776121474166427761224741764277612247418642776122474206427761234742264277612447423642776124474246427771244742664277712447427642778124474286427781244743063277812447431632778124474326327781244743363277912447434622779124474346227791244743662277912447437622779124474386227801244743963278012447440632780124474426427801244744364278012447444642781124474456427811244744664278112447448642781124474496427811244745064278212347450642782123474516327831234745262278412347452612785123474526027861234745459278612347455582786123474565727861234745756278612347458562787123474595627871234746056278712347462562788123474645627881234746556278912347466562789123474685727891234746957278912347470572789123474725727891234747358278812447474582788124474765927881244747860278812447479612788124474806227881244748163278812447482632788124474836427881244748464278912447486652788124474876527881244748865278812447489642788124474906427881244749164278812447492642788124474946327881204749563278811947496622789119474986227891194749962278911847500622789118475026227891184750362278911747504612789117475066127891194750761279011947508612790119475096127911204751061279111947511602791119475126027911194751360279112047514602792120475165927921204751759279211847518592792117475196027921164752060279311647521602793116475226027931164752360279311647524602793115475246027941154752560279311547526602793115475276027931154752860279311547530602793115475315927931154753259279311547533592793116475345927931174753659279411647537592794116475386027941164754060279411647541612794116475426127951164754362279511747544642795117475456527951174754666279511747548672795117475506727951174755168279511847552682795117475546827951164755568279511647556672795116475576627951164755866279511647559652795116475606427961164756163279612047562622796124475646227961254756562279612547566612796127475676127951274756860279512647569602795127475705927951274757259279512747574592795128475755927961284757659279612747578592797127475795927981274758059279812747581592798126475825927991264758359279912647584592800126475855928001264758659280112547587592801124475885928021244758959280312447590592802123475925928021234759359280112247594592801122475945928011224759659280112147597592801121475985928011214759959280112147600592802121476015928021214760259280212147604592802121476056028021224760660280212247608612802123476096128021234761061280212447611612802124476126128021244761461280212047615612802120476166228021204761762280211847618622803117476196228031174762062280311747621622803117476226228031184762262280411847623622803118476246128031184762561280311847626612803118476276128031184762860280311947629602803119476306028031194763060280312047631602804120476326028041194763360280412047634602804123476366028041274763760280512747638592804127476405928041264764259280412647643592804125476445928041244764659280412347647592804123476485928041214764959280412047650602804119476516028041204765260280411947653602804119476546128041204765561280512047656612805120476576028051194765860280611947660602806118476616028071184766259280711747663592807117476645928071164766559280711647666592808116476685928081154766959280811347670592809113476715928091124767259281011247674602810112476756028101124767660281011247677612810112476786128111144767961281111447680612811114476816228111154768262281111447684622812114476856228121144768662281311447687622813113476886228141134768862281511347688622815113476886328151134768863281511347690632815113476926228151134769462281511347695622815114476966128161144769761281611447698612817114476996128171134770061281711447701612817114477026228171144770462281811547704622818115477056228181164770662281811647707622818116477086228191164771062281911647710612819115477116128191154771261281911347714602820112477145928201124771559282011247716582820111477185728201114771956282111147720562821111477215528211114772255282111147724552821111477255528221104772755282211047729552822110477315528221104773355282211047734552823110477365628231104773756282311047738562824110477405628241104774157282511047742572825109477435728251094774458282510947745592825109477465928261094774859282610947749592826108477505928261074775159282610747752592827107477545928271074775559282710847756592828108477575928281084775859282910847760602829108477626028291084776361282910847765612829107477676228291074776863282910747770642829107477726428301074777364283010747774632831107477756328311074777663283110747777632831107477786328311074777964283210747780642832107477826428321054778364283210447784642832104477866428331044778764283310347788642833104477896428331054779163283310547793632834105477946328341044779563283410447796632834105477976328341054779863283510547800632835104478016328351044780263283510447804632835104478056328361044780662283610447808622836104478096228361024781063283610247811632836102478126328361024781363283610247814632836103478166328361044781763283710447818632837103478196328371034782063283710347822632837103478236228371054782462283710547826622837105478276228371044782862283710447830622838103478326228381034783363283810347834632838103478366328381044783763283910447838632839104478406328391034784163283910347842632839103478426428401034784364284010347844642840103478446428401034784564284010347846642840103478476428401034784964284010347851642840103478526428401024785464284110147856652841101478576528411014785865284110147859662841101478606628411014786166284110147862662841100478626628421004786365284210047864652843102478666428431014786764284310147868632843994786963284397478690284397478690284397478710284497478730284496478742528459447874512845944787551284593478765128459347878512845924787952284692478805328469347881532846934788253284694478845428469447885542847944788655284795478875528479547888562847954789056284795478915628489547892572848954789357284895478955828489547897602848954789860284995479006128499547901622849954790263284995479036328499547904642849954790564284996479066528499647908652850964790965285096479106528519647911652851964791264285196479146428519647916632851964791763285298479196328529847921632852994792263285299479246328529947924622852994792562285298479266128529847928612852984792961285298479306128539847931612853100479326128531004793461285310047935612853984793661285498479376128549847938612854974793961285497479406128549747941612855964794261285596479436128559647944612855964794561285596479466128569647948622856964794962285696479506228569647952622856964795362285796479546228579647955622857964795662285796479576228579647958622857964796061285796479616128579647962612857964796361285796479646128579647966622857964796763285796479686328579647970642857964797265285896479736628579647975662857964797767285796479786728579447980682857944798268285793479836928579347984702857934798470285793479867128589247987712858924798871285892479897228589247990702858924799269285993479936928599247994692859914799468285991479956828599147996672860914799767286090479986728619047999672861904800067286290480006728639048000672863904800067286390480026728648948003672864904800467286590480066728649048007672864904800867286490480096728649048010672864904801267286490480136728649048014662865904801565286590480166528669048018652866904802065286691480226528669248024652866924802565286793480266428679348027642867934802863286791480286328679148030622868914803162286891480326128689148033602868914803459286891480365928699148037592869914803859286991480405928699148041602869914804260287087480446128698748046622869874804763286987480486328698748049632869874805063286987480516328698748052632870884805363287087480546328718748056632871874805763287186480586328718648060632871864806163287186480626328708648064632870864806564287085480666528708548068652870864806965287086480706528708648070652871864807165287186480726528728648073652872864807465287386480766528738548077652874854807865287586480796528758648080652875864808165287687480826528768648083652877864808365287786480836528778648084652878864808665287885480886428798548089642879854809063287985480916228798548092612879854809361288085480946028808148095602880814809660288081480986028808148100602881824810161288182481026128818348103612881834810461288183481066128828348107612882834810861288283481086128828348109612882834811061288383481116128838348112612883844811261288485481136128848548114612885854811561288585481166128858548118622885854811963288585481206328858548122642885854812464288585481256528858548126652885854812865288585481296528858548130652885854813264288685481336428868548134642887854813564288785481366428878548137642887854813864288785481396428878548140642887854814064288786481416428878648142642887864814363288886481446328888648145632888864814662288886481476228888648148622889874814861288987481496128898748150612889864815161288986481526128908848152612890884815361289088481546228908848156612890884815761289188481596128918848161622891884816262289188481636228918848164622892884816662289286481686228928948169622892894817062289288481726228938848174632893884817564289389481766428938948177642893894817864289389481796528938948180652893894818165289390481826528939048183662894904818466289491481856628949148186662894914818866289491481896628949148190662894914819165289491481926528949148194642894914819564289591481966328959148198632895914820063289591482016328959148202632895914820463289591482056328959148206632895904820763289590482086328969048210632896904821164289690482136428969048215642896904821665289690482186628969148220672896914822168289691482226828969148224682897914822567289791482266728979148227672897914822867289789482296628978948230652897894823265289789482346528978948236652897894823765289889482386428988948239642898894824065289888482426728988848243672899874824468289987482466828998748247692899874824868289987482506828998348252682899804825368289982482546729008248256662900824825866290182482596629018248260652901814826265290282482636529028248264652903824826664290383482676429038248268642903814826864290381482696329048148270632904814827263290480482736429057948274642905794827665290679482786529067948279662906784828066290678482816629067848282662907784828366290778482846629077848284662907784828665290778482876529077748288642907764829064290776482926429077648293642907764829463290876482956329107348295029107348298029107348300029107348301029107148302029107148304029107148305029107148306302910714830861291070483106129117048311622911704831261291170483136129117048314612911704831661291269483176129126948318612912704832062291270483216329127048323632913704832563291370483266329137148328642913704833064291370483316529147048332652914694833366291468483346629146848335662914704833665291470483376529147048338652914694833965291469483406529146948341652914694834365291469483456529146948346652914694834865291469483496529156948350652915694835165291569483526529156748353652915664835466291568483556629156748356662915674835866291567483596629156648360652916664836164291665483626329166548363622916644836462291664483666229176448367612917644836859291764483705829176448371582917644837258291864483735829186548374582918654837558291864483765829186448377582919644837857291965483795729196548380582919654838259291965483845929196548385592919654838659291965483885929196548390592919654839159292065483925929206548393592920654839459292065483966029206548397612921654839863292165483986329216548399642921654840064292165484026429226548403642922654840465292265484056529226648406652922664840865292366484096529236648411652923664841365292366484146529236548416652924654841765292465484186529246648419652924664842065292466484226529256648423652925664842465292566484256529256648426652925664842765292666484286529266648429662926664843065292766484326529276648434652928664843564292866484366329286648436622928664843762292866484386229296648440622929694844162292973484426229297348443622929774844462293080484456229308048447622930814844963293081484506329308148452632930804845465293080484556629308048456672930804845767293081484586729318148460672931814846267293181484646729328148465672932814846667293381484686729338148469672933814847067293381484726729338148473672934814847467293481484766729348148477672935824847866293582484796629368248480662936824848166293682484826729368248483672936814848467293781484866729378148488672937804849067293780484916729378048492682937804849468293780484956829378048496672938794849667293879484966729398048497672939804849766293980484976629398048499662939804850165294080485026529408048503642940814850464294081485056329408148506622941814850761294181485086129418148510602941814851160294182485126029428148513602942814851460294281485166029428148517612942834851861294383485206129438348520612943834852162294383485226129438348523612944834852461294484485256129448448526612944844852861294484485306229458448532622945844853463294584485356429458448536642945844853864294684485396529468448540652946854854265294684485436629468448544662947844854566294784485466629478448547662947844854866294785485496729478548550672947854855167294785485526729478548553672947834855467294883485556729488348556672948834855767294883485586729488448559672949844856066294984485626629498448562652949844856365294984485646429508548565642950854856663295085485676329508548568622950854856961295085485706129508548571612950844857261295084485736129508448574612951844857661295184485786129518448579602951834858060295184485826029518448583602951844858460295184485865929528548587592952844858859295385485896029538548590592953854859159295385485925929538548593592954854859459295485485956029548548596602954854859760295485485986029558548600602955854860160295585486026029558548604592955854860559295685486065929568748608592956854860959295685486105929568548611602956874861260295688486126029568848613602957884861460295788486156129588848616612958894861761295889486186129589048619612958904862061295891486216129589148622612958924862461295892486266029589248627602959934862860295996486306129599648631602959974863260295998486346029601014863560296010248636612960102486386129601024864062296010448641622960105486426229601064864362296010748644622960107486456229601084864663296110948647632961108486486329611094864963296211148650632962111486516329631104865263296311048654632963110486566329631104865763296311148658632963111486606329631114866163296311148662632963111486636329631114866463296411148666632964111486676329651114866862296511148669622966110486706229671104867262296710948674622967109486756229671094867662296710948676632967109486776329671094867863296710948679632967109486806329671094868163296810848682632968108486846329681094868563296810948686642968109486886529691094869065296910948691662969109486926629691094869466296910948695662970109486966629701094869866297010948699672970109487006629701084870266297110848704652971108487066529711084870765297110848708652971108487096529711084871065297110848711652971108487126529721084871365297210948714652973110487156529731104871666297311048718652973110487196529731104872065297310948721652973109487226529731094872365297310948724642973109487256429741094872663297411048726632974110487276329741104872862297411048730612975110487316129751104873261297511048733612975110487346129751104873561297611048736612976110487376129761104873861297611048740612976110487416129771104874261297711048744602977111487456029771134874760297711248749602978112487505929781124875159297811348752592978113487545929781134875559297911348756602979113487576029791134875860297911348760602979113487616129801104876260298010948763602980108487646029801084876660298010848768602981108487696129811094877061298110948771622982109487726229821094877362298310948774622983109487766329841104877764298411148778652985111487796529861114878066298611148782652986111487836529861114878465298611148785652986111487866529861114878865298611148789652987110487906529871104879065298811048791652988110487916529881104879165298811048791642988110487916429891104879464298911048796632989110487976329891114879862298911148800622989111488026229891114880362298911148804632989111488066329891114880763299011148808632990111488096329901124881063299011248811632990112488126329901134881363299011448813632990114488136329901154881463299011648816632991116488186329911164881963299111648820632992116488226429921164882464299311648825642992116488266429921154882864299211548829652992115488306629921154883266299211548834672992115488366729921154883768299211548838682993115488406829931154884168299311648842682993116488446829931164884668299411648848682994115488496829941154885068299411548851682994115488526829941164885469299411548855692994116488566929941164885769299411648858692995116488596829951164886068299511648861682996116488626829961164886467299711648865672997117488666729971174886867299711748869672997116488706629981154887166299811548872662998114488736629991144887466299911448875653000114488766529991144887764299911448878642998115488806329981154888162299811548882622998115488836229981154888462299811548886622998115488876229991154888862299911548888622999114488886230001144888861300011448888603001114488906030011154889260300111548894603001115488956030011154889659300211848898593001121488995930011224890060300112448901603001124489026130011244890461300012548905613000126489066130001264890861300012548910603000124489126030001244891360300012448914603001124489165930011244891759300212448918593002124489205830021244892258300312448923583003124489245830041244892659300412448927593004125489286030041254892960300412648930613005126489316230051274893264300512748933643005130489346530051304893665300513148937663005131489396530051314894165300513148942653005132489446630051324894666300513248948663005134489496630061344895067300613448952673007134489536830071354895468300713548956683007135489586830071354895968300713448960683007134489626830071344896368300713548964683007135489666830081354896768300813548968683008135489686830081354897067300813548971673009136489736630091364897566300913648977653010136489796530101374898065301113748982643011141489846430111424898565301114248986653011142489876630111414898866301114348990663011143489926530111424899365301114248994653012142489966530121384899764301213748998643012137489986430121364899963301213649000623012136490026130121384900361301213849004623012139490046230131384900562301313849006623013138490076230131384900862301313849010623014138490126230141384901362301413849014623014138490166330141384901864301513849019653015138490206530151404902166301514049022673015140490246830151404902668301514049027693015139490286830161394902968301613949030673017138490326630171374903466301713749035663017137490366630171374903766301813749039663018137490416630181374904266301813749044673018138490466730191384904768301913849048683019138490496830191384905067301913849052673020138490526730201384905367302013849054673021138490556730211384905667302213849058673022138490606730221384906167302313949062673023139490646730241394906566302413949066663024138490686630241384906966302413749070663025137490706730251374907267302513649073673025135490746730251354907668302513549078683025134490796930261324908070302613149082713027131490847130281314908571302713049086713027131490887030271314909070302713149091703027130490926930261304909469302613049095673025132490966530251324909864302513249099643025132491006430261324910264302713249104643028132491056430291324910664302813249108633028132491106430281324911164302813249112643028132491136430281324911464302813249114633029132491156330291324911664303013249118653030133491196630301334912166303013349123663030133491246630301324912667303013249127673030132491286730311324913068303113249132683032132491336830321324913468303213249136673033132491376730331324913867303413249139663034132491406630341324914166303413149142653034131491436530341314914464303413149146643034131491476430341294914864303412949150643035129491516430351284915263303512849152633035128491546230351284915561303612849157613036128491596130361284916060303612949162603036129491636030361284916460303612849166593036128491675930371304916859303713049169603038130491706030381304917261303812849173613039128491746130391324917561304013249176623040132491776230401324917862304013249179613040132491806130411324918260304113249185603041132491866030411324918860304113249190613042133491916130421344919262304213449193633042137491946430421384919564304213849196653042138491976630421384919866304213849200663042138492016530431374920265304313549204653043134492056530431334920665304313349208653044132492106530441314921165304413249212653044132492136530441324921465304413349215653044133492166530441334921765304413349218643044134492196330451344922063304513549220633045136492206330451374922062304513749220613045137492206030451374922159304513649222583045136492225830451364922358304613649224583046136492255830461364922658304613649227583046136492285830461364923059304613649231593046136492326030461364923359304613649234593047136492355930471364923659304713649238593047135492395930471354924059304713449241593047133492425930471344924460304713449244613047134492456330481344924663304813549246633048135492486330481354924963304813149250633049131492516330491294925263304912749254633049125492566330491254925763305012549258633050125492606330501244926063305012249260643050123492606430511244926064305112449262643051124492646430521234926664305212349267643053121492686330531224926963305312149270633053121492726330531194927463305311949275633053119492766330531194927663305311949278633053119492796330541194928063305411949282623054119492846130541204928561305412049286603055120492876030551204928859305512149289583056121492905730561214929257305712249294573057122492955730571224929657305712249298573057122492995730571224930057305712249300573057121493005730571214930257305712149305573058121493065730581214930758305812149308583058120493095830581204931058305812049311583058118493125730581204931357305912049314573059121493155730601214931657306012149318573060120493195730601204932058306012049322583061121493235830611214932458306112149325583061119493265830611184932658306211849327583062117493285830621194932858306212049328583062120493305830621204933157306212049332553062120493345430621204933553306212049336523063120493385030631204933948306312049340483063120493404830631204934246306412049343453064120493444330641204934542306411849346423064117493484230641184935042306411949351423064119493524230641194935342306411949353423065120493534230651204935342306512049353423065119493544230651194935643306611949357433066117493584330661164935943306611549360433066115493624330671154936343306711549364433067115493654430671154936544306711349365453068114493654530681144936545306811449366453068114493684630681144936846306911549368473069116493704830691164937249306911649373493069116493745030691164937551306911749376533069117493775330691174937853306911749379533070117493805430701174938254307011749383543070117493845530701174938656307111749387563071117493885730711174939058307111749391583071117493925930721174939461307211749394613072117493946230721174939463307211749394643072117493986430721174940164307311749402643073117494036530731174940464307311749406643073117494076430741174940865307411749410653074117494116530751174941265307511749414663076117494156630761174941667307611749418673076117494196730761174942067307711749421673077117494226730771164942467307711649425663077116494266630781164942766307811649428663078117494296530781174943065307811849432633079118494336230791194943462307911949435613079119494366130791184943760308011849438603080118494386030801184943959308011849440583080118494415830801184944258308011849443583080118494445830801194944558308011849446593080118494485930801184944960308011949450603080119494516030801194945260308111849453613081118494546130811184945561308111649456623081116494576230821164945863308211649460633082118494626330821204946364308212049464643083121494666430831214946764308312149468643083121494696430831214947063308312149472633083122494736230831224947462308312049476623083120494786230841184947962308411849480623084118494826230851184948462308511849485623086119494866230861204948862308612049490623087124494916230871274949263308812849494633088129494956330881294949663308812949498633088129495006330881304950263308813049503633088129495046330891294950563308912949506633090129495076330901294950863309012949510633090126495126330901264951363309112449514633091123495146330911204951463309112049515633091119495166230921194951762309211949518613092119495196030921194952060309212049522593093120495245930931204952559309312049526583094120495275730941204952857309512049530573094120495315630941204953256309412149533563094119495345630941194953556309411849536563094117495375630941174953857309411749540573095117495415830951174954259309511749544603095117495466130951174954762309611749548633096117495506430961164955264309711649553653097116495546530981164955565309811649556643098116495586330981154955963309811549560633099115495626330991154956363309911549564633099115495656330991154956663310011549568633100115495696231001154957062310011549571623100115495726131001154957361310011349574613100113495766131001124957761310011249578613101112495796131011124958061310111249581613101112495826131011124958361310211249584613102113495856131021134958761310211349589623102113495906231021134959163310211349592633102113495946331021134959563310211349596633103113495986331031134959963310311449600633103114496016331031134960262310311349604623103113496056231031134960661310311349608613103113496096131041134961061310411349611603104113496126031041134961460310411449615603105114496166031051144961760310511449618603106114496196031061154962060310711449622603107114496236131071144962461310711449626613107114496286231081144962963310811349630633108113496326331091134963464310911349635643110113496366431101134963865311011349639653111113496406531111134964264311211349644643112113496456431121124964664311211149646643112111496476531131124964864311311249649643113112496506431131124965264311311249653633114112496546331151124965563311611349656633117113496576331181124965863311911049660633119109496626331191094966463311910949665643119110496666431201104966864312011049670643120110496716431201104967265312010949673663120108496746631191084967666311910849678663119107496796631191074968066311910749681663119107496826631191074968266311910749684663119108496856631191084968665311910849688643119108496906431191074969164311910749692643120107496936531201074969565312010749697653120107496996531201074970165312010749702663120107497036631211074970466312110749705673122107497066731231054970667312310549707673123105497086731231054970967312310549710673123105497106631231064971165312310649712643124106497136331241074971462312510749715623125107497166131251074971761312510449718603125104497196031261034972059312610349722583126103497225731261034972357312610149724573127101497255731271014972656312799497275631279849728563127994972956312799497305531279949732553127100497345431271014973554312710149736543127101497375431271014973855312710149740553127103497425531271044974355312810449744563128104497465731281044974758312810449748583128106497495931291064975060312910649752623129106497536331291064975463312910749755643130107497566331301064975863313010649759633130107497606331301074976162313110749762613131107497636131311074976460313110749764603131107497655931311074976659313110849768583131109497695831311094977058313110949772593132109497736031321094977460313210949775603132109497776031321094977960313210949780603132109497826031321094978461313310949786623133109497876331341134978864313411749790643134120497916531341204979265313412049794663135119497966531341194979765313411949798653134119498006431341194980264313411949803633134118498046331351184980563313511949806633136119498086331371194981063313711949811643137119498126431371194981465313711949816653138119498176531381194981865313811949820653138119498216531381194982265313811949823643138119498246431381194982563313811949826633138117498276231391174982862313911749828623139117498296231391174983062313911749830623139117498326131391184983461313911849835613139118498366131391184983861314011849839613140118498406231401184984262314011849844623140118498456231411194984662314111949848623141120498506131411194985161314112049852613142120498536231421204985461314212049855613143120498566131431204985660314412049858603143120498595931431194986059314311849862593143117498645931431174986559314311749866583143117498675831431164986858314311649869583144117498705831431174987158314311749872583143117498735831431174987458314311749875583143117498765831431174987858314311749880593143117498816031441174988260314411749884603144117498866031441154988760314411649888593145116498895931451164989159314511649893593145116498945931451164989559314611649896583146116498985831461164990058314711649901583147116499025831481154990358314811549904583148115499065731481154990857314811549909573149115499105631491154991156314911549912563149115499135631491154991456314911549915573149115499165731491154991657314911549917583149115499185831501154992059315011549921603150114499226031501144992461315011349925613151113499266231511134992662315111549927623151114499286231511144992962315211449930613152114499326131521144993361315211449934613152114499366031531144993760315311449938593153114499405931531144994259315311449943593153114499445931531144994559315411449946583154114499485831551144994958315611449950583156114499515831561144995259315611449954593156114499556031571144995660315711449957613157114499586131581144996062315811449962633159114499636331591144996464315911449965643159114499666331591124996663315911249967623159112499686131591124996961315911349970613159113499716131601124997260316011249974593160112499755931601114997658316011149977573160111499785731601114997957316011149980573160111499825731601114998256316011149983563160111499845631601114998556316011149986563160111499865631611084998756316010949988563159109499895631591104999056315811149992563158111499935631591114999457316011049996573161110499975731621104999858316311049999583163110500005931631105000259316411050003593164110500045931651105000560316411050006603163110500076031631115000860316211150010603162111500116031621115001261316310950014613163109500156231641085001662316510750017633165108500196331661085002163316610850022633167108500236431681085002464316810750026653168107500286531681075003065316810750031643168107500326431681075003364316810750034643169107500356331691085003663317010850038643169108500396431681085004064316710850041643166108500426431651085004364316510850044643165108500466431651085004863316510750049633165107500506331651075005163316610750052633167107500546331681075005563316910750056633169107500576331691075005863316910750060633169106500616331691055006263316910550064633169105500646331691055006463316910550066633169105500686231681055007062316710750071623166108500726231651105007461316511050075613166110500766131671105007861316911050079623170111500806231721115008263317111150083643170111500846531701115008665316911250087653169112500886631691125009067316911250092673170113500936731701135009467317111350095673171113500966731721135009766317211350098663173113500996531741135010065317311350101653173114501026531731145010365317311450104653173113501066531721125010765317211250108653172112501096531721125011065317211250111653172112501126531731125011465317311150115653174110501166431751105011864317511050120643175110501226431751105012464317511050125653176110501266531761105012766317711050128663177110501306631781115013166317911150132673179111501346631791115013566317911150136663179111501386631791105014066317911050141663179110501426631801105014466318011050145663181110501466631811105014866318111050149663181110501506731811105015167318111050152673181110501536731811105015466318111050156653181110501576431821105015864318211050160633182110501616331821115016263318211150164623183111501656231831135016663318311350168633183112501696331831125017063318411450171633184114501726331841155017364318411550174643184115501756531841165017664318411650178643184116501786431841175017964318411750180643185116501816431851165018264318511650183643185116501846331851165018663318511650187623185116501886231861165019062318611650191623187116501926131881165019460318811650196603188116501976031881165019860318811650199603188116502006031881175020260318811750203603189118502046031891185020560319011850206603190118502086031901175020960319011750210603190117502126031911175021360319111750214603191117502155931911175021659319111750217593192118502185831921185021958319311850220583193118502215831941185022259319511850223593194118502245931941185022559319411850226593194122502275931941265022860319412750230603194127502316131951265023261319512650234613196125502356031951265023660319512650237603195127502386131951285023961319512850240613195129502416131951295024261319612950244613196129502456131971295024662319612950247623196129502486331961295024964319613050250643196130502516431961305025264319612950254643196129502566431961295025764319713050258643197131502606431971315026264319813150263643198131502646531991315026665319912950267653199129502686531991295027065319912750271653199127502726531991275027365319912650274653200125502766632001255027765320112550278653200125502806532001245028264320012450284643200124502856432001245028663320012650288633201125502906332011255029163320212550292633203125502946432021255029564320212450296643202124502986532021245029965320212450300663202124503026632021245030466320212450305673202125503066632021255030866320212550309653202125503106532031255031164320312650312643204125503136432041255031464320412350315643205123503166332051235031763320612350318633205122503206332051225032163320412350322633204123503246332041265032563320512650326633206126503266332071265032663320812750326633209127503266332091265032863320912650329623209126503306232091235033162320912350332623209123503346332091215033563320912150336633209117503366332101175033663321011750338633210117503396432101175034064321011850342643211118503436432111195034465321111750346653211117503476532111175034865321211750348653212117503486532121175034965321311750349653213117503496532141175035265321411750354643214119503566432151195035764321511950358643216119503586432161195036064321611950361633216118503626332161185036363321611850364623216118503666032161195036658321711950367573217119503685632181195037055321811950371553218119503735432181185037554321811950376553219119503765632191205037757321912050378583219120503795832191205038058322011750382583220116503835932201145038459322011350385603220113503866032201135038661322011350387603220111503886032201105039060322011050391603221110503916032211095039160322110950391603221109503916032211095039259322210850394583222108503955732221075039656322310750398553223108503995532241085040054322310850401543223108504025232231085040451322310950406503223108504084932231085041048322410850411463225106504124632261055041345322710450414453226104504164432261045041844322610450419443226105504204332261055042243322610550424433226105504254332261055042642322610550428423227105504304232271055043142322710550432423227105504334232271055043442322810550435423228105504364232281055043842322810550439423228105504404232281055044142322810550442423229104504420322910450444032291045044603229104504470322910450448032301045044903230104504500323010450451032301045045203230104504540323010350455032301035045632323010350456653230103504576332301035045861323110350460623231103504616232311035046262323110350463633231103504646332311035046563323110350466623231103504686132311035046961323110350470613232103504726132321035047361323210350475613232103504776132321035047862323210350480633232103504816432321045048265323210450484663232104504856632321045048666323210450487663232104504886632321045049065323210450491653232104504926432321045049364323210450494643232104504966432321045049764323310450499643233104505016532331045050265323310450504653233104505066432341045050764323410450508643234104505096432341045051064323410450512643235104505136432351045051464323510450516643235104505176432351055051864323610550520633236105505226232371055052361323710550524613238105505266132391055052761323810650528613238106505306232371065053162323710650532633237106505346432371065053564323710650536653238107505386532381075053965323910750540653239107505416532401065054265324010650543653241106505446532421065054665324110650547653241106505486532411065054965324110650550663241106505516532411065055265324110650554653242106505556532421065055765324310650559653243106505617832431065056391324310650565923243105505679232431055057092324310550572933243105505749332431055057693324310550578933244105505819332441055058393324410550585923244105505889232441055059093324410550592933243105505959332431055059793324310550599933243103506019332431035060393324310350604913243102506059032431025060679324310250608683244101506106832441015061168324410150612673245101506146732451015061667324610050617663246995061867324699506206732469950621683246985062268324799506236932479950624693247985062569324798506267032479850628703248985062970324898506307032499850631703249985063370325098506357032519850636703250100506377032501005063870324910050640703249100506427032491005064370324910050644703249100506467032491005064769324910050648693250100506496832501005065067325010050652663250100506536632501005065465325110050656643251100506586432511005066064325110050662643251100506636432511005066463325110050665633251100506666332511025066862325110250669623252102506706232521025067262325210250673623252102506746232521025067562325310250676633253102506786432531025068064325310250681653253103506826532531025068366325310250684663253102506866732531035068867325310350689683254103506906832541035069168325410350692673255102506946732551025069667325610250697673256102506986732561055069966325610650700663256106507026632571045070466325710450705673257104507066732571035070867325710350710673258102507116732581025071266325810250714663258102507156632581035071666325810350718653258103507196532581035072065325910350722653259103507246532601045072565325910450726653259103507276632591035072866325910350729663259102507306532591025073265325910250734653259102507356532591025073665325910250738663259101507406632591015074166325910050742663259100507436632601005074466326010050745663260100507466732601005074867326010050749673261100507506732611005075067326110050751673261100507526732611005075367326110050754673261975075567326197507566732619750758673261965076066326196507616632609550762663260945076466326094507666632609250767663260925076866326093507706632609350772663260935077366326093507746632609350776663260935077866326093507806732609350782663260935078366326093507866632609350788663260935079066326093507936732609350796843261935079910132619350802100326192508049932619150806983261925080897326192508109632619250812953261925081494326192508179332619250820923261935082291326093508249032609350827903259945083089325993508328832599550834883259955083689325996508388932599650841903259975084491326098508469332609950848933260100508509332619950852933261995085492326210150856913262101508599132621035086290326310450864893263105508668932641055086989326410650872903264106508749032651065087690326510750879903266107508819032661075088390326610850886913266108508899232661105089292326611350894923266113508969132661145089891326611350900913266114509039132661175090692326611850908923266118509109232661185091193326611950913933266119509159332661185091793326612250919933266122509229332661235092493326612350926933266123509289432671235093094326712350932943268123509349432691255093594326912650936943269126509379432691275093892326912750939903269127509407732681295094165326713050942653267129509436632661285094666326612950948663266129509507932661295095293326613050954923266131509579132661315096091326513250962923265132509649232651345096692326513450968933265134509719432651345097395326513450975963265134509789632651345098096326513450982963265135509859632651355098795326513650989943265136509919432651365099394326413650996943264136509989432641365100094326413651002953264136510049532641375100695326413751008943264137510109432641375101294326413751014943263138510169432631385101794326313851018943263138510209432631385102179326313851022643263138510246432631385102564326313951026633264138510276332641385102863326413851029633264138510306332641385103163326513851032623265138510336232651385103461326513851034613265138510346132651385103560326513851036603265138510376032651385103860326513851039603266138510404932651385104039326513851040193265138510410326413451041032641345104103264135510443732641355104675326413551047753264135510487532641355105073326413551051713264135510527132631355105471326313551056713263136510577132631355105871326313551059713262135510607032621355106270326213551064703262135510657032621355106670326213551068703262135510707032621365107369326213651076693262136510786932611365108083326113651082983261136510849932611355108710032611355109010132601355109210232601355109410232591355109610132591355109810032591365110110032581365110498325813751106973257138511089632571385111196325713851112953256138511149432561385111494325513851114943255138511159332551385111693325413851117923253140511189132531405112091325214051121913252139511239132511395112591325114051125923250140511259332501405112793325014051129943249140511309332481405113293324814051134933247140511369332471415113892324614151139913246141511419032451435114390324514351145903245143511479032441435114990324414351151903243143511529032431445115391324314551154913242145511569232411455115892324114351159923240143511609232401435116192323914451162923238144511639232381445116492323714451166923237144511679232361445116892323614451168913233144511689032331445116845323214451168032321445116803231143511680323114351170503231143511711003231144511721003231144511731003231144511749932311445117699323114451178993230144511801003230145511821003229145511831013229144511841013229144511851013228144511861003228144511881003227144511899932271445119099322714451191993226144511929932261445119299322614451193993226145511949932261465119599322514651196973225146511989532241465119995322414651200953224146512028532231465120376322214651204773222144512057832211445120680322114451208813220144512108332201445121184321914451213843219144512158432191445121684321814351218853218142512188532171425121885321714251220863217142512218732161425122489321614251226913216142512289232161425122994321614351230943215142512319532151425123296321414251234963214142512369432141425123793321314351238933213143512389332121435124094321214351241953212142512429532111425124496321114151245963211141512469732111405124897321114051249973210140512508832101385125179320913951252803209139512548232091395125684320813951258863208139512608632071395126187320713951262873207139512648732061395126586320613951266853205139512688532051405126985320514051271853204140512738532041405127486320314051276863203140512768632031415127686320214151279853202141512828532021425128485320214551285853202146512868432021485128883320214851290833202148512938332021495129684320215051298863201151513008632011515130386320115451305873201154513078832011545131088320015551313883200157513168832001575131988320015951321873200159513238731991605132687319916151328883199159513308831991595133289319915951334893198159513379031981605134090319816051343903198160513459031981625134791319716251348923197160513509331971615135294319716151354953197160513569531961585135895319615851360943196156513639231961565136492319615551366913195154513689231951545137093319515451372993195155513741063195155513761053195155513791043195153513821043195152513841043195152513861043195152513891043194152513911033193152513931013193152513959931921525139796319215251399943191153514019231911535140392319015251405913190152514069131901565140891318915651410913189160514119131881605141290318815951413903188158514149031871585141590318715851416903187159514179031871595141888318715851418873187158514198731871585142087318815851421853188158514228331891585142483318815851425843187158514269031871585142696318615851426953186159514279431851605142894318415951430943184160514319331831605143293318316151433933182160514349331821605143692318116051437913181160514389131811605143991318016051440803180160514426931791605144369317915951444703179159514447031771595144570317515951447713174158514497231721585145180317115751453883171157514568831711575145889317115651460903171155514629131711565146490317115651466893171156514688931711565146989317115651471893172156514738931711565147589317115651477893171157514808931711575148289317115751484893170157514879031691575149090316915651492913168156514949331681565149694316815651498943168156515019431681565150493316815651506933168156515089331671565151193316715651514923166156515179231661565151992316615651521923166156515249131661565152791316615551530913166155515329231661555153492316515551537923165155515409231641555154292316415551544913164155515479031631565154989316315651551893162156515548931621565155689316215551558893161155515608931611555156289316015551564903160155515669031601555156990315915551572893159155515748931591555157689315915551577893159155515808931581555158290315815551584913157155515869231571555158892315715551591933156155515949331561555159693315515851598933155157516009331551575160292315415751604923154157516079231541575161093315415751612933154156516149331531565161693315315651618943152156516209331521565162293315215651624933151156516259331511565162693315115651627933151156516288231511565163071315015651632713150156516337131501595163571315016051637713150160516408131491605164291314916051644923149160516469231491605164892314916051650923148160516529231471605165592314716051657913146160516599131461605166190314516051663903145160516648931451605166689314516051668883145160516708831441605167288314316051675883143160516788831421605168189314216051683893141160516858931411605168889314116051690893141160516928931411605169488314016151696883140163516988831391645169988313916451700883139164517018831381635170288313816351703883138163517048831381635170586313816351706853137163517087731371635170969313716351710693137163517127031371635171471313616351716723135163517187331351635171974313416351721753134163517237631331635172577313316351727793133163517308331331625173286313316251734893132162517359331321625173794313116251739953131162517429531311665174496313017051746953130174517489531301745175095313017551753953130174517569531291745175994312917351761943128173517639431281735176693312817351768933127173517709231261735177392312617351776923125172517799231251725178292312417251784923124172517869231241725178992312417351792923124173517949231231735179693312317351799933122173518029331221735180493312217351807923121173518109231211735181292312017351815923120173518189131201735182091311917151822913119171518249231181715182693311817151829943118171518329331171715183493311617151836933116171518399331151715184292311517151844923114172518479131141725185091311417251852913114172518559231141725185892311317551861933113177518649331121765186693311217451868923112174518719231111745187492311117351876913111174518799131111775188290311118151884903110181518879131101855189091310918751893923109187518969231091875189893310818551900933108185519039431081855190693310818451909933108183519129231071825191492310718151917923106181519209231061815192292310617951925923105179519279331051795192994310417951930943104179519309431041825193294310318251935943103182519389331031825194193310318251944923103182519479231021805195092310218051952913101180519559131011805195890310118051960903100180519639131001805196691309918051969913099181519729130991815197491309818251976923098182519789230981825198092309818251983923098183519869330971835198994309718351992973096183519941013096183519979830961835200095309618352002943096186520049330961865200691309618652009903097186520119130961865201392309618752016923095187520189330951875202093309518752023923094187520269230931875202992309318752031913092187520339030921875203590309118752037903091187520409130911875204292309118952044933091187520469430901875204894308918752050943089184520529430881815205594308818052058933088179520609330881795206293308817952065933088178520689330881775207193308717652074933086176520779330851765208093308417552083943084175520869330831755208993308217652092933082178520969430811785209894308117852101943080178521049430801785210795307917852110953079178521149530791785211794307817852120943077179521239330771775212693307617852128923076178521319230751785213492307517852137923075178521409230751785214292307518252146923074182521499230731845215292307318452154923072187521579230721885216092307118852162923071188521659330701905216892307019052170923070190521739230691905217692306919052179913069190521829130691905218591306918952188913068189521909130681895219392306718952196923067189521999330671905220293306619052204933066190522079330651905221093306519052212933065190522159430641905221893306419152221933063190522249330631895222693306318852229923062188522329230621885223592306218852238923062188522419230621885224492306118552246923061185522499330611845225193306118452253943061184522569430601845225895306018352260953059183522639530591835226695305918352269953059183522729530591825227495305918252276943059182522799430591845228293305818452285933057184522889330561855229193305518552294933055185522979430551855230094305518452303943055185523069330551855231093305518552312923054185523159230531855231892305318552321923052185523249230521865232692305118652329923051186523329230511865233592305118652338933051185523429330501855234593304918552348933049184523519430481845235494304818452357943047184523609430461845236393304618452366933045184523699330451855237292304418552375923044185523789230431855238092304318552383923043185523869230421855238893304118552390943041185523939430401855239695304018552400953039185524039530381855240694303818552409943037187524129330371875241692303618752418933036185524219330351855242493303518552426943035186524299430341865243294303418552435933034185524389230341855244092303418552443923033185524469230331855244892303218552451923032185524549330321855245694303118552459953031184524629530311845246696303118452469963031184524729630301855247696303018552480963030185524839530301855248694303018552489943029186524929330291845249693302918452499943029184525029330291845250493302818452507923028184525109230271845251392302718452516923027184525189230271845252192302718452524923027184525279230271845253093302818452534943028184525369430281845253994302818452542933028184525459230281835254891302718352550913026182525529130261825255591302518252558913025182525619130251825256492302518252567933026181525709330261815257293302718152574943027181525779430271825257995302718152581963027181525849630281815258796302718152590953026181525949530261825259694302518352597943025183526009330251835260393302518352606923025183526099230251835261291302518352615913024183526189130231835262192302318352623923022182526259230221825262791302118252629913021182526329130211815263490302118152638903021181526418930201815264489301918252647893019182526508830181825265288301818252654883017180526578830171805265986301718052661853017180526648530171805266685301618152669863015181526728730151815267587301418152678883014181526819030141805268492301418052686923014180526899330141815269293301418152695933013181526989330121815270193301218052704923011180527079230111805271092301018052713923010180527169230091795272092300917952722923009179527259230081795272892300717952730923007179527329230061795273592300617952738923005179527419230041795274492300417952746923003179527499230031795275292300217952755923002179527589230021795276092300217952762923002179527649330011795276693300117952768933001179527699430011795277294300117952775943000179527789330001795278192300017952784923000179527879130001795278991299917952791912999178527939129981785279591299817852797922998179527999229971795280292299617952805922996178528089229951785281293299517752816932994177528199329941775282393299417752827932994177528309329941775283494299317752837932993177528409329931775284293299317752844932993177528469229921775284992299217752852922991177528569229911775285993299117752862942990176528659429901765286894299017652871942990178528749429901785287894298917652881942989177528849329881775288693298817752888922988177528919229871775289492298717752897922987177529009129871775290391298717752906922986177529089229861775291192298517752914932985177529169329851775291993298417752922932984178529259329831785292893298317852930942983177529339529821775293697298217752938972982177529419729821775294395298217752945942981177529489229811775295191298117752953912981177529559229811775295892298017752961922980177529649229801775296793298017852970932980176529749329791765297793297917752980942978177529829529781775298596297817752988962977177529919729771775299497297617752996962976177529999629761775300295297517853005942975178530089429751785301093297517853013932975177530169429741775301995297417753022952973177530249629731775302796297317753030962972177530329529721775303594297117853038932971178530409329711805304392297018053046922970180530509229691805305392296918053056922969180530599329681805306093296818053062932968179530649329681795306793296817953069932967179530719329671795307493296717853077942967178530799329671785308193296717853084932967178530879329671795309093296717953092932967179530949329661795309693296618053098922966180531019229661785310492296617853107922966179531099229661795311192296617953112922966179531139229661795311692296517953119922965179531229229641795312493296417953126932964179531289329631805313093296318153132932962181531349329621815313694296218153138932961179531409229611795314391296117953146902961179531498929611795315287296017953154872960178531578829601785316088296017853163892960179531668929591795317089295817953173902958179531769129571795317892295717953180932956179531839329561795318694295517953188932955179531919329551795319492295417953197922954179532009129531795320290295317953204892953179532068929521795320888295217953211882951179532138729511795321587295117953217872950179532198729501785322087295017853222882950178532248829501785322689294917853228892949178532318929481785323491294817853236922948178532399229471785324293294717853244932947178532469329471785324893294717853250942946178532529329461785325593294617853256922946178532589229461785326092294517853262922945178532649229441785326792294417953270922944178532729229431785327492294317853277922943177532799129431775328191294317753284912942177532869129421775328891294117753291922941177532939229411775329592294017753296912940177532989129391775330090293917753302892939177533058829381775330888293817753311882937177533148929371775331690293717753319922936177533229429351775332596293517753328962934177533319729341775333496293317653336952933176533389529331765333995293317553342942933175533449429321755334694293217453348942932173533509329321735335392293217353354922931171533569329311715335893293017053361932930170533649229301715336692292917153368922929171533719229291715337492292917153376922929171533789229281715337993292817153382932927171533859329271715338893292717153391932926171533949329261715339693292517053399922925171534029229251715340392292417153404922924171534069229241715340992292417153412922924171534159229231725341892292317353420922922173534239229221745342693292217453428942921174534319629211745343496292117453437962921174534409629211745344396292017453446952920173534489429201735345294292017053455942920170534609429191685346494291916753467932918167534709329181675347192291816753472912917167534749129171675347691291616853479912916168534829029161675348490291516753485902915167534888929151675349089291516553492892915164534948829141655349688291416553499882913165535008829131655350288291316553504872912165535078729121655351087291216553512872912165535148929121655351590291116553517902911164535199129101645352090291016453522902910164535249029091645352690290916453528902909160535299029091595353289290915953534892908158535368929081575353989290715653542892907153535458929071535354890290615353551912906153535549229061545355693290615453558922906153535619129051535356490290415353566892904153535688929031535357188290315353574882902153535778829021535358089290115353582892901152535858929011525358889290015253591892900152535948929001525359688290015553599882900158536008728991585360187289915653601872897155536018728971555360187289715553604872896155536078728961555361087289615453612872896155536148428961555361682289615553618812896155536218028961555362280289615553622802896153536248028951535362580289515353628802895153536308128951535363281289515453634812894155536388428941565364286289315653644882893156536479028931565365091289315653652932893156536559328931565365894289315653662952893156536659528921575366895289215753671942892157536749428921575367694289215753678942892157536819428921575368494289215753686942892157536889528921575369195289215753692972892157536949828921595369798289215753700982893157537029728931575370597289315753707962893157537099428931575371294289315753715942893157537189328931575372193289315753724932893157537279328931575373093289315753733922893157537369228931575373892289315753740922893157537439228921575374691289215353748912892151537529128921515375591289215153758912892152537629128921525376491289215253767912892152537709128921525377391289115253776912891152537799128911525378292289115253785922891152537889328901525379094289015253793942890152537969428901525380094289015653803942889156538069328891575380992288915753812922889157538169228891565382092288915653823922889156538269228891565382992288915653832912889156538359128881565383891288815653842922888156538449228881565384792288815853850922887160538529228871615385592288616153858932886161538609328861625386393288616253866932886162538689428861635387194288616353874952886163538769428851645387994288516553882932884165538859328841655388893288416553892932884165538949328841645389793288416353900922884163539029228841635390593288316353908932883163539109228821635391392288216453917912882164539219128811645392491288116453927902881164539309028811645393290288116453935902880164539389028791645394089287916453943892878164539469028781645394991287716453952902877164539548928771645395788287716453960872877164539628728761625396587287515953968862874159539718528731585397486287315853977872872158539808828721585398390287215853986912872158539899228721585399292287115953994932871159539969228701595399892287015954000922870160540029228691605400592286915854008922869158540129228691595401592286915954018912868159540209128681585402291286715854024912867158540269128671575402891286615754030912866157540339128651575403691286515754039912865157540429128641575404592286415754048922863157540519228631575405491286315754058912862157540629128621575406591286215754068912862157540719128621535407491286115354077922861149540809228601485408492286014854087922860148540909228591495409492285914954097922859149541009128591495410391285914954105912858149541079128581495410990285714954111902857149541149028571495411791285614954120912855149541249128551485412792285414854130922854148541329228531485413593285314854138932853148541419328531485414393285314854145942852149541479328521495414992285114954152922851150541549228511505415691285015054158912850151541609128491515416391284915154166912849151541689128481515417090284815154173902847151541769028471515417890284715154180902846150541839028461505418690284515054188912845150541919128451505419492284414754197932844147542009428431475420294284314754204942843147542069328421485420892284214854210922842150542129228421505421492284215154217932842151542209428421515422296284215254226962842152542299728431525423296284215154236952842153542389328421535424192284215454244922842154542469228411535424892284015454250922840155542539328391565425694283915854259942838158542629428381595426493283716054267922837158542709228371585427291283615854274902836158542779028351585427990283515854281902835158542849028341585428791283415854290912833158542929128331585429491283315854295922829155542950282915554295028291555430002829154543040282815454306412828154543098328281545431289282815454314952828155543169328281555431991282815554322912828155543249228281555432693282915554328942828155543309428281555433294282815554335932828155543389328281555434292282715554345912826155543489128251555435091282415554352922824155543559228231555435892282315554360922822155543639328221575436693282215754369942821158543729428211595437494282115954377942821159543809428211595438394282015954386932819159543909328191605439393281816054396942818160543989428171605440194281716054404932816160544089328161605441293281616054416922815160544199228151605442292281516054425922815158544289328151585443193281415854434932813159544389328131595444394281216054446942812161544489428111625445193281116254454932810162544579328101625446093281016254463922809162544669228091635446892280916154471922809161544749228091615447692280816154480922808161544839328081625448693280816254488942808162544909428071625449394280716254496942807162544989428071625450194280716254504942806162545069428061625450894280516254510942805162545139428051625451593280416254517932804162545209328031625452294280316254524942803161545269528021615452895280216154531952802161545329428021615453493280216154536922801161545389228011615453891280016154539912800161545399128001615453991280016154542912800161545459128001615454791280016154549912800161545529127991615455492279916154556902799162545578927991625455889279916254559892798162545618827981625456388279816354565902798162545679327981625457094279716254572962797162545749527961625457795279616254580942796162545829427951625458593279516254588922794162545909227941625459392279416254596922793162545999327931595460192279315954603922793156546069227931555460893279215454610932792154546129327911545461493279115454617932791155546209227901555462392279015554625912789155546279127891555463090278915554632902788156546349027881555463690278715554638902787155546409027871555464289278615554644892786155546468927851555464990278515554652902785156546549027841555465890278315554661902783155546649027821555466691278215554668912781155546719127811555467491278015554676912780155546799027801555468290277915554685902779155546889027781555469090277815554693912778156546969127771575469992277715754702922776158547059327761585470893277615854711932775158547149327751585471794277415854720942774157547239427741575472694277315754728942773157547319427721575473494277215754738932772157547419327711575474493277015754746932770157547499327691575475293276915754756922768157547599227681575476292276715754764932767157547669227671565476992276615654772922766156547759227651565477892276515554781922765155547839227641555478592276415554787922763155547899227631555479191276315554793912762154547959027621545479790276215454799892762154548018827621545480487276115454806872761154548098727601545481288276015354814892760153548179127591525481991275915154821922758151548249227581515482792275815054830922757150548339227571505483692275615054838922756150548409227561495484392275514954846922755149548499227541495485292275414954854932754149548579227531485486092275314854864922752148548689327521485487092275214854873922751148548769227511485487992275014854881922750148548839227501485488692274914854889932748148548929327481485489493274714854896932747147548999427461475490293274614754905932745147549089327451475491094274514754914942744147549199427441475492294274314754924952743147549269527431475492995274214754932942742147549359427421475493893274214754940932742146549429227411465494392274114654946922740146549489227401465495092274014654952932739147549549227391475495792273814754960922738147549629227381475496490273714754967872737147549708727371475497288273714754974882737147549778927361475498090273614754983922735147549869327351475498894273514754990942734147549939327341475499692273414754998922734146550009227341465500292273314655005932733147550089327331485501093273314855011942733149550139327321495501592273214855018922731148550209227311485502292273114855024912730148550269127301485502992273014755032912730147550349127301485503691272914855038912729148550409027281485504290272814855044912728148550469227271505504892272714855050922726149550529227261495505392272614955056922725149550589327251495506093272514955063942725149550669427251495506894272415055070942724150550719427241495507493272415155076922724151550799227231515508292272215155083912722151550849127211515508692272115255088932720152550909327201525509194271915255093952719152550959727191535509797271815355099982718153551029727171535510597271715355107952717153551099427161535511092271615455112902716154551148927161545511588271615455118882715154551218827151545512488271415455126892714154551288927141545513190271315455134912713154551389127121545514092271215455143922712154551469327111545515094271115455152952710155551549527101565515695271015655157952709156551609327091565516292270815655164922708156551679227081575517092270715755172922707157551749227071585517792270716655180922707169551829227061695518491270616955187912706169551909127061685519291270616855194912705168551969127051675519891270516755200912705163552029027051615520490270416155205902704161552069127041595520691270415955206922704160552089227031605521092270316055213932702160552169327021605521893270216055220942702160552229327021605522593270216155227932702161552299327021615523293270116155234942701160552369427001605523895270015955240952700159552429526991595524494269915955246942699159552489326991595525093269915955252922698159552549226981595525692269715955258932697159552609326971585526194269615855264942696158552669426961585526893269615855270932696158552729226951585527591269515855276902695158552768926951585527789269515855278892694158552808926941585528390269315855286902693158552889026931585529090269215855293912692158552969226911585529993269115855302952691158553049626901585530797269015955310982689160553129926891595531410026891595531699268815955319982688159553219626871605532395268716155326942687162553289326861635533093268616355333932685163553349326851635533693268516355338922684163553409226841635534291268416355343912684164553459226841645534792268316455349932683164553519326821645535293268216455352922682164553529226811645535293268116455352932681164553529426811655535510326811655535811126801645536010726801645536210326791655536410026791645536698267916455368952678164553709226781645537292267816455374912678164553769126781645537892267716455380922677164553829326771645538493267716455387932677164553909326761655539293267616555394932676165553979226761655540092267616555403912675165554069126751665540892267516655410922675166554139226751665541692267416655418932674166554209326731665542293267316655424922673166554259226721665542691267216655427912672166554298926721665543188267216655433882671166554358826711665543888267016655440892670166554429026701665544492266916655446922669168554479226681685545093266816855452942668168554549326671685545592266716855456922667168554589126671685546091266716855463902666168554649026651685546690266516855470902664168554739026641685547690266316855478902663168554819126631685548492266316855486922663168554899326621685549193266216855493932661168554939326611685549393266116755493942660167554939526601675549895266016755502962660167555049626601675550797266016755509962660167555119526601675551295266016855514942660168555169326591685551993265816855522932658168555249426571685552694265716855528942656168555309426551685553294265516855534942654168555359426541685553893265316855540932653168555429326521685554493265216855546932652168555479326511675554893265116755550922650166555509226501665555192265016655552922649166555529126491665555590264916655558902649166555588926491625555989264815855560892648158555618926471575556489264715755568892647157555729026461585557590264615955577912645159555799126451595558292264516055584922644160555869126441605558891264416155590902644161555938926441615559689264316155598892643161555988926421615559990264216255600892642163556028926411635560489264116355606892641163556088926411635561190264116355614902640162556179126401615562091263916155622912639161556249126391615562591263816155626912638161556289226381615563093263816155632942638162556339426371615563494263716155635932637161556369226371615563891263716155640902636160556448926361605564789263616055648892636160556508926361605565289263516055653902635160556549026341605565690263416055658912634160556619126331605566392263216055665932632160556689326311605567094263116055672932630160556759326301605567893263016055680932630160556829226301615568492262916155686922629159556889226281595569091262815955693912628160556969126271615569890262716155699902627161557008926271625570389262716255706892626162557088926261625571189262616355713902626163557159226261635571892262616355721932626164557249226261645572692262616455729922626164557329226261645573491262616455736912626165557389126261665573991262616755742912626167557469126261675574892262616755751922626166557549326261665575894262616655760942626166557619426261665576494262616655766942626166557689426261665576993262616655771932626166557739326261665577493262616655776932625166557789226251655577991262516555780902625165557828926251655578488262417055786882624172557888726241735579187262417255794862624172557968626241725579985262417255802842624172558068526241715580987262417055811892623170558139126231705581592262216855817932622168558209226221675582292262116755824912621167558269126211665582891262116655830912621166558339126211665583691262116655838912621166558419126211665584490262116655846902620166558489126201665584991261916755852912619167558549126191675585690261816655859902618166558628926181665586589261816655868892618166558708926171665587289261716655875902616166558769026161665587891261616655880912615166558819126151665588291261516455883912615163558869126151635589091261416355892912614163558949226131635589792261316355900922613162559029126121625590491261216255906912612162559099126121625591290261216255914892611162559168926111625591790261116255920902611162559229026111625592490261016255927902610162559299026091615593190260916155933902609161559358926081615593789260816155939892608161559428926081615594490260816155946902607161559499026071615595290260616155955912606163559589126061635596190260516355964912605163559669126041635596691260416355966912604163559689026031635597090260216355972902602163559749026011635597690260116355979902600162559809026001625598290260016255984892600161559868826001615598887259916155991872599161559938725981615599587259816155996872598161559978825971615599988259716156001892596161560028925961615600490259616156006902595161560099025951615601089259416256012882594162560148725941625601587259316156018862593161560208525921615602285259216156025862592161560288725911615603088259116056032882591160560348925911595603689259115956039892590159560428925901585604690258915756048902589157560519125891615605491258816556056912588165560589125881655606190258816456064902588164560679025871645607090258716456073902586164560749125861645607691258616456078922585164560819325851645608392258516256085922585162560869225851615608892258416156090912584162560939125831635609691258316356099912583163561019125821635610392258216356105932582163561079425821635610894258216356110942581163561129325811635611392258116356114912581163561169025811635611988258016356122872580163561248825801595612790258016056129912580161561319225791605613392257916056135932579159561369225791605613892257916056140902578160561418925781605614289257816056143892578160561458825781605614788257816056150902578160561529125781605615491257816056156912578160561589125771605616090257715556162902577154561659025771535616789257715356169892576154561708925761545617289257615456174892576154561778925761545618089257615656182892576156561858825761565618888257615756190892576157561939025751575619790257515856201912575158562059125751585620991257515856212922574158562159225741585621893257315856222932573158562249325731595622794257215956228932572159562309325721595623093257215856230932572158562349325721585623993257215856239932572158562399325721585624192257215856243922571158562449125711585624691257015856248902570158562499025701585625189256915856253882569158562568825691585625988256915856262882569158562648825681585626688256815856268882567157562718725671575627487256715756276862567157562778625671575628086256715556282872567155562858725671555628887256615556290872566155562938725661555629587256615556297872566155562998625651555630186256515556304872565155563068725651555630888256515556310892564154563129025641545631391256415456314922564154563169225641545631891256315456321902563154563249025631545632690256315456328892563154563318925631545633488256315456337882563155563408825631555634288256315556344872562155563478725621545635087256215456352872562154563548725621545635688256115456358892561157563619025601585636491256015856366932560157563699325591575637294255915756375942559157563789425591575638093255915856383922558157563869225581575638891255715756391922557157563949325571575639693255615756399932556157564029225561575640492255615756406912556157564099025551575641290255515756416902554157564199025541575642290255415756426912553157564309125531575643191255215756432922552157564369125521575643991255115756440912551157564429125501575644490255015756447902550157564509025491575645289254915756453882548157564548825481575645686254815756458852547157564608525471575646185254615756463852546157564658525461585646684254515856468842545158564708325451585647282254515856472822545158564728225441585647280254415856472772544156564747625441565647775254415256478752543153564797525431525648275254215256484762542152564867625421515648777254115256490812540152564938625401525649689253915256498922539152565029225381525650592253815256508912537152565129025371525651689253715256519882536152565228825361515652688253615156530882536151565338825361515653488253515156535882535151565388825351515654289253515156542902535151565429025341525654891253415256553922533152565569225331525655992253315256561922532151565639125321515656691253115156568912531151565709025311515657390253015256576892530153565788925291535658189252915356584882529154565868825281565658989252815656592892527156565958925271575659889252715756600892526157566028925261575660589252615656607892526156566098925261565661289252515656614902525156566169025251565661991252515656622922525156566249325241565662693252415656629932523156566329225231565663592252315656638922522156566409225221565664291252115656645912521156566489025211555665089252015556653892520155566568825191555665888251915556659892519156566618925181565666389251815656666902518156566689125181565666891251815656669922517156566699125161565666991251615656671902515156566739025151565667890251415656684912514157566879025131585669090251315856693912513157566969125121575670092251116156704922511164567079225101635671093251016356714932509163567189325091635672092250816356722922508163567249325081635672794250716356728932506163567289325061635672893250516256728932505162567329125041625673689250316256736892503162567378925021625673790250216356737902501165567379125001655673791250016556739942499165567419724991655674499249816556746101249716556748101249616556750101249516456750100249516456750100249416456752100249416456754100249316456755982493165567569724931665675896249216656760962492166567619524911665676295249116656763942491166567649324901665676692249016656769912489166567729024891665677589248916656776882488166567778724881665677988248816656781892488166567838924881665678589248716656788902486166567909124861665679292248516656795932485167567969224841675679892248316756800912483167568019124821675680190248216756801902481167568029024801675680390248016756803902479167568039024791675680690247816756810902478162568129024781595681490247816056815902478160568169024771605681690247715956816902476159568189024761595682090247615956822902475159568239024751605682490247516056826902475160568269024751595682790247415956827892474159568278924731605682789247316056827892473161568308824721615683388247216256836882471162568388824711625684088247116356842892470162568449024701625684691247016256849912470162568529224701625685291246916256853912469162568549124681635685692246816356860932468163568639524671635686796246716256871972466162568749624661625687696246616356879952465163568829524651635688394246416356884932464163568859324641635688693246316356886932463163568879324631635688992246316356891922463163568939224621665689593246216656897932461168568999324611685690193246116856903942460167569059324601675690793245916756910932459167569129324591675691492245816756916912458167569189124571675692091245716756922902457167569259024561675692890245616756931902456167569349024561675693690245616756938902455167569419024551675694290245416756944902454167569469024541675694890245316756950902453168569539024521685695490245216856956902452166569589024511665696090245016656963882450166569668724491665696885244916656969832448167569708224481675697281244816756974802448167569757924481675697778244716756979772447167569807824461675698279244616856984792446166569878024451665699081244516556993832444165569968424441655699986244416557002872443165570048724431655700688244216557009882442165570118924421655701389244116557016892441165570198924411655702289244116557024902441165570269124401655702891244016757030912440167570329224401675703492244016757037922439167570409124391675704391243816857045912438168570479124381685705091243716857053922437168570569124371685706091243716857062902437168570649024371675706590243716557066902437165570689024371655707089243716557072902437165570759124371655707790243716557079902437165570819024371655708390243616657085902436166570879124361655708991243616657091912436166570949224351665709693243516657098942435168571019524351685710495243516857107952435168571109524351685711395243516857116942435168571199424351675712193243416757123932434167571259324341695712793243416957130932434168571339324331685713593243316857137932432168571409424321685714295243216857144962432169571469724321695714899243216957150101243216957153101243216957156101243117057160102243117057165104243117057170103243117057174102243117057179100243017057184982430170571899624291705719495242917057200952429170572069424281705721094242817057214932427170572189324271705722293242717057227922426170572329224251705723692242517057239922424171572439224241715724793242317057252922423170572569124231705726090242317057264902423170572649024221705726490242217057266902422169572689124221685726892242216757268932421167572699224211675727092242116757271912421168572729124211685727491242016857275912419168572779124191685727991241816857281912418168572839224171685728591241716857287902417172572899024171735729191241717357293902416173572959024161725729690241517257298912415172573009024151725730289241417257304892414171573078824141715730989241417157311902414171573149124131715731692241317157318932413171573199424131715732094241317157320942412171573229424121715732494241117157326942411171573299424111735733293241017357335932410173573369124091735733789240917357338892409173573408824081725734288240816957343872408168573458824081685734788240816657349882407166573518824071645735488240716257356892407162573588924071625735989240716257361912407161573639224071615736692240716057368922407160573709224061605737292240616157374922406161573769224061615737893240616157380952406160573849524061605738795240616057390952406159573929524061605739694240616157399942406160574029424061605740595240616057408952406160574129524061605741595240616057418942406160574209424061605742393240616057426932405160574309224051605743392240515857436932405158574409224051575744392240415757445922404156574479224031565745091240315657452912403156574549024021565745690240215657460902402156574639124021565746691240215657470922401156574739224011555747692240015557479922400158574829224001585748492239915857486922399158574899223991595749292239916057496922399160574999223981605750292239816257504922398162575079023981605751089239816057514892397160575188823971605752288239616057526892396161575328923961615753789239516057540902395160575449123941605754890239416057552902394162575549023931625755791239316357560902392163575629023921635756590239216357568912391163575719123911635757492239016457576922390165575799323901655758493238916557588942389165575919423881665759494238816657597932388166576009323871665760493238716657609932387166576119323871705761394238717457616942386174576199523861745762095238617457621952386174576239523861745762596238517457628962385173576329623851735763596238517357638962385174576409623841755764396238417557646952384175576489523841755765095238417557653952383175576559423831755765794238317557658932383175576599323831755766193238217557663942382175576649323821755766693238217557668932382175576719423811755767593238117557679932381175576829323811755768593238117557686932380175576889323801755769193238017557694942380176576969423801765769895238017657700952380176577039523801765770695238017657708952380176577109523801775771396238017757716962380177577209623801775772596238017757730962379177577329623791785773596237917857739962379178577439723791785774696237917857750962379178577549623791785775995237917857764952379178577689523791785777095237918157771952379181577739523791815777595237918157777952379181577799523791805778294237918057785942379180577869523791805778895237818057791952378180577949623771805779795237718057800952377180578029423761805780494237617657806932376176578079323761755780992237617557811922375175578149223751755781892237517457820922375174578219223751745782492237517357827932375171578309323751715783493237517157836922375171578399223741705784292237417057844922373171578479223731725785092237317257851922372172578529323721715785492237217157855922372173578589223721735786192237116957864922371169578669323711685786893237116857871932371168578739223701685787592237016857878912369168578809023691685788390236916857886912368168578899123681695789292236716957894932367169578979423671695790094236616957902942366169579069423661695790994236616957912942366169579169423651695792094236516957924942364169579269323641695792993236416957932932363169579359423631695793893236316957940932363168579429323631685794593236316857948932363168579519323631685795493236316857956932363169579609323621705796393236217057966922362170579699223621715797292236217057975922361170579769323611705797893236117057980932361170579829423611705798493236017057986932360170579889223601705798992236017057991922360171579939223591725799592235917257997932358172579999323581725800193235817258003932357173580059323571735800892235717358010922357173580129223571735801492235617358015932355173580169523551735801895235417258019962354174580219623531745802396235317458024942353175580269323531755802792235317558028912353175580308923531755803187235317558032862353172580348523531725803485235217258035862352171580358623511715803586235117158037862351172580398623501705804187235017058043892350170580468923501705804989235017058049892349169580499023491715805190234916958053912349169580539123491695805392234816858053932348167580539423471665805694234716658060942347166580629323461665806592234616558066912345165580689023451655807090234516558073902344165580768923441665807889234416658080892344166580828923441665808489234316658086902343166580889023421655809090234216558092902342165580959123411655809791234116558099912341165581029123411655810490234116558106902340164581099023401645811190234016458113902340164581169023401645812090233916458122902339164581249123391645812691233916358128912339163581309023381635813290233816358134902338163581379123381625813991233816258141922337162581449223371625814693233616258148942336162581509523361635815293233516358155922335163581589223341635816092233416358162912334164581659123331635816892233316258170922333162581729223331625817393233316258175932332162581779323321625817892233116258180912331162581829123311625818591233016158188912330158581919123301585819492233015858197932330158582009323291575820393232815458206932328154582089423271545821193232715458214932326154582169323261545821993232515558222932325155582249423251555822694232415558229942324155582329523241545823595232415458237952324154582399523241545824295232415458244952324154582469523241545824895232415458250952323154582519423231545825394232315458255942323155582569423231555825894232215558260942322156582629423221565826493232215658265922322156582679123211565826990232115658272902320156582749023201565827691232015658279922319156582819223191565828393231815658284932318156582869323181565828893231715658289922317156582909123161555829089231615558292892316155582958923151555829789231515558299892315155583009023151555830291231515758304912314158583069123141585830892231315858310922313158583129223131585831492231215858316922312158583189323111585832092231115858323922311158583269223101585833092231015758332922310157583349223101575833692231015858339922309158583409223091585834292230815858344922308158583459323081585834593230715858345942307159583489423061585835194230615858353932306158583559223061585835691230615858357912306158583589123061585835991230615858361912305158583639223051585836491230515858365912305158583679123051585836991230415858371912304158583739123031585837491230315858376922303158583789223021595838093230215958382932301159583839323011595838392230115958383922300159583879123001595839190229915958394892299159583968922991595839889229815958401892298160584048922971615840690229716158409922297161584129422961615841495229616158417952296162584189522961625842094229616358422942295163584249322951635842793229516358430942295163584329422951635843595229516358438952295163584409522951635844195229516458442952295164584449422941645844794229416558450942294165584529422941655845493229416558456932294165584619422941655846694229416458472942294164584789522941645848095229416458483952294164584869522941645848896229416558490962294165584939622931655849596229316558497962293165585009622931665850396229316658506962293166585109622931665851296229316658513962293166585149622931665851596229316658515962293166585159622931665851796229316658519962293166585229522931665852495229316658526952293166585279522931665853095229316658533952292166585379422921665854194229216658544942292166585489422921665855193229216658554932292166585579322921655856093229216558564942292164585689422921645857294229216358575942292163585789322921635858093229216358582932291162585859322911625858893229116258591932291162585949322911625859894229016258602942290161586069522901615860895229016058610952290159586139522891595861695228915958620952289159586239622891605862695228916058629952288160586319422881605863394228816058636942288160586399422881605864294228716058646942287160586499522871605865295228716058654952287156586579422871565866093228715558662922287155586669222871555866992228715558672922287154586759322871545867893228715358681942287152586849422871525868794228715158689952287151586919522871515869395228715158695952287150586989422871505870094228715058702942287150587049322871505870794228814958710942288149587149522881495871795228814958720952288149587229522891485872496228914858726962289147587289622891475873095228914758732952289147587359422891475873894228914758740942289147587429422891475874494228914758747942289147587509522891475875295228914758755962289147587569622901475875896229014758760962290148587629622901485876496229014858766962290148587709522901485877395229014758776952290146587789422901465878095229014658783952290147587859522901475878795229014758789952290147587919522911475879495229114758796952291147587989422911475880194229114758804942291147588079422911475881094229114758813942291147588149422911475881494229114758818942290147588239322901475882693229014758828932290147588319322901475883493229014658836932290146588389322901475884093229014758841942290147588449422901475884694229014758848952290147588519522901475885395229114758855952291147588569522911475885894229114758860932291147588629222911475886492229114758865922291147588679222911475886992229114658871932292146588739422921455887693229214558880932292145588839322921455888693229314558890932293145588939322931455889693229314558898942293145589029422941455890594229414558907942294145589099422941455891194229414558913942295145589149322951435891593229514358918932295143589229322951425892593229514258928932295142589329322951425893693229514258939932295142589429322951425894492229414258947922294142589499222941425895192229414358953922294143589559322941435895793229414358959932294143589619322941435896393229414358966932294143589699322941435897193229414358973942294143589759322941435897793229414358979922294142589819222941425898392229414258985922294142589889122941425899291229414258994922294141589969222941415899893229414158999932293141590029322931415900493229314159007922293141590109122931415901491229214159017912292141590219122921415902591229214159029922292140590339322911405903693229114059040942291140590439422911405904694229114059049942291139590529522911395905695229113959059962291139590629622911395906497229013959068962290139590719622901395907495229013959076942290139590789422901395908094229014059084942290140590879422901405908995229014059091952290140590949522901405909795229013959100952290139591029522901395910495229013959107952290139591109422901395911394229013959116942290140591209422891405912294228913959125942289139591299422891395913394228913959138942289139591429422891395914494228913959146942289139591489422891395914993228914059151932289140591539222891405915692228914059158922289139591609222891395916392228913959165922289139591679222891395917092228914059172932288140591769322881405917993228814059180932288140591829422881405918493228814059186932288140591889222881405919092228814059192922288140591959222881405919792228814059199922288140592029122881395920591228813959208922288139592119322881395921293228813859214932288138592169322881375921894228813759220942288137592239422881375922694228813759229942288137592329422881375923594228813759237932288137592399322881375924292228813759245922288137592489122881375925191228813759254922288138592579222881385926093228813859263932288138592649422881385926694228813859268942289138592719522881385927494228813859277942288138592789422881395928094228813959282942288139592849422881395928694228813959287942288139592889322881385928893228813859288932288138592889422881385929194228813759294942289137592959422891375929694228913759297932289137592989322891375930092228913759302922289137593049122891375930691228913759309912289137593129122891375931692228913659320932289136593229322891365932594228913659328942290136593309522901365933494229013659337932290136593409322901365934492229013659347922290136593509222901365935493229013659358932290136593639422911365936895229113659373952291136593789522911365938295229113659387962292136593919622921365939596229213659398962292136594019622921365940496229213659407962292136594109622921365941395229213659417952292136594219522931365942494229313659427942293136594309422931365943294229313659434942294136594369422941365944094229413659443942294136594469422941375945094229413759452932294138594559322941385945892229513859460922295138594629222961395946393229613959466932296139594689422961395947094229613959471952296139594739422961405947594229614059477942296140594799322961405948193229714059483932297140594849222971405948692229714059489932297140594929322971415949493229714159497932297141595009322971425950294229714259504942297143595079422971435951094229714359513942297143595169322971435951993229714359523932296143595279322961435953093229614359532932296143595349322961435953694229614359540942296143595449522961435954794229614259550942296142595549422961415955794229614159560932296141595639322961415956693229614159569932296141595719322961415957394229614159576942296141595799422961405958294229614059586942296140595899322961405959293229614059594932296140595969222961415959892229614059601932296140596049222961405960692229714059609912296140596129122961405961691229614059619912296140596229222961405962593229514059628932295140596329422941405963494229414059637942294139596399422941395964194229413959644932294139596469322941395965093229413859653932294137596569322941375965893229413759661932294137596649422941365966694229413659668952294136596719622941365967496229413659677962294135596809622931355968296229313559685962293135596889422931355969193229313559694922292135596979222921345970091229213459703912292134597059122921345970791229113459709922291133597119222911335971492229113259716922291132597189122901325972191229013259724922290132597269322901325972993229013259732942289132597349422891315973794228813159740932288131597439322881315974693228713159748932287131597509322861315975393228613059756932286129597589322851295976193228512959764932285129597689322851295977293228512959776932284130597799322841305978293228413059785932284130597889422841305979294228413059795942284130597989522841305980294228413059805942284130598089422831305981194228313059815942283130598199422831305982294228313059824942283130598269422831315982994228313259832932283132598349322831325983694228313359839942283133598429422831345984595228313459848952283134598509622831345985296228313459855972283134598589722831345986097228313459864972283134598679722831345987096228313459873952283134598769522841345987994228413459882942284134598849422841345988794228413459890952284134598929522841345989495228413459896952284134598989522841335990095228513359903962285133599069522851335990895228513359911952285134599149522851345991795228513459920952285133599229522851335992595228513359928952285133599309522851345993294228513459935942285134599389422851335994294228613359944952286132599479522861325994995228613259951952286132599549422861315995694228613159958932286131599619322861315996492228613159966922286131599689222851315997192228513159975922285131599799222851315998293228513159984932284131599869322841325998994228413259992932284131599949322841325999693228413259999942284132600029422841326000594228413260007952284132600099622831326001296228313260016952283132600209522831326002395228313260026942282132600299322821326003193228213260033942282132600369322821326003993228213360042932282133600449422821336004794228213360050942282133600539422821336005694228213360058952282134600609522821346006295228213460065952281134600679622811346006996228113460070962281134600729622811346007496228113460076962281134600789622811346008095228113460082942281135600859422811356008893228113560091932281135600949322811356009793228113560100942281135601039522811356010696228113560108982281135601109822811356011298228113560116982281135601199922811356012299228113560125992282135601279922821356012999228213560131972282135601339622821356013696228213560138952282135601409522821356014294228213560144942282135601479422821356014994228113560151942281135601549422811356015694228113660158942281136601609422801366016294228013660165952280136601689522801366017196228013660174972280136601779922801366018098228013360183982280134601889722801346019297227913460196952279134602009422791346020493227913460207922279134602099222791346021192227913460214922279134602179222791346022092227913460223932279134602269322791346022994227913460232942279134602349422791346023794227813460240942278134602429322781346024593227813460248932278134602509322771346025293227713460255942276134602589422761326026094227613160262932276131602659322761306026694227613060268942276129602709422761296027293227512960276932275129602799422741296028294227412860285942274127602889322731276029193227312760294922273127602969222731276029991227312660302902272126603059022721266030890227212660310912272126603139222721266031792227112660321932271126603249322711266032793227112560330922271125603349222701256033792227012560340932270125603449322701256034793227012560350942269125603549522691256035694226912560359942269125603629322691256036493226812560366932268122603699322671216037193226712060373932267119603769422661196037995226611960382952266118603849622661186038695226611860389942265118603929422651186039493226511860398932265116604039322651166040694226411660410952264116604149522631156041796226311560420962263115604239722621156042696226211560429962262115604319522621156043395226211560435952262115604379522621156044095226211560443952262115604469522621156044996226111560452962261115604549622611156045795226111560460942261116604629322601156046593226011560468922260115604709122601156047291226011560475922259115604789222591146048093225811460482932258114604859422581146048994225711460493942257114604969422571136050095225711360502952257113605049522561136050795225611360510952256113605139422561136051694225611360520932255113605239322551136052692225411360530912254113605349022541136053890225311360542902253113605459122521136054891225211360550912252112605529222511126055492225111160556922250110605599322501106056293225011060565932249109605699322491096057393224810960576932248109605799222481096058192224810860583922248108605869222481086058892224810860590922248108605939222471086059692224710860598932247108606009322471086060293224710760604932246107606059322461076060793224610760609932246107606129322461076061593224510760618942245107606219522451076062495224510760627952245107606309522441076063295224410760634952243107606379522431076064096224310760644972242107606469722421076064997224110760651962241107606539622411076065595224010760657942240107606619422401076066594224010760668942240107606719422391076067394223910760675942239107606779422391076067994223910760681932238106606839322371066068593223610660687932235106606899322351066069193223510660694932235106606969422351066069894223510660700942235106607029422341066070594223410660707932233107607099322331076071193223310760713932232107607169322311076071894223110760720942230107607239422301076072694223010960729942230109607329322301086073493223010860738932230108607419322291086074493222910860746932229108607499222291086075292222910760754932228107607579322281076076093222710860762942227108607659422271086076895222711060771952227108607749522271086077795222710860780952227108607829522261086078595222610860788952225108607909422251086079294222510860795942224108607989522241086080095222410860804952224108608089522241086081296222310860815962223108608189622231086082196222310760824962223106608269622221066082996222210660832962221106608349522211066083694222110560838942220105608419322201056084393221910560845932219105608469322191056084894221810460851942218104608549422171046085794221710460860942217104608629422161046086594221610460868942215104608709422151036087394221510360876942214103608789422141036088194221410360884942214103608869422141036088894221310360890942212103608939522121036089696221110460899962211104609029622101056090596220910560908962209105609119522081056091495220810560917942207105609209222071056092292220610560924922206105609289222061056093193220510660934932205106609389422051066094094220510660942942205106609449422041076094794220410860950942204108609539522041086095695220410860960962203108609639622031096096696220210960970952202109609739522021096097695220210960979942202109609839522021096098795220210960990952202109609939522011106099695220111061000962201110610029522011106100595220111061008942200110610119322001106101492219911061017922199110610209221991116102392219811161026912198111610289121981126103090219811261033902198112610369121971126103892219711261042922196112610469321961126104994219611261052962195109610559521941096105895219410961061942193109610649421931096106793219210961070932192111610729321921116107593219211161078942192111610819521911116108495219111161086952191111610899521911116109294219111161094942190111610979421901116110094218911261102952189111611049521891116110796218811161110962188112611139721881126111696218811261118962188112611209521871126112195218711261122942186112611239421861126112394218611261123942185112611239421851126112395218511261124952185113611259521851136112695218511361127952185113611289521851136112995218511361130952185113611319521841136113295218411361133952184113611349521841136113596218411361138962183113611409721831136114297218311361145982183113611479821831136114998218211361150972182113611529721811136115496218111361156962181113611609521811136116594218111361170942181113611749421811136117894218111261183942181112611869421811126118994218111261192942181112611969521821126119996218111161202972180111612049721801116120697217911161208972179111612119821781116121498217711061216992176110612189921751106122010021751106122210121741106122510221741106122810021731106123299217311061236992173109612399921721096124298217210961246972171109612499621711116125296217111161256952170111612599421701116126294216911161266942169111612709421691116127395216811161276952168111612809621681116128496216811161287972168111612909721671116129398216711161296982167111613009921671116130498216711161308982166111613129821661116131599216511161318992165111613219921651116132498216411161326982164111613289821641116133098216411161334982164111613379821631116134098216211161344982161111613469821601106134897216011161350972159111613519721581116135497215811161356972157111613599621571126136296215611361364962156114613679621551146136897215511461370982155114613729921551146137410021551136137610021551136137810021551136138099215511361383992154113613869821531136138997215311361391962152113613939521521136139694215111361399942151113614029321501136140693215011361409932150113614129321491136141593214811361418942147114614219421461146142494214611461426942146114614299421461146143295214611461435952146114614389521461146144195214511661445952145116614499521451166145394214511661457942145116614619421441146146594214411461468942144114614729421441146147694214411461479952144114614839621441146148797214411461492972144114614969821441146150097214311461503972143114615069721421146151097214211461512962142114615159521411156151895214111561520952141115615229621411156152596214111561527972140115615299921391156153299213911561536100213811561539982138116615429721371166154596213711561548962136115615509621361156155395213611561556942135116615589421341156156194213411561564942133115615669321331156156993213211561572942132115615749521321166157796213211561580972132115615849721321156158798213211461590972132114615929621321136159695213211361600942132113616039421321126160693213211261609932132112616129221321126161492213111161616922131111616199221301116162293213011161625932130110616289421291096163195212910961634962128109616379621281096164096212810961643952127109616469521271096164994212710961652932127109616559321271096165893212610961662932126109616659421261096166894212610961671952126109616749621261106167696212611061678962126108616819621261086168495212610761687942126107616909421261076169494212610561697942126105617009521261046170395212510461706962125104617099621241046171296212410561714962124105617179621231046172096212310461723962123104617269621231036172996212310361732962123103617359621231026173896212310261742972123102617469721231016174997212310161752972123101617559721231006175896212310061761962123100617649621221006176796212299617709621229961772962122996177496212299617779621229961780962122996178296212299617849521229961786952122100617889421211006179193212110061794932120996179693212099617999321209961802942120986180694212098618099521209861814952120986181896212098618229621209961826962120986183096212098618349621209861838962120986184297212098618459721209861848972120986185097212098618539821209861856982120986185898212099618619721209861864972120986186697212098618699721209961872972120996187597212010061877962120100618799521211006188194212110061883932121100618859221211006188792212110161890912122101618939121211016189691212110161899922121101619049221211016191093212110061914942121100619179521211006192195212110061925952121100619289521211006193296212110061935962121100619389621211006194196212110061944962121100619469621201006194996212010061952962120100619549621201006195696212010061959952120101619629521201016196495212010261968952120102619719521201026197496211910261978962119102619829621191026198596211910261988952119102619919521191026199495211910361998952119103620009521191036200396211910362006962119103620099721191036201296211910362015962119103620189521191036202095211910362024952119104620289421191046203295211910462037952120104620409521191046204495211910462048952119104620519421191046205495211910362058952118102620629521181016206594211810162068942118101620729521181006207695211810062079952118100620829521189962086952118100620909521181006209396211810062097962118100621019621189962106952118996211095211899621159521189962120952118996212495211898621289521189862132952118986213696211898621409621189862144962118986214896211898621539721199862156972119986216097211998621649621199862167962119986217095211998621749421199962176942119996217893211910062182932119100621859321191006219094211810162194942118101621989521181016220296211810262206952118102622099521171026221295211710262216952117102622209421171026222394211710262226942117102622299421171036223093211710362230932117103622309321171036223093211710362230932117103622309321171036223493211710362237932118103622409321181036224393211810362246942118103622489421181036225095211810362251962118103622529621181036225497211810362257982118104622609921181046226299211810462265100211810362268992118102622709921181026227297211810262274962117102622789621171026228196211710362284962117103622879621171036229095211710362294952117103622979621171036230098211710062302982117996230398211799623039821179862303982117996230398211799623039821179962308972117996231397211799623169621179962319962117996232297211799623259721179962328972118986233097211897623339821189662336992118956233999211895623429921199562346992119956234910021199562352100211996623541012119966235610121199762359101211997623621002119976236499211997623669821199762369982119976237298211997623759921199762378992119976238199211997623849921199762388992118976239299211897623959921189762398992118100624009921181046240499211810462407982118104624109821181046241298211810662414982119107624179921191096242099211911162423992119112624269921191126242999211911462433982119115624379821191186244098211912062443982119121624479821201216245198212012162454972120119624589721201196246197212011962464972120119624689721201196247197212012062474972120120624779721201206248097212112062482972121120624859721211206248897212112062491972121120624949721211206249797212112162500972121121625029721211216250598212112062508982121119625129821211196251798212111962522992121118625249821211186252798212211862530982122118625329821221186253698212211862539982122118625429821231186254698212311862550982123118625539821231186255897212311862562972124118625669721241206256996212412062573962124119625779621241196258095212411962583952123119625869521231196258996212311962592962123119625949621231206259896212212062603962122120626089621221206261296212212062615962122121626189621221226262096212212362622962122123626249621221246262797212212462630972122126626339721221266263597212212862637972122128626409721221296264297212212962645972122129626489821221296265198212212962654982122129626579921221306266099212213062664992122131626689921221326267099212313362673982123133626769721231346267997212313462683952123134626879421231346269093212213462694932122134626979221221346270092212213462704922122134627079221221346271192212213462715932122134627189321221356272194212213662724952122135627289621221356273196212213562734972122135627379721221376274098212213862742972122138627449721221406274796212214062750962122140627549621221416275896212214162760962122141627639621221416276696212314162769962123141627719621231416277396212314262776962123144627799621231446278296212314462786962123144627899621231446279297212314462795972124144627989721231446280196212314462804962123143628069621231456280996212314562811962123145628139621231456281696212314562819962123145628229621241456282696212414562830952124146628349521241466283695212414662838942124146628389421231466283894212314662842942123146628459421231466284893212314662850932123146628519121231466285290212014662852882120146628528821201466286088211914662869882119146628719021191466287392211914662874932119146628769421191466287895211914762881972119147628849721191476288698211914762887992119147628881002119147628901002119146628921012119146628941012119146628971012119146629001012119146629041012119145629081012119145629121012120145629151002120145629181002120145629209921201466292399212014662926982120146629299821201466293298212014662934972120147629369721201476293997212014962942962120150629459621201506294896212014862951962120148629549621201486295796211914662960962119146629629621191466296596211914762968972119148629739721191486297897211914862981972119148629849721191506298696211915062989962118150629929621181516299696211715162999952117151630029521171496300695211714963009952117151630129521171526301695211715263019942118152630229421181526302594211815263028942118152630329421181526303595211915263038952119152630409621191526304396211915263046972119152630499721201526305297212015263055972120152630589721201526306197212015263064972120149630689721201496307197212014963075972120149630799721201496308497212114963088972120149630929621201496309696212015063098962120150631019621201506310496211915063108962119150631119621181506311496211815063117962118150631209621181506312496211815063127962118150631309621181466313297211814663135962118145631389621181446314296211814363146962118143631509621181426315596211814263158962118142631629621181426316596211814163168962118141631729621181406317796211814063181962119140631859621191406318896212014063191962120140631949621201406319896212014063202962120139632059621201396320996212013963213972120139632179721201396322197212013963224972120139632289821201406323197212014063234972120140632369721201406323997212014063242972120140632449721201406324797212014363250972120144632529721201446325597212014463258972120144632609821201446326297212014363265972120143632689721201436327197212014363274962120143632789621201436328096212114363283962121144632849621211446328696212114463289972121144632929821211446329498212114463297992121144633009921211446330399212114463306982122144633099821221446331198212214463313982122143633149721221436331696212314363318952122143633209421221436332293212214463325932122144633289321221446333293212214463335932122144633389321221446334193212214463344932122143633479321221436335093212214363352932122143633559421221436335894212214363360942122143633629521221436336595212214463368952122144633729421221446337694212214563379952122145633829521221456338595212214663390952122147633959621221476339996212215163403972122152634069721221526341097212215263414972122153634179721221546342097212215463423972122155634259721221556342797212215563430972122155634329721221556343697212215563439972122155634429721221566344597212215763448972122160634529721221616345697212216163461972122161634649721221606346897212216063471962122160634749521221596347895212215963483952122159634889521221596349295212215963494952122159634969521221596349695