275925685453683448216470675444961986362133747100015410953258815087577149228430756468607451471899415314585424754389868197893838551632907580439277925476622348974293739491138449506040657961412199610786950041028984407627891774270571500386126115021789532509967331817240139065903715009470417299809163350607886939587706250005901708799103611257136290407565321309385501245281830840794211783114350677400231040192067989357145440912132863772219541886478199619166080803176733816878099797374850644283821364980054286431487795185284332201251780205594132541602978887236788115966501444739238670714715139350901791988211503418410330370574380494932063953429837389054769086363357487100401814947001719617005612928254234128619311323377330847163876247068414712363478766722915686349251621184686046179626560928601404623823892789604008836773696079754964458996330879438504225081538921060360421769039485030933755206903527433771935169047952459344336893698991169906449488603294365098237107348217384489151834698387634874291399914422207146578699877545633974012140318046943621706609658672018645919498345108637333357517553258566077472669510761471975652856610047496039322064679516004460062455257682211990616904712468788819225055440485936794485206634923526834932655969056084332467437026229929736120089649335178040429313870088938344526317711891057652676079868442822780153410811187572995746871093366951904285704169704817712809599927606030889337040918693443605547924031539783774746495915406395970328842934891583173197067670341487094010339499397479346635545581911648239820857915630208334433658817634601079645779393152573407657162007480195198182627809794499240873140642481212609014902794588741791803562382275680877431518294625521556396469839966602317316216515308062110924179627740721219374215197940037697123657851340037915028859787407006571330728108559288012821213617731982444620560392452763145808355460152954123546256956388439927457729067393115682327836194545295319173389983876704599249187700710650339251604991364953137413224142902152982169678656390829509591590923200167612974207673174043504341455142445673938790319567881972438403438084519933704961640706375392951860163769750319313279832714307922347622364296311013598110503625526097600587913367631364017977731962998430235499338532973287728670138618182506627016919355934052135546142366632580763878051781549273938642248575195540786410055040458129144200217446603282629176142474728170747143675355846716548299467240795690689328813952235084328095181982402575493541337855199853853142271394859086615245804772274883261577263635999406995088707172521637434309013886999669995059707477312536664227515151047762278444533646255102250138194900025467394796847163323907188870568505704618620885391553609157322364055558454639401139748731326299314508795710052434551420491768319202860556271834090595072059068988113013745750556474314558118882581713033046610862439589381954638049389203248948705371439295470742126216293187192572909476928274420658370754824535044874055222670700632013090532643581632241307316439568390971588702305001566351166805243327561217912428467771813222820626514900596565148008883882884824715235203151065229358530070105974192358240883811635609904532382918593093407729081536928095442787219283720961377035735320256742962721898138776722716485538767293030437832598495211326845084150955508658077259886451904576860128231070862521716611032388019989882280121962588367977098138402834746217315445766071246773794979865797855225855289410884562988651674519316064764476877006603523771564197531192533760569614339676128541824475726653763967097300555950302058189325199435465899014451888542935949038960609848612281708023756035387604336065717494084990073719551685385565853454476100898829960027706812195881453246760567614151081315778388118547113460296120956085678794343472128563228287625026727500616316957996478583457338595454434539565832760003436153466486246893013508496173465437677009404927879740469475736384140226043873399478572599044421705736172094794805722053222789712576750457425371705301563023689287686231727261848148271921430158026810471840594904170805713590033433428838515940359676812590424805077861299756735205439050281154035123467245993918577227518343594475324858592658517198920709370353836875282229123991624253447582923340080671353620180851128127140539148351437053110482353274359620442769035028065146370064603000705813352723340239752737302657953570150872772066014182018615233199219024090616230300608728341939672344262965877445466952679854645779183402516087287035810742337964682457520031116972812371758228422949581105243150193460748528401526364801970257206288632114446161235159463890627424080615225281548114032203135181054449653055003672327748978374663700840901300921473852203717982705413324679201563729852039780433496647006644739691728478415353546022498754983061643840833420410174317632604975224356393853565560548063641407947501407731382325657239909979812820359414645463276043195758418523710784311461025519547316603826439401765371002760978797715045699472582955778955946034648901962601167671136986380985276808539862319298336266298314930257349389044945624654943264778156769828574864142624671352230503390574579533876861540345275174231370355210611098220658765561233007683684206232099341828917018501019016013509632886760169703807092119388018329257936710671324916982570067813457728922763006533333085996744128274005237555321784198382962714802862932391905251680809160268586989801808505101402649271452068501625940566011052331398683865269386542339347899118752562749050971797934430108695252024510331269155542915401618346914384408059787033853214898616616476057745111516434112136276328329369271313374577646659277394894876919859144937589370639962986448405772914243294559541085379162374781638271362206402355551452839443120742888584298084013539277634613765975009033383787925995895228314649372245969282213741562954334704308372735753100878687643715312257609270136749738253284237709613269840314605016873261948501842552051568134426337115624995621414784784732190503105691745013671194517235848911647131128130055517408380008611382100541714036283648229442902463435351062827387390323888387628987795586695323272531276191667558597777006930269925997091098795482239996083286855012177302656161695671212790229557039989390329286146301473735146314195019827912502875943480123151283752717694350446295347670343968633724648585474600419841343503680148315771305282859743807672542869931829447536329459333365028394950568070965231848224665200081699636015688418722874426565235495658463131230720936705386498101942873110283481444416783033742377326995712032557946903528265456711032326328052861948199320588820531817540809994076379799108734188888925393802311689170684818864621809910942747152119926153660346326437168896712508909162533984513864850488154341840828246559892860310632994613235856016162627499709422893490685961171567889277889890899551206648956802513807008220039816486938841042922230080643666383102703431163933374221243045767563174949954441723036435617062847986588618904021761524945413817637914572420461342342425644269628770538218425262987452774481360111631784916337034151024258124756825376415636478568687506562487719752002820602309538809332345026720858946387217950715955535658594870420022063285642462545403281764208791394459769321551547465794608941821643112586099706343371298504392679657788151279417014092479809707245057013911812595347217003527006779459119780303861179818862172361418496225370349099248886056450306199720829104829673368054911093706967259936185203742500446834712197875816709523110298550009540176547144524917397131269547908287233815526649515075337462294358491312728243288647979354656433062890834411331914545822361876918754197702575593807691995447351393131909563495252019332996005572666698762569284907984356616629545651309235847988169398968267757363508638422611272052020349543130636635107726475516152985359856454632607187532849328144176692572240998884192549549021244191010959654547682420207143124158363672145462056634653555053989121313696931731671052412960269150209243616032526745749992041184080712514664774740579619892558344026090835397859504577735309053618212311569671875431900757509256773062090001696973648166050685515718735737176642244218712740200739265305832531282177092361780197305607910797503314128637681799111837661253633735118049965191291406655617851984044364948103593519946128743939567558810436921143449072493388026367466413295532287653387578974278650215171150578175487376084970366842471026368708241799333351581022979299095435051004298205959163412503564604254163748141212347374027769268243261155271407033042957088712629089621177827887267271104256549749493606878362795392942801814146785919635156616178719515083973108386355422755386381526841182716826985359649980653764330658742865302651810257372921974137127968116646593335806082188368358269053588115610749858647572591604432041387204386932062045331027185244767782652100002035199951376168427955161620701206540994427212425887017629631827400281410464653560759450302785043623992854106603880275530049116809811499342950822659573659368165579789330306917017679541887650653412610250226289819374917881880374038198345472159401334343479741267590445316451732624141262615634017438171923634339312238221799950627114181720133871928431232282354695772017132048606638052181200612453037193362424573100484292940784452664510969582125026382521809393638774821744599791928266911008742517393206531045580117257357820244209857977101487794327548949531416884703579443946762404342299615654321993690389342279205927374089271222991491260310803848660827422901756432683342002100798633083489035601077349817012685574714183938277968659351772877326590334801344431345983535707055807650455671362196139098361139178024884214178554418154555557882396744813202673218419993148339499170373231406122045910978969585294680675557727996525481506613175518723872249124642660584588980114598064811742169508090655061572466190194500120431701605794375648306000664978948650843474983117212044728958754376958282143587242044524355224847430874642978229838404274261465015039812470740167395487863645611208683666785324011821456049397985289952090436594601318039567242968374183460230032469693243911663920782750611423603668685234685718666731582661044653284017316034073985569433766400783561375705560818889610422071993105587716400606282959063474283106699248682950586822869346502047689274844312790539298375728318391026512176250114753423618825813411047687965933626033245005733243447715031075653708371101792513904344136890027786742961631430917649943705661914898865071595387885529802238795226063355314024097385030520423910851947825123485794696870652010295202858619358246949079190642653679965843687730301163843392584850029137055200247436296015860218994196992994203870783192862450276650539078092912656691237166944946965226758685791167250866188224915229349809599909629939569656499799586087718326350164415250314646991649637534862223655647034814736926434557390369936381892029332530249894691974198755532217636616958869367711593518727771202066277169857664553003924380349858479115125280671379748465272052974322155102415184846242188831218478566377518912346649066176122960409799935115678304945141448439901178404629665797139213426729413254862413275138498729966072873305490426589317155405842926737337854979041094139541606660476263264968735954942806773157460914231460205486690016986214762204444651392147533838694288507372209090733320760457349674568057611909583284182319520628350230818405045552095668402752217898785400863330024571685843888761021818601286248191231865757366142719286806649129817121580800883505677687332716785043102100063963090668958332929674195178766031414375955330783532300516489995449203088024086580558767326594305198433371821514232863823435554604037056101407880384628915675290623397188962085525840060998349162760336310387962065802726254782492651850009207981144360027392738314222866253855099960404531091764033760816100935524190428700902524510482265687662364877400638027184036361402307954621567359159623447000061825401927373978022184223782448524846390844134831838919654507589959414263354143263957444075702385649118185426476929835021348421102506015730706655651007292590910596579888565337585593791169640793033372769653280826252894162217892897730404937493261844289120836456585328296834749003301863768107727622007742370901396273990047681872970442837942232175032747461130596315227803827748500509514004357740005102003103759518026632758771417028456347893295385450123490980346593169686437819942263330987602885124312568098174707695119315769060654519846979450061064964654940120833330536439462482761796663531881950094115486409609444324708177578376944247476753816616135957198603665798981576034672923778807236410162458630442609089360278111051559374087789247667661220465080164171357699392179273840587387834880775991350356659519805672020247316407653122720327573325827532364295053181525988343689348526308714687187936915251971543265895508786089250046414969759611235631819272256275149061243409351198568476247826958171132811263684380728047500472000728412972310391537741874160258672827396253401134127311887728705095158768121883823239679086810229276148068835468606911050410360149428090949703