5001
2501
1251
1876
1563
1719
68065351223763298664234239499106394079043528049786729697619859570230511014432734208436916735678429316760701995733998591324615828565569338915349959876003971821189605846953403329339689301528816169546947372550754631587056706442634933218046878873244768215245075300966898890188812183006778311212204779483052576305929629798191309880502854382351836375585149714373901956273550248983571084563116715917206791613663217763923840176285239366261528889432343680533416579873376556946948412949974063878680776392446823593162146918741211259952444301242874641889970810497889328935342779746698988340172079394216131099424638102339595853273504917912769239666269896656949030781551684484998181309672429662256289669240846131437663128035638924316273529239184883022991192164799833024442833602995678248835592667811644122239966162067469523942474731948858784845454835478249858083499295262065198897313553975983327858421114998936420447363843475589574933826965332322563073691705525759353864837890045075590025367864915779057667620347384389248687058303613132093984599747718081444250204152403018312440392328564644442422916387726291346384446216987803469829846478348673495874601705795791974515422635977882095692056238275464989385917413958622037148434677688669548621253699934659657999619068103197248026811865759315644795819423223438865899887576886443691047752970396396803409138946441586169441100138339604376890221441404138033551154166503467229771584525050253331954746308423516960918416395255282142453915345785718210733603509084849408352163945993627413961245526370475816672388945991594443387523638660942712176033495470955671111121263106086989755586275394160368058222273583138807461662889416691236169277929137064644771419789783673848774815670609262420591258678845590075780510378364785328170954628187368413475321682287377336849547114092595522260923835660439002152527949129456136372015070531546730274813966766009705184773775778860685538426092912273503734514595995801207718179478739393012596660666509739593942321651011013523832231835545649149465908243974781873441832426967260666485315477646402348306215074481066761289952124052206668235242082341867124759028656864789862521141312178799061630103891641012611388693860683440172894099735289328326802737695786259607853221236184276645595315688634275261461627927933084629411270119716752111467732513280421781986309662919941345162376810037818075315337516733296930328768840061454035236062012746932807050759202969149453258368799679229396863732607428499428869239213072114248922457213216859911188620235889307726710261807928391245529448745541954558841911448399054136780921401103521626612128677266276883269595895594741385774851332620725414912960149252781978357247377591956791193717603508394557407668483265631526794727371159713283497004295373844400427033927593960796899829942911082585220893876904721272531536534539879015618283521638087153465663427218556231227721364045727265300281046276381712941284148194578658823736985851672717627249792632374785274647347663736389309695852421074734043367736465336981369841966261920559143308996354762107547896939510482812105302675906056973469665594558998364208838712475873987793095068078593725296403143099355090199788925197272389779154499253576593796344811993424501291231730089443437759686187513944536890189526541080738028499260261430195012673542306996532099960116113971184710395853074213429087463906388163664613607399766820828365921593531345215686671742096976053115967805009895029308288555496823826346680445669702955404089994421236738355678546238972065555693281550571971328827996149327731347733462899179090998016074693965791235565610411755737912198718577959952554932250926226690686359521987528953887966338945782102894271854699804074058838844997235080671169144664614262304828832869862919861784263042968939232720511965180366721851344140871479916248116509799336311241221801584076297016155511801035390919641826951963024062682226231185865593234199302387768611273387497194295560346756493958946885453811087481666558113976442156633850516717558476805867908354123415396551188396605626612389217912988245043772576657475395339650605525889968925477508874960313087223780685076461204419715321615474906735317970886707781650135421598585015745219667251951770921496998862986970465967934334756176733426192378650531137065348224705995584666371321429662430184483386859406137064234256416918546668365376957740546023612973644099153268690322381607559500817499729210886506999372360154055704564036796297781197329397717833557503270226638391802776556591554876457109903611461444155742178670366497284107191186143236415482239822676306641537575343697639815056668215118141322207293963542255102955943561511792742909507229370107236432498793398914685283715375439452330089627740090301625742384126998746087184253097321315654764149964060554766664441975041960553132981479334243589022529925028983544911443305023706208269450542723680894742349109624328754641676582988903455510612547249686504582232923768885307848695051460226183428783551485126263843965084035210549278110220865544689666093645858231934298373641292917398465952169194972441337524667091649620181668990642994419448300663441413249860798134653449831577882889629972624987987737618219145032202839382014329949291016564533082546623466816669143040651276683188562268116368158587795658728147144616758292957553369187285985711808587125047578766526094825235294086553183565661582519492422355099689277369341855892954986392573571212964771878893993582818117341539938846593822092478769626584858312466620416785834629976178896429279595401976771266219316273762860595054750338986978494791028755225573465304482468897100009644031946838402558023905116843525551173137210883089352046113321157777684221257430227227025216334380682885991631375180471019719897310188018302657250743546392986955846391984651036869527991506202516268574443650596084280745353345970114147995927189853717971886415657461576341492695457168108849552022742570460825027815886303028586230708104470476629344435645716558121210847510700421543634254239108023881802731064291290132855257563186472664768904167663851669032465395976930295954473753668315278669843972466836616307191588301141856525441943623460681821258838584712149072557010554175832521950123842867190357387581001113641048878634027619753091235293837744551558808931501743629449665126919473166491785508402986105806432320055734919558651185763191448083022386429493894291644460835066712151091419569291211404207515287621638607560379260901100394183088687589644357469789677883859412438875663308227798613636390952054883636932931078357061542639285297184587266027131394188744676186004916621297038594779289925648222533582611384956474554697641624079286229529383578861432281967794667986997869335379309949599008768169852044331494344142212336703640682458131211720969865473502752108846547322105976957346655014243461722794619687413154692512392699799886089748473289335845537239757373883731291852528095914551122389247757342837255246310474503432722595264265898847546449750754579971314954977424359129133993366545190657333777453435933873991698595875806745513291572115886888501294518848345738512073608586479141644309869628595957431368526845909814663606390683956703139251374620459619628747322123172071285485345838591946669775702692162148389961599410406919894854424813583978317402782657188866691410578495334819071286636020625943693290172033633020938250299386686074240089519052801530775504972593878147274735829101183227603838678473517995313918123304065849975231718970037316796348064410056682825330884046554579686157031974922616262628010764746129182259109004399408224214942852238859957562474144623541149419142592301371752736681706273179395757963033373210703521053112518991827178345219553956293789374130992734712112679312561204486456086391901123632196149658616630449963674535845833545174525439928123615574606920966468898234204350386073116522985469460362617278002659571277777366719227918983978636392838286781598787566123231710205547987062762758272098406324826543759981941332453236720751301319378944991853211295133254947384893114716416391123725486041995816434838976726733180853095291485639417614051884528248525837683294145594786139287564983943984189625758269663681592827320149037943952490034524795881466084975856699211957882521215661734646943699674637937357443311489752022101855146630960972726817643250177946147641335203571463160799671176458215549475375365439629643122387679710141145262298888724779199718353649999193991953899967980159656940242504043097694852154341657240246577801585689488450108922745728122676109306240390250945776334545288108998484577138422236517924709080642354234112649022602468116601497497647412455651182766601128865298385352731143057312385678152076796239596846683928244211251895817727396351195593620633249994922993454935471376101816740469208666989626004757484168473718643175603423828594442776859282999816396549927225050048558147557206791132571357769286714721454632137654312347901653941516402560366328372603157937731131800394621097298354138778501891667078817831237767923388108327899351828784335286063735343476283704149065361324290173620336806135356731464419961574405218441315116263217452667873559497836069392626631619916206626595033835789327909171047898658026679436082926794421250530877298706029788771770875667177618052780228753367980122032812233426889359729987194739172092172105274957358796066321336285768847718061846279377581971800535484261353103483091112230810182724234598608604943688684644515629638281594379548891784331879915395099207774912559717524074663942546733879466387655270347967266125975907891474246638178279394596867791963103489745261116422506157861121764880199580043029372656124732948957848439102144615367829514757504133942917742638495485380866244094329276482973030174032425736419293747853617524681628809351310269735934512709390506718529064754711695263623798117571544590475529976126530636528607893432126534631996473963618716927295785867880325469837043080043637455873737882801188618111376775258879581538219051760545475305649937450209078374885498558412773278544139794729454284857597259891369910385662196712912461648182065419201769211822724702443982894987531393178114787858131283491122524599172366222714724261943709385179232741664392480118174581745156230972641456326032241034591633030951743470477841087247478559617858495051658634328489492798205620377878773030568390021028640062716562573664364346111060473650155203712092144115186868015717916967243244852827001187178363945172274155965925463715058699682298193552311347754787866031402735530810692522869373605112735101784111811336607037520123672916697999689352001948276261218341678073858811603761985918757396664341381416027371708940536249637981728776582603456732642678678326750178992400733494404443941015380967490927855899689482865476482264389914647655485332740630785108243808628697903496735536263265213463299655255147479660949133150399844402698204490329048581936351008276727997868138600032937049240922519596991244712267662704697707979273495227781376781732813438934895832787389624345206013838331069116129936431906299649408815310398383448199286415583198716440441641494893030119006682484571616232726693475472492353166233908917966532972830841918434818861710380010441538184983216300937635184896359130027720990585643019972064874879211188592963177949599246102582923243825410805208316780525555423227011041818138953826237184083795151129390172938218595302182925886327771747597045175730635864988627915090878832416018954646719565489718414874682832110541175576411529994397378883199545485303226868545769473717368149542948905324856348376093808579280745961902932506137016776618691766449484465396766177119482953647987994957577367715616219988399844908233494527783730031827172636514041869588675527437150421075601402677219868096578210411568114418375194851381246239612787336196955052548347165977738945783160566250711264718549139977062656274851580072061538155972163765061101611733745813238333279883868821050109925998980965483422530919234115877368730144573831162279385889435831686680987726425931778762392214178265323679508568418593820274039971123592834876467163668898285336561169243189314060911019369222957668597698869674853102326283342121366054882939544019171879380766889028955138072145007700872956007055079921893919859515393925942210354909682889562764675112271220966268530905921685847204173401404669278442154521569951157433788970281268616154089081161723258412310349755772336335338619438919620384553536880721755231282984148734450878494875263165440008331354731774932051901141506642716139228356901147412023729065772624192484696637317984538389972476913304878591315505691805610125763287389576895002143128478444678359876955923435524743896632893475514668070795726908290101084414528525950587714507435137265207827779286197303393431520424430157248729917947481099609790841777253976256784422776996426677204532393989734278616044818949974043486769441831875713331283180538995285120049941363296313626259481373414113436927734279536341156385820861625744109295798764185842374055712555529366393255960438849802893982932886911156619964781717210369846273555167113514692526256659394832527175984266634669308230324053629215125055312492266479385627346280901744172280377040665589714932549580636992657626332214935793111598331038557409510609728166656322132689537124119449204936452590046906448866748521400266763276567223026423391765855617241520987143567731916654537462480468697666782838038611020844460502618379546087006113389733204166373852879966162934587870464817125584615493533897537168974923935395689983352942782452626804256636725941347852870190526643969241365963875919110202655170460248289777863167693091985064567477721150942524222574308306803913076340627519875965241420972779242352103977917651270007502922276336128860064628969221631675733787850434449568522066139639852909148513779563246326552302965824308326287232296821717334264665081641554876137295921916205472472393865843583477576456763413708192473355739800524786937454757752912941623924386525693863338683518604455370574583861657779287734756506807130235564763238470399799645518049392757928098999015647836435017283685909049063014726250292437226613104737863993486649246992345261152882394720424175647189177539647053415968852784735435789162096739418975743494440313109450236371342758235017314737221805651478374221664157940782141723958387589024919926841056846263723483535608504835653016390883481713453771163762428607872256230717206255962565680534387614748974429687604601687243245619813145175221254358069308277899518185643109315176819161992641958944197401887148137149650807616423286290485997116265202434558749263218186429589619449079304057869852363984350386828920843664367151068798413576825114529982053661376967339516116382943674508466679759284457525762245627425221728734112365447295611341042575356299196786964237710547221475367224504346695136807814107037775955882998493180580963172549089273665915528187748978998473575568834556150149066146224405133416192620200819216558967730739323643110586945454195211798694251903461295486183593672588972206833905947637584353949209817182542467489667469869941696865353115883946374991649663211225759291099273493889904169440593488131584384188743845852496555981225344760456245144759694813589501216882450186900944065616617490882881644567512713110871244444668982624804743241654673334049348459372888915796039449800362553242714764770068403794378823799149977523153589686660443391450772558515136253046989508950132737100292268176960677541107719401715355672353483033349304187794894692414766338412776710987691032719286577443764122961862979554328451443142337731781390222352744118621652512467957168175242398144970952934116212957381252955798436383180995884962105074451917375865025605940536059157572846179527733080558553878129114910254696883035189081837198655962212277803665295251132327742294718129781438167952802784984557236951675460171112400117341112946773217875392518338668546718751037095828473590496932440934079601511421115693533495663779187325319141583077778154119414673348795471552723737496173755584926335841118012491173624638184133485751800678833994468224893942438903890335892047715736713074649881888206607938438769317611945562762992821640737790899436207744893116036698108292779762174381699847801185304276837826879643401520929440207142273866364795443123876931534999789431654155601875684617793334769907943582955478014327596251692739837831948770681004108488884932049943367360004241125499924609105237502053774638355288793038335145474289023411924766130242196860855256152730916218430033821923613743091907306212837892504180557380588305797623283699394576717080399878757498788899065015472932323999113861908358894474712073640357321384196588416368355793637569844573422905987547947563275097079635401287168438244223359837803486001794792252492238503564422154657369714434561888760809854779631863296332954019298381422151536827739678078725263869756519485284747965620701543515196476594590229267493096765587986627953445773947309326855586932018711812311741026903630125957840903614322208508135984086911585335884822757869146317409317821183362530934746308582415589241739644011450494858799883545894251874974550813837896921268102202685470307738815329860488637940683937172646803297591414952698169951658285123214235946529213466153128246665994632734705514357767023658818936927130740327644985607790165519335667291438322534148997249784030859389389851919271521085599558398537589725409389324426607709972745302623688743736213514286507469381071685105918614351495563254692794427152968293935477338288965605644476648969538170062004605133333965970866949516777214246722625681547499601871411889567496170529105542176162849575797315785414656399386784440113172136612497226586456096367176981148734316163506840721696259549857223704920526447881668789766444064440496367363144180853491113159724368977194105227467614088935244178741233376464381562800553418012497246468888405922324633748258812936634557752108111435670752722728093952936670171244330857457672522893788123371118396309447201279700220824816554318507995104736022844485936122169082690857927566337314357422536834536035368714446936695832680822436526718161847923479294747901597280831124804330453814866308998945136258514487031302753735660871039762827569590328501028794720787079797163147493635396770276913627636359136913089749701994131752677779997043446492666129125301534974586569450120105381487349769899302582142962481007353456372103739798859155988022928641336826856863687177979218673662742224181447278745533044189078015927368103565188502235038149979145827292110286966852707806763348221045993362708291302688524852314504838006473296776684287014401231124944692435989506344014531682143118763726918702430493619736113041698687890151157670995737168339110498970275241709064873972693460179605861677112674269308498411914401979825049432101432769125325398750998403451329921548409173263533991452622568138564075973627546911399281217257977956811265896006715687969923534272361998192187366353423890779517200869661818740293739383932274053123616194143376088827247619331667652396219159267159995781253858968124537191297422968826809960159734549212255830941466233155226353606428230427505069478915762498193445289889748557896149852166388917157387862178313938691891704547521185671607552941762951606890442184184811795375836459370937901138919631958354451161264208075164326878601834392255654775329180541274945533622473240668825980715137204339852112774327397820312256896842851868847290492932581281997168875499938681053738161709148437140752716584959842174432731222286597625727978222605950174648960637148755722091714797521335111036554452681678685150335857138727782406183383551323929719767099505278885685019709601237606216563433449288214957888284701854886631601433292044385057631088306232270044734352813960897994276874568934190537941555447153357918318515185115258262067116076592493660756032632321989486344074833296853386456064341636453421301860336421109651823952215624497660171379791642621070300891394535269724547703749450263788307364710090915742556125306984164330382745185257254698155563429936728972685382012658291913566453364723032272695123335009366584217378308902600970427619520741321747061926681396652214676634723360616985805407170936248746140064427762584287545700417477815429752829460388608578679851918776883218484782855621205769892417053278579147563013560731492803792823672539483249613872268498479127587377340839205377237922509131249989124794545655686889661562319952693884102436414067446415584538051621435190760722453838270591267745914334609361552346346670782106672847795296187157387392738037733835642742287713552200396730406965683913842163257415789921745241144743550643592918167081786475958614997846656476797882014786933158523106278348869634931836922387539588577978115273138579752430634417927842114448959170271732166415566542150415294326191316388968854206480689175084914637478713982134184964498153652472915077622756415564466484107795748328592297739673009633943690667486783069690146665178524594262128713558519854202926894701656687045612310639297235489168728864968614556433348900181314778726521603429328031878559374937016416367713588952012803990574939798857606190441217750935560722814094862453103659155494602847725442985844533531365555914220926268641249465296888584168377542710030931271438427331365145176347501453939653239452209173176933499801509929480009768245985445689246862855260636512741840157186039799895616195085029361540561371092683795253193636690591248879044122484344200456926565404381805579812810414806437077125958696313924436784365328167796868851005380891755157741519331031528155676911575824890477019061225866518827999486514305952875369133403437402424062397022253675522325136180009465685438691646666176771733152966466056294291349677435949970343340452245399429652231451477254959178236748700904523113646684534764681011626327478998349853059504153778762730420832499322483715813464339998575481645283513676419878175457660177523700886176250781174437199684723679992202444612485607024811598112960157927152951156572746891833590298848916550380959301074434664198846970454323435836028550841369427408629935772249486188891225320543757336348475081891429092326142918827916284831101860870092049686172495349151887137931752300784730898635213578037317915582895070388444453548996263941634590785174363639339426342262412728578634636534504112494597533954455518803293828312474796625972996183678466461159857085121856948479879212763150055944155176526093931424262786385668982428432479408067514083109924164024101731253513493612609828745311135538336364345439120636495289017277705472429934512750368452382637441523627776080064081487870072329364610479686205819418895479424491218408525338026388746138697341594462121247585528896111814735098473821624641573749420441954416760932489690140038636906547519036279512841964947053482734048630386051921102307053504602447626476601526467724496449961011850176445532311764722526335160475275449841452936455901422197301719399026804715158291131514397544157717284827707814128526433977919776408629587762234640382105554468366910852447365841591036563558281115765530669291472424663956278449137015759427117364468505119735638427097043717895418043181410374023370588042271734117965866839372872991047843612877687323526829697860496434666125934772030815969779115700522248275432187124194416234125978316424662357782963735272819550285028611671143622244781963834393674807521846139654259515957456407786257615553812920468882209506186679588382046687422546330296553956729808851963509416534038352860032104020928658586258541542863851878408375381683591168770745207284691859963479363044541374823341778966174976258730623559679836521637180271309922814403763304685129257898576685474583238847941793335382283076475691255335805928219707478074198537288360365993186368758996654222380260071311721574728346254283766332191566583094593602579717091425596183389766345126753827162720408275497112724772941596689345913017395256867761379263926369657613824437196926266729828677483285555036442292905615346054593478796289951696277811832526978387698391424959606515253339063182531140133047844129787615132972822556813533850188952351228807210793571358741558282829620194133099332542656011107560611186663979789392930462700155866787554530302924185394275756157156962218415450380019907937830439817226438078216991887976888789043329668541719773312882266146358334301088354160017789205451536646394029229239512253091187588926178524394815000848678112457365150477871730846449545546855884140671288159985217516571268758892557597571016356289324304155396021274238702246117767464504876337279555621308262788709940668838444964047775603212679194143461632079972293556886258428315164281253653761406831064707492624216228374205128689984597724685011177879172278227259748704250224495265607460175086666192760642108585102864613534453740462348578201334846467922609416461418588137563674291469184604559641883634760698939835967210329011151659269236719219804262787667682042252420075269397707916097101658911886974611137240386093274584155863822892419973688886972958763378084377565593717061553435927066980091818669395448468149644953697172599610746423262227444556307292810721857154045508888673154686667946116194191036185929354748720409761389928583522547987267042799487413563086656020364189919088315970685526510094716806274888266503167539154537334046598835350901186346443242500623370904759934174151524890835228895835576946629672145721622403727601416339242866047145695054596043238437757124379395894633603900111427121317693487191590190745990782654727584988653108958473632614638435832564787878145844712997837188441060971266921823626083577663424751974171534968901165613729529521396826329773380475883441070085084951016325636498554948659604458332208349697343265725775617495148761270579237947655854438768657912703243335698553805599725468217002045165651829565420619493287781256267788229013787267599364801875724707899239139459573554333656373976022938500954710538927955187521154545565068605190043594243461058406798981110144337220147595584334798877608693834518286001369377726066599619039461662790590315419282452399207960727639303526128321959122681691051572341764257191813391696581531457357277800546594796881286837711264462352500675920198160170819975524562583513386657148175090252368265932199861516687790466142794847520239875624617336092864429138362310687563467350387382655730780467264319581419816368364714440185147260273677697368806945587083142269856801325990091334968024412012587543952957546460966047937542537057654604476975837996048084839640961344005010661806123494774294756363216935800238438411293631412847350192808802810238632079849192287494369572757927094132785986940699984713479731208852624918738984722669978832856450722189558189957068564921966549843136346072181547408449597824713165624197840168190949639659641158973982534992424553985065685744666237935325677119647937323568134253776722582169214153376475785083727261429652975090900427089244439792818187903402175423459893460498796760112176586820889008413436736042859640623189692826358514406021845934676878643929638803608630272311823421937749388510283106521869857472467616469131947663433109358636486058832757662856323611470267450303416705051533781867409323982978143820992317489391431784704232945677623162557633605179799831838805399175508570691390438776181841767850508611404559899767759408262160230637355932418521572535328367723694210727815130287268242664655466447696620991867426288731545835477557808367348974054176503996051321870919377784750256111268871656877787102011927934128615501521192993989875675406691787842753465822711885587662255156405148350336416213141416664550212973565141168482079947004917133553894387245968597870999431412256158636287712593852952400480541531164315285237747456828540175513424921006486341198612391990427172325254138886365814577735716355536912417971808174586313275269038553652796228045555633970129149802825501837337522966543654333323561611499349526810790107217285941784641183512423566076313026607620319046839397631812433091621223538423460787865725573501668297575266722103412109416193937960455322756117888071346637721465027740648059207077929533186682655531978955123952294873066539400651931126729911722342718012778898130346053810703993251484107902724187803209083578497898777510853528821489852646594828726883821712773428200548202191481988087791760203852785011464135902770647722675998602709190737676888249618675260880212546836255301477849968847732805014078271242023098635190331358067859520119124735845382275319615562420819141041610469129075147637819726277529461103128424931665788442472043827886772848822711328851433709768550481315565409883039532118097161065525599708290048304288111183312649254949304862074856926804614046620703894144235730971425755831325350033214532154833765210298936279341067932130053111842780710011231914299041323229464304381366512188576251566191387834883921852913238952458252993095374479631376313229368197227559789933535691066000261835898746582186884616613443815559243637981221093788257156686724461466780773830895093921195699128743940609343278765546973287454784203465213921833444585817412510962229195916830019375748925653703703571273514490525591564161837933725032619700716047108883223489332767173828451132089313953326238727613581569945339296379327250629555675901525167244749590627223127613485274287292638114032190131758717376013191311916687708095325662365425050451680532522277955564601342263514872702460830593952369361066672469462609281335378560800329429608167442092243661681570463276515561538161946893653458086210185717811057742959962495999462774569038873751892858890649151152605838284974642911087504319834744446625298451877488882069606645827666728536686178034982727575461729051136586362559454566351051558784714841162913332669748752323260505532851202240413146720303955145959980215548815880885218323798325861243904681879891500997188818943494012406591133691798147422151131356256678444844440807729434827562385812738238345485331213497107980652696371700226711336168577437434536638428826259717249744795429420855914106744523492764742877076978441879954589094430464529698817051379457651981321954021564795698428075955825205035551971274789556339245283766799521850900561026308982090365735366759366815208956635104378656674552307564497976919726845111473710466135123527435919682824122675665368991023699234799553627308518593650476161844232653867308132413130665538348455466051594863618780188819201990152151349775190155455244374972197173684129213229289625418188606695255374954362359040362054933342182553084962831062976395440265376982999905414383791818559666559191992568854112034767015044128110356736893683816646096921568498888155145400711843607527424678201786765123052775128832259888223836739247804750652487244863432834614349222330212039201895634035639334409097352461195531457453219892939650789784483265994279237775205964201663590474546701182298291675663356922044244248938954452374713844668895196955783239421732437121707075937584835659459501226772166260119126553357407336690319736973110150018291174070123713593728111585611547552767692286793529618959901325946965736210038065475572734084418365355493481189192903718549723472669429044889687435855846182376694555742034016321134344436397777454306312456236041724903540665410560515052219663010145906755983102638774425283334939946429019590871353014263483633329142977464031951315897451330954467501444692125904846660475693825316927067910199499543909837963383048945097289870281258687565318501923735252876128360134878773479868693244732628398876264792239972480371452450457861157266104141119391088628961437798001260814783195689430102982528701856157838812456290808933542560721767073178151998527886593452269521883531675393613445424676584825196319267139931474254098937306450316218574735806487729465176267632140034163029889263829717099503176942433538409657664959322224212559185618741812871643717346013838139864083785561837781639854075128905118441609837699646422219445373322211661238076137169421772682657082044203394113273519838973656070523499966578609067759573176671212499443988518030684262556797095849112496886578278599539044272997188953871794384707340015727710582487052511092641548200371369659569532946726821899506325200948763522705086134530582660172955132521641943179634229110143690802861121780251136358313398397322957659501900614658825315496707979332947063419146460739414599613492185450694421672511666937211263725980483199943435908962844245215272658107549337285490235580565172830046179394937356413026218740952047499443341194695715357534446725859565455233741092414341188049322311271836653288474772890716039929821889788605951449544306846995176403355121048684059831075832180887224108927647865783293241514938466434664555519338814028438591940730477664703738315004780357609289397946439368914603093743283411943541876222736219684854862101444766752145814410530604277128874672140181284715900786856396656378613809289177774237597838346007092553834482406921564632609190147612280503539687075462842552969354229942824829258632676463466957827753776605925356739425010325919224405802743794987900710392545463607943695441831665889475098655859266276292495239982120381625801957957054085769944609913270155002382940503808897854891676809293425445700187942584423518132128345808946495203417162847849338966232598151643486826791812605157711554427578860213240229476096155755937915474918513767853272627958565940209779443674111029742530124025613229109870403204156111895643590955518927702874540972104405363196488239178865510175751829583301654621090704231295715162505286591075007649837125149813426530565108933269918639311847377604354168911353521486460281139669785370429328468852492337469649747899843796465469221443453845984195346345278428412267231870620398517058943412236327746252118476825177709819924985357381854983316649548337789428213751283912498334278257878165822018622130282550063898893780736276577120436053851763725397782309139295431281260956437175383888835532116134560881490110274896496828104205587096069872075059660989334076134973043525168233296118364522903553210378431497959267923997519940553186474317721472559822883623012648458895349523793624697370943460495700242648958100791863312870148631283856271058571667511413881074443773125778109256190707270150251771023395084892572096507334629600226023314526719314166867269554713054402700636629740504869228025354190247715590517948756897726749644698922514226171585958823475930815838254270807317846536439763362904664311728762720692979512761177665225723130356201157980564723753991879349713604918805951534815730926561274046506081772501990797729238796309029839597477867484357401820446388725395839750954149666878592064473911163667829087565985130384805940315887695547300933277845936840413289167164398693034703116821062222798279231787444595525865225492348907932850749337174488357021463433259055849549935988920111279303061103741758692972221363711963828263419675409399856372463631196063749480997016768207994270864444985728875637511211700751464777237672418138258879027502153285641220337062804779348295824246377082879467953148960847543530850137126487362937093168338143705184542318602998274102713541486439403837506407567391475746676878869197096894839082509694870618482238905187884936539761496995261214996305569102736134842496296906739273534458913592263417922296786824027348069249836792729835005325464330308912635933329067328187762693448102948616173940491936661734485890168839076201641053344739624722262137120312408182732925405161544348642918649474647902714070216418522453674669139663235293018192886132187648140762421436327470150239531609297242407166663892741744943921991575364512751664039534867196892549635590890783264568035965806870863237854977469856876897965227917762132867663554340872701906603565135922410950285668298128817239743309982664428990922134696080320779201294421962852398164950095487623935724992311467058242944157453766834522013283337146364268101738863783739548814052222606854545681940314679845837377167687262623682173140061892818088528783319331606803774391565322548222746092181757166391444976089194517844888826742122833328627681655022296981105776889137964114403898481963777027730964429666600832235792390325659562185924581641171600694478724531162643049307894704071409820631718126145866319197838974676827317476297001531284313153307332541611491063729835185154827536529626442111335438061361255707971338888441283600561263113151211934548097746075447464575538492521764843565854723301730349921187138078751384152402311448197151169639219723171842285509313281507314793296013954582034325628814655041459434694748276245225522221933429048738219821909563143062556814672395949933376130914458964349106399491811526196783168578481959265353687961564015511480028033169342938836159051689725111246765122562929428804666773268834019929488480952448552070965157836315851861231475635181093246158612650344319803326639327205758625005852097455558958071024548309299617613738613216821144268551206225740502051381711234095251237013681406363943061891142773585744817296516636015144799611383798965470634101925592859679709772529394075210369524122484501651236026749438509347506579052262243661970241887351339646288770861104099565778371261089545777768581449957549419562471659565428099235966355132679939152384263048987036321844477845979875662265749137655918541022478810371344691520683716677939673689126899729631601667555130495453650615187678932360315725297517617814382983205841492608954310447589471653069767423534498926837030282413531426693647988782909825731072176079583042169528774586573852835276606783622368732782461554491808798943019161710562560760720891897214679752689997233464896919893658506986249048962407931978723567595262196033865795824328317131238696518313926463184352059914733793351775922965146219650110819003405311858981838705980922019568757663270321250527524281453073149203727228056684519662937608044755535750082215350374350856768869830442495910454640715091170496024353649519525884784663517193597013396609140067795287496820191936768513146969551427017588043519245136299056605698736039794932452017457927217528815072987393728443949449368973234413190961948349781577075242783645481737659284521728318951050802116358773119967678944338980441979765614066986106119250711010217183882781038787481892732864780605441272891630757855233259856644854749929467562869936074872565425154580925945552270182195081361411112633743886665221356963444350022618327897443026342652759899976847706469204516728725731932379368735258386198288590354659696135212771900835326681936514203231260294565193658889108611637543527691738366956633131578923687752044215735099602276865051573629971630572262737864033896048521672235259877609549942804846422194596594020581384997594985431499078122970585142399898884904607510027839502193826615748846120714857529638748441031793518159258812486338744064430052465348737765518540582760132473147667015297662611466083428947464585407690692490564857173865417330588537019873230834693619949579871986780051658777932693708263601918752133993504991471173370779857541535053475611589884526744076207653597719329281928175921629803673487746338782457589694831785931109484597487318569545939341067547586386203931409822062199738382483558944220602762736152452896188083538081992896173993203388329479888142494162365285169056241829254825620035554357810954363829639006948101766798579527415926828539543296538510580479704210529694684556191667488494985553411163743698361838819112980150919862359452115296546323971482425933284121893566575733395421458539777274364977772372569902422639513151838167642582888455188817143578024598634705898027756737425118237264929568201229617952583604258661891791153579964973572156683879896602459598723932461862999186270672936701939143326421576639909856810975539859722089705305959168996195571829631076950515070958290273014578647895713504653935114452334482379345481497931825006809032017612942427268203995611855355528771873249642036976383705467919509134536123188106763966585134607519248122282552975376943463740402210499746609837304269383690727488676436801676326559312119268302457749534757396349565303475762828725976675539072314841914643746460756398232752595945334411987558919613368450149505115480459219366951270289127388813854015865702495465811338214092848603891535548583185044367281559774799892796843211225171206573188584906096804058179361311736058313669886003822757825914802709367375136683594914097445252091142999748306532142135199958365687956229745065334396407631185054266332017386456349896296764994366272434278585592713413489391120999875743933798223119135147861493243818132821477674121419592835630915587106675529133544252636145134472474429683977391216747542184126029989922413623835814633887785764611916645530921106761447389279606781816079395487517032568111586019492472898081731479698046249514915675027168276064714667720215014275914275944763440655534049371669791733467763797845561219750728977343636737338847845411355969967225646672519389461464672599859885077623895173356279924048396682789251243072774952787658917798774182671263625858862672912169829503840405429459024478254169945349351146578475088729717428331607468312577418696397076694170305136326403707818502825100187317181264442894226234785491397556216367244291561457435444687395286105119996007507390727874278067313348352987707608024897849561847798928881640133478216615609626848564525314629346824327551948333618296968500616344794143883522768900207458873713435161587981839586716752925259181077043475475697418247689306249549383355982377244098843367215467862361149783392416853939789238869784161926514938738476525922766478278210969772051771407406383386145694797609283354388484287633688447915876032459243082517312593076452523353068239989893039389365474769437810791867574742676459124722633809710115630390867355387454785082438426421748227945168750661801294536026266345750546320747719796836985052462350833173398127495776574490790272444352581289028266477887211907244169695525846818016897893297339825478129383955329685183831920119336062526771307931267280794264662578321311186406641685541875022241670924996401903114217104262662284855461610735761937287937311685750299807978425931278959165429796394062152528315473827042178096660682591177754513121121638847607395279259886998647939781321660306375732567263914593142314310010186905275857427816896863320744977769048844084000563313527568916089322794838135756336542356445705386189034857951438718092176690431391893365051760717843154914899843335755273722725645223142922102124059098599682954616433592194272973973377481305673109442068523009476942491425420765745977778366390424066366676867831587135953612377435381465024191488533165489898649145219533527118754529860585042706482501237622978273325772106816515677544947130953621674955939535516879955767777957272123033225004591865992467756890091859823623628560903931226551487660718692152831035803654251327052517166686253235325010838628829879676515676287625201634789519607128059147752546893747558465856261517939479302136205404902447442986179492995351765651482328687836642475483534672897890833795768361134515471792511283213249517523847275581216391514579622731980174883132414631917724179511693775888024749085543034788690665578773642228485067266926536183084864736793809978788313418633424437017479968058732452456295667367867961926392891624746761174488046337695248382104755871252932577519504749879682491946018355136113834066440981769018819589261151965198535459089561282329882304844408089864285009525414223963205151995213671751367785267905835778741272660961624439700306970421380808796743995329599329067785635077191479853852009028416043301014303511616685566661171766682437713790771248686670851585226255487485029383389278163473400686884848287365079184530311095077556065865657809153851665453341776789038230690767890346244531534707884462588785580763323611188751921882683247737439697882246930902922202558137744495732936838970488831945837255041407815981397422292322269792945426331852312283776052918790551771466046494791164816357191836730116041408749861967556083592806672270134274210871767774159306376855784727176711705657394234661647035426523963034873052128875018881420941852237225032205346132219469696615586337496549479530828718712952375062664536085627217872027849307149081163750704619125858982315135862184772387947796324001058123920841131920386971461871230493720175168008235663180392963444547048138487298310126784099310665130951637507145836661739766393840890562329913795953723796327638901966886494182038833427264769658359743788487352306647438473120241157684367883721439122316683761788910138667593366445193799493457514614823329770841426191415349400824881697238761058349125595790645316779042762472511733828126396083155935132295829767892697573754655334429031915340650442986730373945731918780125259351408051885584120098237478675329598190675862342900715371043710378226155404674206763971370506002681527154733185653596935143881967287651270031568434012394030945847788957024719793512112361650771077869569447628658118248598661021919118714843681942931064814760902181692857781743803991229366469207127606923605351378490664729185422103570615812556776088972107329942433160199215711746962975371238579340026141258136059925457742674628177666949084857687478530458076338654413527637910276029501801848976532254635704454323359323584445781456622722588778675708448747929777647055088284066703559824283842916914351570505478165417988310344788633206852410154345457719588649546161925261348110794865786056996070162793507792020605778596809281623386327980957884758340048732790765005446727647801024270968298712233705246547344880638296941667812757882738734529526076286335879076065059334693377415722872842085418552623295877445498975955140734153294479046256922984470676297852146552825298550564872560659181973958529301848739384442838791502652094150236233761948789266441710114779922784524664992145878767579633087436162879441634492339534579908379363959451971059455865033126553227891387960561557864094487959057114526128960539679726289625818609256998422556925374088549557344107872693315066908913916485908800416825812728933772802598979265511333027352528447533389405750369433430924323045133464385122193442023058782060992964769664961119364192973646279270957633834205770015643395158005522962387304924524021252998590488935726895376864248357359597554118883787523985652277733018808912110562563825564629449077351178435285559873654238948775921969659436983369711454747153811378155168668541921126241359630895270392685960483375410298536761966033503722044450188419283382935565126651367625512769737517628973904587745455506512878806401917046892727514015871926570576756867399744783621858391559112506924275283526977231530386259974427798357301811917559141574125335373921122019858128980068255148474792098255057945079720560966785255686420145862261430584626652774770572430174129136897429354009543251625422004238990058721569535761362837198872484696863862100589140507088359985708744671785637344957868855871370424794251993870798194611395225732554255534287856750323887964274200290493999577504033653498676804562545742995526361755533540672012414560024694305543314083265635914844160423026615788198659412367360198386375141490129281767733612780867163371894545346763229393412872582150772968747151727003024281269248733853149093822989899470612597532999061094879460942454092964476517976340582498723999638073424862751276221982118209362346338347096290455744544253115353388196847352386093485118642417924250157766161945546327455654330394943904785334330929483145249920184662346806163775193756940259596812347725386748181979600026597758154966058974228994877636993934646200993815203897270815008781643556674251533254578571449958422043469881311009200521921091480850073887973616426187511281175432424351589388920102165163509577594864780530846364995944907770844726618434036459449185265775053978868235011885737139938529201957368235621651469783384212567321606376338754402026471555267711727432748606023164503244646879891138254335233976592069905193061795596211761447567865661944102293722644995613174232037330691886605457296830921143697345262996871238326251942228767910320492766057734595193386513340615936583546826701548094914896502583886601797157382074714684057614264119195150412849797056677672639584885944473679863069539359061733584240195708099839248109900706996737557014044867996974173915062518126190852132447714135804940490197346096821779847490684295012731223551232344696421718915831543459813372224341103577056285365644013999228746959408285451754714262101368531564238847799197123395873824776566976063691961655019327851645016248767523126760311572474410679510086612688723777447898695972004349776472115861352468596715325298413587572271442952511057914735511131649077352582700466248729193174751241622197251996634048254311629126759451590921861430168767498308578892737755886778946670051908864731685830014260223768628640169131296240983712743314530025354262582257689631992458109454737209743680229949944367945959699687727458768479966950826816447617049710461553682156959945629187799775564215733182747581073907505665969933619196024373907716484077886842766866941814219382377331681816907944659367906259497897412190814728956283187853540258731998942625417534088821797107589277844466787171805817221036735575887601730248629351489953861367938181964994316781392580510484723982620987395485410400213473037596447701714929735809019330730925901434738876515879563541284513530776855258857986123087467124545565172817284016513388860661748737480209427456621622691843222640281612551064452959059445291555555423531338321214645448418748899666329967424603629266469142919071826834099673841114030398361758412137542210025246435161919425676430138643081671897933227863375061042869280146675965291122484196811649056152678447613729251553665490626146014497745271798739482337599337206089640735982286192376812881125218514985798161626706989835783735683259635583280339622980723075230305908383724207654359731725454091347295353143198150797212633725954067625444493523839217699303012362143339748357570630428732175842324848042191846541991291510664696613587481171298460176169057401835324577878873346635180997455473997747073416493131793657999069361049724934237211416836201356748766616347165834943535101176983828647846364566866511659633535794882289245763417284927103582412214574867614465569342763959924704339529593195393634560473695688246684948959323003599658972159597157299316636368491556793865952866023386443621883987456204774568113108734745462219243443448437758812720875150588547448432033929250496938998352787432985398583316156780791501762143034875488742995942708495683174632534184999498660776589843800543642963512523737907303673781473877633716869136248455344897976377345568957979220777859241433117004846786165736515950244112136132372583895738989723801301972133265800235675508285817665933996682442638893131764962580087781139958616507312723833570418186259840447153838871262812244576344955508976603470903096182552639450537648743527743111511502112250325891208605486060841252514943455545216479561042374441783868757129666482559820435126520768488537847974180539116122827379168121550767085901377443871611991945842012915447450494394111368724751377534941311786245876292858796914526496679369246943997834475694777269047283064322355582499235908853141197589368013489567384275218751423842458613116285972400390136637207608517884437032604911022763667450452429340253123061729844603135748924415173387614854305679114330834691380316136464536569886701582184361047988189773120266387897352938357987279484674431959950397144764670724943596132679979987978735692987317511164950005068808349126234593040596221625355997164492614875396420746259590618575834932435479333089494969420563273179621585757862472873545777785188077126382643838548074869695954776945627446653863922073237136389082517038615198226815459273135759876975793711169295091943023931796695731548375101017131476014889931627787210811870491324695410894424156442914049849022212964766239605582873238901068095508894520384038363922746796701227623262059329918307946202062682455776658366529359407147677595060178464457360588463602402761173142511328640433997716082085890345636686838404789335394292876953003227092945359230067939287923328784970434694997129370943587354118611703700783360627102650748097712607497541639979648760732603484389572454386092581339044893705636198977462091753853376847248803718394637672338375481091813946086167537062454947576424879186942729934257867742565520607531966928447580368244583742309747711133956174412645134455628351754054244304291283265786028752185611733475299252396499467289646267841905763043108193584015354901338013797516332984562180476651255684872186452227532452415190261945042113066985228662151739990827372458614384948836874129564981423154040527964917336675479325649907414147738845689535582550041302973206317529174881036523686311551302746364348156092959487963386954347734167233208436445932136350884074307352113476728049088388688767879033658715553876929737986972795079765362244305160511437175555963432358600394888646411839241378811898815594385238575308471893638503124511370434333735474395766314566681839427995798327910665894616195452328624828495314093936646471676168616582336380691581645795522988452433245719737513487812041720407540651234146823154817100740361128072594271608027714059767982632582149560145665666452812883131944185598443797727111753138964189499992211640891044718343383989742355150026638537102437704536269751244495781486528390674578249183572869570205265068655599332131204244321888292596755769536970186763489114825936389186836946583783449587555124383925822367604095211793519816408708766746042047680184796795181717442115343217127286223126699959634222616656898613483436216628329253026247430382721952085609768064148532491626856684779653496204421724196991614977696593476616454388025535929909500455551845825461083361839353572320116135937973647033517500318012539033127541496003884243550814707795619241889295832818558335742736475463443869612595183528742228365414469346797921553581715522795371864765693905884715408270553446176086914780320044494981223346619317036792858479132193410121279757627286460237155866151879259103340955996059805495486376074574468092773481354660387863430356587158681567039235783471117607910271576813663106531682731812475354083336011598192775689185569992947859414715997894439766726324264002535536396163230345113195692780209640858269742393484168270272347783300054576692467616933637887797491662521753564980538872169840188975434048189947511676637206960348573748235186134718171808994069534125226566225443312449198634541948484807597260326517372927427410682668553121286990322866216096152009166941137152255431417965978485166895069584304849878652257378059486217501137895182278854055244271997082895991926915193048381781371241876984165362555770976184815606238881797606654898493324008532297274344100002822676393301966473538899885187430884854495232620097006433301010155539246144286963214127176217983829883755507194166077790902025745301755734876513788179857824262599952797943497979186862391760443099931010303933666051125944998619141214890735430445591257478542417074087378696375762672107072849140391434013000719981439642518164590776121600553649881551564967907169863217581685125434057738274163579883206360276307990027493599820896704052259376475370598672111574913066669863138945913703931337444361537111159870928212173956552245656612409475508689252473389379415330629111745284788070593789944736725322118678957705420511806716976081912145611233854432486364153380859839305832683487972768618628026971884192206378470370998233835510211206133125919855274974815920117835773766265956874627682377901539365489385899104618626860064294338489872673157705431168117896408380423547403220539508132368111844901670468182141171639669139753512728785480654388492318255630768478165966019563235984937929192366337156588154756136158968284123848638662730925914339767623523329350056269767787860209767702732822290736094679224112583772965869942007999694436325877377344048164179345381586819298514559922240643064341839727921658274719495126184945468675316042395378648073684190973391233573642353258017983354703031645571642397693121894546159633193619981935885890173867758269592450088280617174265172205891463939716479433945946457833379232495949383127621291943894193756976758849154053219746278786212239063533683633584217794261516226817938581491326699272155282477580263709242942282294898767390743366183274132695627513590922239875925228297898135149741038189528899696376521336411363270794315320412514657348766721675727322678499316891305886594866774229594868216256870784515755683564469688230539427219264928065311620092917820873482599925068614782301993224708704656878958598211551902981111775877219340998575352929209785540134281089823084614255181305750527077408490841413138931869586463157974225256442987751561620268303689431647301706967408808702279715071542143286535847917420716454979171833370337019647962915215943451255519789204182615807996625117512012510282774413312718717338685096553713170683144718302062482823218343425535539331561578279899031793511872675443075232044153142684511478842234458493326797085454389138484696391519131146905758432737246729850751468914856828854330648760671321155521016496944331856793299631142737203742987736674826251282375132759239268017693791254227343890421683687239183360561227236329267857059691440127293449241283766966344110039038352379709318470646386552510762194857037945958909679975755284767672519949413969974862087394362505306814569848423193464383136336843094403892776126716755566507348886865099015132351694175427211955102579279589860112377602690383340536650556067092199678334397554182440474514956899727982562470787086329480376323000430063545652971869474065011624838297225731443294932375298877331148496170545943129822472396694838614919235098025661880627158765185619809868797912992588315857567344796976329412976490493296308582680796071217354243459871853254926995192975685489100746859880279750540387327907070356204186374459240367433189559887727738604714102630438190905895545433581723844964964370317168275417920268262118751853654597626208140699586430581398133863381919144718222375406016766021468642105435757506432412894354350795315720798579843799703697413456404214591829889175223215473512896007989565783167764544920113988241512694672731571999187562341530091049699358641467711430554167546117968143659522043751059270870883963037078826732761182396314903260953228442083581093655825987910798021780556415721553735319935155745236347326655751026373434721213391483995163123331143056361935572826519857561277195640129046177669455478218539678899968980403886851512532633617327818219051315624083706455611226864257642610682952121335166789815981598359917569480707590775089191551995593729785091916247406068564830561344658219168633472070625756076129993058097361588697602586343727491056556572035456890139613831884951995202743874264729242819860732168856694553513774226974698927512833245766312322253726886845782238793046628941497473173286666699837825288142399464446312264729732794812064539945836429708558089216829145853318710248157025118932404558092456680505496221133563056905710386786758068346888458288886965271415223502484818234831172576561242038257262640860467350255997912089679714332750578435657301164252977111346119429237888943241656104257200895386907408615076166567253318810293945158737821056131833499982578255743494554482616301680648056667313828552212927613578533488579563709371890729968716832875740328468223372754336456428755274907721787218829361518512672782707607638222543872020114221061746121283284498316996452161890111291834101716454602633158268768647666713198444110847603314723177749542325556125310884412256191280051240722028772418027614878666891975561980280533955745356383066347787437499241615885316777253783440445993204854147182972596923578304281554042873968158694882515252950453058202616361779156115273626164099653249799620147610604454856069705252263596901846990770259464408823435366168924494282178744278248361450118831899674269137406858087898646650028294765457953209880304270879202396963261651389753122410298811127603521105995308197633262974128307435832825956023524255794667857797381146758982011527715890668463318117175701499138797516578037074834737257164464666138735938351306063898204501965748219119890548105662463249344700811210329243129391486863229235538707976970194590612387388846775659625260252248368575853779722695619906862913945573685727704043953162850958438739476254441563519998326203484762167108693898624282999971932659131122258233462950945160970725023605160316821844956436345478293096901961087539689685543691069130778093847525397979332607273435425348510341698903973132873372940350649109623401847094825921842176136126932357391221613328753407542131141420239241597377895784296267444127992232788896844894360821515266198654559645420482498460667374425647938422345237088483908652839955845230875976158575954541268720573173392538272441629790937973258602671889984993325581765607961375693798130602574611199893039625215496052773355188876792251023884996149736643795792202773870057361850109138336108632234560037766393948417281559922917355618564136119889637346191072627854652141458441321347061745777388058691945123939449577596422172339966485589698814737996332487707020697156083879939892249419472385762783210588054006440757904312944493064857826187083734513329507467215195069457659242272866997538815262232236037022492648020745164810356331454902198601934196412892757939165331116875775135297801960852430212588516295148308873622959543557140968791494933357485966968383101100366660647455788478964309961467190395191843211866260761759460654571230985296606470971047335821520236075148232499180821703963179173562378176614229776555784326849149544863851695314095993659735491266834447702507443897599019727928078778660083328808704214561466828998850862646868937222541933645574484454119196169202778745635641802799266105581423672527248128812209843450651780159097345112644895739495457756101601565258656298090852912652372210785062036132347202360724278865774327494587409839151806060131323718407581842436266591592615486174141819655716498188644577979298894133368743578868483747203850658558632041682790858318692872979179551170856894725634068049588954589594540729840493384117459757077935151857138282301901487556862617788733485571484254015715316639002353888319729286921698313505293244095495663584802141251831131341098823080025806402926245947260163858330897285821086224680821428153872424505606782904847578972689712950140931557386237059975097149796124106368506151171683535849441361593883777771254915033521927181633505360251610217072363046747617103437554302411591371748086577459371531628600674313637876323991749617529943311897824740214177286386356564434569676508749647427843131101713694318165715051868114711685893138187674429790286983009631682017304692671235904802328740188577683511762612406328227964874689472319784661950938280107914417885834456756829620224790726158172751244786153726254428845016667246454936682366326797776635341390902518901370301433647480691533086385734831127809672766361514446021117051785927154063579761339889935458269996209456039948875351505718886588961334150270922663643573876387508729560397878366838568107073416354793271232957125365978969537341973325972293787849516941009864711229156710683758288019249376469761608865872478793817636948829369711804399115074758360413962771286777083934652991119247268062787976695749160963857386994314503146558754323183409549199735295054432547268708152193233504948684097455555156552248699115016459886626120044202315868868171574631272752750775437917471864862699509676767721096832961651659158367850377448770561941653433986377581978812577091326896688739686471906861379422599329535331635929730096668638980776418641054784423723813409900253130365224456429149014630650656679923359220667716461812519033745984464580473449686587477362549470711831904632968025675198687960722869976787845378915824624075981509752081869349114722359208412012176894260893048562402255625945484369599943898745849733253221286695943335349852348201173131858667560284158121348707760722161667957045820536491544695987543680907386722767542456281145417798027447782217173062845606558502453735815469053857736536288655733791327285961034029660494673368448652173243953747743221076009751486868338498256640393009692754019955658215519625909333024203629139112343249972431304221879779041240990577931329647953982872546461331283291887852341239842351565111737115653759020795785906494441102453998096614022709335206888231164642831971563016944158285414787294571961954598976678860932898832287788648162904991801407947545097055733454048819667853738795410490456266831178780369464258961651904912489215201661369261489644864452269052453710939295329672306703267832374717640026594413690518415686867691935075402259375769819869427917140476226042068597047434499769145287162260465515266253967949754986132767310225727364925576223776929159763949332542614067839748233499463887477570018971324681043357740741751083884947613820600077943817924598388915595097177613372990302152554074421253358332547392378455309786385505095899774354799918790106969728651757170793260669426148450503441615195733015293470470586302466624782869917653313169857430148878713735350785539033735397181442279722829143422883624394474135723449164930217816556426101332981174142620776852139822285212530223765636451873930785278186596028022553088754023508122704458920369310375324894258955957335695638246823063538521772287404389497652588621244317633626761676991023166153997887682640877769701725741645304959149678055184447476151756938432670127939885462479735651028978415919066915405382817015253897998992987476893471719376402390997073625918562153850574847024638616387692444774855378394924786262382946872363057048718955235443238659812295177825448588952871648757483432644038069724465539779647882028554696999871470590986783012792782535692947912156467944474697528439775050506697016905405149780183282271658534762801270414095129384300837007511479084432251081771398101094951677324376740678042035237696025667389194764217385522369734748370895884374482653849821833562025897504302260067513207952622212553137082919865172351190652229159137122488328133154787510656384480236128322447444855222544387417471115573901000047907191314971929624731592085402582794575769079489811722220382251714046349922178330922138566260219026212436629320438508130092884302200110811035100955169589325979541828175382806291878449424352968810316481493122295559353693857673419821773395214297507783871838633320637568272271664589623103329980396664694327575074916827779721681155580215609765517851114118559540526404912565336655782106692277439559814429689077674074436364736178798628882568526631028462780792868428041499750368415709003403247714397276338418587112714802192744824578467509125136492253719924965342488534119370167023367427632896259390409735201909695945502362265062191684423973178155949176303919419131629155032212367184655851139499121274827655994620665360436526417715086101411995540067360384545623971430276258862168936537505052147542573342456338393533415152650829772342976964587284860684321149255882132155921275114400590279178488619763747419666696709347176822939981061847339665119186091898666821687632213498180212550828125171964950178072661808711547254973193124691279493628738685421717294258201271463355311847872426532107487058743075746479612930948649522907908836721912399523790739721216152259484927528345541870418274961472228847122522978656245823046449470739681100882276271830346488236659717977673490210219833024810953238915631121375488472385686846701084969380439366241721284375957623666819723839268946598960058561682784838906737554366434582608651335393534310629073779598138399711611726030606482537526856098874342817604862227650377520696433296280242584082614646879646559710980215301356081974407471220829814455637810348280175951829552252028404977704922881038889849123311275971054446519714251579449260057076659288615705344625506231819091093081220974234384346772599534257634886179417831025211777395758257034752708715516933230836783162353949559338703082213706395844041056601834321847693597042321870240327919942260537512782340296291292562208675567227619478436960567145845879675591339445372923032157368504621387340982416066352999919832721162426371635735390454268569362614105891976449515587172195274856979554175341475484898720899833848012214033388149712783691238341757212629406153173567305335449412939716833103593312149172459914110078026924587995790827434984166031138525461829500523185986557411754283120841395008486539422375103406049889354833942522767958653069851693884086214474472694159943387762694438029171826468366833664995236647170353844192416082517701351098827811863351338121564225341599809534132076357756772565858785919383285279353110170437196894344443715658576379276673584195616594788657134433926099888295794098091238677561081282739979816248181517498135942098034668279276973140799282520913815373810440616617464828700879763300674334173979899145875157983794351736929399564382400648364896078220806228952418323615161381524214683486899567413485937500156873449894997177137159812329683281901840016410794062608924983357378267361786693521851663993992735792994955768147836582449913457813464053075268244339217747945458567302881703933493539413356094211306673234399730941764520373418858751320284752713391324924105751429754653955198941725948679837843062123994853181867909884867058180330039291308637727485400145235893898689998738931805883693373911938703199954232276555324290419972993623807465918863257536871974183238631917384821695284804319459972344330928533274059029312496843351481904695181469421764310435666632476331844978265556423826867757086453832670214289629551363651394490423028996283384025872505135556041441635997060799703478450155308632013727719154321154717676961277238910539588280531551159678352426559264035581322772518889175128923656316688272347346110973507087369369366142381575982258950140761383818664026079965253679090945518949244741165137236991170406768939321703027434585806970754393114294724345219175967881577893752093166513319135880780071166542222766852594524309308551729218703700489883227681946641341966265683014993251709065545874953749151462233613158290498591797430117656342643078375127780143932737365544312739693370629191183977433564117734043946943480889345735419571516775215937833301409798538612603356096234785828582805525978761609643175714227374519798883584844872279894234786999586369501422193089539056438054460236411694688840749406422087747639189419154399737268583881215776935151422733812086984273386225426702678069984905417452954292144421053183612909834756452604216961172187779173024752643434609017863886367495169578959958878763449747488867217623122426353636998890836376795899299307347449558369422311113847068653220820738995370653720892768937275965502898906356874383956392162940830543482719304368743154904719137852401952829397049347373359216768179470878307542521277837524907895332744418955078095558254047808064724814079106808222188898927069079709821241804500624736663300535264644379901588412746588436293677243055363008192419563438376681111754607430755529271714199018038235993577989434488599367987543638858826996697788744012509319358412057338579723996966915798055412015485401431002834961550007846901543115434341782685298754655359252163861666571801950908786647324668250424013207020964135485277525453690428233088485200470131856725439154757780334592937178713173004197737580421399664889577785529942474650663267125620415013516950568303259234487748999372949471283027777495851769905894234244879718225542585708836361758287156830389008109116886039449909068271373368550932130587922643730362573319882342031925303394127899459002178193265235270891755299381590476745261512642074256391166659054920219922877353407235641377877966735544450482251089546157423262117794522412982425710693647191176211767869602763938324330478979751541533495006752415324016442217671374322307922031962795670902511970567336961574899408572393844599639195735455690325611167715733569494487794173022786432235658919883406143905460189928037148445032547220561948748437917669588105111470298091374328662427942710119805268672993707455487451179238997722178774222789988761921425417098437364654525418037099718162088833283496027499679198470558403976715381268576117804226966044178425268139739095789539323858509480252589658164386844304794530719153567735042039133070161288820162685136869296713112468375245553441183241335950658986527282871661427703397416269348009052266350945845592541654470448781386469523422871763891239202193496360476425583133271764671368525309573131549252877092735713887335406626846194475175715862505401280976184135656319182108963946751134260652919631040517373153303471358579315156552327843479321921324155730846662658142395068559378728262950475425082346837878601299562786535494519756291442499651214708368900329919348537262199612655377569833395520954909414015924093227929102166572120129182322925764385403870363483144187759160544095880614663718800769778967107789047727880127459179054494591585998717686832517915869568539316219772630069806961343787733304743643862750644265153469236378278184919482208041487061439467163860778112106890856633681153992161619356443428833074719200831482395914169990833235992013757519421597928719487903033215914685271265699350186073443863292890222016723758055885681462421228628019234928720793356429620248226788084741682931059311460158397633361644094088931364130242950467388138921460424909314489923186995972674446023388915678230389256580892961390624288167108243455369461191589238711260148718137351076483342641197572334017321434753933944291342568227946362408394104641416163506998893500873269225303946446517908273950054855286631080907761632646423866404515462096696855698711747987180837381944087737560726723888840263146771194792915313410801314882820191743034642150233985271773856401587441096327210373605198284138965627132629701546245056188219437680273571351780098177150797718999860977867080325289322870373656297207886683509414877564481302522507341272170178707479208364029806476139805983531940745596786599074476109151470933822156538387202636230265945135213979245851627079987077281081113687149916212463914740483174842712287733015393640864508739766970935809770822161841632335118658813482720581472888999299027142758961084141211577275074807295219957662455566256881505079477148078582860547425118696142711513868514931120991467277631345943783903954914502977162534163097022933926111734807919887528526261251028495700868578059966147254428993601678359468545252621977767737043196942399161015338629978467981692059375313541137964027675617134737246061815434353126839664825450144488361627727428173166297826477454202623805330129825923277673037382642485728674091389230427862637247505687776427439630235357596026707719301295656964648305226668004273346963543175739685719246636456546291463464640714018669756315861261836462291228487299670151094955117613611067632969791965798205340222826448652868772710799421304537778275333149894949789019693111537636162151122364216216979057965376908509755536228767869286107726789196445178983512746850633915124277570692362224593243671932298641011650377867620827348109232358111027687108058341171231305237158798430812148259179671624551208139395014741943213657725310615447732154250397852370392095541559738369405826949121909281713742369802763163633504261506677299768837771347409177722545494632211757865146990135819212931152927917964830366779335579938731716526455868371179475372146903154226812725481427306864694159396996884779268241645222169794230496281119596445829685910762494073891422115544975777228380176048593932148727640773098108936608062829532360988329978916655866797774768211245695258583186726939789049043196720261847813815386198677230976938631411783513049334686532735486271771239080687361871167272527426383555563263377401243449998870281995036988381116513611177576311749503484882495945699966853289662782721624621823954812169835179766912441357115578919694491438895302770857089318014685129077803792115664731005673133075838961812844971114078904097233035591043984641242483825480376011655942289945043858938933759776325747145486911460643254646247223918264403727457584668762964346365919213494026524497111301085867435486831483131798115369997837490502384441909439022815349520536136792211293633355541035615160884371541101683881426120176042041448764524843703252171967982102073097707117966519611008703043955468162419188926465644633148627282568022906801637188998335531612267587722573325119875609704523977129197552646265162128328795097571852826244806915668341842491697124885736446236391124096425873806026685244376666344585202048719420449818891174765903897779705199503408985642298896252069166907918667929487493671665693126737675475709159945282858693034675306148371928132049909841476701126861744370901374813983205128685797453581604772321396307997615988488394399148876060793306955318507924605704012848873791460733273206129563453411445588544927628344191061801169998310823558258309790759247852265318765295552348773462252580239361741553865359391387102988983916353128578534591045711244798801877627564979529861147440176048392820648363531685806618666218262058161968491724496815377199880458829522593742748019341675285361083200756774535624473672787148758122462858885694720242812459643563985999441312995631576558757425292504995794156242031776871061372399382793231183883699461454980794093999248419638131174541312634401956202880784674821160954555544566586979411482749143569351968861305084665999067759465087323670599294227231341470018889543794312685613633574914044594630014056808515729626426683778479905250587523985153532601653307557312939135037140317945244785523405471944352936545561816286670464339552696618898317726658244562976284483551209262173869365315865317307695531831086371640913588692659526779022662693353483827206524229218111219443202931580681825427493846057679634992542359918955736262036715283894717391410394481468063130050365024115143286518964558377715731778580248783005192941118644218355280068299761498313721438976823491410936802618857143627378714954859467346363581176059884269255454889164994557167966234826495757871848970539356047432714441270174192527516609310975888485441031831548894698118131259738352388739932089735897705185610126716873986730929754233319651889494672728175623459284574813110691626952106935134068824130589758195035982912886746226677267757778549275520017371595958248888015928311180319241199532864337988158581297788048571785438422664039533948658371387060757868365317713880607452575934343173358182828410946513961489215244433668694498725081564734258057865146234392618159559754616916367825698018169940395527933563593163070193439486317588365347624050350613506722266053874411861736538899443072623187630387158463630535916663747598895126521533121762540822589732108569494071901231140186126175905942081759785584679098779140733595305451022309342819844790503274313462303648552506349382588498681811909202196622105937690394072633137883715978393316217434599470606651867511424652333418978197428824994667099728797944075244686631797477747749743937849338963462188792656584488190576126946749463662909119709512142262225972920956021011192417568913244566073489132559894426645848267159318243682459867859014229082577441511799862671197964586137897237452222940255161973848693987663930481023291914761451097215547938555403367959042921021332639164979120560342571270560675090454777181507141621914133812856826602820614167626343230587243527964572072984643313789083912984805770149846165307240539261932199493611265117310223381036002378189195221438019527840854966363808290927226815296928825394316950959072103779965940998678559768487469889247252458931666779432151783830817036271684255280253412791252362891387631506715712792224893331360470040339093539086501767275499471326370656655625717467999951203232833592330845223143965201764637576144763853256396934576119222108366953956076369784438567343323815602314002747859455744363834247596264149371977874997776308750282067744192488170590166793919751892885304300449641007111981703266398127262918864885117582329492807011985043227661749856817591503148202794322896639555285070076311952341034080555617622459285451825682941427853408858989004950208993708674807644147899299160013909679290271826362835819258574079927300898574709103440689454840223988187372621226251087718859323715612931913720743833744692484603054077235817630551685292988801648629944647766796156307482091428941346454459590332859753067665842733801266184745201046861910815622811116177182236371525966153514785567276810434644616731736940454141268814368843585387564915887629564260742572328547754821384129111543552892959277079541463341391187655137939738393176919414119718119629315511019428624757258247731208113061345233786042259512810720271707327640448434462225721527188142410876964647689791399445825551908329759120132569594400907244149013842365288158527072188835948948777212502386829249338454612697539221332684795726874656345670981180157570506011649736452337745416593364180181683883479968616246747225692444864245204484573627381545742060821771267517122888522762442743580802318610323052367710857140249885262364220537671453651779163741716675714812557916500937423087760618252839577215470099154773154784745055099725587749794225493622709223380487910689764959485683125467548237181782884152100413128373298346817218823998669217039571619192535656084891461254741915245641489191467405331991646116675694669645723860512496517236153256377257280442581623166279259142211072521364621749617611378350422695498526312022151844257157207216877773457577523109556125059391820943642150147675200310943284738226987480296550908730417557328028329168174025381827716144499152321507425415278714216757619524080039372319381365905789435626524157538568058063287675225541001899320317858338555654638323536840726781206299681166846115936616171139462551885543858893218250403272911612702620722816684447292934154764691592908781228357456362630239266827689069838802257906496598880499150211162847661607649698649906714832091415763681299219296586382478728118116992935771709666676470344478454165780160847569581623059897157800825219971798779728863445199929586721307084354234916566644580615315341954625493319069563691134264019818338491427046401724987678029652383868765823210859147661832074690624075383216250787326422626594712091148984516837441445265028108686276762454328192085476419351895624253448787573788066064817642211903997239953763037810463974937581933718991034239522575971870549838000945447255022910956115933331526873044723722995482968623282006839194927567145744722422047256895546305856109438572317614228926708808201415458907362857576915719103149036703371666053004143792215105629672889101648169490692840114299459723974723052141305925619668254611458519259590844323966950376832457963745401426635296793371738241225428600533819899730771466066597300832468920385878686619695600896330621346863701289161370630952522741683372195189719955482858760661046691877995877886551207156748356256745373985469448276649825566814553999239987812732317939280939473879468776843444819640429288873550426715670365086856021193828214303470759049953509649673903416936670328843819690266716894297288710256159383071182486954702450900258216663811488342708698728967174580786625620820415173923334964624557900058476064227732918450915957684311606434329170982409214274443923425919717845288849644753594218373098509761579915333180513476328967817143103157332001186508776425413820828287312328793181489441163397589324740728374262227274710301129579948604792318866662055687922187523891764443808849358106097961505318259696272599182390244033905849552741176121119452961118222202765439035785106383657895173634456118147545914689842429676371682606422857212189182333181387076777618671263344187131466256267774375368814588425283745323552168919531378825869053418463741673481622202566036545678718909987989229668282279028958129218294114429618376722234499699123529909463891567427297420728642935862464305172337770189835321165415309458221368066190505112364627318215303552588163685623479097885122279992172605415252244336418355249341725066839584810684809598795912764735919824276946489923619045103545981071618645285094596939599719944733978157371670906477835863761440283549224780822899517895798641786872192761968255732951464318559222618733383982797774453271459515279550657978194556185632152004880845096224157484085004333945741204060876380416933836945944304236840736207980867013401277512326354481759847272190208918314144965181194198910535785313645702043466426182227769180355814737270643453938876764418668222625984237853965655204710950025138172849758588141132773781441023945885528051485771673995530304672597055253837297416052107266857358711514220162269873421633290904464494787444650362012696932692084118597493555893576122976282283619606754433624913921524380533949120852348406871240195667666830646176812747690866263709355447936356770659733517684445671743602996501714112089558029134782435964264754361240774927388923176725262579656693572823665860339806699853166356120537141017958123413179678015147628628252737708086841140111481915397429656769734526819975184173856016316220738152022073683875852191160773299629567089245323282193199532758765490164225538672942530381064860415671698687227278134920265288405610872991428818934845779519712808836346284035781635411262125438089407700967647129882186968376853371266223083166159321227503171215138701890660092156559056171191924135316281397974747387385486373878974433432158357292138206710597646655921947768812862565351383275331167374636878977172919325859344429316325187614490541092821641761440551437955487697602732249754935568251439156956134864545342430381096673331813542755138323830719396427992396850093173933380464253453186738985759936434869123258162358748998794821423487325224609383948031724874619892330052216763866067889305344955821851731146631119638534051198492820248222056296517738544326890386353310930997002391568741454419713583453636332471871217239635648884363519035828395763036382691865131051243882315018485634058098138537996509606856936789405944313529817466826595970464757596733190208575950334925403725565809154603430915091743945315797111390572165447637327105108889439905199270164997320776218592866164916254703756441260819218645278989768459768709580132346185284564236022918701987031730228060528995497197406266937255675327877249426874852883387677716016954032035726723374690632761355609776609706882598714848137158483117824170871947970910027560637529124521173571670777880584947174926941028176164968788758328597839325601125068703991346329454784618745617123380397309968611320011140952975557949285009967046587139649644643760546913521289764234290154857188399659755725459756008213998162897980973571762887391616570223681230506834755406149437385449388489150778258321996106493955887073217436536278223835365514889776018013774239762094451348698711358157801925967461227568473766776163615077629564105797670420584087698183022801702631730328520264549579057457482144180548172737906461249833230985073631010308017398211698600410048982929251694672634152664911855624918181167923373382692667950631283148975929657973865609224290057638896464761943365413971848861931952721154959574021286236451569227222012922395841285197509344180397193449586055170671953167504402025717470514367318819232847350379998950338840191829515694029908786495748452758331581603192484268209312522829261420869218776617125506483476319191718613251682615266370041183131022992137642412851974863128864265538915291417381274634565316529847577460536397039034075153776533348565956159983331287549879235724229735796753939334488836524434905362946120584775924159835848517433313899238744094180635512185129230315662609231217097200738134972385418597615573448370373477333124473485207929226377996525393661976636421478474993597183867086986127343925902380343062338693248045647665408511825256905436121409825750677461967567008798680589808298382869256658761211784883764730048864728182996700246152392081144420352402278553362586098584852636855894852063752061720620081708616331195324363115371689181782674251179567324784717130973847904664226462389332675738469772451719339940722485254439855325352475759335908544230263897087585320257192152684866236654841746119610889117393242004957442494720627327471940564967598790126861427198255482674244829695549978452038929118998724363334733676226839419311770932569387933968536360890263253764764510829708148125413937197163692687556444293819771393610241249444731721998505452741233201578318846623762223058068503694587638764908043143689827068464092936753779958670664065831695505591516953155369735580555875719999475762400324891466295348190011805998922713722844713866960199889453834533053847911635419153975707941521516827394473463278948873611681809661758623992173946303804842585326620547085264090683630992865629283497045089531931307481508441767855165278382542874924599994565169857665952689154165442548697346985664926108641918671988314172236432701162706383782578354203793656191981302318047226924999979697267816866469873306439419030947220165825707192519143755855539277914551426045167442658792111423376971678875110864732315152222975107634681781498191949110905501841699311586336395571117158655012207068270136941378521619296665311918006673476315937193311233751566640024529677691361089437489028287011993578077051771416265028766517188489702652107722967995594097912872354893982763138992622488266813231414038743731418066575531499216747958438366306182739427457053462397473888777569171016065946553867417440137126109730258696056513795591754912963295155682943912951728452368142797851633455453985138792541353839896354836117405799198571384635224519282130913275564227637155429140932184738287128761167194105991065736466966458460453265751187644891225515753134631586099197412236565289334422470641266121136867457133942078037836542228448814627873857559286767044362573222236924852073016845469503369083942433960715246481540519586366481366872233708337216297280156643835592529094490875473044693297752461681588334273759061872738035344230292573615436665343915456423797538847290626243604675073995582576659458049229439169266437368347125399187794709666675489693522357811739981858668457775973613483042978372114665127385605557477398896090265899363148703466747168147434485930687117692385492097619236331739147323217428934323533245964103287874642755569772459664484613592006632422879384338581747253549588949492364561576114232267263980776532304562918885369918153546784641192566558547759342697842648356103257349726142591674910349446001907825984137756660376221136601394265436959837214748888029799243047949143338394608694175774424998130825475169750385585882920502372648327371429026249004791719162453518116222591264928564840240177063953844880245981131598985471841024558869558747778476794391759564917138737163635982582716027805963004079842347747611929081019941142336926665395368816047734022065220482384874669818561982141187320258817962388822046191826704866272947831870741735570448466590498755612811641545796584230476201301752744443299817333822207551929578372099356333302071113500870324419712783659114623951088839463574646119604286862187394756883908156903827146519204376497654911949420317167956195373583457726458425943474005109850736727007917823021225183713144202169775464136061777849571343555920288485475070702765195968209201755310476526295221653809624933402230969405969184267099461844439495530627214524158494159142756588292889591727756251482169087986277841033024786713604743792598526452756016327966561626276030914378785338330566214228638686212928541574380609828873550374647232807230958049078590825762939609765765766898690114692392786411528147839780872824051242265829675829866851753926205558981393393868447996983656295019802363765331803998893072085364530332911306627635489399316849948896583080811498785322719529363800577474347516005773944198748207125362727763279299184655550691882557758172214856574791830896267702471083032120100383382915849047622241518084067958817499037222559839028920712141058501810190353396726284821551705388687490486611885612431886201754380042076086079554944941742945635784264987945104093152723369974438444578439825667294359511612124848127604629921379376530583612612117874386636622128148607136282922530968911751261391482154471569772982383966036127898742905686659561081702513221404605135664511956643537748312333720338710505925796677635747471196436473658947543264923118458581396907534533895319204488856919256283381881749538958855051297086892035008402068912549788854132976154268469225705088156914321846276019400210333661589490889603327617657995329418820288823430829851682209941953331610593449829691125738132597987315268712044522121314887816524755832219135311230737419431641509917119567558350739902481437295235930236468016280977672205979364971073739186349828673103778127480841875334958879816906336171555528248796040398469166271846342768533442347079377646384019186152450963061213518269887443934184069721278529038808745584657517406681640832473523543203737513744808920721375355771058508887905547928136050616950331782744152581664524534296380618291427463561000018887988178279646368975425082545038686092776320949518244724686477067641494264751172735419668938277182762256824106730833010502511383958698170347865624385776851157747529352263477917212387307145663204546589342693665375346334851328167327773319863783766225273929761265154243466007153723581807222310370029886469747826373905241364920662952207671931787621418161996295022831558519797351435552404247303825397109184631901333914460271564712412229013502745323660773843407959516533707923164351633469531238371495090155701957414946256581134978476697874975215313181678225793777330848929875955733125375306844772229134684791274268501510177505048695745551733965496418165695761083967473198559205889792945742964673081850188130703949553513458331121598702815555491371125686533776817656372477136364367112686615946217665809605835886861134537259862756911502311158124273120277908577267915599315025491040508332309621326263706637176093197396500376423872281914385771669685921801889545355596618274961945269270026057823645974763826004000483914527466181689858601891925462019561497260371115287267124041687941584962216236611013247314987162337225667954782910210880908021251953283283202998242263855781707351119642579925932347238880245367569889925436274852821138941182372188633825476602058468948505179763963356039986114873719584893572890196783725300108451654655956638166673723548301346594571922362156096071500532132969141943354498768800971848120629635672320726461282447126232735346667298178229080551887292563823884631047159240395738037564923666458284906801932275171546665216422181465122151023686020253049160212407648661575154991422742435506646624663231574356655886571327714877730406193058737044984921695030383616167748869950349754499526320432988195489248742382501230285108818548428632204428038717775314223987111970762925436892023663782133723267529715823198127427843031851746643589344652627571435039849434568862462603753842038500415273454483462535886265393613953552291659474402890162535730987953455926560466363187462799234248927771952445881168138983832532333560102358402025337428981932741837690947348668848947398993366926998291067953928723335227218214684443050948696075306463009577609615264977076887437564717477147005715603213588154194371249752714122149056135267919764856570124384631994129670754749228719754679616715561433306555342169416368594306979372933701383463241028543897058139740582238131350946879533095592933244878300467888676616574385874679421360514259727310727198138277943946907452778543018054742937278782837799793129922931547703876174071639147012972326089373031215118609725414186709361981278745326697357438282674762404901717496373226106778072240228915426332450263285592969376393631913296978685811625829474328405109849746886269550606776455531102314118332479953301471584135591068505253811830351573328379248015776771204389357943792032864853907690524846093696391739080454468633617091622251138594256824568135153924051781693190065753844603122717211454551423631828723183262511936091454584802246222986737427393632334344958902022810766058032299483567673576393855597121482955154526792662445308038578137611323809115454615600949013454685889396304300647868725860279026004302391646446904102511242520686305453829675009243549562411552722655011455065532318410366325093668752954303768118399236127751745944043977239381409894749313401275568518289261891817455807820552683923785194689168255181636759456134962190980569504704685649033883512868617193756327696317303829177542680754092273374980241141551483217416388906962211795505917524285226877747049874003521569048083115388017236277690276517680741289924188896688127987583152862701731550142757495962545921273854623402578888665517736594747117755483262252147654637069918641197474708158747022710183762176112527428164317024394184276127147622269372542059912779656742877653129367055493097701907141361493861478080685096916565283023683800384681112572644805075703013636188521951496074260928782667976313130180985076597277871199477389082088246095226137329859586820258897929318463854997787832979758963133103910558352442041548198639839770124656281935166491191645380161216322261889483555821591615853959742301107656917433055019457628629101883350206264577743836037673650477893260914931181221506273092197255820901599574630887141114731197487646739258955363732968204910926732528827647711612136617643795713776202910867919268364744177564876156203742893294623762768135727889515163078422992316545652596770190537249760460081677370766559303757039285336748689917374863637454167678294739134971917392251338643464163076809847132888747607298813801722147480929071552322359586292946148715831769525506491920684756965693163074665314815571664415067928179227432582307722736193203840171659223331213890675431653810685154969014416659265945472988884660251845615083649928439131502593598052568728149223291844019834146871061396474187231625247830242809937604138464214523671649558628072788892279430461509355832422107503405551549582586931596149827785191315482332815069725943533806358361558806932782825885782819860694250987237690638169933246088031087355162705986774911701637245386357014478793388195486452269992119389116817694726654649214124738518752294283338750486133787027764411888999459171595700269541796026126950020802396668154271518334113141571299900952386703079536347876130267283671595016786262748673818613436714201477212513344773271216205377204881773193042146369986754182427910427936951714361893303716603026930894165102860482689981892157859986632241712551959993279194595609956604537651879443361799385562286184041707930207630583591999323940770968824801360231151762450293997155498129810405344685265949975631319142250115890825954804126096095429438644894559976252821798586464113327854931273860428164170224789390660576447837235258077670199115956242491041572645873693628360566548522125564730331065835561674722911827614552362135588754295696827332593933915510647635449296024875211260825543962791175169061183508912276867817740434196163878787748726670709256193314999996262722941674031656273937069572257916051744684283678915986856463956418601894353374113074287987477754613000152923257871465342136169851168077888765593438041942187381443135879561675870906865431988438233203458773395327472600317029471115235085756192842958234215824235595444249323997954239279930835899977377130692294279139888084848543676136275249809884631244054543281772940678578664517768857509643004163147574989162969821674306437541641213795337917627485090570129463244771682419272313859787647512937008134490283799143194139766327219649883061626672893707183621271141997532247117045927560949447153004196259938731738312267787327484609511084741373148815540932231947125711729186518755283071648534821785777666345428906762341469625019169210235686419656946049571207322484511086290449134491660250986340787077278352816589997411681267317408115531547435833451773671877150399808636807638363816538217154811152860686665862897508832914442234860995441227255955323331989495777441642770729751587066353999852442697219741823340813628731032621922312183510431848239436163329348839798617572193137019454546997655218309530991437551419637701944725676244141160188934764554938442122696499259878894674798696997510737410855096486556179234649878594506396915658967688947151022026690664979451291676877163227570286893694765555124287857711117129645494982489415374737022792173259922964733668147629408792820856417816470595438254843881874469683311329749511654584645845125932410387187764687854109954382360376676953553963580333024995999638480059653605156636248049101141672183095311225146218415886179187055469285582353294859973614158131920584632053599213128408753114502101271660729917114355192619289825330481208125666802605248378615601596145814134613063025838449830783488607375709359288852083026410230973565187838929473678258416968110929608840469756802393682687188097262148991053624769675184360361333527142554986833459221928882364196003264490321036471557616835495348363735952312353791032163654942035430260245836737890793015973795133019782598073593615972840754401299666975844754842358279607257593717071717338328397722069526741228712528303623751548751291270492892564436266631987002142592968468683732078904562837568287096779826392271445605340724936376373665783089352081103829106678059483734973228475304175936312179156531281217701237754892623886947055046607325249648826706266302616680776184243224571112855046496818223707836676529102173328662316966077244557475422829173917194874719979260783898639294339024007683171459701071775862945746526256479511009960511539106473533934384693339966461095972552084420292395203488461427379270811288973921232448266431598330287150496439496567759541473726327095825091535756084778593079134640522665983147441273799872635154564538623535011302367130837180354511688249268786907809148166481689703379532470656285155409221344089695592745556305141827368699565157955512283417098514418170338402523905027713366465951914140991460459442816942057486857298256575714466337628788419425294806150082481221767765199419491190565383802791129932991985281515612094161955111247415523550013073443563567221259467754825894716994304634538277194474763733567859596852808983779578287375264787383487932160008605944954765186915524632190493157233669356748693581395973429119655416556321691844117986740093016666439248447998577530562035384258477194711009154812397592400473390837180119983842423807140174533327587709314869819101031827249142159825213361297374971662792223791975752956899444358258815250746908951617239658932970521168079187227821199234968666733515177043536608714147389904140752785792223698141253370479989698271312697851351343864554271903434944050640068317701586397807200952029335256205997924956805286962727993677823337062192614264670576715021297978113511743724105391203181278304791042298903565440458592181783723009243625523743433352702082234380448224802909752849379299882791151623313043877075513086385735466892373683449515776693542699366252539576137137266072734093862370339891244693326382463561396570081362950202472402749118307939161739390920083199139721242195660500713873175838235593266927692787572717254482468111547410517414432051933895660263743298594522018572440971564744957718369747510964686806580492571227644681547240211572203431335757767569395544142349187945970205254504545681492786098116243839639774860664528077558176214947729876015165965486683758136469816916548433091969567934403999137996681267125658214683214821989085788627476354158407273849015491475462554507658541540014917310513054964331794379782814066911752421349771484032055124847114967771485733169673447291179328881116467733417845106939373349132112126386997215764169267258756404446138628097830120491886216697590985200733036323858946405560459608677746528363402989133