5650719271028920008216744715221787858775988871981802487958480569344122720617706986225910868924959372655616496095728320316218704742907579129839411243285906887251452200123107058173501092780406651872994205900828178388666706362550750170771763571410276847584830805822990076434675693387036519509082382389033490060399103764615614952181084434531661581857329891286495604047590667716991724603732372832247007163844544617188551799983217028735129673045853618788687918710594116073487963224103061763645705116714162869182602908185449019530202628904923184374283737639692613985776269688015434817571540802290878405463264818299057101292511599449985311893622628348477629878723711243422894057891749511499371653878121400816605879730970808063351164204396966544428515606503948155585015711365817679249999293109668269731977568236150159188599465292265363119933659674582432488907134770082086342209767910158059863340459657292422499190216121108442597463283435785694725347558302662408737081659119591025881611977118991609765777636749327499687499298468445013776451393043001741671427371973250996025439730915072125962150475574177721795796293516112427465012530302472952682043654996743254507638886181340554919419183408869623511130365320722763672913809761023236263805887154511703093960172596122403081806257328637034041300912263662742378111084787292332424750017281429340448826646979111687688317569494438320984682594762421362018068411343342800160536889915227124976000445736742896584476008811218829964547122401059507118990011993990345167307513564375174186386775710326056817264792209727356023505537243925751121342224059652013676391783258470505737243209411779418597923860921404228649581769610570362659742882314178137204175222359624598887018535359179597029255227677465167011556464413226152774532288805606761318750172797074428756546006773914789797977774127992656267934226604684482250762462727453147679240718166382358605877612037794729790616355590451948700914783256136297922471527611582683061487090629412760822593742911217456166238270446439698063364586331958572499444188057954290659282488336585530048853549069034063201134793346341126581588591997228432801235860982541700559759581424615839416405769849895870739871332915967508075069059536519506640932528289086582588441103053717801164082991650909743963268540331547946145201291176462889744887032727441062192309056344319797591774428624944174180714256126975153506378862270698760185808406011362999875103272049168748588280326626504024441756672447305224267929680082537702369614345967494187055154317188325396721228067576281897239047980419192224031888516706539433232273283406919008860530283137550777196536128039825889908221076053873427130033925513403336433049436788502505807469719142786180034702652813394130112026304913026497663944284708819012642144446186952347875345126127392607151870465709487911434157886156862049096576515217450865554170867062062629280801547634280707884590897069097078223096415495274633713429428136059368900459987450722164107920526452353398397032114320841533696241477716656369571014008262621246494175831477425527937763926150709226700957790253047823226842922845525511380315610303725319502896348900039170732772045687637816551341454361345613927595259941696730876302546118401150786671730414591132487198948154232900074125574688926636430356789970977499947415208962516641319317315154148889410207568122364395027532947836877897544467693132735498793576153833698134804127491940819266982375635559939441191385376393981218882337230275495523161790199311199433166284833396703883992924044087303922316755425713013316710218958341682267800382784025796718613458617943724862031443913695457803765569932318622867269528174964240796780922894171897850777164598667336338517035124800877694043919643387248942464944932701116407472801525420676061565735956696344624777219377983130614109879513975343174012800123285695673534921466874285566588906476034397789936613041697356256904508047825818480795965790316006466271953535473543039518540241887514610073511965269220085109288030591598950057684606704224142056006256151156814274955378792097608224839054736264759296165375145068452367731458824753460007521128064200984120903389636736489602408828927449430878742315064924165058950605649636501733249632159664460530095068719893127191307273710874983580352331653473503230612799187445580714880227578901963233152906554525003035783683880103429619274626237530119478756766109171098461184837958995770457078085185931149533238138615751468367886389494348772585356921077904692230179614481649274877075866325558676638087151179566373860593148915678477292300257994280339644445912850589819945634163196150695296572530521416079586805421590010778932984126833882463016166278245048346759332710067468075703527032866542485657764400218888131944121785924599365716747626439523036114707167194775349111755707011732213039749126751772948419220304535838813835501788073825847877230814605098659827735017591388111293664264139112885496156385106326792219632644833372998626146879458780643907391628927780404192037905970261000172964743794113326117704731831948145610990311653364135518691885700361361392567804317878648827497424660700056837278055829712551204661741746420157953546517772992369533618351366161416078745034371225696422658275417024908402940072632384540477028731221162356363637866321378071954077293429165438225858995893999407126479486939852338137716016056779326364967943186900671383999666509135621316635325393532821797447361823065728260700053336415159986178484957874854959283834350359967705200988473869798171507642538219730839777063032940101865028840824818796402805190201388890785867259038688869489500638428506082808711679566404365329272122720011892050906557093636663876149150339535636291991264821208823848872836399018218335827948830114002285924826747681163968741863363581074566141919026423208484710069277724448549542295525363745851888551995859804124676213598083262127227802792215673394654462898000832513892013681911487923112023106357737048417518766459761073383929793498339091867512589696024327396645579478565326575545247780410084631588445077734389804672614622085244098596379808798156428890008623132992629500489395937827827799003302564524662502196988661440341681948390867127437025992036171249434263359161915618217511138352305732168175376838769411634470700383500318845539316258422869940978338470265819740476218404499486329166292773658605227177617566198015734912378148771588340096615416090581729633411669494404165617316464546410852928968318725396028665029771856059945787669299891758260248323028913491267197076252178293025438320670897606314049257176489022955012001862404908924642380292587089390476626117909374502532881699629677249951642689040303682751614672306302476745659689058223495953184814062736201270175097436922340722228492122340467067701403738710033983195439475172853903377158261650960403341969155445883509335591587628963159074519197548581040209962868274181633652407256360481387674491919183449790516153292331198548749758103082033759089223333198062048859267461837745767091311128422218234971155839415215457569311642466863979563414036571338269423779356754701052556114247174027494430016487592847458983690102852396407045704099744633003024309648288993564063948412712124555420248147494991395136308620176718743567317807936459180952060632507863604384178723732737034107358035395834241114488762475886621534064657081293642519767356918061578933742961235597463108890607855758133320453003750170059120805471294626672072358375370393383921050513270477713550088127465857062124441499261526525447193789486798233382308450113658378746794374298536767612634099837611380828257100787449712112105876005188913623792446427739959437147656447819189434076840745789403269813595413457865440424093943369241500052497173718750150454780705965970229946318284209255733814300908020014756574905930513995335425237349815473973477528917450093527261243791088436299081836935398014249618726670299198382976505317841703575232362281110307968400284364612246572701912953759609628054526751308689770076351311383199641326467325203301937178206626590723479202732163366074904677226309646676840166403111501068891421386943638655306717878984864906145840214189719381168966442843468952083491373202329215950235581487685025262693835756341465923162830343969138411997632878371788971015302315167367121308246325112324954196713549261492327959471713109618399744671810143848786867288250099063521703717101070667495211220236698769041851059126865496529552211188192287482495082622384249461689499627476715224487615140187255295267905586109558220834853688108625425984694650482566951210130003545144514079027374070201215215670285636034046773280200422954511539093706101889107227369664116269279559269358378091838704215942860716742777505314598379700395671753327605455996446373253392850935368028573163807435760190376479906818666072453196772882820467468059925523778088766045227274011826718361748647423127650477989061742589753518361673448486275182357515581842779847291140768386512273821916284179998002189918669897279461090517406216524525392371009046155106846477130583112440650555160780375912735893115350425470997966003595878467778314366904004700300660258094762604040731131512653729844643120491905979183344519882866331643793983480499734185173350083158537825174213286605122558667072826618136667986647269524391098371943866422220885512464994093931025301053275364915161661071364477017113540087579185342440687034736548903911669577102457416119692257047449515473294539371993852188992636598145464927865955240569358622371195642034821426941007942804032142716920402554249349133324828143314006057202737661675017490204646047742573746502660271011042506110884031415066333460562677827539528031173780414750817084876620572375593971913498580298676338386524174461563803761880658381110772289636793183460648613541653630969923502811267321193547613087073076326618745577797042813211929326069620505053822626818139322264861733894409781054735558581718105288668018087282655201160331152680547358156885040671887811036294359084800498003170259031245875200109689638548955081985109696217237196160024919517616137196818541361978070462313185798408190944170278175112454762242193902906424552369981227604938148439739472927163151373044537451205278216409125430568972325061291718630270182736793590833440569641505533652825504863846281237201452905260453913499883501625456591782319455756006984245408043602881122068634235934358809714084363575781645179662008989850368895143721996413479689588474400380805188378929267236284021572600791219146039065788407819067228397529443147043622563244250983712565419833637009256581006094476633185078432232257815916626163736145652405629844626228980597870585051301863758220953742891589538143283360646478574948138386240155573800975522480875788617241357805295293745093181669421155381072591120505115523689531746285392552775825446999367321596114753018296789323023959791840452937239168847779072368247421477760594410394061079216040783830607657008138545752674288366659710475285199944529887215041706687635253862767220108830434505273946462848125957968851894345863267914109011516303188277702399616307717719870501919747527856828468240912909059151136899674267103927028228224239443032990426237539332165087511556869068000724487411637236997143729635536509957799862686385190462335989540445214200469107716763906595559504126556693513385051351010666626039694264625053559695706863425129098425987482848807388074327949849791280029313194923721263957942821050053984304706189206602396689884890288729199708738399638297176665684556466447220169022952779336895251997542365482394690967890580015105969206845084443530229387499009506536210718263617630679418319379922554625552913787744786527454447602075620812280965434096732277948155717709028015669068732069754579041811824726392208182388353811715907199562201422340588414895977578287144464617841809741131728475204028464926600791766889952800430833689172832812088677662852995079347264548739038805662857156754689315860643647437094289904670039971568532897541341760750127221129285038328182316492468580203426444958880609931570827675706058692098877947830098070738309914773082870565258358165249070061449748035182617543369983890997142116920439790445781770060159963175878811781836314582698604600018595387556740371830109960320421381829685359397571581588520573702994852498427285334582345492772961457707549267801260594034311518754524288215096222271785116378243606035956466088216484906633468828521027763371103741241815251043806018785023243528742833459554944646514127451713687871226282786240802315060142400298320059227852932174771895045175907002935710904121609788383890390101305976967380450438267556696707947435121860915959885540200970665308811007198693672136256243319940732942651521988192727352793788752946211463562472654499768037912117738985332589755294260174865177850749383531516045462479956463158223261515677371927175161707123056372524191839021848354435248544181444854047949134969413037982300554039444239252648699903792923988481435859885040919909289471779518761346324839820811839786964825792836569943935917101079766158727910667652955547267365341957730531597263458013839575000295079022182808154065348206816836433345553844660067591412093776310754319794250356015257466744486451892861386322923549296960308954043330469191393758778374305201615949095904044429397124664285346940849340844396225938304822367062047081075504237730671054390196301009217767281964021136576696336447468135954050453577235994527271917831327732878135968458900728929603835519896610216161952935827798172723613375306013109402984763570843104532073774194035233719167251562025333610029522056437444169226528062423435388694337071497429072988221564102072405103252004012310132399709016257768194304816047161390261272997674484825316910637766893910100977415808339021094871550852973960711392135038248625771867064351332562775389103976553730546972115461648277198585141524678266487924199017736685209361729646394196605517280958479405687542181591251813541636584424982637845005121312667831589921310683478988501632909693741743885844291180940104404464748813201796125334338459899346711503924003726269703648527551223383676087459085055310172928151489857566211110716358365658463512507254875097079704540006943204554380767277984854308418003433989317483110819204734675576829218150898200391221604162710302323148127058188201471988150180413737650355263194241439254273315698453499026436850093019446878337282621533277862862274128806649367630884211998285402824714379316179268689778696137420801339260988804663540400124966957080917005985452716867879265961669761471060515787463150077673740717854961012691347652760428802983669165367627751527893936726915381207834597363525204598171862391521204764490743363723640727966119249715165240577959313386182894728690206821888574505843562741114083013796885732193788134319531930241611309883102571484916879963097269300398609966104596284180580307337376237133844303921349408538272919643367641072475610650414331532596922696804041602668619042206455147317097501662929790695915561075816526276432725604774366822030611274991545818488865392984287348476866020512350247776975393128076663265327562686354051591904801478795327083242977482532732113251131663462896094832185359670096119286622811510904112748715715427355917208450550971256127609242987489200146201299414127997821019868798803423652504916616498500587366247580945196698369909769827553187945930559119045945822704560888672265220142147641223404860848715932554678883657770110506581462956201679558813690602762421667853583740606498758819085237493189437802972612497379278701440858701582789041380027045815969045815074342256385497191672178172664172507732471910630798016934291718969643980082145225037620149221018072361470685208711584599511622520766904073593375423983845917260246947344694022674063358849575599294928497800067564999784642202221624464244250016406475949260483555091416842943693341846862801167676818502797156590674351542768435117078357063712780216470656499011818644450722090122760825474486667522967049259361548521178626283945232937953889044906013975694998511815501890894285996284843233085266827916006524013742126559868385078769379922434808011777653581099866803705049439341518284532741638218598103147081233061515799963885744564979787901217369849845124698155652621411533379354348851221147602965016260508444978754986090761058569286337181579455843553639735581509142851918954449794157030589730654939031926360240765468527401466960864956693728794341204044191887974370049312281726846341861950747185289110449511206830927122197915433455599450671264366078388070623069528564532758194802730648601018960816270446365845028193054155952933660615241726339248543069554758114285700983616541496802768243055573154152514278318998274198404062478893155573405204132642592999237027432099330860384548708098922624368567500587615070940740642814241008868917678285280255319500035246022913671590128254786636749264876068436696608423891465139065552169902661232075365511125032687903894151384582029580792205564264644160398846059907987207863290664070010994509590298919605025091509600699159009139031991504113273134204210120144047247308710037451871393315430834558399170174929016246577110194650589406424817828542109920930495454495148629312267477469463403058507012885826142899536572923238189991189672287466429087370693512502610677896543186194831801262412674731521185494013597687803144412886038156796107567235016330872060674489159770436259751394472679736284190178111837713842290567441060589696418692363658988934778985933903544404731106995898266155649039393844318429128708524240705719649033465317239000963497478049004908355886500511507846593408308899624102862814964749408848688568430941127418915390231116084931784878091743635264398419028511699087986160534051481232234096255264952678721127276309633132767383789946818031758398362676852681069963645458524464300568153412518414879424387724254210035477628470967809247010436867970517280138125916940741795371179120959062885377971946115653860782877874162690497592104779066044222009415785725584705173179773206407459927500159539156464341762312058950700816779784331875942173488283364456033902445522127345783512958493097497641294506240719161366205615355029259609223204211348969521166669684555578908429654440403519286145600167958890755100241602521246706722528307483904029189441565146828171911650050462381326483007799607799965960017245488027337106176946842448449274712525269070787482066200155172654916442449418256463184200718083474029263215141797106536517415753255182513027207917571132973558874493644957777469227441648993881320685180867614647382546346724967026545631493967605859494067563366910573613000770365304711477803405552924325302338869331489160511076369702333666553597735652614811458428761028674933707263534916161914880083841244524351604006622823201200584719171506667178740022443573532004021272949657531534879137590801203431626692355409996910660750971324487057282833722414480455543675124939667941313665013059614071684077043848979336937242204611870288983377174107790425745107384312211548265776456508073693322763094149075543298848746015458624034548446900329113088690235008501966800401434455854723746257108204884925178514100572957682393123501004522474894942137995134446807008550708197681895585009553243944890870799457647296806762086481860958927973647366047713922570767752655343607343048820212470446122487021382026431213335572627349588380429732475507931599862596555383436309647208902152138398943482825566521242142358572401205553836392045179383629486637757312796435630157186459498161846578857590164179988633583399473131927776882290299153401841799102395062640970090915356440619530869376531639749730276920081035012049703876840714741343342545157352222510294376741985329574189815147499419856521629161129638520044884826801464626543755619471585964356937083445199475937984032639074768476720340387881570083257164631488161195134923081080415232695743650779393885184392343967126701167144173461070410745131854525631446864200418559533047222774248482179599531396240654486664199937245105059298922988327093402396111721236155947236079878128368079142266882477291908885708544441456673262519239339118788542086222890227478492325347126980289901191223960810143678490099117018237359756848852220060179081883616442428002897119226243251430701346688499688300323957382426507641200140018959982287016359909673804919920715614942743389280257538920822994466860135464492417261064056346893579692139688829656753268803592949808122180963938604931822171375366178486583977837331413721858484002951609007781514656938113962473668729729507658114717629025263539302385235900822294067960596849780019533133215435942738787372350452316629040694288452221068294349570143147216735670803009839264211336641372045503583984977804225469024161465925284673160951384930843260307809427994201306435928002338368058001791212342995497398521468374274453575800009659488241488225643189446927927993832766815647212520474166869669952229901475296559506013700666662984875923552107067768038005761950448041306527223000903814381577622427657319042442432823352419282424199820834079223515941193111354773765848346378629124333645780168434029963590453475809273742868611114000369405842323240625801662874384320360855187412584075241429857399326401920762011528042295280910952603805982194246151371899991997267648146355889595632712711911637392116852331380854135317508662402714309633762858261893653420760942382345622918744924299641618602840175748939813206735699850721016123798592473704477947933015116739109059207687025810504805427101021027947605417099050441083894906108803664205005010064272652053763653910441952553560987242447814179571616711066412411145490272690657719391497139481595144161330495167106256969908067672099232272889609224821811628485684607834123083916498589651599068529313825124525165914989139145098920203826288805307896719624224027158430069949480169731704227639344187293188126143127207620384318837656065887592804534306345777650415112600450630094524268736401443965225261225334797113087627862168791317440084463184483145922249018150905003440868316630133458359175275775120107938692715050886804331908420541234104375870969550993084936080114624161659746701700019402101123696002267242813093104054375588857467694419701010321737274823718454223675646757880964691084355291723190655220009006475684029649721030195628629520177736148103075178288750513575593276880791108716535310472720379706495565685457000541699871808878517164632177888943103090181078920647100428116011422732750868751825635778599200443627892988763845409977836867901264953242028412053051734421111338734159361113428824908450561705688004941163406389789624681852310221715921361900878731209485627749821313440640728502722771234909991023478432515365648915039530439532989733084521185087580544588442630613922384593191850904363107370432724062522932017108645065703846129525877061272093967464044328931893471277305604091847242674578658005133973434934028842000567433233756144597981393188489435189403888593942731971399137181609649937797181365562691515323593558552321030276732092154797146502457680894812585885001580295945291059038520878357968026046641260366279132119055842644249913039066694617829834418672107098492408067538221104656423634443283423330183916126692234608042470723056164465088747071431345583655061678125733518315569693251527123280002576937778325284610772484803813171764541484903374351509080372699776221469850197632892791838007084607743639658421701980163974772242927291166008278377483881258483775494510220148085724002138076343893355377482290862273596394038428853480229458434752101740254096981229342287130616826991016426015147172391114175757447649381093507315555666183669414178117316667409054511120596447855776508265915810372485545189974541292019510102139488932451348803023225186297510559453708843733045378996516277323378649533807211758547209826569997861714195816991756576469126115891062572054753938586232155766356562810026492895753376691178804460741744494683159586256463354790765940499858273131857404839318495999038014832155331081475316255754657559943158782891938479105671146992897212081370464212232709913503893515824951098420653833825286675937519915014967922216608226893486148139640037829151722545224663387190054168850866038392825282510239345851646733347176459977139262106782857521865572227215039955275944239082178636868680283189716301734733941704491259288696577208481855259430979095023893440271019204739772760670272551906924035956439407774731758013103806209805458498165539615517937317948929474224030694566117810542347239177699003172529241922087321044062732642059212137339538260375872045219515546869593456373310907202734796241927987232960202392113496876500603391114410531771083323010661721060282623787954063305607773856952080253621327823154725492887473772807160302084490873312690448816096713743041491578810070124006615386661966115363244252375875437075632839441987202737064551195892466749684782503786483938058637974648517095246514263557462225923488340049673335751106852075678016841856723156632843428735202003788974556972545729172946476686055942308095249722739034771349054659989798313296570483850995990455344324256685233271667766255391936478893551184412678344970510603251040496505056214148646697658084188238998493025440304063839637146979768608011565505002385259963561537407209365825426665180187443597337168094687220886404413167527251967876334067055796237554306032129806530046752321945700131734957838592696372504699169272356851645404664391642111028056392077131781258697852063276182711929742911136906791908326044216318292584708498068168001605137878708066436376173090800971494172042958602339947257237325474991106491251585470205938771218618838577603851309330833701833704587435105591631574568938122402960704225874938195651455368508794875297775279098554709336197967444973751279288044515549168964609007473600629433995440366252712723471742804758147691638253535808145229419984809569733558901482206829770779259216189444335584704487365342368289807752285844225764500044371190080866085679191678028022559779778865474931940118910722078055023919456850945066857830148943555846882568652259834628732527882476154310185401495867630983662809424856974424663150823911388569411997585037594910902294333289130220989493243734724044587806720842931981205588051566914795477462756944075523439685276756393030215900307960303272899565204508639139260066197424713770290751515538555552162814396663782858019662518064380572001677056331142019360177506653953120925569774085921038899464750173165722799198690804683630115122449011280200160240619072083606940852981001127142103011320680375360669779881696816228450418546083149016005274856588333485330949363265976493989547480728352356282619117766155019758830766002631992914690306808884778744445618718009568509299077545329874336217028975835764762517050037461182985782366842319661376479126234523001238922154021158795717330883183316209425927043822394127106525867588430923727019358761582134711479312315787589414380538751233370312553022870722261215190213651682847240437410736868377409764932226041085837801587325166043436769463671255945104836442156400176023390515110620114758074714732434773735246318339715613084468602179553088710643614176585021892010065373244208660188836339519820827464788219175184077601653645627364842763671290697467623987550396770956314443413259922311076106774879511965316632524766873583151649591697228891154520118476892056916085808697802365477225804100701410991761551788335058549050130372372448503782615221086991905033260415375753015638746335536139466417945520922486350093547260107748543095097335971971336052162846791091500334831038171776993287966066126150543747564742441760556253865580545910666030384550516231518077121622689393431887948662714621343415784614057145940706988341576827495967463288873853442286434027777364110439316691036265908411198825246399320980183710201142252144679218240348357738869973209414972803728762698361257145575426924114487353612459684399957499181502950686048283252681677326335485780859553382707976034876400058637712667096376163777255995901874545712512159865242967557058135680161423748625259556302107020588605857121094529574214425138287157632345554016964495938451370085749084649041748297880635863872456455829834909738417470057444699335818891391265106853969704173107799589718944454040437407825245924972854648084588621362154678170668943307216664437663879237155211116557379946399065442476191623834589217212842758303541150322606054086808082368198542668690950566064754563899608553820680786842459824381760631587979038016691946938467544507666363277079748832425362126577334971308116080974217854066713547045185996604692113899305987332136645144804374586975806494137441016531012549908695186826249084195858959114115975593176701709129604400412933520080307077158160121671622915268377317115830657769827999281818746487298772847514506396214406370919738616890652002732364814451543426288867933233407643025570625077795582385609050714127684647254924583812482387459972630105920322880262400648484372646666159192470596846800759297451018723742090050734425501430175386169544844950924467027170198726443307881376379726528245364137871111900037774656209134660084771993184198975431162075442550927026435854741285492600154409492204948434908037687847862203252482977821211115883668454785001259446128349461050416352820321456391013948994009040776958091146886988282172573587665261171385974663491708066315181618825064661027367547344076584755548144510713450104949446005481035950312484739750245180891349543048179427800875990419598622577881709652432519119150110972230029290265409651662588699697921033052178719685742000870830533746042260132000675885962056110484189315428638606184771076687636144085528492352970458656315189793102765604830037183048679298168578854315899802621935703722649497372714393274547630211593858797535716146564018882904063458228981552177823235113303800145978866911239921345866207688692199976678792694829315035704563882880547427696179110623293650048226380023792400311384714189184017745848127368399538909327346747411906718555385248139161905570212412094849477902725732822480511753962357395185367831124373324590997132962481917701914351694144233957154492593273465800079484818204929468617044381861968817398129521467228032571667854746575388230486109012369425211685332970704742353364590533154223856043113597733160529683099522808412724174857264226295595557738579851369754471904623183638401269245371357895995458766139070207221769994674173718595218215335058134124592909380240771692126732655068527728657771758818130804179685537209175842928819632713120098652373390875178950923295508618573711050137755550542871422294041323538552328873938125368697092235588443685463866779215184994118777511989536812580412020520931708460668611303661613916068062233080146907138494665967664470693001016617421270637233090438407807009770413530604337736880630420121198249593653097770459422464587707521570846245922068901258606377039197281806408605506721582220933853571761301262722495554776860155513689729946228568023501288203754013995990513470282633751671956468867356408845874137412570775321108943584468056460111469447079299084342789695242353400444242161170504883852386612962017432649866827215691830591898199932107084676397957140100399108092313011589128924639740779790600831143392214107670655633602772756970300531042700866339700077352950080043248518605249119216952257255369694546316930851773469684310946906351992695670858294163694688379915015374932027847263522081829711322859242455239955317616708770802198013368881787319170750638619928830266055233065982958021993996879896502035432920226128228617295284835148691984916639451313043561055669538627029782638760074330546002056929631609863739747180244944250842715876862136111839953358873957129716302626247330326761658944767638379541266909042618873777153827755619836436440612490867572954720291275928662633973950717013586515643235092365753159121822271832406729339675240556568751979062303085919986400566113098286193433732334222862929531840769488721104337860046348292386463301183394838514529253183411058489507937321172534560888120326265125919641759013560558460402029541133097273275531586323374677621834144961299742900633070437100284609096225109309463760804524643114024646167097033310491853328630133598104914617059199274616580593843663155527322232160631389338622999314966699923140113241275048347289775435428843854188306811745573450994537311607115055647711368613703167909069781386941622759620001427118124193231926189364337438580301113623956158767603146980749789900363669384261932356045129008908034401349866069204919421432232045586710706303233734687720954268726498479109533806364047143669441181938949992282828332057313358566660565454673866709014755181938605661106674061631542027536730590066287844340414578871535208268275993788112254611598651182008935424792514839301451327445645448081460722115145291323077632186985031104316920450692909763972671184304846439584543843810218575694034519252211676050441463210889392844770091168874818065397385314699177176293070461368808646178648555263992200256483373137755610476903292523558297634048723384421021441703068888551055838176619721866036332221086192775592254126212916550773971590778327552965697989544621918178255088843049609398252714805712537046820234105134969130621193456251843966486900497311474583838554649036775375415256493852246001565579147784225750390776090600767314338006529105244212812982059790233144896707231762954242548428542966345016740826111645990733687873408009784766388442031115473261612423491877515360673884322748800042382570221868835213655820711725064312344431224846111704776859466998123676709284895075543239185784597854534453942450004328247815274960414860254400500043867649176673714101127677628722019873791459720241454111984757968846226461344468503925114599295170802459683029980372884243272890970125194407495422711145472651649762371722461014286390948104379345583755902103532271366176514449097373963174538755891509250604504231528946499365854005920090540974037931571417093503096105250357761554702853653913223943569594370436806081457749071365712662100243823432687452469596167434644669041495663409655614221075539906800040616067932493926124678678269374336033836176568281649406323250794307680398055973037978601936006446114244049637941748509603304948660094509563258322283244674079936945405452887620958283640158151756306952130903999827192118033209849434758748148020730051854175050004479354278070153158343851467468915941369176282508442828974721512107233151879130984267064546698908632047135159147574371725494284047342066671596353781964403931446271587145304030418504055348583210368173713116257018513158907328364272543865480292143568369092929346691988437566771127063062265200960068911677245467163560796317303310201368193639456702882523254695616843762126162743022274600069630325602915622806209437997904967000660861324614235288978678175875832928060522955574461239146634228410327470675122579702717381813654787424491913271141422261342608177820279370797812964280415685493186213151120912118647688157796115836151264356678432201016796417091616843379036889109211891542341412197434438017027959148293527778098731184086788583407337789457356130248757326185535378047083719422457222055673126663567276657590735468663121444100467294859508672118085398542952909728103164021233131671535721921994714131543767081259302974077267749152216683382407348536043760534450681340779929754607211598641087156390368260245606328587341559264893920756870431173921656701738228611696373417524816082652835658519688225667319701419685969534396255187744485466607676163017556271899664002558219076692904769387576533934299011928688988354393141894197517428621489378114653067156566327079932080918820295592207954696394387585686469498047278073432172500369828575424329156954307524875811894651103536451147577330818309588044164518263487145979950790659553970431258596300998894963928983381324549309040030929315618507935077421452356360363394865726410927679815051798834163550122873866633614120299172589944966244620283545067097005264258654389741860125722431232758184040588453630652225478691877795190258094457423656204064151820440465275611453829449846261454498535052524670052097982608743293146652915382397696384645420849164829010558797557195650203288204697609764643499118773703132953422183059513852773541922335530973291597449734011476568891354442761821665549040187743623758293560752819463367385060422708637084159331378614343959992273046845261205333294638023023350655239856986429748111014417752817441427015667531353554006881073817959651217961106562073751958249945900131928149895092367553387372873896089994873483720576814652830129838727115554827975566031215337220093814460852550006710932565398407789125211476587268262419048888667580101249807624440681585474230988098123113975310379538175508607407329730037669606550368918879529362236349005975630777578456319345569103014612286353011956587511178188499960288814225310979631848657506402521403825357454327502377028778020270553199834277027265077854757774839149123551364180698383859526000024937292429837997735110073674776170800142036826609111219687054772762786089672342253485344159527703081680658892118567001416479259558727882671983830540782439365310192871048237610774843087013545555842057870642620104503205650215700005793857029049590821397318999990460745558563522505644486275274221206862718070331806344972599022242838000917041131765262422424649933834835630743820447799932497391674158621796189133902996235074141557429599108021421711344942456611354303324137389451685089325986112552995418146092251769791399911167466007912622847924804033934141898598380543838520011524827332521371210374658410512664056890052280412449914765817074589279284503644989871257839537995913841301676165143278061925624216601741909525130468364566038560121205495358961918755101805662775805445080877968843364445011289879314822909606480817361873991889811203594554202394020118408696678808158614035364867989729599157948853625128664140838711761776470256628131098402596477554622379405167080280031380027882255492332959658777880919922700026575819004070848636628520800903560042052559544308070833913003369473779924979410218302693994330278645548046097029959129418942079844499204903715600613564459667651101131522893463525881337293069179392544734170533011254984381209238582066474427839954452981011944792099636189962868313602714808387687550179166452283654935326154912668785701347676031424066672073330119789914671285428924692899223344323324782910463366825015048373805147616908055391073585189926217831693394290739836294703705336119389618138111005725205576019731769730644465675258779326938911088961026473940565333265959850059855057705009155798025621506511597002872383398877770242393054103913191439868656423447787083403894214367244119761106984783024413935372107518494615213782094536829466686338288640261640859203995842500144063837864028004034324908169273770064750263173576008499215143511628193220537884584334356970332404214646690378837260706304438778100664334372155982052792146013834991424861086574780059264965259659792278376024592597524011547512491729566269629978631133398040399461327044916804777991220035065002244049441021599388411524130641966461305418667606548690104278364001141793560320985854965383129630744914260393391886373902225288263755172212551739477777099518444829337558713987925602402363218690624380251650442003244481812771744182108373327628053402593760935453674501844606412852011387481926294645839290941126328566205398028493976906900113856602322862675524812413103214500260493779946598980231542874334350390677672322210333588775208734773741508830151185534412942816293677728511627746390842046327956323196958110994634618822555240982392098810800363735627872407496735035916907934317879667807657221834326026710141938995785540363446989581263287481370848393430775363212449777515653738678911988524856191068810385759516318417369854564670452590066018659501237113660037182331448040805866989701068171889022266070161647346226433240329231457165271446280802546860992826971788216451079160414001091373971140971626724740781291491538926140148201984368337566705869661276390210309745689335906583450688227258399373832865466015450429242977816843137314960571017169194382074758172814200367478295204733930416223515946972620549079543847988610962556153426481498343737426288384530156598236375119582325954783236351911734462984933266861240564290491575012310804230817041008538577734246477568981063778988731599362796344090999005483271055204131410155664754664202529635265679721847303878335765918981407075058232972260104670272070221938533357555872892260287585507700554980745223502739767515076846902491565198449712699440958642242592648157001983142187283048273532796512312500825134853258186439618379600951033557043369277821792629590685889244948285103995065328387355833857252180791090607139968693287563398616686886856679566436864511951812580179855412479023609161356438687604690132479382652579704448207978447451698537892050920474395093937673833796476782775722252861155922206675323991279752078264470962293850483882919984292028466453782068107486787786215417364000388694505254922601222874600011049918369994387657879066427538633534461360899564342348091744608061418554634590024269168233704501652517071430433969875709079420695847544698742038026596403455415090755224098202104764304649290790765288788518839205735100029009085603482244127057621232235245153724072396819524387500734359875247754084775637175826909444322956631140517181908581181025568754428632693412602451579782338214766520790141301647704772916838214966046050191355026494785379100607301906925050652302781328249309039120722338304634903035969899702715898121961335826130626506586768347150357491083697669320979655480106231981089458115147244200749869483671780725647161886306481377215582760733297904192733472509231789065138467268677950307658581760676280136962730536666422281357424053166763046099765308626761504019325001306915981422385961112614557157288989478620859455577839284090829617665437523469027700739249222184950404256603605386360384216535920071406177538067703742173726329327478195848755426890017480012054802611206181724314315154166371852024254863035467808314730468553756171667961508288120503640405881498664461521450263323688728316466323870932077194426895677509245977265358565375718497965715630127954589345872354103999471034057853202147625960380770727821327103534748411908046124197979102923276741692893608210739437458740177752912192562394368312057832849625816026282511058889095778952915406119847099295183082660466768208929803613533041459716762448269062042413767071127108785029946952156397774482604315293705699284490139907455715157777057527456906929920665136752520225078723324916918975498174326449047810252644345133682599931676570362388653087600968128112380948974213079487147234057978107291098420837775580304810517337056256008181868417547929971614329055655463650401156949947009441446912469825865081685670370225470161417400996505673230268381838845097738838598065398415354447322921604598347143782624159603336639700259083707186348854715159812892817826107915559435917433314694886668289970436479961614946406895451380277321068955127622263952408646664407503409012784900206546410077518278519511799180210875516624376193054906085004026113765327864484880281899499802413880423119668147165255104195347626769080056861678104724233767430107016111808966786158681958702813524136316103782408266452332514976390921642020360197743076238725364457522834960079754051785557194630392685072079055461639195905379318677274482498934007027617154096963690138387181591394056872371968237341179997156396702389527724647381599599204934614842805587942680830889710214675160351909694862955934915947414021166257227614809493895490131644751486209970351301690239243407882930651548684815984907931272951254329484342824322713416633839065497445889162594866117771165061511255743750019506117985191608769884469745757707328127637797663552099074549220953766529209076421730638192015110597140071078611785858768079590549354361569320409995862669618772717154300233383383869036098875147962392416744072369373072860474170319651226733970907214590538056097052185758155146978327481386996692910496301926613456105333033602894943584777338784404938331601991386744122856734274777501761961090774186472056574951702988175285262771428724371776947146054573009377419382729996691405100568878805557595778677337587098154932822488137705572306054864679173365503427297755995591088546454890451893513388888448546490046425470550902230129963727467562215762827918142254150432288035256833025816621956362416644547173856158649312407144386040504211597203077008349153591106156678838558965666590506865085601368142908894461020171767365935062987287067514626634710556059666864582389141503267648694300376952411740664814131896766296224919161236302783197386962582214606612746386555975603390648869320082267995550057517957911808831839065755211226078874565756530624621207828950668546903578122294657787560366423377067315238457923601458594237574371013636482175545790559073721159360624372690145625770787050275102275602972086649126194900927548765336633832596409128618601455232775438822082733645407377413937114768641959122487038775417811533019974069072320024991443235388699697194002234347837081314843713782492802026561245944185670041319669859152818033638057514528760726611537728622096991652015981963625888561424633222488799288384746225181224697929267136065993368081599622182885712526232721157966026098307585167319942224330137849448289037553385280512045169843797615529385714332393598105089368130792620202636865224134633660583652925046209896328731205671620985287882402382924708928495658647275953293532725105908847402277994490819262535056656430271508398847828845199604360003131281120905687562172042588589892011133224792548856061219067056358471803283537423029251167863599346436855118951363388494281630564217903424320456795645163237284705506848370426106660187500238619269854792834544111139880814785611696076259604125238217308777238498105721692004637469299077890640451023193404868614534541221385430533952292778539992447579607141204599728096840849184841702527748107170070765750778153333696361281009016183659726642986346983001102013732197060725023658247557768070353673380453055420245090877775710177415461867319443943020798279387128674851592446730143222050088791569055104448022147569874873643809715235770683907653531918383674545178645614004769123225053411875483258819329796608021536988065604939721753622393296359047844305709671747010350670215219094434005972157969995962094515514967478966281978978474773225776273910807425623420277744077645362663754496068301438203710574001378743193899730883604976923434561346765045918907377765368711178313089583175076703479016887004945244202510117788035047726537031656077238350039843457220873676732440164009002097342064052410094348465865876075810017513764864209145621109717308309151437924344259722933815655485301545237671197170373765220769399543077744963771718185607783623578976650056423594413973741013471368934939681041583880165377714851744247105300558837953590262657732256076507652446231681707073857072670330096341074242313121407104472406516241349773005417558278716066718343578455755396052889761467149984231076552182797085062109913911335443108317597395992112014405549083404345095835324646947387941850291625235718251715300149833019138391815496312493024138021433357286478918559708101515428661907625363264029090910072614481671343980207709718700817079527685729117248919880760742549401260742753488379258234309554504721705971329156172905446302863235305893035941658959494135411744384974277762837723773287728803231729146923216098375694367247670743667360682282119689115840508583859686754082294163075659710578864823408807136653961527408455341824175956679344740993633589123306813319087921496585959208120551233574573275425084679590312477591859317645187695053012044282041227158812431191707008313841055278093985228338519220061346551188997385907841793615722956502621410259849634703174646832583845097112007060541858322016274659168970280096140236068379906362388276295394009133739577567103432259989419920933207264910631074300299241143136567283685758866397417341456779436154513098974513255999135713766371823132020481817316320901287825018431734882963705337338556349850793866345541912455288134878754733110845300502747375289666532915337412952902177914433409053354897539734034352043597837743079558312295798123438887570254562518359578048961314193850875331583328386291087118638913001545704146074603802524487379679834314739436906387649088825783767108681535226964628627409088455176034288701397869732573581327934547066847987663646994242484178532339913711478742432856104612465708600071219094347533243704951522392400521521965729043414919062302542504757954526430872264270501865026502397750393471707135295372984535764549579927008721340888186639116660528511211094228317125789701467520471592701124055868347327463226263423693816321808643375122555181523893275807097861209712067585737126544035734510740712929787351173828221804266330412715683418636018830021457181232403972323286888672774829638761012310542960658416693075949825926257312509674525184492997879471107938189056509017557857544482592286105010760671426111866314574803413024090068200822019650108598840243743759570663974849960720604639904289247204602087073145106579479807821652013321028343853501458448131396608931034978263614850694518758328212326723550911397367828694436357590272637629859696388257690236096013386159035094623458217331930642970695599009562817638461565620827996546556403684347294451914906706450105856114659479914015415196731742338950415453345757298807481656999794735371606271901892530706395274748285446174365454618688218845310148783300837373744502434318949963832172266094378739083415200206680807134743270054962303834865423404228602020136522753146622164515048808111124787063387949256718312193004227605402730534550131062282593015885336619662018131238566715027506149700667979783816662334937797302383459247126407174417801681312650905920642393101542333491633899899482456785096140474723886166055003249927526131179552931658263764199081833547665620924089806283602501684049706379461869850478748009178672653381327414490548322232240017383712845696046090933156481483221592777237941550643969607756188238516249934199154550411297805729580205209618633188120349030502560581102074847255168103106167414572783991475190707627938644386733002401549168139801695459898462873013278184008989148694673420617029346265765664589348816259220922967683160626074019890416348341638497803875483985965917641585659598289567115504091592257316972822750706527178578638954695383576751722374192940813608078606954539602840359554635905712673269722682976012977331921403760097969137435137334067250401787897593417250764597904729770958637486827553639089879252130225098836519264538546424449762784293176827754218072715169036215744052735411942850022638642263738243516167261546559712676803287012364080807061717698966647975786923321412118380150046601308977679011253474313429523184324222980881016354895247199418941463752741852587977591200251045292568833928186973633853878083612969752045863551924200698507978165130344930396588919089839526342956991495524173075073967920565851541780243750168666052844800495550629753029145901517791282331887959825138042633784464693926115800783306111384653109679961672162231672284312888199156053211427751918246688966786602317639882557758572241037716386617381269425201068393497279817579317444397917024953303020912769691335874575377773003405407673633776254611259926236677227995259536262633858751385042765454080933569832118093231735002557955049306399601410743917517772578173014643614756830121983651908816127592953339912935123599680561184944230573465768281630508555774278692659096573401565526482059487346511521189429676238886082030765416569787639607221119718021007549206174847808520731613415625370200918302183946020281533105733863855796005300912931195415088365751220821452453657766217716643218341433679815280956587359923245180223691673191196844680573907516549908066485504289757815116968512413320968528047923704325912764915357344196000703073505197364866491136556256336643094614351738378491056672205970379731266330177927122790020518555528645389306198811181183245000563428967897507388507616040541607050846535386025975637241396566361356019658250758312046286842579705317372297372114329048622979940481128348176487929824687984879918130064872521313306765463950942755862340502633063630176571566832328553503777173547555202469142385230591968786030896327663578816330499595464067157799466814705349388247883290006885731423894438376291089419529108782924204657594214323264226247015217738103862384816143666380092513397107494722203928285913912174404114963446667059887378760087538959356790356052040787654653416201247816952568862841606172423144369051646903780074145762014429966861936626005002417993204747643220323086686186438238568033897120152560129748491315172975265077093249361246085227734922558066765080916140749361044447703509286785787301485312517962742002021609178818066698840647821031334404422313110879764729401614748298630862283270247729670731216035899985104431566239296279490193683671192636892525455082022041400867986250830183638246549743994971670395489598861785340315704292369409058908884053597539109539776717712512300706165928839782769441113365605785391983767745922966088315985453982171558223725012720562050695994201457279652264546593809969468989125853829045499159530427373272285771153068617633587630378795924591607913775538997650798578060529680381769313112978058805612664633771847879190488393274745002575842937715735784613041415026273867150832405983445759801304931317023017257856290776766906309531233645371156776854420010750703836290728843510296638640626696089609782566927056610584656226924894762929622327988947402024616105582785747979678572222525997618166445019717775532854117707468285939431412280743039540311168997580534675994979372327358565364023177544034532469692438285812224631385899342599468702530012344708946526451700656537780891035506300053608779835589267247350901641646016894877426343177913004178333945624012854589806697998305239633106517703252242901701542166129540192972307522812083147364977931951158488241422731046872270963068184022947090363467045362369775694096281090026363178605931818477877506705807534841712205496334121881461041895270451672211945357446592796985403548606827022558392952122810360715686279071236165451673855991963532150168281807442509995484681044250266195275929270260718277371807834543161763681708780607345526219674080257525706674635479921553520928044706387944418955958013365468263734472167518403998809146782619983320636397138538419433012373272504568208011965817750162399717968425345156243824590616855827524376801417131424974035610203966393083224938180587981453573879419728141645453502391447894182133106921085531981221476156674897208801019562661893031646214793423314415472638828221386917387739171522069233115937176768407171198240547470782386093769510338447272326174152480090376328361206034276884309548647774317253373077494182512577341019551376613011760279430787412623678705376788864882735814655828195966504172959447611202668140059656206714019963725845012836931996527299690587969544145339922111873593452511317262776310203525612072328670701537715456487830301508740608689733515051709483413674558518476440791307477326778045590341198833812043781423191905454599618591882187456608918119655104075925113421177738630551417938446038540893000884748793945648582186041030340428893772066530489608302415459592482759056719858728658890445404643928934506491273138028063503078361254615264492705607504954361198314785211760940511361767193313145623155221326487513680409741165627033566708447198567508582608261064321902846556403264013373109305748938123888429855256594815745320214136424367242878528009583115147551293729454741694494352764278034153436472956125575910287715628034477025211923571172101972434248786498029112560677897984238763532181983905152219909708221098451660769159675897897868680880735891978883851340039815684773746335522311696831834826484851136769322553723406590983522008221808830096468809569657919120943123916026763654500466167170274587888590167422882939555373390749438387404147435629674111440415468206946461105678535047191243780600204941151628481086705939218278209793818071929127707390312139969849220137229132812641773996983877800813636659841115283582271669449431895450444556184533761938872826905450504060688132519602590872473929070587545369510481731718056358356305060596558506770851757392228959465425171931509695861500822728664216823926177146722872865138904426019411029843415793089693493836537478581476717297596555894188741589338586157987746392872391175323367115730529393922210459667109436258731793723026247392359079022648411690062365999729065962974238089149245581081054960557754277176191016564773878265210996323131740942599976253170602791334747821816166063698006076256489864546738445041410211929544183179533107041556698729911876295602555976671837406379260448177637993590268441191829755700518382082331467201411503479059111049247481528358590650097902924028943791954789538603603404796199994273468847800761131572941651551989336110800977080238432698854052985597687685494417261531316821010670338107646097814077119892093060094914688287079576397276476882982383741670488336065793441139428666041218257180797367611735677544258379205914093720482655123977392239250751250522571736259546386519535610735898146220945800548109163725809488293925910491445365381663244182012315806856901538077233668077379510090786386430347061427235963924934002640394328124267081587970473874148177519331858667725413450838243061722765951718480031387460385692774041636817655659897533572131309814977658314989869512979183324305703568300898775636923942384715395642472551339803506800139511140604952108341332683273386348452422918138962196464782020754500852143957753073719188490476936911225621307614985994733881484185208861091862260850234613761279809796895971207383316888154282162131721319549277619397103621848061233375220257918947657920104911134572104129920715581383394895909457677180072154603731071450051907774582589805265539746892898998676124373353889343328907297097865477904340629664096896615415201759459984947913313993564106727803748736231922363653010430103884168042666859085451852805925314730635801587496041127318900442815978469627377971193835725860051549495367194892911304977553559614553190909499691831328174420491847266266206275368490307750809984600236957574000940981757837736197220915672183278276441235008628441433000318636463018231842714658702002133097643055979063234790570870093493268563151067391861828905915364781548954050890976069859451097465629414820919007613609654754400063915408509409271631596072422529820460221171198352512219451613505642775892011947198319365426887451729218410604324156082635313069231153004065597002611975407803726941241757207907278466906687969653788953784474201148748417113179557353731179509714588430141559504340613821781762121064088234185619781063142318530737245178597059038135559781644727442959818614527431997866930303157342333105658302591277871911237971205625281011261399186378591298429991519720857997805542392512455354405388463162953417756008243879220858695912207559324025850238160245014516736591424926512536352476987448022771924326077231876014712566479647830272970793881592064220967832616643830900298457654176173966227882275266395140916324941248961750978405035659740372777901897963050801315880754791079769859656052032274752737117314391386251856050387753937748480920058673768474402288681466205397492260646583034263131377908437287404478126430966279406107950778519967870423529247287907602670531538315368710635354144904272235499220866638702247652153581804454376462026906120996102560640185513169462062775864484731705813465781728035202799238712882363700388561364885164188959148374755784530776165782290086001848314992356424030619838947658742684073308050464525419313179953221628969764700153705636043949261424320396767883253726321716743896228357034712048410152324998287810645448820135976082225714643434409044936040547246478940404758298193586291246061618503654039959768027746961567639590955368353220032816512669333382377813649062076267918275118447775466831737045671363280702657425971654738533100237665746901643140306770634944078734308909063488418196269664161934475265262601453273890856272366813440067328563880279265882129810264360003859248266292881004085012548649934958785414792802301913177042936331200851221512843035342146430073294379502663857251795010654761181519560836122947027628794160379430497471194389191853733149287121270028137676585671054379397000228330144911660228333860890600623567582973149162995382471432505951619807121138337966104347598093254235057261004890400845695404839353868685785164215200860311794620916884353979490020007038118671672360806193133136246940861739896133223832246560294899976049039742065359573130259648636241144129426951809223348213177802927439471076257189414346754444637380228336052770711255821275739478500434049216288403996113687635485429933864593434833445814677115668552848397731114568159517228884749933863647769125030081714503977970367622498300813912183533831628754526766597688979297541934097962415191741400308237081185594291533052237478418231030249709128382687910658409332536551521444272441233298039062315970133277604959172401315212444041055383153649557797928459694199304842157512578247930786755265196681996758905720514692278895414073162848738211373733060940481999206590364185323697903998037126157706732251883153843243047860475245928154333748032457761448595010503428951226039374050204053565615968753976579417813934340706368864749136794735527911455435162958322246915498051753899442059244077301903443348524813757062987495135226671915868249525322520360873406074165751676539162324450438879586903478636299216448894938825874574812786405337971850254037625172564832473016713909935449211728984468616917699080983537458521329776637239008907005359094947070057610444344245945570489983691697359403938462966414463451720989725675069806192744281526608707679246853834443728146209960830608632317691046418233963960954914878009879083625558945331336837215126003911384939734368401184915427128429667051034461311429920463285128195900003550781824826963291804613113224689657740222829149229791013435993868643765047052984954065419908294158434039835024519926567468387702645159033645007090657493222002277883896161761461536286619910147936216932009256300038600692616400132725025041682685556615886427430612215710989157613375853595349310632214303218089316801261806747811032573895703645336453634208999003350740211685218964327748548558994969080259771667099874739584473870788804781848658645128087525803981862240335201066678486239729018295520554184381958897520402414233795841260699794674336376617041420005221291160538061608360075218328841071298241058118045152684416301518737562767589493919177629260321205951238097937228246009035078208704928827510243177778672280100080583366028152460247005334344453502848540365602626437970315850201495340486047209843540681167298347972910625345230694752879699433231523685119643612188465325279692744103625680951279016549076946211622094652658775676331239833555628837293558436903637851744090553347166422366966339015199698754198805558884471114116635595470980870335124671782294867417965064042085608065244574960702499095499608178075500057443424763663113173091998459554309751127584805223522711566522952827940798289801164336593245430723417597315396512946605929463435887536378817469763323916952206885649277168914881123514100430128783610427218797819271692645768537908041773553245163332507173937627522690045370997220470287570243095265369906996618765784532566865492928918607279045613076222919558751542413230145607904636938884750814055479583053744108891789154136641289148543818338128296111625390419433387679403315145766939568510464792550400742356833436383234370749095046120455149482120454981966966571193139753792914059448644341998018422307777978474428293728817729572712580287025468397769551324281463711739542188928795740883301558829903967176068847312490731887769760066873480374105345429607384351357045483521931576128189817353498293842294397555167075067802152071365584014769386094601481706914040609100587416126586625796487992063973032883596144817487035725021319722901350975456195898470083214197487522529075784274022120442961600453716723291719222544599885056191472044373545578722182160776386423738175520187059378585652290843217034687605300347196652981975396009468129760704524190388476006706653575542512074483522379970541216573128480687136588815713877009656079817885508167049621918718674381363052612538233195286168035464691006268411344654283999792349809909635477511087505805885029000991854492253451112792371883783883979429644990101381618707176554851793658057168207468248956502098167533438155085722657552213513339182436352950432708453784135468477720456651705075811199503050998770816481551159631850801116116984065604769975849924005126847536932502989877461364764277961615308569857745481617084512208360801757632416964125934385515452442517281423120533126555116651805167986139441505827473084650841457246859804055537385684150234479104780770275839568136651674012032411499516100066870535692104408759908850560576264218888008559324214199256204930452231041907839361781706437830876199204405188115294474018891888498429969488399819356867646835775527514452281273109786550244711373024569798915235214860984365492895341321112646267743731277827106631864985249866530814031813534298475863487474027119623804268697444921270017420231294584001861515008235246099012242690191377438939753388997909233492512759493396372701500291114464726991930270907277327456668014486075179296387005748593259051409117634664393194678538853869900921795251690900468311107583584586755371440530687419629488737295870407552605674315387226109829316467222483040482910743354237278915637975280328510684010443161053526314832875726795296231658864126857241539101780209933199975497072806069970148279273583481930637927534521545463481740089182255948701154318955293378386395520125905121552447067405243973425437037549605849656497911209542196999744714299164704405635690809499464935465372852203876335326376312716352890076306784327969506138409135424422062731173970920643494407949392609983090497480545894245030070340338638787436581171605209217251384147916769427634704225146971000414216893745409979301925613813865287966231781779619702373655931469155889958125097068295560063200125714719522132838658215221641654236607650974157023944476531707220891657754179972277614367548260250426191518506723494931685502537679289340291973223716985535798556574518638735167439137690270125782234098871487231144813930943521845255042180804019400804909251436051565784874276117207798723967573629297684111733554333105492259512432200611894140584995544869811065285346535950008508052548520626254789432037148909705059902975690079013227032922802318309596055162064496109492683914754604319825122572182131399791167637068950563821039253492361578232039934091373476492731077235159362256655892140899073171804310246572247827031110028436526068193750075857561673785538291897606981089564221498766220149238909597706653185224091724739652542402273948257870370452935890055305623927852630668613806496502032605997782046003975265905655869029629498602313600127727283870772745685455786057170852681068146310978424092708415400779885699331328271680950702353321319889812955883951047127453796928916808194682988182804649029611412192902370679487768232235197248457758995062911788501825345169915780580196397565326519043569551020179188727584016777672038984196114023906654066733501804703113834247637203710493744934405716100524298028499438713216656128848991320132072916897118784407291180213336633834413225103543373481413747310704145578098453880129270655397467882339249195473586514679109956634878793702259618370738759744307884763044360332179242028902333021598892329462679604907797031333582372515451729799189969672706055393544090163032951948815196702331696095112416612816608217898021180780391543115397067988768570788867897041463002708497373120199075865660816116387237964387306314890457438140889503300838578209699734578483461422762755612433402385833771028261448713384628978116700077280106251123461924721643313310148159884997234336709963204536650565553042776210890887118571137294749144421142131210021888002721106011464579882014017196996269379081227684563875376085785301249258370139696083510129797228452487225338298806257279149972727066898321241031656483408396578385974707932035101849289129777605102673367571191376305217295956576834171938047285815447267762419093511604519337828463289966208218570631192025807754072079690411279242351663144920328625595636863798033190505007139902561025702171974393354864578578824037607825913352788274632589372885546328810155434251724973911109663395187293747172355743144255121451069899263981226791015530053298305394210609721301402966071391131660182252125355505892409539752929038253475911561141391255121413317133580082139343473608210362703417765873096920377747569606876228904492791494432206063034612244035584864903457688394697169383897355831221677335264634440378768403986109266000526090434472358198497107033734796305449896121031981692305779149889323313925138327486627294118197039471763287119968630350772682396333419848560556310345422681810454796780637693324369802170262307887466529298621167058365391632411267810849602819524451991154406522304388359631593039139344885447777216051014174587500435813467145966571673191540300343935271085672239496816071001045438965174631865814406103204319852649267631817309859469880211107472498161243083068915993925145993132058183581998889379671286875198393211660869648575542661249858697029296372336193747013248124093806725362596116591292627530939310992528778490049268430284278209208551439278282119053181619430461316460387116437443762923977013145791720542286021497690087789194773955019348940090869967746655033329920955750869945832606272875218111207782768753247518245423055877097765042918242093817460876463162839443735569769151908985521837121175548004081996196985448532355462017817326416135823378232477923224016748490003596924758995697019410195934935394087462252721523474584087581110529365691873026364723121989191253190659746149876258671779789814224299273988875401368445414405938357284673451001137082633074668403132699044155279087241659116966389549444959477385109365277863591456390886734472092029546233683838477456130577786089944677936319156901614672340059953310114745661352413981225321226667789154720856108506628251384950728634017193714564227043271676659512023743015571993608925183858810013497808356546816619238613594506855545481135727498311183533984670134783897469208040258601900367381859248995816620745506707743581767682572063635600261941626974141910268464737308425519771379884985902749222062904466333571469958458633556862053599133581737722578441796483688047961220493166313167347085354158944076016432064480224923558973868266978521838287309801157044330257955708881719449339545340883918604284063234189122177612791082953381888111639541869531700919105533622433696651837890971062082536899042302078152831939135334687377271512829635828021935578937774402654936800482295498056959627177343837427466795245140735798415249523275021690225739712282133658611948440610732206177406619085857041896967031361089720491300995690889485289325524506546776775334313361999831484834598166843476908245334327575969318235819166857771204647394990921845337243938606726291920320322507131866259010693312505537670920634821446358427759909463220213387869914649481257258194427559988664666020979005821631183849737694051663751761343517626001984644150226602788923275037738837201617740311580482800313187960690862637678837885166107516312371467721498371069676387039760008154936186914120198726430307308224627335037450569331084015855778141974578323379202401812408076891999447279607537878960201108888987822650521274062968098109098896679935997125521828627538437326094988588290753935708551305148747235194913998392962718859463247961571972372201498769654590924721989086213534683450415875968430528526158502960216357945431385347290915766953084620314858086520359440027612011483424900719371306341443115417565917408479416657391436747399055546396144185841570723498237132697326940468943001173423246050229952557693597808916258682288210206461231580360161786555874605726472695744780796875530118588060607966541919099786340452211017188985539731640519243399510621430228882756920982916245107279313446325500293281472106727544586920552012131560618839501365713306462673997144205098949175657098634801290915435944849767323122995385505607141646120106949252452080540101815980502613307323679878822942034632693954394037494371164459762135404790130643483920147583559773213793716880129512526385631618940319690378391343506235709960854886855983722957318931411417493972568156439725556350502643492880146961504487033678729993233522536222483932736093965865288531894427765158331931328914443306486938615221064267490292736066714318279701818334084103487084755296014994185919427948286994460989691190509100153847765364801809879988039959064359025662043134121119923828825351263820125548960072065357239774990383395840646754051586210197687716045630705470875934556675343115720393463901999582947505149560033172419800999958143903428374488796047027127112937228660508046826430243055877160892769829624317950985280867574564841723695126812910449535383749223496765378060251396340878252285624201839635661800535523349667229759833797353443596048383259072047020300046480749444382618615819622753767306480425863135907589551726193833571514001424914673528691300694042203614756258615077847088147552772143519234006603398196901666934158519433844415855665356422116531382326611162757223759392503257385618389406671493878708068484123685514454121271658539335273785054505051464691856600543161530145505101347817993664628035199103753374409280980356718622141161437865215144243278840712026232486173694218732160955926239953191819179600484790795298911807126218126086135614694223115395008739552161874336805238649179789563518835922466147771535543412478739623115461176944097552994132916988390846064758158913213626928516446431047522338220651914616468103757961614957870835037598245056331127389784461555168818632247881093822790147393909791565889677776059328443273564443609188045712427360204621978322682691405987130966996459557489658918158656479466166802767506471362177942699646253933110970527654861666935990625919331328370136523799482982044536569691539643295575513812016560127096250114444091553934145892814514249350804214479763287767058510934870950472829806124801616467451848833981164054767157319965701985879267474880256972704600280389966992730219234832112583601640636235509520544038259508879043007720380243297691426477364278578351389414833503655303039466324150399340724174440981284230963488417352324732287375403937023361113948270654882610161554267694715119937003491753779935462121603115109800259335712606242464624045656647662505177447062218681185740305072332940684481613481699174205712945239208747809157217234655236420054074848638544375008464097630645042537390255682182039439203267771025864880448767071015945261949152648136270047844956540067261187341164881896681076620637354562307524903192850968621794530987227970371681967063935004557546268066003271368075368868324179705602212630777674210007939357327998120483461129650651354390022812634682028141116172218747850032206764976891902520851636412425755322710409699952937190842094669101473423383388572392476675032052200653992320187327664232846042373438727960978711577901285990237580353159157929177877006506620478413828834537444132933693265203054437311775419933137597813344740283915192634528941690472816291310612221585047842011159431060292263596645259943144360304511631867217881307301725261291743806993714403634374447973192377657346618158412949494181401748403248909815667852891200351535386610510592168854133354490553181753704753069854278604154119527792063448845831368139544965818687993238123607833647601108789558248662474845528993654864633688512378626010563463738225699958710957810421578824108020689675557542224376424216736538506564019774097424076407070734595241653620030773180830548611160684859212215383602785840601818887363384516145515793378348520419245574935650102681019853706857772329723388498666878753134829597739712040890756344119533915975658629834923098733154108409096562325318711010984209710560560216459981852964053473444500657679325313409695090348783133299067909431871741350494263587917814614567745929065104631989781463824380065658664175638737705842135673780245102629182966636121445902270304915177096382956678713203531562053661470019314971843173527783989346493595536923118436888557955880439889342035457200898744439028171150094308943674663538082084801917027457342719175539337536016218920775500771699242185949550272074041602679849864082677532659956461621899773760168436199464360006268448325791718652371218754754381225068638819784911133908484822955562325117195587700101949421726282425047756315095105209242415043396900685327826437967992234748178779737369052796493282415889707674557384390569119438679268138805250099529576597430208124948728354453415363912666786609094977812258699126428794363033033430111347216229871641088381785028040285906629507771880728896399203332822485446123302374163803824257440699233855286414930311603129864933857142761312806938008420306890285999276318698282093835966546574164192723693411720114600355912439948121481733915026496522124477362274423506807419058711033470217445998248839680696567661018130874363198082940019666432533447435862281089384385342995249693337813041140178517142341966825258930344569577428143377574166681585510076933676590938785191760919471578171439198182060570746838785932759993813722928985069743522026391391782054357155752726079381921050138344879594169332040988171277390224602661178112317315222350089001572848956867099730352587696597754938834510329202238586345905671164058409441461795554289789356473989730774920190656074953999547935818886389499464062568957911615106095624663509016273069851912532231703270520522249656532634987101382709762814149005768922420241479659625917422432908801043168205171143635487620911801006423243851966230788540532622823465789165362985963728872044237584062079516705301784562866390058464762713394825093459646376371227693975304897397742706343981103873161791171810585856590998009486802972180272330816575565475313004301610748981073620286733275676106278343131349701730413840407028745580804048918192143427478280155713704108909818032475123051077648928449240121035383905201318173976810834857050589879409540458855436420905601769647588542697472926668659220396250019864133871173839605627657283394381794072199572443005870509938366545043263110465776253313207144708303720041188655381713144859339279542556765531169241656041975902957212888442559583648253441041336057246180445394768683938032166872606225360809275144538341668246516139766756784308752696852687338052929505273604489748334692336231434384802273622697530990233957090529910237509769422512545930649692683607367344386548793286340310578949686410849503372601346477435339307949934984222593627275018641571376379768290540812640141916173301949825745790781045050251869299394386851431419523139254441360300838424667708661084919454590621614556913694560679070016465528689035737196553610527538184737595509083792448709852515333806566116125404758529505766200680247969671122597450301877507566691387344457706551592789539295964093727272953608867035089019605115498126421881778581080091952564003825467546714562771780885132532814451216898245523691789293556738284405094919472741910940295978797147756248185369551555575162942656431055974400466621189695999165808913500951008760989858448364945737197293403279368253197933427001721440890118154989298092344144317461440562387886816625850375816553708865094872454026612759231996267143653030386799351626659748465179544848977656592655210284121649603188086741390566187116629794654972770444584640259070733602078476753898346710846743817287595432017396121802986561953671430974175915538618807563668936189187604296749611492158415319027045715134819770810035986518420125796219791768750763251903855968437069048215080067492693978565319125030951450567216575873630262184697783839996617375952225342551020708192081653380876109744990192173082390456794882493367767787095304633678357735085412199977787227681959784568166608827725493115984079057503310081864646185407095503418269601709886340968519329870221057027198186711718679601598511726428248067739910787658807768831583408214998890979744524291184232673505905895982856319748967390658008509198686872504478375004170971831741619296546094821322830837920095256186841440933175359332124234850479153308401719254198401824310368273614554725640169900093524660498759204676241358348358711177216092913480005240075910782899610220521860960495492983061241213335397573560609148447753988009343972639985056971816691980891725113386385981588679249437526699211549287776825793727671323083904069087864457027390068100409800216115901447259089096806956836968689179324040048058638234918614472490422937941856610543935796233583526819504789341495798278992340602283244612657797366293083217378506920392657436162882190522250010712851016860476755974027252364345531742429466142630143878105530183267509446150324338625545109118544304248964996330203767377299154584909805205849969246083713728276677657278862758782380761134961638493221007283051399476689086249198510611439745984921590508123032993055109183672175234385207511810216736644012220853281702553744866549114615947922251431797161558202223695290082218361530247403224447816345344676412665780430852207989614258625366523002155130460259121546418045798008313837973099911176717622292103935318015415317524106978298408801342143795326088498195915765646770095474907615465374876442017685784222723484030567054799090769237750033371784841646025025101034800913241429903068770383893006597588913065056463230378758069718577479885381038361398264171053910757636275378114354271798804295271035662200011456884954844363891904471791893048727123517044324524072141221535408110572276719261678883016179719531689817498315582471772499361225483365015956515852920270106239877214716311063548841868878502489201783314511876650836624585734755824166618795360444107665138614297613284054591645156812436397717488707213762836452033386016798437317148415699334548986588267111843667409068902367155813639450535991741648549875590071445480444044218473238116765773828367412826348285619430007675067903654837571390951894905772279969334828575715700890390867195092025517475046517697636713532041244806643147808668322903357561786276830155936892735935260026195712396411005694868451987089799370600252352812308243342140020057018143388660801726060375387482194908236103294367963000539277596096920531960496193593657575234933625689785825445805160828351845208777755238873363870862797881402389054687565801289275445233484612628097844424643571126640098550823622316759214571783358367212204567709484306764842278005727057514394233664341735052963446141993332855122566730246532886501791024209822088751786339528288357460881873072848016650612430276012001188585870672237298532569261461580449926083217046990156173329488523425024456150840866583816864616059561006722707893442833410981687543654326507286631815256255414169434977527256929110636361802328272669322157740661625351442774591868700915780756828354598775225411281382851936518453803680213755983021307490152997378747869245733135276026132331169043720654127531168870584717824828101177589343469347495876669041952179838862108143883360026931026344227013224148536863976560772407820521854378121808295951939279951904090437350530460956159077062263673626451415551647362379076392660932578629184359185323330960226210478240169694503145478474597228266090116086437842399136696318235845957665319093322246906637561145631407938848270595295869515729383433226110938098517093055527566909332053147956707516912474231831865060485170850502294441965058234841990417492552882236423938762256446487236492770093736020906131885424157806173182556169150863042595010790308727072789604681086345846826967739547716776145354989564156842526570352929644179677524949634997544680873838256223076470443832597055143426252874282820964358507313828261896184612805992427287019401228318027598878477610348140090123064867526314251012046951960972288765418159574686980576663760999875317133181559247205962238338215857670989044969799396520353285770537636530037016945697633952530593357010014826420080743149493442888589691073625724808212151506885634694701174746126048264424113676146526643018731446273715236594219961535947811955682964587247778664727312193299868154513338005971453185305724710526987311122619854273713286757810518349462633618046317646222013065999945119470374016781413714010510504116053191692271322793195256316827433743913130272441861387019692445810201525653907183322024994248730851004579860679002215714139912097198555532509500732203716617917626582136396346419639901672363136884008637271912976977035271684363863637365456754441144672840376753126852308073428632100395323099301096337145597351662701243643583683327041500236403683707162420889111926076009740008389196338317339421139749714714652561205147871824937801873255610977197611499581974765942267739836546317567415613189683910794677332974620472943252220522691068892089452599793029342404663770659868714964944356280420997265321318189686171516144287386113646777696555262323037466294906260847606362899131435281900491028113874500890803057585785825937848136597586666962620298781384069973522381947644816836714842358356608937131896287970641136372207977771585674303090165379916236934712860338868268384811712436129590786820616533371753834178780740729411473137464540833341120294377228476789526980973318530550087710557135088787785127970025024895950663272141929431139131744134729785113428510463686500774198560549160403255301670320308828675630646696022653810853984766624197151820533898170255644020693003728911064343160296750153222623906898994339656775350476708060461040840384349926452509179086122237322460895797442602520529142466109445425905649919272324238585105049682272747738765998421370890304372590774448325814657884874914341691678122065556922601198680024284442264561016718989108067079507942168625726398296116913710770565782644127867687298999271348495973238640427195815615642876626123547311454173765236791979641363618350595003479902671779644870232078037638975976133311385762896104917670478065788020258835014725126883931748216128154037638111623202506770592104029422196007160581741318468688181134453163980938112254190969877091437853141245056381700897784584727403827952458196277366035593966717090895031851579215919468865537236316910005252184675512409052786417009010635943311972113028396948658660623218650747069371101895661437490822787751557484504684141394044126304080236974324893317446850263994402426024557046377112707833223664917529975689327139309093415882273936833402334147078087339917145548132572816221939837570572397851775922203836029903661728057743910413743137739620097179974758040092366770453425525232230706611620967645690943595029342423084147143907566560910422367509907312136437283849931974210070061703017760488873866064495503509780081867816793080787136786046015023200991661970049752330035737230651650827015019985128232806539695761853555157046669592883437497073158504129834491350638072722429834695107090430576649547819052936405016725879936590555336231435086687260857740400555088612866374033869844529669614123084260807311697572035992953475774101192923082840153653849287855275484677986260286641035954740277716273072699727381585081555582364982399569431179328837093541887376506552406623666459259604792529189735086649905650675536915168186160678332223798856400092619528135202045368747622262372634596300821035671446109436673937396037110223791935656590158451291804516639918111776325441297416596958511413325402135780809640390996758990322873186665655610640749314114147424733409074636600774716238652495979329227781451528990613488728215148171959005157057019367230061686404590500015821532479293299458008568518629212375612541861806617573335297229456928282379459121989222842664500103921168114127225158432698149269552778689092824449292462377203269437396206488923852108336066383336066696235128413723656363001335931690224737688951327053353486980140272655313209341047472721420535553828360780725929676948191244800183029008170673540235154289769787180080898865119243759287153032840948938714336250636554369772967951855726150886859404941819105801086559275253848899383475385975174730758283578458486833372969587950026854212057906599937124082788881476997103994653646359768946825972572382682047402137114918691189446675933148988192903394253472316983477891699518708148664011243931289979048099870794651062286570709706611510508577033249468126207177849000050918711036082995625343137037133134905119717017589013436149953276667288150862610521865580575802569397103299450413609158115796953882603922868809269185006576272551721014391181108127627384901257339531970099209112884522023248072026123232153165354716028342250453076409615032577948650595820866274824886390557352217367949036654146535264229964186922617610276691244771293199608200571332450129254731851270131061028261507519545918093210234341544370521373337829639950084528773110273401734516480385484946713134252502775127875813452846428831357517885498185776112406158942177939617257075542264405120924132925896612319973200651263265779972461123365353783758874291779766913035472907276641439958035902603907554744561126379275188779949330095460916029667684192060964898907543545148114972392698684174074729173798509997236495364882289661688957808708532282718297425392450356136917871099270190842472627763377978756855872882976214477254581288154749227515703434872697055274199564497148729062550820535153563519059774556553719892955570836288283161516262643633829376469088807223485002276630023950597506397110458969196869961257317077707529564361280976963088810527308060917453682679365674566519350166168813272449476043499151187193810601028272110824164189398018499450553470692674191500549351190145101449508876385436590525645650270325276163792246995947512178195238765472741075665160921238058682468906281388955462564688593451697598116245130787933302151597666425346971585563257687903153829472006603852318733502392608991948249810196427201551881152941145969951960613334499678783987192699694791852195645502381670480750619099274493058518746914063048000019937486882633418110616910821823817565144307749560521222305497879525149580355201264486717266944997511569595025242680352088782172934080030542167326452660448766059468562526842585221498542429024070837099774032554703558890702200293002970373639109465355326547676076374311675686532167790354012629356787955413176383152197699861807475270721039777083302172058238986503686899767475806013329152051612070759726473054666909815120392509574547185581058648630152281431399853672131236101965970298342572467834147371981188685605549707944737152980189297065636280260065438254452460389196669288314310854789124470419429085014845286372750762110251103112614099627264549516837853974385556966829655009061744530827366822518201177787784868211304030712974895012791569955777917410592890389881150207202880571213363652680669784815645823981012449705963020908490954547835937272253740053043993088432226810548773147153468767165919231813878655960775112998604205229410808663269247858048918349962803983750077001797602493338324515803289397197277037286620452903494822751461298902731404459740190572848995125015288428873848857804199989401903531374261646431222731720670870123360897051604727000172140127230576655351511094794712026148862829585020182382852333545250146329388880908247523756011636640383211000101025788154855919583612944154175278856661047639597959154579086514309965179833782588494951850512942849466440728077926422608769964259195840822730423175336203109524544028110383436843486107417370834247059197530125464174826564647071886795549661208626008764129936125704369326546319919886309293905486922964519240142121762782083631234420982907021244410699897151384826915115818042584653543369497889571093684598757212677913953641609819187537412133491192487742913894702565206420860989128903294583964210831483579568571371691159555977051109456413271308578693648245941051007758085116074843108032526732843518426048745220540344506270564826679373157770735869220958005597164192418195178755688784684133859369600420947812481369727131527554424567561343691728690414676322774230097222581754523675042675953486586208467533096354958226721060718339285049348984370193875082063907825429363252799719096695801291984537573909178140050710390410519072729029937851856838867919970977140142146931017701598399386383107222547130332112272011940688908721975698732943171482586544444317405974758043361500758413967498139637102017343503589320717566470343164475100460818751823579217252678125636783864649822180102828095908571240527991974292202585394985742966929728816245465714253742217404106078960584131703238602924675085693589548052132456316609076674143492456252565811453113020688102552707433680262407719022191001367547390669685826698500729930167821650726685178838699672665681364539602271898772532409666234471824885012102079323573440063500683071673993100033480834831281350657715104424538876859343562697752534045587030828413447704963748092496055859941792137817304688588727433918913082305196927485333116950252143452692111803542176588283209414869029340520985103852670990942328330265217306826101369368463695538655186917590211458395241501164029537238098010156095529670796199142876775686702301954911091710625912599068738978163565765846909490659656429326133590166650341291256221874806520879896552687806932564742132884872862527886577161317891005393870067229007755571603382593022300416148059824381542871030333573524239144037475620807010044301763287192695443015006807802343529948668828473774374954745070422417283176923200637133517115268409138545138558521335696418934784707552175021884028597249032511091857064677756169928742756007116291908466241868760634919510322052252199713900786740231282325520855164046447415199112231563026002519024768419929840164221624324686598965707790684791223396839298947743324004172542775114797716501286628028446790078589068730481600262074928598606554460234372433460677179029999545091125553897143100827820720775374586042421135456548321403481018577271413537182736679719168260127844086340158332099970987713726410918652678401611508697379741483485241518359520681451298172311650284346282134293348467375516771700234862086505840696424985653723857333641292876846498996451834119943217437715300949849484677099084415259921561565550599966775683124740643700867422472378946514926301466836923665912259054606099739885569162439020345350721330204192759766919821956482554797828248513580182064250808064534316140092341459756281262179522064678788922068044662889097950256713592384691595951239249944969531990139608758253387302206693557746760620596312650481601260626390977039189720096034204331493023120824833715814428948381530933255347821102793245039977120214540085878988167581095092804926481480977776692441651150330823561610717495154498553669602785032203284033549988844201171340953184402916370279153573691836822230781072600727632990369443035358326434794767421721857802115641584237607183936118294074295860918441112821224836766163583169260005226419541035701317776093919020543285149352822064832431733745799128633679961267751994078442922934708175062299964053560304607891371189796915912327674715275965092211290891482614482964482988498720850949088350898185534722672555630634632478468376920302660826380343816154900747440470736829457492783499880955609647710392238088256605584689149114885925159057983543102560585597975578183099888242563829878437135792501911990715971354341195908577838029118290798924358577068916709502424343322224660527233125796656999323666999455408231643213889478311788477423963796951373661609441629577319616095781918284445390463410151022621200391219654293249580606718071201230352328748072031102773581601824960102087895099209487845916099586506805584193024072757348947895556136685104506914289923718507162776444964315016545437719670486764309895237848592036818875814590920900433117077280962740232781783773827149946674760945979248317794077782687345711806403337268937345124492126608889439762489382127639079291951740683660909837149913811740946110288544645539343344626701705417435390854318353687149820900442186725701243078346061043143297416188768883290035741846260589330949715604923036510695212370304399271831234538289359880117148587515699812276195020918029844602453012994221831443445358332703049350640073267301756381114495799635799807133863048677788238707770250231945222636594262196977744879993197610883533950279866531018018327189177520826854830594606407239058975628710406899949309050884789686159021171761655696691680069027642645752928094553223381497390164328893186085441863202352181297639529937536081268589824043272936988872636334461210203618935229828715979512058280201672565098071852440301607426557724971570378463707737898640206078465523651407777441230095125722679231597737504349473573085568725759808581331866703051450916899464355113246433113429665656345282717339664307618060926492127745927750626167839736729478780455057723895402295168741699568514029792172723942469343413460211623603911183478724659090337368521981382491748610186095139865728827955294379241359968571458021813608128656680715601559704607898169071947505577047203183644434240258352103751465296504879312747763608818294341960611008040214990350142061405602664874778790199224249446687247413801378258277190614668227942794174202027854674745102024829198506027230015582956477670162172022635458460918203950628634952155418963709801631026199962457663105901381362435648357243599355676177215442795259094819269195762370001655825351360841768777243581592667240785811896073841676924174340165243835925623918075677185629746261644147709000818375193766730367522946617628709547057423096132985189751513394348053796006720919527502654094428234604314086187040790065575917841311753152861675654651218710504636811127414571036502724596556010691814555002216876149609264965935116572182404091706677693080683105863071211720901678338637606016592890022104295352296050720421081361364684104640969574557599707934071439940314300357713472452245643896891832272308180438673997562842531614841182090043810200957242495656141259569573855985971705954410124350206153539028526796391742854280310025479482245814444528803332363466914952276758202664445888024461163658876551372538073552364810036392280835062226124480627018112851070163760082695043006717639814022138414413773287688269932823326640581032300628497213106498831405454567808871610331652301285336972338018896967091166306525158746970882672278077194824586191976664743911148946765148606216413179554845950854530045915536287595540035631626070185776239958717362476939192809828395929924796433670273283463446285878760240883151289518964219938425392326405821040901798229212065694836587160265256436268180497957441199805932457001627545695380134244235828074774937691250799812247760243040528912681807886767091778892207259051210401189866676843632953689684816866975861528103467752120089561148745221484394741426738847893918782315563993368410184068848249028369816216652404522929803628530376358989555805257550431804657794430329385875300166109299655435978001939427057073784613679223710511615667363170549010488401782844015572318735890891849780868143544102333217796876960939925839294614848279058635322426318902921392887604519373915157899690883023201062413451742368158117195597827024275521706043858669489949722525952515686280675442380384267410015276834463420065204332868510511049633179422539150594870732793908871189131494400459847911190580477596409659199235229921040199147996547512432456988970084104018718463115468604292190109619120001948360816677106316336208220321526352333001711453197717549672724359693003175321730412166133305841800110528161235276493106447931012123286192226744393604349042254476895405737301841211646651976313093544027758943064229894981613013477879545349745168158556728030377054019653528135040806578381318024535490842666161241899737869771125774758915531756945819605573796263648530094270864445315963242879243097107624610055586183408795719129840603164169728447787667139141135296502029002846525381105029232862413715726910672101221723757033275646119810877188210493778471809363085966944662484523801658838765173669354720079422803978862739246512558020137070360668544718633294559452465273209375220701575805251296443070301338861931188778204324078376306430326429638505325868265103734488410062026986519105932542826364106213426124776686289444626362773494747359727386914958321957235574048773755484085571313509332880294172448086595143284645578867896203558356006510849303861648327958313149850411596536912076919714546961846897057600291509290171626212306086781542572732652779832464704402081236494667932109193449819259567781320786480790710054946971937705848917565645617612117714807687271163820484956627939601091760597704186125620292086956056233392172581294756886084780485019349666814044419197706274213824869725317811263273053671093376853835367159275593898265465802498772308014041591880606153634973850080992397557635606321795193478487576816561235805438617126473312070761418541121775546259806238546512654519731909463189170704659201476838702992948367375455911841989672553753057884622168750834033990146511817605078385160144648