136871586221579024522543524156620132893951763137398543126425473326632392183417812451165334378058765452652239316051432122137642878622652866225250343717611327164915463642443537385538553069129526021326178865511344278331455263482814703342556303611257527551739636114674791338106399149576718344158323273398417918731111288412638891742946237037908312251647619279664257197174624215221543250675218674310612643811466345381887511279150482202164447618306951272356364153158181276915513211634315135813552467357112871044112456393278572571354662376543419214112261922545647672519251821698533402361641163223931452835717911240201104938325355436607701164384812644226946541182456509446453130476246355147341429861274684629572271163728157523631933761131164512214575286219237946165999503232544558383127022766525443133257261067565569648130904957691745934775473641396802138839183118331189869876685463941440748283329223916363122668314943196361050518725753790111493513482751256496315623568719240373689965784314281462152425048123451865503764472826956177847952787157672761824079426436171027642602034167678664175348741664244622193312781344727452301933823936746982581174515614528711823803243111810590262218886456111912757137452273626022624366617764327215086132198250002212151133286443247112512638241325221949584342124495967892811195483992838356284565544852231744669691522336574394314164165437668836479699521378232791414467475239263385230288341351634536943111182606276631238231092686961317285187486921663241481516954358883709730694138141136501717235743816116293321295712282597731260100535129287721629246108367590343514466714237248711658333977231413245770964223310046446331804319207823537237421251363176362564475322334737669399224673436760162151152661813398722872534832124551393615611671574361438203684147463704189695157063828132636777414302946166454219372011546037623773394133674843656845113461556115851373543014221363412120647694431212113127411338344554114449913481068010238182714993414458531717256815132553520379161124967922312285717257491498473731061610915304443392388440453773714021324687314129734353844143490848415527459114952676232185351080242857475931456129861218933221152856877737929116317325624362156352388334448843768370552359034112121343132949641023459044938457171534141736684430123058814577641456818452985687006217693513220031829515112523175638563115016992152648712846132626033422211565437308412811233212152953741382084229858612287262741058924952356713766543470233818563062153257341307865711403339538315055212168232928204721161333634322597391407309813737464823832919552401804365391518526147141338510923377161520390639538469132463629221145312371753551085387735714132295014039895494618773104752186399833173385842103443197711236296136923352077915315135218653231248228210364125652311331148213315572189215444392119461635841544653614343819475257387612748394771547708125523010574828340294146611166556171150110989679232513562948119767123886958726182233267244123147145505499872122688154954412166233106341143751931665447608653253778355321376321021326578217261185658635646273786545335161524312594112314488144305650231332838745309278361712451587225581283729324243054146732564829336484351582372392458079873042578936114174582220757523251194863361353042194221613445343984125131123054882446341316728136297149431665319634115417220483410734145381133353162153612986224681147739533414577262464010674128363311245229404326431353635641314284456892692493539326821447676320932992062439134715386215499351449816254313472557221032314735296406878902151132380514725134481281278692013670791442142732228685377019743073913885411371929118261317371444222642234236336713019722721224327745122963159346596616395256265962414573963257567186132429568583113181414454203711112125016556521551411392225515119894564125022517161233421794922175551826356351253562189324212272377621332928511896721412352212199322334263264487122521420947533967417111712932326289436611714683464632155017412262342990367552215996226492828241714880356363671414704934311342381886752217951590532986153204404141199237804322874426233891393341151355236276623941155919233252449505416496748331747223644732312698218538325363224222622262766488421619747112872334026284641631863153117659636218441122731155355526441140265837127262881393436339961512662315311111859825322157461201629289540131112246944290553121124625125225246257231931226233983627162340265333837810332648644133045234448051158235336617875255547182984618291118213222125745147512281740199969343356222821293162166629052834218313433629222844655266437337111833553677159631295346453841093428911384244924133216692945861035632462511621861232229471131342822931716232971883834335544257170557579835324919343764921983575451548304125474530735511133229016288586233700763744181786336493513871153338845369685173823526261941203534458600641451735619942532551484804646219121623321118723980281524232285921353221562755527110651644223344384239639671368361416267199664528609997007892430710311110525265491082342212524882182992961150483165892073491386183430600864924362918513627395255273897427683525916752633264613378422671027167513223336661067023986671248741628344248121130297791025424796461618355862322449752371458135764689136834174638283893811281235613064223314802167482512132621424243322763223116663959384843901673677814191839222118654872425161874929177883253239180552732153294465212754511824436897344281295413566741352553106184143372118726733645358514331242161202933236141663164713454703864936763495571468867123750255721674638234446604540746115363774146235342511545633266885534144011746570541654358254311478173002555268415492429251242337817322048596232744824358462258166215589208244812416569443440694111260319291551146586579765121390321717321179318933528022557256271175477477453911132911962512126756763868241133623555332053215292337255442915110385232215522446223312622532118204752721388496826656113418367952947688447341938575451716184492134032344167226431311549911937862947842884054448253221666175241237352266617259472603311951973921953411147833717737274801421186812140396733787172463692437208391057462134614122251723166171875551753743394240283153116257172381122361133933126552494583425612553671122581408820328262260261613443663342787633716433827186864796572243126935513278393491171647436565541684714431427727553861721221717146268734315135337652219275557441956693309335124144061330031107365243029845286432378437626252207403355543734174339664057646292697881844134132212697841262766234213196869886924534147164425375791113690156123466114328832889317128985401511052419004119189187435583219247512367494941561212951243673188597339916114231122881120667862521241750825946186241202625201551336612763735564255704364755636262887602294643152718624220532759837667580721986240153211521751125477573642835312470455890462595731101933422721164830123315655141035741198241358246874356471339254585536314532531369741321312551366158168622875636154456297113264865551473224316251892217939126642811643668412963567773131184361060024451189903721826062385974751279298711206971278305684352814525731663141394841305545236332404251163314364223778194270081204041829472669185732628559404031956525261541252342612333515431240039310785955816132267816314922662108775456328748274234291484332335874572132327636131433562613314292192631431489721512427193723872163836218433344438937236371620612127341343493233236587898188981114212534354270276557521815852527722941274148111277186657136353158318731362473312294114912582221466385694633064789152135213187451716184570156315362556830192422262564615322558784875162644314134767457414174506588459791695462107827740352705101065016577794426490010151735331371815938553442334585255236537180231568312831131172223645633542434502232076032490538119538943124127334531391974423242934625833313433152532313237168665753099163652761766514554458342694963234355121456172549640459022681133553515311903125255662685838255482361378596448069668921129113344262484156297167449320116042040212262937697166342252314236514383278351342124122577615551277297230485450697084392883876257366318227032845352995158832785876764211743822316148103514624612511329326331831450482321216448631231527223724164564910429816234920647203562113913577223541689165244095564243222247419445931373344328244174961213037721416342443812955130379680521627763459161459628976811322618150245912812610725826392611186140432867186123494808871919298395899226739414167514886554154542748181362725454247500421331814360091421144635939890390622746836573392191515152573202637420538254241724656231263972454721192291121762265443145125272144942241515392757289945414139626232175242838153311522229316520910776813544067804411240228557233142431351923111737138333385248352474141362146323355136541482403745938411870197513137751336214475164104967225933138511833804623461982044187965318150835523619479194819421322322496751626432472733712534513136410782245691545066529671154224176355200184785425228611113442532476593541144506524051623669492147817757387326264443195266411522267688153333314110472570237333537502475439637962145673822573254921946344521222115561759673495131490929552848326982654015401188983136135783832452413225575179111541215351353323337661330422592234386913415242465807909411425346457339261256216187452132316897322532611217221672225245338213773213382802477351441254592212426616101388435356741534566966814621416835792511924711278242519124819216511145707623159181529451109635521974124164495326364408832111276143073749122732091254406461426344822618061634609731823674147319674215214621561776133575948396657442965026752192557691755255314271112919151357815335113675365014489423351413474891786648779378541773853480057591872934277111640211126911427621397641542633229349846421111111261711554538422344332544793195851436168032823279370794335570313115619155384883856222799935388966625543131536129167617243732226293415542027528755215233496112622901428051183562362851295111092191158859982499299846327094411422016222123410113517900254241261236215522248115381541464351745212785833474387518241415517324850454440186998831311102352278789169466952967751353266389247133596371135363245079216742133622494748841229421815843644561554195595168658353219776373954986932707357911311744840143876426552111841166358214371489065574371651395249451668116439711163573643343225317294826942346876135319399196463258299383441521394369198576463412298948168773500423692913549022222441323714181655780374514138014282824934664627912344411872210233752363280393652175001616110269113896732138720521671498129616215031218566716534100928405932662856547826757163136109163006342461843255432625137686631403173305992531253725463428212261177424862611086931674627184232478754394024651852198851439547576126985973211127417594443227174485631641209848363531535666461347234354122136035712215144725813542113978932320551614812103442524553714417531419240818031375522675110451399229067554348127211418575121635516591465453065794595421902323104348262131105234271403456144407146145574561072348863613174198451113715622028294416373966281368454168626415141891901321316382671724622961752494388359658538527317137815011972176659465295561756899153729233776176518624428153646413413255214241456122454573912476834819186597165414413792837928566814882582675197282724158952812293415024392512132598434311364243932515565216311478012901527364641318140194427320765277643915174782561182365222843323309699114931866322754559194700636286185683429359324268412545275295656264772125341342552851291166441582791661935446216065476265411050584525568452137223336547316810753593813332449392473371151337225017343996759447811541102426007753019772373866284616238171641272282124661332176839455683146825421756665241932921344727293122205794563414254524123233164659580813451384289329316712301242382352994493543533524525237723610531152423237036850562221239393614451250756831647319325238293014826961352632647422866156934312217497328003064313278164747325369802138118139511220333157323412311787475201856334389382623135529214731713453633417542311951599301329679444123552301428513522461323816751959131114138171854311761299510457242734514476521345296253455527312173825424366770715972531276662030031357138552611921622124722999842413124337265444257965615740754455258581219234812462319752268749336225692122142274376182458192755669192243210291231413653571505411418245474153226193117731488424871169366003531827137163637251478945654334321564470444161461033824313706803651420242493148353556040366241862266055222524294943064692875683923516147832449123176863923111241475854274456638711117320017705978722379773244142463213034287939362246943149264147673252368172292422292374583868582373476471649222330056462653664254755595314423014138324422720521651355242471453543464752345566203818487134052214651211033739521264410411243252666245710147423473261915622518645332161425326162721192952534585110304242157191114621743754219567526287346346875769654581157591041261537750556415978929554535242270725152241615795216481687683992136215871183356959507152131411425526635190881914515114411326171526052546939135311759112871149004272902590337329069661761426666125876133419922421575518471391416262323347787661558140877526723383344522656800241259882403701747325326532636916024415261343518533439717489611319443016663186580148216117360111501764372128659837677635434666324387312240232141026553577586352171266759682971447562623242515354118831123242721515316672896292444652214984296801922515513308083937551413363844512961427321129551111391401394885314159396558114061242111747353463924478327222683194219562835012102561456362294242142502938112812540717923850426838393524876430955522238490938512962172412752054630645012834195162361829717212799784808960247121173483224299234183293385358317136216349685124112476215068125552343812222136593493042237517313116210259446410714835424768236192563688021145424647770147452534492345149674146315113662641352535121521015409263754139448121117534542719185421168317328628423488789817376495328412021352123722510392519140254462847638419797594544263442362345261212512492316431931144515694122567722437382515664377436561691211722361116143143131547928740522127715221456744193042717882655336630733552621717794968827311636243720232218411311651596458467305442175171431231159635618300253381453456113912434531391296784605711522327421125277494622473204635328161397352456263915278135842781613557659200092513386919552218931358112357037512152924318659225046741135464511805396771961642383157311710651124422523925486215831771151860713667075428135739796720351122552416261262173543351446167798873316152682986434441353012102911231935004232181736379185224713113229984714262597132518567351633687551111196224182335270111401525631650138151892448220521896422429071588578841192815926216512512557584103182434200276234755163974150144362621459436427219033595456857974966335589082893589412286493206472283358934937234466161565932239195915191618543581739975177635563631781659816148527181311492944648353146112736864790048341312864960115494241414114113251451267543933906274164773826151617638373442306741170904473025734491151366117149611724582397117916125692487664497614555232723290995644531236631376633315676349566752796533612315791563151726419734747131694403716929633713532993596217649116525475726931364530684265571291230577142648915067162119208862130772425169892647185432316627831643154737448475823719178316057812537614355774803353284942273726882780123466136116073413532305199258853993432875122789343182221313315319626228338621740751114377639410524351491525142124116901123889883712413252935118442911512721328611974448665733563346413575343921363466922318312744764216744897640987132572834133802423372324224554667214416737346677164818193332322513636111486419751511442224975249376178211627316073171399273114665471149505234375354332814516562973688334142214924539379482845122871564545512836422345082723225142949473340975747433833555284721514265746581392646245149471172160642790132113687328287343442673172431487154656710285886192643334893111305625116837363233948095862332718627121442469473176344692267465427646109162511153452858535844403972361421413423345234278149122175689511614648424446912693264765831922171762759252221865638251431686922242865124624229597814289541462977342766717458660557475133621493230263185731241819255925622795952449333078953505430121576144582162363231170232134018611405821143582592612154613228564451312245212173897562234127332633378162128116253721492134771512764145308326721436432648824280035550334287724571147342644488945798313946381281190112542122972543593407139311905011654531431568238318147533831751759417653281442134753657158121453194182578593465587124878843053985339075714067774115539814885446847519453412336616732566826311222752196218057645113124932218511119752425465136631322828787274171674443362831193684925546077247456703286433653472326336436181538857190934138047091122229443463692758397523455764971519472878684624533565157736934351309383462288640334266159613862453343362225843714917223022238441329839917775521511671759890961758872984946480319184949525634374104134523141514551337617679323699137313961952983622061794112123106264294380218824716414013272974338828447938376116634147562131693527452096555605646182778035353475191472512161452411672525472374689410983474824423442907664151218141258629446438081435211332819314313367613758421322622251213354713172011912813482576635923369212352300945129274135501555684136583592245524313414593234599849121796913849611350337117647353462561113273846443311328526563242033766762758737821321576412814531935463813348462363517721574478969187677144121968171310425128223259884990518547643095811885489726617043443232655174065297637945414653854775366172328176185480849204365222253666703434931184262391116393221537487876283383148946575662217981501554246874665632862155287612484552617196512383559534159552110072644749134389846151018638173822553173764453624214898625314725312531844512431163633532670912320142111379805602181438761834104982946721821582041369617515577231891132884771336764376624658357496329302146245555345301111853670447435863722140186112544814132360204191222155051042666438181191417451139433142920389495022651325824414553321471276123544781438421346356212243112322379146604225121526306142425354576641317534113286273733333513784963112326179642124484273631281452414196343147437932641732875313516426474361556818464789436174705138644365476553395436834542625295233537415831111211127766073813521973354611616310739284399182814311236851321838426971530045872911349375108723143214632856741726231654803197123964015091441431301973558683272171191532656585666425259971846291526321131979239339226689347622521711574315346726254832715184239056650206835266214495573387724853024462633433271411966116011631521511625840471275711817230447734131958179926262707793451212814448822395161836373896571193162541232433245116348482472418512873657169531578852446578265288563620445244111462175192231531211638433012566742421138236335253120197647354150518682368328319811972313460147576671756372411126294612398884336511196924124823757127139683162729162326724751211102211283455859191601583300614365241216211931919675523612751862845475171547327127368157248383449092133822221885234021627766716526218177143836511521379609121635261114412384658561029914894438426410947523311853571112731315016642231721285812402165642652326162228312707585641110274239414043715539293852578111251621447935365776621045844207063738612726518248188384526617173733317111331387266353448831711343386156214277741356612446283142095147232127736327913141484430751261546364772121545119711354290119613693312635944476529423121822857514253645435329660673578314453514381342234235350221452287966130122412380512530434731339116902270485762361315594110162879817317015624135448338834366411552393418178293660713771937965613351739945174172442464023175577231431085944416344571748553562234697322731270411253845275623351195223211268410660857175397927326921555133179435550536401584758171196964946282846799662119791303611649764667943745441014026525441608782175401544532736775113549477114122452149134887424381091122327646161356621895247947655262855164864136356374351408399514228362196340513819133951846287149268715155119479434069811336413802066334665675123414161339123942111458091986181121455151701436546228612952225513422377236048213241462423552233795757413563414117537456124631555626149527122321343407299158966412563363821448424184667725361615614137825671659148320170421661124872285452153211763238711433514596150394408885661670139656582633169167521456323341203334228151319951142374522989954363626738528578242660896683633233409123054326916388529183846836309227013445158782330624568948575132212223329542253052314058212455425943107962962530218260281201522341124499209652211763312433236264651946212750393362903139616653595412195664368144325221696154611477165934561511167977916593655735012121926884483045419519314654953627336217512324355627648679676413362555194431523133130537475348447236648326112205706383778405311372130435797201224121057838901340433193566305463481398748134834158555327511379848953187604671293584727678794974075465166644478792006328712113576677498734667118925281378646637586810716258944684196710922751774985765602246792516413133698142382262248529389242268279272371673862412113895294249101357428196593283209732321344171153571752453379775136212652453623341745064944146237521111516339133835957139405063142333925221225387171541341285302226474371716545273586519637125378142402170122535451205194340392445887540927673114296887863456487739217832918755134365671147585578840415625131175298374732886768598179705399049931031315351425450672872078927921716256658807557926986961258343823145571010192066611641236093522912567437669354539597216382473938433824348813215336121164631142490584127442538644055366456672336692755319779365641614136394347562821327277823541169413516555803732567276026341211082217928836483118352491535401464230531129885223040217383951726061816432281284513176052138272052213851145572488372504218297083022379183885230815456554241444484425137422379035285116387192385333120254746240617534818843239724272422493358532375515225267397872711417514342371555285441614132823432416852242691261242237123224553863279902021566731602649742387291559051092464636305101279115405235625707437255346639892692796579140256336282254476156715693524176712523134812623495365220186472089325577650572316274350929466112894474964147571531200022327844148765906458259486122226419453687283342886592306881536948605184226918083715809116066634527567203573407172396414775332137522548836540917312223581436798441782693223642333234442126653449979575252392617287175347625913209012227501925588995114412246874816475414291351135127728297361072272417614127731678819910156029507333514931146909673969190799747336166168199669313621776386311944432547445482185400304257721211278959093192781652129822228155602328158660583719470722543741222225189321211157482379116083823712215044722711580728212561258821259563531794183513226171846421947525541517612381265105663324529417046201327254770111321717577429233935402225527565483678823635314175819772542163087295316912344217856322434153620153260621636491234033821622366983525888474410485666238127495316216618145338426142533446459721767214124138276834187151126724327437974056162137215136132402463331417714132696032082485041105232134454694820476211248428427243164635362284053919130129972414211199452599867751884954706643447283128679245929330571113612288845813051152125441334366550869222834173449374826527136863320602706877183273733206554952323528407216276226353319155147155209540013333524474732336344722192531043922201154025228517718285569114114044540058033949212486703449167478690244240426158881123136742666814042141478378882405677206163832364202425623537231722771043459321660790353451149784383178231531485532669274237112821496290429855221112069242705996459952264785772512174688378156481866303950474451421862509543042163172401355210248665375702618981786751551268499860799536212658947512313239131528668882878779236510721757104661167891898480163540113526635467115712566444353413244676179771854813454752711711228331251384945157122321688171322187641366421300383692684879278532631458276895931461793457959464532717433415246625335226794736451984860746562223621917133613556153815181467297233549262464266269129171191524813373872322614546191615954454921921894724645061364741493158866207240234413859732993375048284490192269371555186341360467373264212920177724297732384161672132235754834766343496112454163179010332302938313514364805571854525564134274869549284146417476114344526441337717323311404235655835641363812919879293224751248502632936891291553601582968545271296628960768973312960219205578516006614608677869138971433125624922417233021164603687542522617213112194884212158334323245144683232018854253211330524146751141155656334602733951771451282561202531327332385362431621495663475236522335823726395666515533391186484642935634223413483277652165533697441806259711717613625436707583557493346513277677365839229164926674527711324211165353434433695129122031591623968406321373124451344723373574435975376453414238856112232271552943181331885491111943242668528381077331125943151615188263651142821059546054724241024358924569655613761791673536316552936587788347879205431746156689882213651132322624124581325485311362413409417468465848614712356855881624128206552874129642878533168303925625114614815139009612204823233949351929754434134820120571582114815962605292217240656121241625410071553485621464891052544531713684160242822771174223655206439213148741337141332755246113357762324036291168447312783549255362343235361335220541782765197727134933339657722183143543541183219241242517616156675378132911437543131101264435278317421354384540324059338612555441693802166532728395128227272396977244854916205735232763720310987249226732393311093144720271913474268112602875715258313130082635911934475312683561191184192176258892335803356366964732693211613342511609150973621124105259315154744718251225343868231799841224303163573957444266922733389015491966202161042345358517704147740292151451433241317485322618312547223461562244104325530933374276453157352119139823112217609355082531817478666511457207583410133624413193326874567327181631871962373412156158117482531725154155533219354137035125616445579493199961445444055515226385115228413448105265236581212384637210384562298985278269572235649105647369561320262959353428998156311053741148353682537139415435513513948172172011712815024184365323866153322268380726362186128149216812707532618251144972290215198663444269912161885771235143811652496616266432496680614356288556363787263433464137976191518354677607645182221666883015673132684745611215521438341569211773538823875133154242327967152430895664635324342310284813132659503534263433649787143483639612715343687270824315324013251570523511479517472431833577171110428839677150694317297521441872912675665203252123344416219833443318538572311226591737170342717211617106427161542276103743262311328661521854453713261844456724294832151753211266480516661815674338601151118536669844571462248845278122202121728332702316511574670626121987138693128519158334772211331825569028693174741381555415155985011613236431591248240148323772344387333598175183423385455783556455271507576426398429611215756443081052274348987431910581354723682452313265838213850955215957126541591631054514418788487290972529115457256037231843920845314663773365543666239433186522796216323239483447457523771448510236608456272229295238919530031141724448328663761667430181466381138726272091029597413917228376822323146346342649702233306756714821997162317262481811168512503280794565747749411593242110605235579567123246601227514776553378540721360963940615322027226402356154352181361624931051421964106477222179935295118543185526171281332142695563643334184615762595143450643458916660242149265013755341457594415778893722038739344520215277581181200613577572344201765647985252795211774698906124882225211715223568203516484571364362841593854481945793563555928536113323475214794497642654444587518722117772875712757112813902703549376117584105112182126355822156662309118828314453641591981197817582766352447416714290619333321426522829668523951312614280512230372151328315477594721433372611454253965816221394368299553411513768681112253391286215473331537321313261747532540129012315254541553663113544225148809250213801678427689876214915201773922352413599822211132122327431729623034527237644837708752595341411677443210311697453144917324257546246863142815443451466654893103242954484632348243941683275518223286112182436541104573621497351358515445534612561996754656213352992131962495794641747157847421121931171109744250237013223274390285718278841678114457284387828681704917550851422156531302481138452412281239807201285394112542817954357334723231140919318351411332026023855184114761977235321752581439296325625434205364557218015122831925132172357592387842122951204077075665469816547248635396461865837797237149151883821802584523035214248494184532662931846784447781465637172136244863125155295157011137622415832632646564406222046645221338525428118212511622397835199868390138258462546248872847389204972421532315104251682542453315472546648141144252922718443833774874545259043211839634614360122376111477436031102351722021862006365885926844359483527675315982362266555523169198179593741379127066235121630922114166349763247109163117987924592224112223045913255493732627673999434275431542997205344991663182147165030101655702252161413976742812515343034793175335763221841842568882492635044552785611561120957631330553142868444042210821326194993625242176833804753392357713968253128561767812539875072043785824063865942760615447455354614834335656346157366261522915152222583881803265582486591871451156242643614922143138334255617155807633103943216327166741831121174372155842154924365321134766631823672215122314615442552231355509364565312521655714048229819466556739645756316280246812545444718459965447526821687597991155253546585418414717271762531413581634352948271594226221774234826085435912836726268521816351394417135622182802617906771151755598282342112491143121278191487124557367061193612558221683595459631872599747412469163408012348788113071185377522216148916320165947097482325357493226586626638228116713851391438370316371713713446615128520169624032278128752214276497526711662275923444447114418411358142875871382311530311930362654713243162914337318821866936633457913695774601126995194512891445173721381638193528933403934578346275655448151448824257421212194570115371153170926466111921194464875566882581210157624111323534042383418133785352794714322973974482483751274855265703665811626116763410354215639158942732531382610113111956229419036149223398408265312740478852219517463162628143124232803349528674665110940285411019632433937321125611435285368811561979672363285494946199694673714121272316328493025272617103889335393271224324227031556337819329489297942357791969411621232217324867251753557851322586315342199568711587174825751566961235652841237549725051613114445321351466217434004413112298347981101610793544594456824160485301422110212369234230383122129362273417026911798441633728508314494448474243511621649417182342182384592315635363614814759765353761161134224025735621699328323415514524584289415946015233527440764635965502936394596887137614774819473410746511212722194112546246392454795974823112422985189314638649776999986222688931403266665681343684832118717253703136915330278195752051154390115838118517333113345488056937323752441431838104151620667056725057210527830721522491329461472221822231611237944803517713222923187841951026507511172371163952145935565442916377815453554443264431943283840861374252192322433411133563673131616298324622366432571562921636974715622656591286606265325221335617641664942412964261345723873519188361132405232211514707317652118818124164633123871872865243382914842338283267116676364911124245296249229165545238011667614218917164923827596823582330278422837596576144330713752242523621646189311332711293634831891442125824537367416253414562528004414422730222390631552747471684429134036551272125521156441001719631681005248972613294724887164526011146325743215324760645268169127372184121274178125475241622945082819512213473928393667311317344487133811284364189814562658514739696096454210307137717123111035407313138314621265299091412131830415465243578778355184385145293701132889636691393733927124257762151741241547765191563342312221245353765873135500549213448148306243633894168964214018311865169361496112603485132724464124576255441935351241883221145265509597782133483344321532124741115077433170675117914527923155353974367725108802317467669951187413565315937449416167295143291975236331763334576067314233607123722220428163544422303319428364612362877279652217133362064573362551531217162562335672454382261364127274748278514135214062472451601317316356521279475446739396728644247805146714362202489475613208256183748951628283257496181313334452643371164246223578445741449857332267552433535776582142151214325126859320769471513521300624469036251642472991473457495294523543121145211463422081127451122271434151601649179886467152594547121654661194187791561322114538095281227710156225667011814009335239990392322893258841744531998619962836125411423469793956476161574832506154421611634333936504694228130222525247219161299113321382632727373347117302141256732224493368153535383187308494422918753426392417265719271645791929410467256826443132105742296961711086693301647913250114225132329732212426373730564320300214311752422793113921215433539752312624155034913877384246138866408742146449163038476515431064644343176248124752833532997787366858351141417682129852662878193984271212293454254373857371204911424796392273244383292841343625860555711387874326237444418462342544311721223128381932534372824233572937163214264543206372854076253881307067869164539331726124226844573468284654433836251363637276221992561591485552525156354621493903483981734104344741410163311748526498265312955116963646618268996643134527133415126597793376732175369620212327615925636354924401456720731354452238668204831151831286629328475641744377162378692224181457343533972632055139536225735673236195414775324923359268222724216352512920374214509548142399534572596282135701183185412117257602784244132991632468635481094588848299382531192111612324345731971986534923218118213484645538215284276255049444141618732299473552112125251123200201562922886532215362432145221944598724380543293555020856011512375233333582137474794662935124561723326720313514321632143847213896221353462906352414149413119263541125489513585914813516268324403274734853926128622139339621524314586324348144941221111568741722940699060813318270559884770662166212033583616269223316710463010865100624823712264613217131194739742487197317437616235035762468224854324244968112219155667236621956672361221057549165571522313245229633983514168567255114363499436779142539431058913308965194549397556174822453157142559645648591711617171047147456436537546318749802562844366774472840843387376501633284381275141913242939418514252336731654762566341504159193143285282542213660302932115179322265111208143134451655504184520237734033754923213459557205175247419723973269211617329162551427122716462665126393012331218319733092166239603299385471415430463242381734153161643524545023872135194199719467766490714272339315225077373782574132834348413313164231222045211566446323704258651919423119615823641935341471465383541409224101135175222416347773121729451847564711353355947362835388125224896511149111949912746345444568639551848246141483465894812256240405315712715155274839011237247326312173934693387350244073348127187511392937901339553174623633956150253925173985173144704365931707470425447532842851354342102486088168349012703667335673693925830515685852541463733445196473398567554919335112517224486125305211269661115245403493331666343151665424359614925317643889571231181467268337917063758133219437211410147455118450512933038275711713523392521422361224332366219071566845824699377755151246231691215237135133914738418694145475064825168204712556528227765342312319412647946531523463744576756294751912522765413527112711527413728372155477436341317613239353138132395352443491283421867354815617173897626364853251113226812615027295076336776875118384833241815239308482232732866110913835971123214435207951245484341163466277311921376091384621476346413354164532281999741441108831965667586294334251112744515224739126741683227315418044738164528185264801062361426811220413382624232441195441672985520184019512035951923181413133172476257855811298110117523244299591556127534126334399646263327320824490691127525272919153311616415504162198365952193311912193210513453332991313212532763060163754133005451620405781541510107293625426412262437116331478407992223214064452233881688161352921650526021832133291734336775885813218538531413173381655371533924325858111815710521934426854157116152134971861425931485499391432651932555583436471936135283882148612226421744850868156621593563361572380156664841473231915433196117532737915971132167899884383682152433427446112361440633062154301993335151102921638542973061182018866432226101228424452333661852812115442897401486449351356314437397471747552141896066846434359693122911351315446245198164107647689332261200314256032839287373700055776253046111973712711807356014842137944212222123053332358961837111413556963193962472209111254195954067223431828232418666137741281112263135311181342527147133744696224333144161321543192740334732234321187243986434540155738141392189219644907859422131388246567743822268431216117846899440236955641660612761216517692626260896733939182917193716778701526314172311741291425552443729078772320568164995326683337723212511231055713413796337156311548743262636238993526888342422995831258661247612382246958257696761270953743622226506370222419742444241566311204502921101311450725458871473734562444443718334765921314673142635382267106653714152363561551462169062312920958545422072512151422550192951769063290738996201235094503599415273837432883836286815281147031541518091016923580505724942419383931276622807382471907052697452703692132449698498931853631407297545034214231153458015359429422247461964601102326511173653756552492876354097744791196925256539461776125400232551824382561528340291230153138783084015212334568371282305475374151311822835311221265478557432872771383043843841670134615944359553479114243153345643843121413152036382291233644303132933547031735127666242413654642891182958514004660414296138294756333411635841826236364517587622546448518542127333338758521427922218195262815851214042582123541881998158414324614632716170917171492181262865272425352150346951516453597121518469914576610915611342658373243159611493613827497433616541442836257997125753684861742273501577842137224852112086230789629761382739228773094645842345367672574277421139171113753553147672787075937790346662433450421246452221216538398261486335342486957167879587281105345740072754015292337173853238891439673717883937037666821113522894261155543331415144029207242384356348917184177721107504316335149244233867411132572722652411111385419246514223383952847679212335235444670811675406413064761184661222544510451524148191204183536438346645423592782422505613315015837656245588204228714472981230344413369723854846112269647270746519426123855532945711916112320377723542136856452626654623932751243729433384991166186495283871975462825304749447224099165471942512659140924128713657841568581796265525379255147733242522547133653461364520815897353165587101165370622491752414766460131321275731432274474467352195256344468141731172325761852770432056376584252221405498316780696471306637777091832213899223442581516682148224342269331461501127374236432227423516538548834725254970701515312463176178230169766092356995422535257833463152162363627663311233333749401417914320149231063276464175202493426222210313163167661004855215254872323918494396742764397988313634104184598611544421552743162146134492890452148481575432786953829741148899787407552665412175936628101123931841641323923403705591363405162375153016515148895441470594536794575266253551656820322617552305116748961231753859077621327198121555212653314757321126545723496873224657123252815363533272238383518687328206696119159345126726593543211221168982632998418129794559911123875233282968693805963592918336834533372263772311521217338219111954326619263379242715219628122436150673661523822391035443486563194248253316227435151128149633725266311323915401252212926256531843150112170321417564122121943423673429536312161361071218445526023751413231112332541605289721683745451387360584063624344394143821794433720106262516411170813454218353144412621236313643339851441661655112723691027331278689514216787191475482832594551845455341294128431663038421142521130445175403016213717121023362767729226613507122981481111618475552120527721823155252142141077413644143556556923738017178426182385440464930738391221176173841114642614667205151273280304583241370475432313491162168011850271785894717921162310849014161122525339181446140592551626367238324242386712653431092312247556723414311001417091794641558191463922184937160238218337344121151256588964564671316562251338633165566395798738645321916133241642293572732504243527111505215272133235119355130547190926924783625606171395633624253342678241152332289124185023215821942349869123822334845964381667046324262138965120407437535393721292316511265321483516182186726142572128322946166303542840936663147308110551724449265342171317242247161844123263623311536441633148144134272375366136158597541759192435183145843436158310924124525215151169480917702751256160101830035999201376851745220478256342791519431625316867395152764552162202575316828427236820547918297621968166713515314115496246582139368382219636924633671882207182297153113028424517561193345847266487441976084222214951753176873829114746514173724749127857179741423673128616679314619632784471482773552236152393854737423721568656882732915842437105439637333445162074520457175668474947271245532115114405861436333344149618346456249303499325812766615425684266112973601354687623649469497620463269109719676962643158135134353581726486351982151691524190234451122783188633496871617381386281278812985483134195991122788234310706192744416558774598244777612239146456324991119823714915226236116837954115862794483522312130553133254819026172116753224833614522396455208187434881645426356272902520676298835013146730653839632282839250651494392594411721883525418176311854714614415415413752024337176529461022479813165671476237536111717117166374054938446728148254362789478583163762426854345032625407368821324139360465622918159176032221121457998894224416546374927913938405932595874431187105461489257691853176866622044357124218117576954145042431133395215858232258383192368981299173756953612955185985173902179978562535225222831548151914453637713223780102622898914522277411942397711742342598417394467459578031284185228342263284191709291615015010419354153438748935819702356362286554526311231121323626255484569231926838235463419418721026295149703763968743664293477154124434924321249162363678193295467345339355923792523363523484166111111536575677215517638831562072179724045743224913261385441372764442964610124464838034338186242259412958415541423463205685783589412139914825936013175239118562315454536330521833412226439841202614731832448614319777113093257243351795732576622351146415196571812424431307287867331063923679329318198521352149617810421045410682516113625512528226112377585142251813772269169464553398322653956481369111142355681228661302444132527114493345914736928351147831714421477726261114243365825523713326555445193912367903182649054732363671469532441655538112141486018664727377462309359626621093764232854716102465341271543311618044461223513316944493139542332517667638512219156482781080687752540334249497981613438306784336419476252724294195338134442328211921613152181632566648829654828827331276649236184685114142223260715329347531729028426930653979643172222410648283127754414531239675698467928842144630943652017661341419654754634842077112765392535533132292387163191122148314026558656187259332268184143161143621522911213582233255856144878813913444228640928810526166381207154279454811075332237888483236234525505849794785817258534517442953344104725223142410417426445214284046835213342009312815612291790591085664102138917106346813422569455184113748687915225192858862361264141752827266318964265607535272173192509036604922571052153383283337538373819851750563381823235792333719221755683613823565218211292579164129352223056152819144295773274382237350221442623455825535523190172115211820115272456278297445344743824545926511447372371152051243253221738721466025133823137948918814236355378639821125394291293562136841261451440750695354347815658532634912544782114087887211212316165646583497599747219402916180286240250566120542179423494194756121921342668642610629226363126215243503711297170511644131014622263158253347341745814240536144442541911121298184419305233358643424392218622444669239213767224128415423976631177147021753246618716129221985881776392282356551425628184245253298115345322244001452179482544696524831701315312118915232441399773138538761578812643311912235891161390228812179417141992443392371166535207336261261230761842119798619828622580405481842492517214172455253762272477611421549703436399318335694259645344795116774544353521755833125832233311512216017551380515291394477733118284644837669858907869310948956367298657641209453937126691817311279765139423420958372442541356321625517744382714912444596882631336922546231431485224314445437488157582231277276727227573108586713215543978175711113421004175784613223519417153261124722487492153244210376520486957873421811325545916231152482639297432043924706474322111922452113817744133684454835727492921216113331519392978615431356812515365476112178622156395876616880242572696204817532147430061962321702758618667817219627154163483237712748164142315262467351333351743517178984625144113721872111422397842331313634921110968215609439717357737486648251611211876265276373174733898777451753262028080815612349976496017162481185539216512280664313530162171612431851141310407150523352178352136152513382905534175512999165406373752581951111064512421316751243326231857532938444447538231971268701118721397629422333397154134679226171419534458446641647898982613167248472811825231241445746521934228293623944811201921541493288572639123474691864628782631061002224707150711656902904553780272336630892912622830828955756412221636292122424532162249559162732881615003211602472118217214566859121724404903115144021229205344996978842244239851124565283544465263631041329636444487229524192307395728119292516725928313792265186744491129944549278633512554469836651011627194126055081368621823566809324684135157736554322711774715193493948594625102339338594683358114688191809614672519233384440220247438203789107610649981216208244371483331443738251981406796413319664599624432596451337681312150541421432817165917715639933354042192574726325442512663316242346618411931776786109183167547924963455235751541635247953131356443462540499669752556762520459437074986191332533637229313071306881802244925119321921511257291640402948353384180840548531140976117523933889303346653461727668732765273613637793858538421251112649506689525833344342123345326953825143414245138164175049771997598627513833845424251739410313417259892275659162213191612615048822586725663332362732282898368311481178465224397314182981412717714351195780521653256631579493512516114835475094272254518152983140272842539272278131128364486245923226643397317484177469331445926455211016212911168678772348105135103597629273415873684994076665349114157689576061297412111276126713847559213352329586510114525481666618242333346673152217761122456196462128371410648713377974484688384310338320160217383128823873113640882224643756794271553381518783622505432774771311719291467206144991978428599729692401422136515788602125317923015415123256114183832163022570335149244984569218298514327209508928692957491167508141531185194566376225365799518470313353532125249143774059132613294561193325174872263656611165516441226040981723454814528190444183854922603232361245241530126152134187434725655348975105878663154985396923115780640331427394603287116640729768625228625365367693792412167558621523613262116251371932610472617371175735069123899515503054672766460661411787195853784443132033744247512180369627300311656128227133843636140310547488614787294435731797166969637939137011618636199597449486183224374443681184549653992137944228617295589122593934674608162941016858262611644476664018554162278129959014523211634173174963788586272695533352206373121919795687546271521684211453007731012202266984595920821751664852055325252544973412428812114115711243616979282141705982314351342922619125331297819624819236892536915161827679557649425552287226485382535147245332131942159696771620115426338131584913641913219311550335846311583696126716571317736462328745233811312068231111388248391253192695272458634631921106411594581298561998161467575451661635552269478165415243885887355418548228123733214636524712825100476028362721631262142064214533473192945266463416107435033977612206143275503089581833645114710352035056128694892278114883122980153352534587749836633371416282533004188415536111113144024235699230231732748154520032237279925866790756343867738103584386419410451231354146322557542029513232109222526427288928499517487116412419491965259434446614927474536585243122570823254471424134331431322118745524617845064461674961423591239364048140113934331727832965544389712105424321432433567150706388965143548243812854351325314470671054653611433134241155930645337414584942321862311427926718150410813935316874685421842625871172216634188951572186443546535353137653575789082822232230463231164327453251517931698193551132678817364169517231485714600131921969234073206446175254163727282129242866034223322773492146632129446263115161764485327291532270723916420252468943335119111551277088123343117205623382749312142141111098144242455399838917715504143635938162441683765614139229181235822990641245639361822824992241475612525662885123321860151458146182105635691939218965418235125174173311943235563152719939377198218052114874474154390880929137714122519920535199711374267426761154508679419033133127716144409563301549881662029763146184127111211728837435732388122435002992198810123182016389321158116323246855058332217348436826527722146368247316872537713683158124547343771425141244593769192542765541396815116595819313837217342222517772879232612671364274641273264343677882424989129534835934412643845363182152026125533942224232122284233042489474194559934135247289184771959676588132162606235447621406337354629536836313447361966242142027408862791163511044938291185141818460455791304563351702841656611482225282312261324245380751822231200212662472170028672559720786308381126322653133449281833326161141371362117751256641616432271787179642416544833168304863691399961468631763530289426128279061483553765532932148116632241651531924259202465653003241565788341849021434264869832332551095233103743543845809115643423267393451053252102224395572999377861308777944697867210684551511832053322536243721455249839912311159252059285283721391221185435764164162796131226410183864229438505655442215623744393272812141411361428532112772821833265572306372167351484785883645394716082789594935145741185316990236315242122972331759331195268624164125067992489854151974071162594375231451487784182331341325172663213213545022222264106833612444337733611235258291545423125774816750577710914301495172656054734218082945875223694428322117285045444973343171874523335882534179228643925232945596567257711599876614475321222971880379364527359777122821365337517970870113555314797253666177814459132259757563926455936432671815974573434689152677411422152762830164910991713171563251493348122631833640462561043176741543866681366512711188754753159844819917222151220295314524833495566622710492754362221644231936266556227101326235696562784441413197101395767293717651731837323343439113639133187256644776201562735814596362812143765470316253712662242461477113136361650525534835471717862522540125532172121983754449262143482146882741731909451446449363412331106193119137638154616515632571964502645413961544946651216512682421345315338133342302657111515373611473905418926674188131125911595280171416672741390164055613828121131424426642265373721339044241460555931124643406223261684152347851673133818341380676654121337303309514274526770340345631947781382911911614486351638071017321733161639374148214347413461926620789345121131356686154624635304450425519944344832237115063956334565563525224421911489440837453414151512694930396741653423549559279254685122355290216482745728313253356322792924343065963258221858318344780975871498815567064266142052736371805522226266112936813279591252773471105016373363292773335926664022112401111754314766536389637513554213313885830006629419552545127423853638721094713901073241516159655131492638137252305149982265475911993571643200241918218112149519343544852723792011182476276969005437640596011797522376428542223417142013136357376631481591525239153128421662365121423582535543965146792745810298728322303733395645412305864598163423718477189796218136817715589470326403461548767111335461656650877777776224232735667122381646024247181224571134393475683413611621443122361561010461716886514087214597276924740439125112482211145233372022276719271111564283117608224433743356181592566154093273952185422359996263422734333437188178535125411429210141523891827426544235543485842612197148194626457182102621640243313936355375492311526228234121245879380828620199222683271244535915601826355356389945342113586292819436128307283931964216333254147197411681516343544376216242092161812473539213715913316413137864072712747111180525351133831241516638263286606222298147213552524534322711627188329241526294446084657331431752601841543859623473522429831629457363642355215153942517689316764407828731862131259177198663916420569118120229633852561172203453723177832583218326698141215625812350721442327677724372403511175574541432837611023462521232418224262528883191591388779488726955443187545211514231621724634279831139553521016506398350782402339437622314274133432323013642227391401721874831324330833174652819661221040217425265021982221360733239539486729711724852544322283321773462324193011972043204361772544218372258337575521343712362763239411663732362338451470399360484262439813867583131133570143023682492437314873514425157036538141795466722877479329031476320875193429521213254113337541129931773115862728952541543727041332254474177544425111793334242059684330834321012584656101773813621654351811223692928051471848983334947445083221624146441791711248521217292601313123132623247274358441104341996140649543463899153853241401995907661227402115463172741606811744614144718207199785894382773236532566556632592011693296314443046278472225454831421911319462231224657431905513629275127282043111372226276173528021241954139407527234171612821364519267607412246720417684672548710310692312846349653615127431352510283535554318451355351513045239646631878521721646971834216419304812343348692131165234815412185138513242597194194353788351144554955602342325113704017823350242515382712951984114553573619478431550254161569832723405078435871612717336919184824918725139973856534941166285852333202018817060365909151481163461117654573257976728719862931332254324244039218126294121907466984578357492533381603781776671032466102203112636414526125823224756234762445367644702225660119286346259131416645327851726640103089334845332424932137243768611570176318794095473104998534264652351435234673467454125192415266214366649335564151173589177022421814511680913242106085142415159392242982411729176758305151406260464722026963408882747323207363910871520618333522623462433552953611922419224172121933396223141109123462161495469313361439634605444576424083712157444332907516460356913241101341183105165653142479883613301644115117941256425532923368279743463927122806202919101150791443426217339083627163948214428175341868772637292145491693810176673462793944751133363252789147042052752328222213672681231363732114653563765374455241742893479753784830658882342811813505628691714461073542217371784280704377245261548215236165301112622751534361535215287322135559774356796231851087241378225343539988414426551352922922979321407598378446721536823853212742235636227217615726911783855111911666814335067985539335336152435110781667631324185312795874141311214125151152633529510453029564120318743313526172634281365831462698186590552589476985213325049052191674185821152668657146564916926492937320956265413552314216429541521943284905066242317662723417640584183577476792196252813855142718428325536134255625321887616175294228633215610732451211163452674785312891455455156671796779213139519162415464215135186533611775293133894164285382565812791738920588424428075852755979611235122974314813133616351981458545725346614685436675213733942614276125754621952214321553671911243913735723654252228478133608292142431424585386221904946419806544417324761217746508482515762183376678616414743436419856227788254481570122259158374764689412729875724534814938977598942243526118793224111446579229106212339377466785182145510976037156118475632630172405312264540820564321191045315626175783749633617941562395103132912464259465329591552517218852465232269991053173201638415247677257624982127851572264422854879421665637294416839321314256412265683757252715346274565166238676286258362161866565259228902593274589154901387199124122432233218611111185163110823594423358720491414193135311112371141247223636135465345944374291178588814812953534238535326848196118531201861216638692449810800485223438247566244119533612392472186680728914332853690683751733214443234375961344577217326922823122403224162128478723202235976211534127525253041939226632503321791447195556133124195338801121283598353166171734732359723721232127953142120141543834751942453324664111832723942121621556332342976213448003511233442261131350132794862692772345652811195363534732672236857662122022951311591305356529287237216125867439258512224547131302374352364765282223894452957293522451262222228128029628777454850931074732659283587444493924128039192459771165912613411314502212194999351459535486390708269132504039854162146211775814467011117751774473141792521262511413987787232339132293845611895197049313476299541563952823146753552179242231893987593196946435488203412492319006359311682125263131822914636718983133364951452544939342481171721111646677798739631056380227082204332111861334814327014549521325264252713243354315738164278255536635031161921462582384423428476221116467581365043136436251762214925892495260654165737098134343352963279554462219411136936956566119417649421434699031434145154415143217110413791304571061332163555172223903592162440234695764424644498421417306295252514131716274476652722712529462844295216154330777173363912407531263714132299661593384115369444484308287114693146981811145465624623341052653315162813117384377788481411035210961151382758641375769199635182943548671453812346620578628413031611514641219812042497385159147139518621819451454545347144354464421658397326194129218132279623928921226332433391151711602644489279451510769675541481231379731193636828683845819574627461167738225263555372325128016225315238272543223925661525316158244729641318250921422715630292672923361572326744417263383422224320184767794827753154792333275153512148172122231144327134465448731745432740412737437502266124587050602176804516544826771722561990433282128136439419511324572674102647671542219117417621564563844710558258952683611139747941261276319853046136145206522224284425519521817951478954267635941320234489105340292815368622833479764441412321863963657743886044229035992132692132161343149562219489166862106632511264231122636129367424274229222651248631418615497692513433567250626896704789111221301567222334259452247564192553582387121382248226322755111047901089973961648941532567113212868391544399637425633540291843611337810943561630342523176480423182936217045211964827793345953493346561387369223246973532026567627271466381985212539143164872382726847031405149416352462336656461549183859388643468231741531745355615382116742043942838812186835421314773819155428863210806308399172546183171502672325787771852217144227534402921261216394225536368253471346495133932224921943699545515332222812521623614885129781521313538843269525324297591052315263476722594486503414636524492614424167382591680462632411568344411756815524622683723523023665348518239153125025449619264740198418824633411181584253453477022786458531403336644334136321141121536015264432131793159611713657404174552324739211537248525271958681346511671780246377439456257098635256142606553444368238058465643211881410185235822754718546498472125333453723299425227729911483219164537995601221118422562563119919120541780111546758145324224957174383341366342812503443224442149111407141106261128409274231248915818416258447581722129826921641194858420217555284091869214306774015102701122693232491722152354264178573865334636933693759512574169456122341226147961156717328277561861121533485433226493605382833559373796611283474357184414532324221142998711132773211651226324172658117675931431364725251164436312161125808021521436641143452833705326045172158971320535475352320524287005184863313911146253165151425212141314327432550525646261356130518928523975892354276338100414414495246379224864521142945324221322439738818162517256720103215815641313694502152574242156124455436471212458610634736771458154359664213331312143115424211955813212805904178142270135425561122501119227118227848355522842466563343452812396261393958868394882974325519531111112914612016379819906122011743614623649872195666329546839138841104171121363149551147224268131448222213657116535348536346574492244376868137619448018181132473767373411463513043977662692133502151165243382922127536581813118337861452226911235366716399826491321272201834158335267544188604470958729341765385118341158422654555893048525112631978111825401635627111449755193321310637404612134614547812545133394119846283616871856810242764105928371258222511463430253429533885134265462843234216438799787748747316424143958393474861126133711753129420196325594186869181333732239226392273051206223969146674547623163113184292481982621340233193677750261292373131116072663118168965364445217648352424992926617721345624244143212605931251422064825522065182017671253714244732502825742450712252195262215958011009394511946311377663395842523624151670773659246546117117421533353997316867523294977667270129756322455241528532339394947630637317324294602917134884742411824375341229087588622218952453539423662133171169823442814912818492815355184646117365819485445231772384714851467058316776532113731472324535725161624581689467366443572063979838774353326422951877234188417225228749173112458695532973181695213242944842217462913922227531915642243852286273174115127291733726159010167566386366135544952546977122224916649324326118714821189060953325814341213712434154664624613342134213735519270211247322111515237445741252612157014315611364022842332042852616625282146138221805558272351597294951255161944872124924144444308471310063313972191921148535757971142311194343599156432134557889113435439153315254112862834746455368381926271162315363816848268737219146220376856235959724934450451911845192683223122161752572311343215998818419129667552198453517114745334128346096218084713977307418634851061569232385448716272113906422437377966313822122029405711604547624224143611025981317142623055482994197142733893221254491295248915942433420602777934176794815116819531231114282946271279326145194630392707161613146914782256648455419890683535116221574255940330303839426715994992254539314952969367245791374284442171221249418966287334063811232208811283531249109665457353767208630263639671438615785232154026442773229231776591997442111333491724631651713285945211272165511373449949721272673570395374946183113358516116699268338112521533657845744130388174151340387335258724449880114882131371482916612837494271255619246858238142182951429445616643115484714713033359664829212213134246571416016379261879113481224418911242212130384497220031193133653083544242553419839672714802147519112674932116565972259144556241314549248924463094194827361936234542431024546737658885301767111444652128198435411674140278628356134557294525850417014576514971372521283950174166935537538177597278210413213114368426141966366251764815137543303417525383145271233558247454963891274266648136433144431646529112129362987034123987335379258311271924207419669318412805814543354911292135151610615257575168122681148753755122515852949465773645491521821657174920821811248972314097886335247981611013418351123992611123686021344723297917259145325671153155296100259854392442651286564374743175177312289434911660389152386718393633138239310386816421232616562424718724216189618622530034489543131211116843321568412388764288894154406732633529123763114114841171677412349436742193410731338352639314188769581534373472942223381794741312123611723674214135102697474323555418170133283551334763672715504784189512582135123309654614645780647971613698802143434437394660115433286038887223913872821631475161552674694635530821550110111942494123454553783382328236521473132268673927453728405601378391116589747657631916436838752338264206361211166126413837315463286233685565556987312464176676265256011396502441472719330849363112685109585148985752277193722692216352593748659132625722212256396679214955353262111156374383243383125644131757562131454346173884414322229245327026640353848718653144162922341813791432549250228720717161288272613462852451631527290123733747232967815201568621047946991711672523655699962124537438133309896382512115644314181953853966258460719136983641336225116323146364088017542855557144250339671241211599364931394320146776431413515311226172231639176428427528751895585464742132555421311344758484549841598554383363232388271541931217164992631611732671307571412206454426338446739354447572021437354463171972234952293848548664474613741945342151285679381442120435934022856239226139231463855624112831981278164453332637152045526469213124132854891054349226945584275322285858642525655825424585121756857324183451442418680323315161111253339518242874627628914779473218981923381733584613726373046465542556891046452374021354969768512857136422516342135846084720956302639187241612254444320147114263618738812254787568262683337467431867272573432537815830176166575281415165478357333434632373122570154436439809418446136211180641865951534924317815431547401134741785189985859336588119071738061991668364779632198626721733457495112977313664135262457261322244876309171117443100844892126887198634412529216371365758620438563221252835189466191453039653363958924801162161426314026583776204424591553943451856207826321733218183354197842431256073196033321243782428101773607175253917757209595067137864422821288132148322099351313657249375842943356219917598243124619824921348333311879831386204373312864257255149322442146517647522637299846291613364544673068212245192487747035196841237366422631766482811338891142683122266618767135628939352254559125227511715474417261561193389352391470327947942538220156516422271123542255216729562963674101371845763128371996948417153523546635641132054942712302213441415821623343902665576218501913373719637398112621272269426848746754636536388315037134012215113422431596259014635252348671461180957132624422482023533637305621525358840324432315851511264438521017226494814582688442806375412127234631856296246103408241153407142706826113277034213052449262474374790716144646031192591627223669534257233438215669551024243246761341292161459943121185149738405335887324249649422851323489844233756152359399842443137512169728712253685286629763111825083183186596389384156513751862686078952031216311416222317271761194332961026538910124923531527335214674254612112313291837102943281738649212417449738229517624135848466402409400422724665339941250389436329233243434504471364617471542521581231850764834991122133380242733513591154964422417834144214333842997461883344927687332315325631889457214124228341639111327324814984714724215562687114822488171441223106921103235166816107250878673783529747851010144191968622166111436668541414574164743308216815216033964041466702274423038944735662847403072173170608699306279163715111281425373752970783484548657313753245059354415161221531351272879832643917261183739121115149088813267472644116694643111020770121212516961316381969435125596984228236149304611520211123874289557135153314104426733505157242793178764344335873652336623183177261151631863743041662392117181708439132941395537312587475844816260533719851896493135541610151173646253992121951243037942791141987482877148604658152889294972112364210223245271272258334151117394300248384221387921456522011734415870722343787862814214869793187244195449641537179549461231451712171192487329917689261754612388353521577376964151551978027564713932523638120792922014525535371464611787759908307921225620611824406552924863234421151413132531587532034231246622251788786133721325714139271129984101423012732335391339435386116554106692823791147590213877732318225444663474519632626510340713399415234662456778569559502496130157813749172343442162031615192182496517666247912241751126444514452182267317264506426442425838185210839629219623721940211958595069113628138413328824758311532639332133841678595225985499149116242654794803135578322509735153641311232558410462216345421463326170913948573242154592861952154234429237770934347147211612586393223323312491123587073746996273294542497749312925327165156658241085311315624129365537741241394332347322062127783839132448373914144413681206553052192425422512836138244372720867123166422589371181955218177339315198582412047642285187112483774413525649471677751878315763115821411182764873532268409352970454636788211562272775274873752332165715260327371355842316323845758782119071309336561754463771282617742315837485134281389419492038645571327359445882823735432931269433823412016495152737186254158122203742969591512891996106265220146139517541682132732911826921325296486254814871115625253295419126533385519968115172428547287474251029878812811415521453211973314681856859255446453216742566430125826286872192565612952219729133642821283166642353756612458393493435268253528563965122661710233918282835248527442316621481925701125434122182381717384410791349353552623462900379941876261831804129112358555450182051111677157142216555216492968314947934661446243947232377335414931544383421992244122252947424701662831723742566363831986255534986066763202823386666827741617932584502371652617861512814135191638441495137581414242132013394443856262319787435427904611417254360331714340267220536489684361392373465331524413687813279344577549375571124739226131012965154740324661247122717112320523006359116397718654284610603214868113155432533821355696833588357684051522426931982568565908751361370403136421361423213877326584797682316571568461313095091326753128483155805868527579254602455477951725318451044285535213757152172166234374746632400178317235444176230323744521427222165145211901536536618522193133082337468201378988796608433648561238792114283454359240472478553234274218174869998871733298332598240336973438417194240330221771831175126820052358230195117663843058116422272377991764287953288186529847381432215312271634934767789011203151530854630929618252394720863117366321162111982781314293831793968414409766374053942191118371119211219381532345576789579744561443430837388725563321734754412652593942316872155110586752325428205934114762725924347282634594927292209911416326174137219847802287513509761442442635124738061915012583066753558894199501981794584267883534997840824882561526683502686871102126425117835729783243228876217122022131544812148111857957712644845233872715271425113854361071051785635593031069949368933773524118272217642259133876135297615925248111243891184625953261113685945821860657622354372741887161735111536331179767162614522692532362118346684122142723658415648478513183411186448107976441955475567824512788757721141530166896724707226133145514312863296324316428422233161455753381966445574721811129131312153995224028673410226024125705783955532363729504351864814224632221713764544932692816665313843541100789510042132613518444517643823529372350257337032828424234231137234144127841516732354614260651225337442568504642641755172224115121684184253315622660731575277256559192861513652011756143254356453893966546199219272292335562171775062342361971857821833162758154731116679512972132626941901422361623815722158342813320344342833403253920433421141221114163425217275751221166775233129434535852177141216316621544292761212038247972302335150613189253331464535641505172783552812777969232228141484218794943433764715842317427409943439541821233264196348481226173311592111213856387262841714036548933491022058513517273419312288498413614429142499446055622423585343951136416573220224228651196588368135962006919752213993348662393918125743713611696129524147368947422544029027324318165003302614622656587337531843934222466672423331217321724713191258824637243211515088152886378968151924273442234197526167536142284867501212642727853241230693137936105267677919628456448835341295425541934924425861227115347320754328561971238445513029175612471389773663654943868951132450373678137638997174172559248927530767157254208339454328345226333153613472389111165474657513215341956269024252362191643737503038587062331267345911616507323327863747616206826509321999187317894471542740281976966465452672711239013546741214317253906247127837025206480714617148661847321926474223211134369513662601666470633112167389433547052354697786733653892735115513441115422037842611580644172144027152641759526291923783316675394252222252034305242532532220471374161577215825670339012405154542417253742822315752077468879423261434982564571426281835547343026240061582513076221522805497534214473580169935728114598653021165153713985131972423676118143422458213330774803677443714311111131642312302459267137147174547562522577611714224611718382134946968892143651220444716986121123814327215664021182285412521323575836216541424121826224941245581546322688450804924452859534252155287258636178482273150366782564558272916828572453616111148462900416650632488418036111329838215976892528763922926231620451423878125636233448762931711582849881313322741153868913592718319536261857228816226030524438417199112212819022406278915731461673500615683784412133252482581757665512111791634880729839317852837513433336514523124962125821153843183676777836366261952541141752924271783472615132271337522251443607789414573432618475538321645544580374243412335135131118186726112101748516172656673289232215612140522188818834941743925662363446632163577719732752260493155144180240834002164535595573371861564527515837577426953829161673110245339624086611033153102309121282144591550635524514171314931455415715339188403315992358722594324254681194071895691456259731968644758907228535810402264244327613962214154714634497603551203184342767820403101522067473911221397038315303466322342441199411963536617554218248674635444227212146619579775998585221302412335256236473472913116318422243738446363077523318994081623214643954617881457641388131381422442884661472313292946774103263191824182242681112948522820716317615155232332752647335615743599065074463388491869163374936122923804691551266295191431238377120484161193313644530070221338778542604652759107930145229344578844841313137438474564424967183861283885431002248776662892661685310145115755913507954728405426171454371084839448731715930381372433700341399232601392464858972429421578054546116676511290252630424249361324264105248252648212910736547121502141039129341634681926558974759821219443206372116313342303245353272132618749548821573663151961747381716127213033522799254074668192813262392831476225337163123918574654147646827512265134611936391444311247347428427161597246613441362173413755373938562522139174284264321653466529541971067158142727499320479230193414378685015923355444131161142212611509535243301539870547513232052731903106227905692221731348624943933722142117591043362584613635316524277247722326121900325542967158116198421277614031121531392236728611982117978165566734734688655159282725243172682555159316878636033225602479255233452314840896204103421114042818693724910836252481741197689814327321426263235805832133757814191861222151367637899652846332241586355820436247215131591653815159782317135479338234781741691526371245141755619055511476197250344997250441337485611762452241498165548624185191615785175414101111671968542050641496153136732114749114334575537696385043421718848516445593424711473632254741454114213412353143322112102121237652556763621231155960838272163145659101329561875065552793615191189217765746296254192432615622556854762052615674843232111566482413712333616935353527046596353234585188329412041214935678601415678558557432653169103288472571673477311809822125875416143721303531322506477271943251077806494522349120249553318261623318256233618256234180268228261339475310439025358642772661741052115322318649525202312263590692538522721916184325523713460212801579662321324624364153153729853652167702187244288705515241120221473083981142447353186082853250345333563616237292011271294612867548425586858589027113857253443527854611196516698661584392198783632430257726863011713603755131125431126589725931519217205425043316884262131826852393283265517172639660456221753811361255237461512334252246583261337443613021894420268114737575339386316815353876421625663585563541273977282291597226815422681433532899794662286294524257672175125126339430885159421358649761306761421405680315708431681213499419314666291654841273531693424572161314733435007302718911352435772721060114122815126543461445793241835625245243253176254018662163970331631231785721511883708623272874646371335293264746857578314044521411464443220343113943262417243852834559753651236394252355613548467355309286145282862116445118223335652450223926511148717497473512441592243055912921336411618561527424556457644557661259121122396196910283393192165993184241254262327144231893964227446025784870453561741385138121649610196427183115941823132263631282812663437090571510264255248314593225211441534352545823523389534873913834913362442516255418790510527663612886871933797162827413457621101511106359442624233334172216121032524665721332024833875564603461185442858731421251793183503271523414172471465856614392145863717027216119237653113121327526112322231436415937233556873939622501484326510221259571679105351657244472944354226438611412294556627577747658392934135746447193355769552868254113173546111462851161611751589823664165761065413291446082513111288519248664286555841106292211379132261226272447372344312636355782447701255325506145208229131651289383355045927443945741260283574285448384212590502868354138817522361342059213997465115334314881125664212538464635557849156089824525526411412312455662565112880242839435912727648718753131389994826555363946333473582443013756096544166466851318689663927296223502612758127726842124201714403759284535423661435122811143241503894158427852307194165226222445152631285977559191628381320823283247534012481122285735214415513652852488217440959174120422831632153328315719843453191867064365529820372534225262304639637657195842111852924341518620188274437449131196205615619843980112725413812138756842179792634811465219432722525241314171853723758511531652964836264192495607491943307775615973562721213423346233394333666384184543468087127657564315506422262370121982122623365761716433752225385425626625130121006245295611918216612383742312194182944734552375104603951337809643852453811161721627294266214514305737013973367171981835527581231626021114295144481112734126228825313710922031715785598063246135673356211969532660949979850281346954358102611371586644281296514357397516131345676545401654806146707241529398921721526847624965266189577127032616479845606643839855446842966231618762762593524115167629282268136655730606696138315194220743345599782198566848118345911635416592357577168516319465024338821141627424814641846915624331492213737108643575881724223347941583044350239566074511188463109044511235471674785721215378102269853966714121934618841261153964393582423656264553096835973409038927522239138544144045311294563362420533641586515291371823439535168829744435361329355112338257272183631886681325384454274906276454934245669430436442313035414242689303945463585556751424563965784641253723174336838473246861208284443346115169191926279353587922913662351314422322052722265142293479125254034491222398294245760392213631269159459453551263477443761183903593742431075332350719374115447826727519291313935823223677467149026270765945199129439133337214510768736259237377324874801671317761218331228262857844693266573396233344645942513061506325947744121911416329876256386222528713912704762449961234571653414342765319948512323531212315223214218525263867214663663932461131533671273394551647243549353771116579537234015359249043144412130573363134810960593469929781241216564032666274371358574846217348372618380241211380385141666194113201133375283276317629773319369391486139922099222625762925099325343045234795352631549426567473544273883452228487453483271753387594422421441462322162127527852105383742142512781115240351235742831712904121375526216377219414873832623064229166896592333301631546412131379436064603375334609655149381832732411380462968106525226703246262767265918382168923395171274133844392915259732929980244376893185838625852923152462157531225323512615418942331234422333141758534871211796973125226601957552347133926803140113833871932461203361950613110552817727111322378743344032148226161163114224643691918669322183427782410257191858266522733464436944173578331713223017815922129774514884298158736272513197392338026505969316947634425231146799682171618656116168067023566267177327445666651763491990238386934964385512517472549053258642655526463834314283401484857243456921604333256864412946973546798842557713194553493663147212312541739531361301888571711344423151023930954752412787189842754612654661171303874982435617053224942823172732382452465214310642231077008232653243466132532106154754965371275514377224967036742869240983311283756422892113291814651213617881531269241195173121139602294712763442385692158134789815288638467584138375734465456092373285723795653622575137765172163251149907303772236713170548577969703319665802220351634341386034125140722555326655933842245243362122931014343484038133115821663758221212294545616254384225160051510588388246124141343453613071573112518228584261334644429625637641282144703333111291256395061524336319220832166161685786363371869168173367221291703914531921901393435430826535131519470541544289163570348371254215146824884724822661325659255658153513131865234768364422622912116777772121905213513297214117969409191213674623555654934321527914231311902169502326889214324669261221864594361939225737127751611363114525152021494069345143776142465181012546593213521342603324412427117523967148838432960751533993456738441394221424211148204775352406645577385752854132910513409572356418318242311128310358728211887356917313943241541627561124727849599912662452532826836301916782815829421370552635985123226355197251358626954413517735431452719629913661141176811601571381917338545313424796281420573952921931159567964421194252611392922124738336549670116138286390044642335161488952977417211222616939756414672235520792335133057237518778154466269444593740833246316723538943772723061963618345872418082026531248332128301668336667059889729687356232523135150321246275022352592122233323174553633855340284421582993216665132618882517264397273543525623570728591191254443217619828326941322195411568133533549344889500189217789686233516368933283826143914164546322741685304852425437335759748636607485600151902378536864245421775955734752241911828525402463833536232845124165131213292707411135661816168143604991130225375216181611496465151728225627421342493451431677532754053828932896551124521713243785222252411644804883709278408553269524125122317394542936934951773663352744184237416864713333778126117753332851922958250849395121094132513773524241695142511424631551811356347330157112722021384465457511122022363520622534734064039382830914281343664618612263813471516821919804245944697220536773238174932924263114414659620266382613117684198036362376448643348606284161583062361192326146246218347418628281381035720511279446124524435296638316272412486549474136442774235926214118223432342858193002395746684336231132676482985634553923445948161627431118333636444238717224168523453159151415541112543272325476849725323725511742542163536199141563451237182214486942711129413922537474896312711413401641034555714234658443334654356445481782538274483124156342646198464510861114611571794540411138024632431405718547421711623468312956341381149426924153549496248335314203541923181535231116516784443253159715855121099374522674516378550945162744105581243264731868324803703642737161625668185312044283510368629583141058430896112895551285157223965276343840607926131665873350284433771884628212893324592276739064667773311013730422253816566851162927234517342912017411763921494354414924322821087263519364626342781232422003202394444184405959711069489294515278256714577721458041439383193681294043743258345775687261153811994411772679574351937392122211735257642477412874159617271881393706161282221837739275362226832222105633232421701222031572718665554562411517842164226931605421538644212692233564492445869123511276824516921245616525166264167254219154482451326421311349115222980829213511725253193383764415385267941334233225627843939451959331164994672264298213713228826125973425796233232198651422396753114956812986368372511952146573644965451813203921540229041170227420964782922917151119164024785842745515936036316219188537814401185421248041673295187135703634114726212837745171644321113272797393918365562392488482147433523590724875644575352655261736181937177879334652170644491801635121611186495572652621523867595694183316341042079364138512433979764176910867819947109257825142962387181169813412557297172472243699189385643773117334123313631236509380212997639258235561444561416262242811181483216987134641112205147955317512543634191424710328613871988243320513166306493997211752892168941355802662042858239667288230752422171464413353357495283256604410586348534276233353554631574862664128425338465294853431136683025138328311172273116965311445451134290211764315532098426530723134253138674554477223629801976000481012381319305451396687358496152373919843215677121247163467745434409222857355167170316755049356104116681285533945633616244126450186478552264656776325172292485328238631301108665373137217315314167141197793502162515403173313270241277174528431230603527328202514238834211460466291157132752043936685669224218551491471346254872511278375214385029446500741706651139734811625119422963431568133217314215249636746427625532131432633416639232601315685494248148148152901658743927281392033617335333629483432112831345617022572853331354587282382833382595221612786352914289190193714587153429282461713288415812670323652561518613955743613762377552177535617266345118141363751705927191379681321292531182235981602672453107712156808361651705195437816221515605418415756618486247468619102922084713212048642153833326160354472521379502247081221443325118253277164184275942491975916113635776433943553215825195331884925176616080648682646182693172772624087725699575526571998513941187181133341240832777266412625739563433133929128463519897231157712286465392701312617234358311373612856422391168117937215180711305374136611571348621178860328460364680025345103763021357816996565468412153282825136123652898520672044519616290221818318467931328117572130146423327586238761371292431333641724348526227436748873222824311393549227384696810181857664673438333214432559499444394561763172355635426561494385114399745462316169677624325704123169244159128803261455339123728185628385033110391490236791381422108522285197078987611714163216233552512466133431132273924165769061157145937472185513453391831434424685214244631278292443533563191472431757742454365513264341225618243501096870443225527449006853896276342658046255614420422415192551124351862342162839194131865518043563110887166237264571852213985483752613173234835273603851595944611276346383237243725242412129461225223252281652141364513382231850576691727431164835962625357121813415337638141712641369933996639952174980301211331438357163323621935582324263712150794576336883223883179157251057222453520812294847229575280225844422582018094421346356766193580432652413725244725287616167640763132295026457887376385291721433133843482114282389981333633312132522256186671534117633166111935114530579161762320586713947882327202412768364253115721614262330135127321068196408157187451568645318743447859286678120652114943977920438503121024234133443537244236494138787052469464644369221183259312861154925532369353626702663539365360592521231745273186322364556862594321649162632663263823237114902246543553211439195546241227911450734112416541535444859675069241116281310245402128164855146862215236117333202448645418515139873213526110231304473041961431293247373173682241000507116482362022124834114682296511147412670870438716646366813127524254044206474375211192566141293326535115712532135275214628230353659141464181112171478655181900259214931921419334714912512673619237827690027522515015517363596261132110501645382721633262596234432690834854423597213122523226369782485245215321272189114218162261411692979298715388438794375212701735355462424317787388678835602547156613905423411217132497636082932127727185136517340323972417449458536354262449248138339022343570456236265914743271178631451935066771690813091603352261525746921472520719187524152838635111450748784671839084457156121507488316433288844176542537265927314514409447425364307135420278764283435123522209467181416286358581365284683666715666992562221241352654553341134260416990543355235380326212748420430151001964627071222269825512567639257429241524234643330158170218781212451289452447329559641192622802642017640411151081576574176763125112418703145019384281643926324844125971430216625325632541292631422389331251181883344277653741886577341445583121190602545052262655618831528412187424898513062134223367882683140222172343923681612286614270215240670299656511258554328834744592925335663352951176251691377041076137285101439610055221187241573122264212258171524762117229661836131934707654160349711335867798419712938883738395293411412111781847373611136681325994852507132114417445236913918751710364222961291349441354162965341365885576875496430722571844651331819582617001322715542785145697333163126146754810272136625056827531922752502381443315063615575657413742378562314114267043981519970340141511601361188407169492272419634604308001451423125561011135577472367811354375551845363634857462478770743249874424642641496302754622614217273742488333415235551223933821430124311214742512493367584006023935502473611533571261411712551621143851423211424381134264376641644302426114342959493472750185462718354181492191234325363345512176216342773163366398420712651459505985147925357487114664250520241384470224167821953435383094862228244813226252710851533212846167266012722217674094954308839116763603158282183323334442095121623296117014332243461356964062743327957514826211251463453269259289261131073155111448321865926487425232695670414754154432321615863573779613331556116351141214893022174121686566151394132763825384825244415923772314830424092372781222012434434015893613084317412391931623768012225314612319543163313873961132919918991325415699371455489449338082351393334453131105342132920214513449761443461881641355155172320262487514786454711173655146203736787234075676716741483724566647501621040235302421344321752435602160087614371742429035235916220335139592811813561235318358239052996563379603546133870703296636945923283558231672630354866245364777353567594614244442997512606228341259633274132915777781032554264117143252751704226867611233853836195671353451214317426691445216681746131183926412327331911347085798122215113264143922818245337379567734342647399028675643416817288319163561211807264545032648923379973474461231214616478549081344052192251558126845365757011139102287662151620481925249330489516692640416172750608641532252249732468043620274283264136541481831411572931125579136513452867116713066625562356438161473492958513017321933395332411432120437046672200517464746482521311325339974602638237682383622953714818392631873739111316129712521538844264319816221686218469188330816932761589218171266311227125527045335216184924152071999359371271154350245902333951063462122398481313922374612283221275142211654129478532276422837198461473933669283736381724431832620861652624886216323537141798538617284812682048543348478359811609645614591187365127343888405163623004345831683813378562248221743226473248332617557341612135502134515005391108347445362442733182420184032509231664113109432210631551232931143254766289104272424388413139956312155233803117283790811151189642380334413096913954608184221431633112460513866258478285608047496277645193205947094267668051519247782113782370280096213899006415431413389427121398452015353121026212123261692223501343516142171185965138483264385613930113479491638644136729071410421316428135429123529978251615716998763753424234662101359325773154601910866561254151517121567492817787311967256365797655471117593352572557151419299176742639517215454351326492212579308795370262654845943269992195560056393282749553165113924446073764271837736117854583913627541168163765382124299888360641983424915326990247927146602835217311667432991152346241817363629481917714567416328834560092486383718366268853231841151310344356825135565448697657236677426322263080743234428711632843153104776324094611513843133982236325429463331099732071855146224716922154111341943170749151664742699479779331071214412549148109462039534517201415652765255068117666141060344251452265872292446976714838196042765252412445667182114213328265266124431317411456534292971555325151024236234668109214669685379646499170742269657614614446668124249583115543423211678555221733123213683328153617364379004254939572333343253173336415144173182113342765930846606175813471278944516381861766311424405119244219348126345182242355295427372224631248671233452565728325633368366514384955149545215214773619331101719258321823010942968989121377681645963722966191316351238630706282412621249679752397623195367223142733541474044450771724386313366854872233662432893171553924297178083142136453031180160659886418543207942985317212281490813408721752439226032413334362331066243554657845599237741415194545162436201637054269134822317721142264034122062253411433525273693111681754115844627745561264422444617651247772121778173227405178971061384265157636313745322882636685327651342363059806381991628343382745563851775199909863119440336622785587661232527316477583962154947524864916242420337314514381143652216334162407280314608802185273478044463163822724284132389738471217385496715732164435621637723133822799922219912833265469969867234396264513796311033168358116459461492461372850596021228861756454302251264935614114724142352832695538645637527238326392234952314776463293253598121723224127588375450355981784313558416465001457263532321165952464534316113165501553216815275111617826141455019937626674583948825238172856537129491711962351447214556263130414181161886732801331675242294441948426213541627252288245166804512790613337252496417853237524845423459283414850448222442832111566301093246538020902317313268285517541534029684913828447708211966328453416242528841325421126475490369346595697652631712292276471377245444286513147693893073941053591103171407469222623136586174241276855440406136472243111947142638159676241430851737947334151622849335626213132244965385441154618572872378644818159612611255256671239433848222163522019911217092765389355285102118166858241315468275110948526325774024823954332358248613283796477423249331913921531962623716371299196187101339183515422144386477431418165704443132471440246746233720134515372611370595443171591533106117294245259301374211925390063064372153134537373221482623161156194357536746889139438525625253646233433203671841166502632954721119212871117917841721135034343413236405258436212802132286185325333165421685771211559129525413808319447925711652454122531411039904971329224147306595716568295351516414132251292331279121335516994831728329820681134532843441185024275561626154242520226718125897222121935716481451914765155516311024623537154749853141436116967293763664988947107534261072328243108131442262913460542719557634474148464750482698411922643332844512214331543321425119452023653273552191264846172494695543259353522408650147592620447160761023455361633492117419344431815853651419344423195861476463122163571143914958613617712357507314137954473442324616552233223442301417126230196736841542034588040232544931727395006326709231465241311739751144215381226257171612119631467841318351511133635689443118234369365813233269742673321245028407717367587262653508432663534822653336545166851193473529339556630429696770108313282657661183265647062507394163683049045340870182943347816187248233615224727082311322445158972764234525384461238277345475320324131262121460339857731275485997613623727892243252937497751610121533744133182884990261832225333871371228436460361336962653456529536412853602415651974396313531929750470533442271927188221451291363528633473134324834724295375574464652592521638634311151022591104153832355738431503997865942657566341067231557314443665602142852703271295963613526646391677563983583631938514139232025615275842974381289229968385383613515906446265116213546964961478103447982803670512822614168051381343274618711115227743411175773673864442079214821558373431669234834379264721233664758296190121462315859341385642586527821117535198353137372811186515823461011489548213664485719193474534693731591151586453212267117262431926223453840121813127393554214519634440731749436179466429496314289423233017235734839808191703976665746349450549114751878218597542634659554532474638623963527655965714994454993325893136065152026027384452248815521421248113082326441172120921159812435791143135586605218071422752315958499258149869943953115134031702772676572279381324289627522963122442341514987688149528054561941622697243612261154371331977611017875555338822272344394393821415083128489253620125652561218052352414492642316716130544785932513691921512386291628319353261434335384609123174453402713253341665245513956447802081488426214576454211362164634612524583557060118154194106267213377234599983345295174451124025232612634258275305147147137557968044937742965551542857244364262982846335114545928424277794156323311684899488518361603644398984312538630253227232284226324535773658933799832657181532873252975241525341233724766235101531268113901360113642512175413913271588219301146669584633342501915893203131250510733126336046684119625474531229942890566206415440546018142163443352562238834497104650956692161531130551546225241421968925233384427394762496111735435357330239145428015314382426633250713018234363110512414517309996246529324382262829469013835268652331663132263854753656551161070637826914145131566613725466336219829454217883123164956414165114512712258118138395957834485131192114423814883866542738191783946311130424991827743559821862244449612641217282119332361277865628852391065446264371139224823244262446444974113831131918589652031985298251854385255314652566754164315443508228884144416506513762271951105711629489865353540109143962675249213215721487447998351148218184634417222321521954746261165121250272130091359849244636322032161994256422253896283246438221515167467883118690652755340574322162186767482312268264968594952832431113974421451019173764318299568811625243614593519832844115514011185108239861463012650375644187619911552731146460209249145951245587443638760982834115341866315169001535445208473140829082562123558421262914527171542841131565125421590283621670117398356604574377795838164458627163126618851618527477149271195964300952572227751445744306383515502675432641822231584980517632184751682322631247521220153811652346803664943733031569167611344497313314578196367579734120926802530442318311412831929838941272451211498359144237432516885186229014332471871316638843253613072558566326271183635733492714228823189264822515921348866246480819692245681322777927627604424393270514654421275850372214363225553517814126524861925651855906446986251166274322537277112213701715052435174238747278587191111925526631525761101279478267524412474355887311891977898687127285220159029241922111102826723980417453783933815939265205337679212593352603424113523865408415582647640138439711434984721736242141654689362531579128152718424170021213305529697317323222156257723114995161123339215902528111125287243342214816748163604831629213427488248229464518246258320272347013151879893318008433358435761731315628727176652197447313231137219366466888258582635518302338481961112211192412564122021960283635451461612524137208952832537515076531223341603364833116515675151467529415231352706827143424497454605725301313638613438695622413356395331235971620975845573116639741325222313732765690665615735165659236874308377539524217254462469713465821339957956839526170914820521294932806751425218565865227480361881493578558143292616166324162490152481469424122925653562391360574275936518266394271542549553076219513964998413784529064437534131132374334205223229723733511217802412415265452542517639814753212597423444148528274068397501055766326142333438614301868233611584111977391494669924562321241141522315933740837942334405334655623351560574258732539158253311424498014688293454101332354158157775633851344833331919332131867936242149326433236893364694789663141636428434229492113231532241158373235663290902252732743517668032885655333239217239522841032581663175736106557411141618259185142114330535427554616256272182772557211482486666831834291424691415565832737778307761391597231761215545284548446325522142095974576299841438364033132182573010531330763712722376648113614312449942447243185448937481215613437235686012648157242335812012775163510453232894911540113126246243564653964328650133402387766266692916149545943021817119147034646378766354049990223165892703392325429826236222343393613544536269445131761195349766323435164490749192341724633871182449475300327556040369965312253232443301257714355633584226465619483373493384653937460951754142546235661921443223244756323957419847751518008227628532882685789532543754179575199541911156213346961412658161366097155517949957561143691836530259381592289162122174341813062128121574211811481544848033681870657957561125182251119182242486052555536126286688167794122786408334722952419815433430283336852117771446417511743718358224254584359332341159915322512891982323417911308740159612786840643531454001032634691897684692742322928621965438120516046684677714266611843319263824104613521533846812416163246414122252541549152146555837613387577917415422685893181532392557217491231469731511089194352595547474682743097810529938214373481121025048316029520621439621617229348448517491243295144869444850252795523233118119816152465203361443105119232122710929722543511414555411358864693095267324739128342651332467837441132656538502645553904722437772434193548117264229642855825112192483673844319821797122431555961358487366226321454068854236716396439668133431012541438815149131452176873222414114131365007615232924247571603927235774353133251032653237177944589529516893634627561299149282693548505318759959031733976374144171612135843131129144491326572825669428731772181762411742637271687677166229403542521054127635576223359235124132324529565787567951342823632172269314729634129922114101415373543611393787472442129923343426593932965111301721730423167458157630811113734466341623321765871613264095313813313334317942254191171213161957533120265839388664514134563146467829729393482173524397613514312248385269986877874297150259679894275182489252341945453771499860566504864778241975181784127363254143662972658351616513778216573453324983224146334153972334584521317225383114881010262444952284426726622261545251422225124834451321018511693517631334137192273692652124215621276450709577009721771743658972161336726274223997741253831234225361161526612436335132689260151493655931474461432433426521238733545652133147783927586604326134731714129577411210677439043154028339569752363079444044051261176441721131517406383431613745437573246294171874111811151125159361138916213357412145408361221123331255192234612084238230572318639672572543462321834053336366275870718122164251247681843143242606375313132733672615140535625713293231379130565519234880426859436254235035785192378862788339237920237119151593924146357836843915167868531368568893245183125939094053874717242375772550239279406375642933313060324251573752040311263545554214608401820412159167512253292132818133926914555171561136444942311815375232926638321304362512443666107438874279147822214133136467146335563885919233545178584452299639330649447267432292435444755318174417992923823241183024464914215146444456122331822138404524592815445856348321019216119465348904513703513225181625777014513882641974466872121652142386895011235221242278454571214881264338663222138511130188711223433354352610848542022845202717232746328346315335141945189738656513375672265121226665736221073246345473531641613698781585660452553616393230494982244241219249223388154228774328305142521381119276186135282166452734511812524325368557268751241546236591702596131224176313772751761681988801583523458562719168755933137976866121813563176525143572838809305046241443406428176351522384455319299893213062541511954665151677071601805906975011753226122321419191683896355312248739459964553321336723154254262178334832115844023334316463617827864381557548626086946422756415261651313426420323231763929103118647840332347411899523515422797356795283346721324921465127345657589276054741136334470053512482610276855515302323014755485411935211411393808415254255287424326540662424755730594687728483253261602131760605159109124158629327442134756150513630641156593179754491183339382724122382161574525943411329562321694221316914161322412486728132039684253121102436149265622194346578358923421798353721195589921665851641270383816138874726447525482879375276136481319659112873471556372515092533126545654728451364265659227597795193236526176725651194392326247026547921239482476168006624153252142322304480221713855111754386355205157644952382371191148151723274844563288325514194632214642513414868397915599774865846927940453920944387478197774523235233324224223563164514974906275851558475487357532265868962535765198514436362754760745282433745111388126152255546045735868622161333515663241414312401264259625431117814717150131412638305442711231395743584859134195852815629290391448333830541995233345517445588731477096929163283132365892425213334244752556393172653639453589160324052116562624412577672418327331450234267909150278121211576412442682625114163415465615923236433411532712211783768413281125324525564401642918885446442784741377317126944562912122882407523569573571911263254756343942493531372802734965052226412706791056751516886585835162834758166631862614256457953411488634836120299546457657654126512125011104789353948314643197664625305123237918852264677157478204522329671710596372947679419612431418191388413215727337821232254456046312677332582115242503751736513324422006278813112415182348459793622181131468366195283364397213538315614923611512697251794836114412855728748511154443377316787736181862840337312994533531911328666838810333254797157495607246510293453247110497731415452453425892871314249114981133356119527652132729216425511373229528046319318122122133512306111433731253256427117621195138124681262117881258377253131603546369025466654397210157321399312154622794093764998333999552741733824416663220326504271519566121557401363334173294898269742517639634543156611707046128457241694103056224203233837806261437741241221557338964404024184037331959638422014432930671451244516233494233308588205411151725654393652758358380724471237435675318374253911792084663635137977725616112911312443588113414232631364717143194839543332261406711157510525640753127234182358825459128850839491564511835853492394961488615243363622668384767486533113362042128632254261276629679755538355155122249444639977458496521344231543975748551639181971420656931174641238115359822534627531347419186316236004162630433714257129992385193666344831419596740943727841177978622662233145237425379743513410312946126311052793959636324572910121318495106612616571813271116444012332118713121113669109824066731338604157422731823188141581855110224423965618640468145171914387317446685734656344926371128598223644115877844042223682162663411169432411641076652292727812341234811285075511743128843689922233763292149607618452924527134773373434227243261582220136528128553011843531326592393866311505431323132439833263670724318546133284343916236996166288825433293219790533565722837494353287716069011613293903422326337562925951152421463751310481272513276513492587924667735412321872337034046619244851563551714166337373888131462312171024559261426565491076352639941998371353095479127565284916026661786234489456136324684841713461062769565210474621711324312541281385189179422123526114422696312647185313519597948122513499114150061262734612124623515548987741046109140123212462215674211454074715351314855371719837224636416570356824245381251177576199452594664188345521283054171437661713686811488444511032281040664182842131851073688317392122373111710487453831513497711319017025515248136274101643715133630831114751627415133162212462111418088496776019125382671747016772131785641953989947221181197272131948557167440666923817521231643260381517161523942118801386898541633313273127145596335341235835232812296335633600813533384146762536121425267170385160584153212282529189588975216531422389937363155135551183991597231272315250284899373347548592455470449192915731186231078313127355287945722923062224755418563277216037243737116657521801622231424896113721634541575286728541477991479611291475330427224847033171543811824218317353913734674338674821321168510952474727437612595363932335114588134181911714567728719497265121665332681445765372133359242813801456575567622388171654708883331225207429447908137033152180176498167242757451311447278114952032793353925552155344589991721445345421792154153628432655753416851916508368331712764608401132856518083923081417223407481036512164273421493711371154408613262272901495807696161012495111399175334158321713219895841550335914327322906164685129582442216622939368668237301813349591780130323265434225178186653079553837405563729225214773151153412676346595721240316463252773323767594426315145747951519462622433214616968640642972422432144304406152168816917421362283529032644218861923097656502846175111553129217267181484321155495960564699936303664364656643317053297492843117230576752639219035538291597161658248171630404843273345063376193522750222994723427551677994692636036480078329371662176161451496192969765551736298833922816175930500042425461443078253724667171221294498581226882470206325365173353111654181135642159832743632926732361251512471116739718362583530283844414602261226362912058160117278501031153813291373668732252848136361234185166201147511585910713443219352627111373723391825236332388174615291122113677421294221468411235157592251369662109325530534315543528715461471232943554374885219681434836110615524241551162281039315181213499328467723171847242356913343407341208235176252814855724417292615548316618538663531433644839568251239866132332445225177596621453787183021984940576223649621741406213732352411948226945550885948495551201261114065589241547845233735961852181415332611982469327461241323566364114855323266936333733585933443221806226225241852112444706325628675768131349846281234312957826115348137564214756132298174147761342635819174207544572134144547542521271494331771117889057539400783822411286036621421625837428482353542562140192896771742315944393173822293535533122246753283311371772125635176683997933230341054631376317724163558621775151624895141422034907171115318417774618333967375154325141766468723555641545472329884417174386100172125112871312521499563217511242702434145338555569338511694417144620137524425635566262393937218139131914042133635842112295121369424524663171522541264237396524651772050963863452552663150625113513232954162324746316582532654913422662626515734628382273782235612593555485563314255323312022164141819417134538275254851320767657525171313158156465880791310118198121732333913473422913825303261972476110238435100963811121391683737494218334528532241731325780133538756267293364271464634111111922420173174334705162649427094764916792943336299160657272821248443545742335912261861351566207878251126744600114221941818176676733668259722311317346181746954636223465236178434324726175336588111443631322450848438652525171364922862343134211687193327973872044424722771263946634061852732193185663522403190525881426432617529714131164855119626653899144212241610327863218188123321397538125288416433541778983865200536124913823843451248758311291232322827049844127373260054519332224930237911419047526286712051805728625572768249749771621225331445349518428235342151821627315436137976246127937913123621040132164379335121192579144354932329151555741711358381645224118416956452671377959191362106062559816712228120825235345676223126632435226548256520433542456343259115950802831443563231854813141414187148295226456367154630113425537227232519418355973315666215531737443855968865223613759519217612953041626743967417871036712941454364159112411679621666485355789421222870767915781471322394616183825623061339512297084150566947126768994608520631821122922623894825162364921372515215117535853662556851953625555555679683162683782512370382188287426053439184341384622815356533889568025611196175108715013144437233780972639680153554128327323329244582124336628311414494190643378695251572865533201891470912341633257943202112612237578282115421322214153490556665587612952666433832772734181844317927723236653635332351942043310171794280735613706240246344818544533963236413232573685347344411634179365620093819217356614559232413225079369027230581647291374531523412229906161651939752264936979433134817128431054229113822222258121286546304586158451407701585613621367245439222619411257641811162534121838451227646214094458861242694256512264138776377926696356374697215518667490247858561872836470133720854733447716430318023349748322928711130327134277723436612123083623613717847118448701491847975231357377255441974453124542662827152663886456165622354487115211134187178920242925513524427262234097470751444483974231707226273412795536425199544155181101476347733463138640975464255631813224669596142112718256428699117520946962171722347957148316441239518824465273102245241059424372132571591313093145934254117629021231116000129132461761456732520026669221749770048296217274480431261441445513581642159636822282512254152555615766165544421840791473145259662692219583381448457429129019023120216684261267711122365377931852322596365534231189184165713316733704021025163063483555140537612333425559723611221555205344176649154992630361131752163557145346271191282472494913324732156400179126113552131141562385261539273212718585734269645970584592645359739671509853221346194181425663124433297774374852948142431176313244548718246780445352493115794153673641282623524218329355923326174624817513518251499024150415114221200813113985509532575292186424051675858300961464294932361611132587853414541223356181919332154244313360561114448371241233764676641214259595635237076246747269862311936744432205187712549588245171239117615343185812236110612965882633576013571147637378860193241116924126449116262753654532642486849276565955896173127849912223562975318175659412234538744341965314317665161289521631293131239818357916624809310223936423531382765235422525917691774252854979523599624315464257583219413917694511537356013812525421665533316100822252172097152338414454103177351154341551136818242655862421862312728922837154506063732053616877231257044139022604124250946541102503111962243373633510213224241456141356971286228533625813333044704896143742757312874474152415456456174321309437123128146165251427146225151341339831663056818032810382693155411379013162117371151343379042515315276326829078993469313254351211149636325501435339193126533456395963255521118534434554371214474016089307166615154743114478068447575150241302533411116593458441124532612694463525395219498226419373290545568220389304217782704425441669492459702548602191356425449272243466643912143795253875222030514428142423242522224601805488652882512331302112811194396315295221214528964211691446449364315123431880987378419455216632376215475642785967781194621712222389508492267712411902650635889278177474759168326013461595312357214358617317202625454624171054392147416245431445151369132764235426561191865622595977632228367481452553597166612870431284829383594475213948271182990608215683637392284468622443085646145196402878460099257597389571058631834642516109408121452358114855155644448436172592253696614740165838328346742243263321462802971252585867816452256368116356148240714573754547669465336202573804201425274819831283242494442273442922211605723395134306313431740312825345918415221444723596489446118213635605288274582148667555671374517622554286863653384655051431670152568724712431236838336217062513675626212612492422427469168748992111654585173187472248935137159120525791336900132205823396431148218312153912744361584862671363396120288458622428318748512296426052330343911417233293747357690434183260234243141882488897559529426782423137337741212233198155421239711235184067632643457215324364073724143131246314216668516732905966363111599713327221613383897335514227428917033510809221764472119805841637682181564253422562564147336542531677232656389945862526368445168433974114384309531513245322424266416435661759755130241591313192968411838774813137647242471665154755197347469755163661533616723356037118461111118206045587630187470215023264712796229862112267760207427262268112692532233365173257117451883161779813164282091451425442557721132611924115646926618685542412548237161441947322134433242630533433228042618745971281562428821321312291149365721832511533264681271682215226712461556523201833720121186541281340068124801235722112951717787242125511515313422242115149732542751515302166296948394184442974546052935153776118339855124124175428091146495443712233519622290451332741581002613286825324329774345974571551553147719123324111190586112847733681165970124172584031614332750244311879857549154498671579737414435374340943421723047829358144215433236521192292476326345322142258532260604148633364531415356855174358144841622057475493161414699481965217333018210326315223759662321674111254302681878541558424695267025124342632144594532169972348628173302784420326244615337371208142143981813237741822127038633547481384241352732384983413266319742555813758342621140732276769465245242932705431261273812611158262256423817824632583523937485101152355443319584935244312163683284816884217676163544424321379412914331460442735276225423292976305034311832585716593238245577123712645751972631667694418527462225242563510976365031124421113807593812894932625691679355346246441107461226741141288582532381382544412736528522513457436680505109717714301177212556245437225112024445933127951863738651242424076463331637485622795137225073189878513983127189295218125214235663947421374217611427373112136255852381743510272418292448347605192622413216681045465077414222187199457080130478242336736531377471233073293740635422672661183464355419163241313251837833415931466124559541026755137518317543532175492644247656614322279705146244999872747566131172393917283713035876202525066042852626817257274814837211564101416304937641133739330193621643342659939246649152176363838248276782243516612123515476363394121116269170334651473623919116234691132561722243924102546037388156733623031184312253220629538114393146833556235849114321141291185234433981324447164391224351131535231844226315505349985613242558284227327593919654161031423126141361323744614632531126884334931528763953123466275045854562681764703630275423045528329367029963863277616272835143335918784152588135504531273692859409759324456662311928582034958303911141222115711528263417351439157030871543192295011425381851648330412657203823230842131343355712351440744794635913201506545619195562481513325859445822237908253639595343147581514673118423298256894622671152121167451212644257143662204112141484052025048435948349223252992961633337574364916425758473052538613169698315141431285345053529343490214806352667332575461475464466092311369018919693729527478336456766452753071921924011290941484124827442524342284671896460941448221828164467391255161395654252292133758635882157719572209971517741293343290716835935984515517524432635193507276428928325861252649907463276982692656512593214112167740804165725822266156373451620415089232443136354165318569297357327231116110405981632161496137826515134037711063020402185640005552373557184512463646161886785165371517625694533379053615443044664211818648126651736372387325086378150141118426169495781251143135131322138545194531348522454577586244543632704554124444425476463309483422773631958017378422576728104213261165109771366346158541158247076498841911519593307145188983543961226972136870611762226514595413257150167313176737166910382525151224922441735295963822655652961685382386021355324239747947040334499147103074729346248220426979378685428834830765337346499323455123207017211282656972556145431780489334485437184805017349212822331395685753831506383228738552510127622829189415158163331281428567379062144467141490236597151569679692151431247396394604305213141255521509839562694765871747356842123708513751258330898319472508371112261359210389144459515723114411551339006142452697592174217240751212304473237589413255242196504312617379478178588211313823575371063547132336313485854571144624643711429772350337125912014213357348313827633643489586541510770155163114334381144222216386723245066273467221278103223232745173331452366140913869577152546573121249319350961656449394793931586261696353107501157211834585424245195636581133743166904593106887862932152582253427124009362168224132591124447231141835632642443676212176277281191355633281129403459028324744202243632582271211013582499705802743723852712158936841134315583652338449313414219247951449512414735442624914211645623683636328255736676781542716028716470104141819112419852274118763221644173366378681351573823727574386622020274265379514161945328251036877523606431341730407717291723448397182370035437202912298169941611223321854175552736534815648317526345422586764673276216127984931642789599494063226786104964321469509132656324111272658745364633203355609119466752549321840557405145714193304469318327456115852862243283044437123427415449612922643774365651486271444211125466254720446650085755172169414733916969172317151971612441695184881444614885672867555153334411119467368839819215215609570734426184216784256028869762211259771767225501718823801205531017648151725998507757113513777839252953202716016736721663960658314931591135894683545022423214286435523003364382214937603682733311072631983813124452147343269996162346494311622062383994062726063766413523360253189274035808662133244850268133331255226861253669598533132210290202787974241326540895456182470427780456112236388525864135212554535660215637281611624432173341595772916599316336471545123362992657537933208373412424644378651579644617946547338834820297117111674318817649235317162269325174546026116923264569191538531321524551499989826248148831819591131733184030013611445722122596370215514092173571329235348115348357733000963305131388393191163832471768145856161364478462213538825121751844215843156794023962871623556985686364372518722376546727452323623442842341913126935992248591863487262115585664443664472672996147335335565754195311233855511655172133149927431443112351347468082696123906435010237101714823863137215651172407613171242909567782325739861113674212115348397181398539997191959152648996675525565859668617433813459716678395838374182553237943524733353617533752119094649946282040331771595054453344513177058281454139592346332028623162282361524813170582863866144145111692243116445522402969961426211641822319223767612390144793857152153222615255082036441395506222648113637370115392145915748489641973223822924187135301192814482335417273952440690851957722984666142595481462135441633861523927411993002121212818676355334769305969622614421579358917498242331221933936615271073799549160298536931576504582254207141771981551155322615128561431551129603335741426374412731579376512481557148119427029564579527142276389368622697151496443735411276981215263619398357115653241581666492431236093818353153514362036723696317125226511901312151515614123123196866659305040323161268461928543553141755450278135351305144096103136924161537631734219315460854241129954065324891441605261162585191512382993433547823646231695174871722335118541946254375876633723222894233829752951900512255174743743398228541675342753142489232552549441997881433551542365115251752581785713553649427531711561109505227311659065021543058181458602284921844526471449365471419374165817316821350711207297157362933261230985109568364113642113364907374646814553827743467041290921976082201949320204512152542108420572254441228811414453457122343252198313758328901415469647427711584385204225251132286322336713711311434289551589227284106455924232147591162136656043431194673174352179547551215584185212636414926884319112322821145035831365364235276258222838314622251097353776625120225854732261320813269398403765496441194128805317662561560235245626546816253385126260477758338258221271192279346208341535218126213755321292713661581578824411402405024115614355714352283728126863459770044133488364149884800921110178874722662225016729998586521434954141511123394423241404534411852523586311605764145435243239521278244431196461611105851151232984257141288262421676242934365541034918750421061851094263522118413262557524669423337837329825032298227312274634721440123774784541116127433378127521120245736621585478960407568573712025471369522646010051318592828688341492083865026661143339503487931565715766981346436719429721326956442516522471673534028126285649411321312236565895234612114482242798224708916999420702573811361675354634258532963194151762044978189119231142852181531361473276723394229222468548971623641547919414544034415416627179822294195427827559646323311147174127160422581999549543244875139545910415371641715629556727386145952166831736187220247561459471211266640627013253227428116518632929839131767416330774790413915007140872414372654624692616133736942232810673743576352316482193993474632310615327612452165340175254293964363521919637131342287824633433292468344228645816342749662232410638421618174020520472762718589524452110425893733769252195123336015414441937592482321472712181265382323746224630972507342704444506427963024334289145723755615767124352144257241946582151122092228247511434812632411223315624622443244110212927676579358953456589212620278251565326631241431371678473185326940243447113580322411226292414013280107147199864518274141218131828345458952889154434459528971032917214026936133142053321514311321203822965307235273141191773152621436434110413119412485911852844796133449790574398343411653531244453425923503845829553822591838559647255064354431613438038136321712308141336533999943349276183874265032419972259893551326218362142034515991833869531445558819966025685234428836282888214232386150716432533238042874457443244613732678012821942131813184277265354228305351743331835872089387652442057248214166601218403677493432174943208114378162362769233016358141620410134751693233619422879254422463069515028326610226685011349155814453185714668541363557336176282423688193264513567517354812332193001141492324679822852225513518047874237821765867462111640552285581169533115114228767263471931368662213471308371647723149727665451356421916488490255268411130839307258324679367144178523938513933716523814476245398815275801756446666495121134003039267639157416143938019232533937124479535122032442212586234935701317165684675185457536135145876018523942817751747322962232943132598925367198214867842292973373845541359718241933849392734124014526572342543023973901801556166619248234112918317106106214408374682607441162231882096545347732744193639792661455365085368664626159102962369124579053352602426328464284297148582954692151227096729424894764702062391314316123872251686262511516575243637642057168113155150247221672422611368961231931947526211161915382412515297134841234807716529448920453163489317635159586656319268153867904187115556601146368133629751662410436156213673821132779365217662041713884864338683137732461103177610117147136312075315590841038229584895453122281391236834547320027179227207325114511225323135757316300615892133743974813125401435285243355811520819556778178542361166312345401653146452575587769355746113513445501914364453427159261648623333084341225964159627216513221232981935157255523720464031780053391934225397114316082434966039871852754831890278794157215533385617427422552496175720422157531805287325556695824883516192147783595666313841181574741726166301554113535475345560371401395371492237286294328922234482211972581017199941004631571776125224924136011672231921653114377223461344514466119532732111514812355477432663235583285153047791135954446255193233114241296266695392522062176239967953095041565152121461373151589502571302215582755363114416608469213453248616453797653522273516253420817280629775645206305622143600442322965211511362289121167716246714145639628715782117146586033525285881615047575947948822816309863367218434496544202102035937361051258274184439237156398981216412229016814562215185650336742353542391213372163416813743373606612250282711567411599135114132655420127445250276521366771365106311912123552654665146457811991148153447491535461491540513185215523471752561375363122023026537013311512461242217319096226124125152576171460539335472163522399282915451153836560623350205208425696314233523518634650854201954064285591694512057654254385494332373284113615411911117999507665235415244748886519532067196534275499142714811402455336135292144953785573324998963588447126923143721532411855721928614356225210655241893018526250021488835522329742543043732425927141181347639602257706490022494098472051185221354866546543344041508135289518542461773125464511729931051496322595233031331812201303135115613524436714952214322455617416606442714319663258151418461412585469647656711624211833113124118538531716536863053477253206617513231151155366112419371695561608532715957781186789946382561534602741052142472794212274378276138521722955681906777946741831841282045619266361858238552112149583396361721653863893441243344551445907520251826111722288016150672255686212279014812145504175839167314380130166228048364155323539875273531853721388618635589626562353331443793172146721334135112829278147192294686419756245662322529329463339365995254197131115115127810742117736135792750647452411841159037352951241524929861144656198886733607997317355333153173433559714552402611246708361443010953666413297084106353626295272786087242191933860754418453157348506777315555163341150285625614171395578498725159028135523263343522122114488347557115328455802710645255461212241525118890656825145524065841062255566794144902574490605327532526193798019221628274345878482645052721430241623981326859581221547321660977974484401210137596556492530102390046259157428450261449349858583151221220760688267363411424015413246341641219173737583602733971559193622548117482591883943767151329226548510275148592543012147522891733282415266222451365584263149328512722641144117854541293765636226647385921332141224696933596644399410525251564855722335104642442896168618461450635015735313018212610338388854516812222122017883272761954152481111832531137423952572032319599179508132287619221551149244623333311954136535183424081316668361637421644628413131181393612253282561322121242141552213021557441224365042324035173226533902212413431918651741461985701804125918326725692851304246116230103920337130072579561219885470672534273188417943830141434765313248427152233124898226128965431754336187527665557493166755282591941217171463108594136544033948524529122689311121127764395622127634851753526527431731695221515461884917211474822532459181242680235255613045438415081173613834775546235336457229519187515915797584445009588143626658413933918280498275998257204384514936974439474431455832699511455315361626377066598175165335827133159145433172222058255332111832155282518731632945069729003121618521615243469351720146215417323533541713915159643413558466757514121412168211484565446636480929917890311745024775442881151191571611216928732474133740950914547424059362616165935111331684438324654651266243137114232323520612218843117512633416762249735246103252804103107048394151587671783366435345212353711765722534329252435447192173502742539443162391247611315322033356176818540313161513640654890531526112810245866855861519445698818172957115723631348453716911248696661781359112457573038015389427329114378515654021492448346627346115127417404002631145696782703152474256976944893756423620158640412331728155013741558063623727367432962662427714122141313515231276147698337263228595731912512136492861128877873335266687885446636022413997585644130479326180135611366113323592882274437133156211568563536994445117524107284134241973866212017117533792483724713293112994488243611346613194190147146253354676273355150355554648831119668446455166944424263414927152137127233164645312867632212043765153794187553913622513147526636772465024721894622237646857743840585531305214156694316278411885417237342147820322122988342441124914771475691578224614396892372331312173226331513552968161478386312156546918233725684291117525718400438271885126488611637858111101223785295392373887447391255381418254352121363335111515246891142271835696915298898583082654562536715554111462226734838354632549723601192315622141232211611122743365931111422641789222386123249122518555013596431857664341275341563331555495713151953733957629621475711937741711234311720094132226233758126223124138134609127141526997374687461414195233662297533630255044184941563561339310683262244789905720150316962321812777132124659541467961023246152231311106115962587916942493051526332067775931470527363436865145185374654209312879334791635597436725662211573753873516154931957251332731615505232025123218213112412266284036893233232234248625521185374115636437268843534826623686384515549631839143072171737231275226491245795212562844187731143139552261447841991485935321343401092146675788414414776608348784257329723152662481543141498389024234635558373793121631158344262571116375819442846633989791413182717457624186338521895927515832349142730431445315282098216365031124621079329856922348886243019764258408980513178301552613223624484753342746478332688894254291217533552722937117452521840221624545317178342671592334821493227475113132162141821424479605684611152766314339510835136141632271362849105426151202661566127695743127986282383282256565514449759595564326172110424629575194723843247572210564169548742285357114737423691624972548652996848951959193168732062321950593251383228114414797513531015280244103737103635301481125222428575355218528101256346531519414122175217422718409164499138414912361256276170896756776164645353453533621237648836523416620336304951731254312427839529011718612551366687231431143939129451502784266712215314293221596710970257141414333322443813028659523397328693136289142475159431503128222439611559212323566042706318432304634212111546034936736754767816963812341716414830158023343187515381291515094320902613647414226655248475210121390847253181782664801711442927112216367221130087524623113636746353832942167052125121876861334232568886156635482216424722147972357660605328566069634574296144472296242395621421993590146404308674866251251414763848502674319406514451464376429425277411584139221583146268467423356071252327716756712044155347248563335214941459834885609845898424931514852994842278548723838919421567481351364636273231242934545203789345325344880657124501713724244833542515525919326113231526842388442538615582591982117652674627831172130183731202175764071435212733515631175613653934925823649161335515147263111262524976499361513254856165272320767687340257217863881143853838464332931217373385971153363137865796169776291380212967969347662325625448219598382841722312816485232021530283681696443316326918332003331233164840569853451117907114493446251658334673509813366251534022643214801926111211221516116212585271164422272532519217341176364235985675183212117933953824122237215469118621541466111324113464583489298526788739257926514153864877586316203374443414784215872061527218193057978018783748468668224779222248551565368637244115031192532344285369345586984672812281516923597861323161915392123315485243317334612847351147554646171080674504354261722189310843995617337300216333234114074222176831253227812253514933278260179988306368341232224665013308634984941384111416191195793181423323745232582250413222916851442391222441744112348663563671262125536716987944837452453123934022795813271412521941312137130822842396639262959272444683122244961624242726435384313510764102222511142034137418382432366812099782435831431291361454158673644913542363681369266383931183711298236178747463266313526719619143805315367372632722573664551383130111455650231341574124731106196256465143376634424015696917144526574343472531114672034323435635414055132784157262431510712537537553328657651742067361772923241631474150069217724644449735426225218877366503641223568312592045477792151429730953434317866397465615773672741538179003531215810256632746402189462598457247181521742255174119352223228329156845637314834264414036629037122311413895451825851694372122576141364226262117136959644073459544421863222317921779916461171024973619544777358171813878732613457375188672726801525700428025625239549363657222632430332292972625619314316137791353851191893438435125642374173311173136291272555261178913353265875343413925570080263819293729224121533344771198210513583554241525615181484758283724217235482407316324043307578676258421646556762726586829628731305715126649482227741409304354167332718441602660169285144109183696572401734435273475637857181179321742522272100704655412026138691481173690125033854902106873556984366727617639143172245910156896829112116430215273180134835954342924245320225741615007217150228757192711143323522729457150325848863758869885172365530635131123141259760221624455461014261228597646745172123993465181821627711111442445982222442317807816114255206928199745112536244713451624138706517942381871246515732965811150672111322151077869937343188921765162153513218153238324757517948822664796692917913343036557523204733931524637387311611159323711246624682310315651887852302731764569963885138271991154119412831387257829828054442516253411185544234342346945329266546783811022103230933936412942248530542847752552627725416339122127969791799635522089455203435512441641621674768168408514161644431668344277341421616116044513962274325916312014549291514645264421211538116055213516385342314377368474442344735100583585109246622229232245063324141123587662677344233056432173413236356478245536096347630310234213816444722468946465242198174355545694542914321422510221514955632117380215413269558964185115662814284118291853616825642130141221615551216283637651932175336293834222483917310437453321463265347535216769382473771826385879425851224177221816072760715827705412387175036822399662119663393559213361296515352385016028176112436546790873292866841100419951727344561462426145117067574124583734135505333292185021483662542835121555552835635931742613698636334334831569471594889269166750648341535178436398113926854154572845931191559399465252683293102740963442335371331415572576505541993228164278674158951589441169626393189906442101521725832614730156841411912122939233154959134231621542642369732368311216652471616112983637325113321452147281143247324423153221311932488764756428323671181475545111373574533751087177245139453018961632221652721816355909316315759672742259321260150321668353914083535235412452286053572990464825682683391860923174774443415422428112644636522736264058222126214532851761565647714841391816429565900493073384473952114621185133857431262335197253288232716452180329145360881206781176421155625142549514674213451341642513236124931168183916272623364112126212631325386189022612099494386811770155011134862632151465162486252622256512184259326173481145611881011655297736303674969043058833246684418548105163246793119413385218611947636379531495572338691863634563597472581861136493228657031134922497321749423722227997867214355636418154765521048273426395432838117787853751948313366176011346228759752530739612122387917310333484223743183001479453643782063618445341899389565859194333446522094231862288914719748431335929533825622206197757496372998521225555126582641298258624411685141674213331522254331772517616827629606310141349273312478914342417245476161892155212442392741223152222633310794846551519532691339713391513160273172882837264448658715115644814147827236743436589175063610037352817155141162261759828627211934194311319529037345566123700825333633117011541572455159878199536658661212163274413515976245556424773723116154148958132454542540373915184647495693263017451432845298014633174434662181553311576350342712155167855322421213315628189781769174213273343343516193938341710646613856862655531141494311575231221242884033215281478216586343717557175455246130222520947849730519953431445344114754675404113544241352902163892234979637631862261136549243861235109132312808453683495355172718851580616781210266447984573142848655647181240442604462411217957311327901352653136384357471803496121353214198826481786619819865777131416447344288363461410734260112411282311284896496328242147729266611163633748367113366586746352268595521626195742198759368545181653512525723423365337276635622140069202726001137121681233717339761545272127157483624242624822751856856644921435362760934182242312209373174129285222321728906121043631575710536373610985351383719243563996913939548642464221863361580426416274611140048964546513345114261954905181652461408434935343923458483782407085413573836151625221312145741526497987545294894645944660287529333954231289141431127991012742366586473557694416891517133711269486799747221517219523442121166247691171615226520263413952768350823516214292818665173763450436534673142965277731122018163312222423237864886945266235017182173914763142153132245974958223127247748611493783331164355387352199511282311945112604194253924133321445174416364922372513581154244936333253290922713163013252769426659219233157251443346174423751276651742512673369531452892337362875845141484506703348562128117832396582549926505661283145896220467194311676133559217714218755345213434731379671118781065026833038062332663680638824618025761525219675455261646314934443245319327039522835463767404165234585125228113550715142399372532638195802876548731245495715594513529252244580523364832521207192167332331329742853493508097030124129445448082966532343612182636223332321639347355328314232613498410464438214433125787398698616812919217425725226359975315837156688974172136291357663543346131446361290222774184638169141131534617333346402451517482061751319812528905388133131192665646216173211621348197927886982271465856381619004539111543411742563216758402918262314072923531571177159681951772470090243575536371253669314345863246786383363548835119765332691840186664636492122517335693156661934233476331036911677921721823542726997334236803203636422273631286379321584266192559119391279983254241945107634252928972871112346986139856132325715131861639586746739321587412111420486344194892243784186933811475107262221867521963772291276726247429228441994355522192852342070729829776633516414792353156936943819973613112116208914356363327875852115139525917320519524852675768135826413273484517797117475925124323676519723856133318133253275316893895032328047537382614111141717592417303357618746841611922513413191278945255251540622112384744092272177192387561364692131465279944722123162823322835269243036755951932013474141121210415723610812813910546044742184921225014143336120717632712791017493328257445329476144316778362540850216223111721544528602231396623418121774756252136851848934503674229446495651722417335413603174687616154708324091627565323234339413783341712733333152213161771281521262686127649268313489323434560918231256516653449655877321593781253244964635742942216145624344587142401633652244101354766083756181215347234515435170515552113627291227316457747286839961745196574251511789133481510031974499553016675195328509716103213164537473019624893097767641347643716154655325131176561616511002642231315541618846628264148282117481881225346137107211551425714566799862699994317865536321231162633842324533574592500813137619233950244656561150423817985328947603874554638513924471526731734681521784365858545834444297742826231189471846383765111964212356621352231163108695852313572541715436182262556367152731148512615339181282136186078433411481257725536484358937596579361220634893123155261821784160128252475852985843245524582581213885472995630134655938912894543266393931388955479453307034215125289121822216162478716227889911432384293285681954725221571451201771659991610114158628748644271632571236173249266396331411447451755153387295116199385753161778710492527256165212729578563317136991390681337825687192517492174654213135210365855343283717143805332724047562629994941372516155426538113451916346414893655624638023072901928027971812545387436623665421832288424051453277627121524631191852213527374256658363232873121813721138189215508534798191222272653421436336327614427543274101623957498672357894341343361135594257201681647142135426665131888236114834551458233375348076615147859451778524773665063855731771342137725273419513885371774399345474658365061941891245113797362631459029151415223263707431626267275229278277376136110111652928654255613383832113514134315422681556561726688277196237351013569282611884453333166261637444581139928822164355572216046162742483383737066818441478369251733641843476331511510634312518061408424943198118218364469594334422115923342322929622166221724151443719363553566091419473816732132149520864530551228872142292262622122551183442161353542124317508443244751915644588335572568373426446697531423183794247053895022109621252391212535153266401047472252548499428324693656123149083144574212458342112416063943481143854423383788211549867442328441395344431982241199129253948374530201314481516614657993903960807473843817198545818494440716345289206556917545126552723854144102533112511813538485428731474861476406884322339873119845549862768713645553324853344339274512352170121841581482731574541224155163820573033385763653697237353111872222335696315321217572480276340823351823311131594623761743969511680633316935371463625165083276834161171901196494548133557232765113928026716369076209428562114575727251196523214431325163732841264274120808364514478348488916247227272235594478825332943965283312633219694211552551332174566935126253201393441594273413152201222404121180734532633715111676454140128378313348136114555735264633222584224147059197342453221978912333841126710719454524122562611771665437921625685426515368667272207319887862026224967165791464309296852232178741861422506443301193038674140964250599215475047493423641717333152133769152021267395661261967705773256153172543887653712923464114138345541812647127724451529292487324333134198992342933310624182219545285362113045703743225296442116914222125385416243991455912372525509323225171554088326383144177784452176249221369412749145131377938211166827457051698172343856481408105717952625713299321451750877232413626358665441671194962524524922437207886163677022221758068462875876555229453481136826512147831519923042414935284477421224497260644456432511642593334346561219182417701923722307594752011960854732144236722195236211717435831424972332847132713415071491647365577921812565388924174291515018542134503522239118317518292277243115525875237173461462525181495323823036174165231293631213411551190406121548637559826212346419287670343488435350876351276735633747744532932156065122391634642188816315262559615067231527171334741131634936673722431253541511448102449324446735890819821792741758886328236115540103541129913622464733293382937321135685333114544581739306473312615286141283171797051242253164340343826657289694919247556999659695130235068598721926853277548343132226658661812121376133541561744635446171235722642661252838177479755172410318298503225559111243392452798194315298611425337565612564519147152224525178463774311757265922695203242516147412406795864242353230454828167485029141951759932191523311821012522882910417723722639242716133893911674316475422167566731113538032984398298762159645613424895772753554878363537585546029244164977573347998707274341272924712225317522912267353392746736617316164911847040915011861432236162699693918328332683764578635173356536181099519292118467176435088364636117980091632473037657396436121115834177402732381814329293181485790032367014661235445471832212115383220646632299726376311162352778113946747537235418324122516924023625622202837253762511582721714993315933140162837776358605361248926282243392638956184248444763035213454245231672637015754324966130404373128646514856661161534921650115227533712760058334767313688127431421733310823739308012763287004212745224017337135445933126018652262524520876222681908532202318246287654346034226573342322510243433232281612111131045416157135313829141146059963598231492712558671328246241859276834686325935567511274326138191632148693244346181663947060656724311227381923621213795249349534994563415832549972311462129431174503855864629041258571931231331122146475854624989476729320248417729528444491194341363753369389511125341515123667222919952327722317346217622331695469430864504576230413434163402434127412353157334529422851412152111757751005602841084271272361313871015426457721235325211834815362157071101771691243412458776633368154287026631157154561287318342972163633344236123918499551411532518226413637422011502674012074317441451581363973614502117148731456803378909552246190242232245549847990255143268468666480196251553578897198463910827101263550416862441281323151732055157154122836478263322359392344647342494248287751544563181914242894436491335603414504159595562113511578554295959175321333321091252502218974163287198465873455517331726051460256642308553853833544533502643538575724402868643139791575618352026437882312531957151517754513113375622826544297586213136201227459831318381053974661327657192167423315466186154195609312351654053614660941526115559765155276479136123115261128113396344721332156452432355877739802635147645682824746941589647368497229443974799137434317208271215605119375197712335622134972442981122432680120127956712510562331397305562522125501978531785313144423961686210321861061624712412662743207335392377384199111124955393114639433566821221214027667353166044584206281192621452823472239325851633114367047391487561624148222474424260246837171256121561447149629124621866423653471214988077052942319378973666162664247041242455206173296157558244311608525284146908553623358088811156516987162413437866135349167366917776673508154932345821082925666268982213128134746652919231365429678611654771181442744442272311648162692836904359115982144605115344584985953372275331214776115537361124131822773554314739109555462785279243243686351176587312168918283291241657848416412365265754185421675652672634493902205342123233801358521438711534148113111308265215261898824222711866246335751272331205223411617173152517515749356672644452053672572419063613385111192228411236897588091526175217323218384294763363131227810110821941183728556234955548523190983715539344697694311601328369188176848351662503314711366113579328440111424235647045450429325596241313953421836321087533111696873216981227855925379851525952032163265364532799029637361933042963796060312001227828410351417402332784721112112795674534555367691616291818241472522364518818884101643013661057403862802123175177655922559498484191531872152206952892682140267331163170975825214811212182711299513736244815585154452355183626899611921429848292113816665291943242818153108892135483352052145871517375616761323169971716751635233513415405261432946331843714280952972665454841284097040534736134581434225145987739127333833534666748718428386651634003224015714128615412928814112541153814861551713233922408469812922853911331881236672936652943194871471681113258293359915776652222563135672215224301732511732715434336326217435333347855876325334111274229958741257167501441742762119845121251237559112353871333513512945562845487995669315355787962294628967113011826656912142124338129268351597456913135132914779100243995278305867133601339915323325512701754411735265988381682425402865423117760371365862509749832635733869471418426511113486361520518487822609994031443352264588275455382199862254945515123274744052525412334531721321261433121641585229989137593340612441525483455851663435564042027443514037795787186945234221128321133368464151827143636765985245257630032142281754326161875656552713313922119153954671472847446928523130653822459463778345104747366372442738016306511334192054223331860346539136101719283132114866958931154521041268136349422799039534579292260912851682564272141399913323595235423245905410938423411722964492494333144965369411541535109595145012548561114263421467452841322333352252569167524159873462473835231637146397432325643368591554131736761391857639111541022789445191492137653055350652971914933261551224250895529341312863632916627283557244491491380751715778481517824315441716615962918463542667466336163019294161255861307861631651745633158122283706526781572363431155177417239320552519668166251081611952511258851411285256531261817272312732295434364021872372143216118530335626212343138751416124543415824491972811411984415220333834117151181142523695763604174919624625747025135550382461287759263222657340149966943620125933537424833985806513314342063017522184162327376694445596323462464278819541956420477263766756862417099317255912210086190742382252112711292380476423999511453265644262266612999239830399161643687332871147392342942721032318883205393252835533126334426488486812707467370475178742284042556815517137232315356457529241153325626757564313441739213684562311768217947651354741266551984278164312111648214408158694721119749877231430409527611157614101546532816782231615516610344002122375552464626134572335948293079216143243386612209509872634618865832217827445701474152411624363624755106641349753113337303034893592583147251690478751457347119246434453592852930318589426712551415293413519243021427334355287912462074793286148895411263413120977316205631943511824808511332312915494456879481312621835544331223593392142191930558130882511905954825335156421867158627552862255755793261342462558227474585742224303678455818825842157789214102600143041423613188198827551742855963634237121660462519890414192931402313237516933132124457582912646300324383632928641494203111121488158286535349620266261184693233175159161826678195261361846452166071338940924625213473513462641932717875475476742923104787288861982729496415289931923287933270581854143050537323271476119229663845492122311745741136329294801577533263811311292036511563658728521543269651932233538565431115515930862819514195002467779231488919992842264474653817332296472563437988444113163042193317628193599262148596433445224715875544217445142964778315426282115599223376458466113133430148613279844554184283831573527267491915928752752452895684914321509124352634381454739271233262064921211151365345214185825119547606757012146736571233732635721561241042272331646441855677233321517786134835348325122818135484726334348086748115380362143336238442578227474215942066212644327476465877111220462650342295120461161482737852474213511021144316941937436359411436421222873449664632133790314284774733472812152275618492962915340433468482251469454112175647997213425118138628481573743316918065771680227322564552951481119436872411156237373541241321191123627914554338710301143844373314149260280361547122928732521675214795471026541363735267563331775104288578224261279885613629115362423526111066521512622452697865223243210580181182146646992101513166095524831326392223844217714632725111477716162458364611771940532123013136654384323184100106729143562332552432022143623451218411315336187265327491943655121726074811026755612616551984701287456737198948136786433773642383477656006447623429132111154351226143454516487403413231211411213156931593211234151228448121016432661413166665215144159351036795150317244561131185133829833246297841264812718831223817456835179450501838349123654712852641187124213263065266223261632423048834114267315157116347325191241114605435152721667592627255112122874572997909305434439376353083320985278189502231833518676399561797514274891524579566911882146963361618271154211131231163804825767552214730386055811321486521083211482651742613688112412432436966578815288887336171311200743428452744355151684652153724749266250024142164222983156512616131582402561387254921723690701239314174038943573446193213693523205561139519216119899707229292912134321349943922890114513931284244668522316522333572825914594683163139965196004391950124111451833425213222832298129126942645462308555335345561104130271960314332960101150127617261478612888467368104286111573211298332433137900975632142473421236224138661007410384354182115436847322646221911664751214147621553416954544585645183504064927714822524828360191645857531361768123702613125538624139632342295457456167731439122027921645603612828261317434258724925397210539925176521477482431783116735145188734722615973534412168636614346286874133313548767419253102224336392131151919140653606885657644110132541546469173515377557869536322463378652482239551130878399564537151627864513136345382521102711336263222914195615864425571650351120616406997312937313352383314318395235494317981443048588333121112927155958173237367541169434181327243499300662636578792447262022433925235298485633456678619387716149452345525933939467458333622526171545301927431273180620940597762137232255123153458434464133681752120694503214972489466783442264511673044336911273152463296879717124716951314833812489753821495296738123308459455102034806851121491436115446097144142842533152675213335665232237128111662251131573315457755407452442147225357967584252140458347228284435952573223617335719135401176315756142631112833059248723173593713404523844605802883242513263541456754743106627236512786235581533569264565862332525643833663611827527212344876432599823212179044659528453554507583341269432161213231214014398146472325351433217255108398131513575117486643215592137685401231426461593753396332372999982711163175441995463814695227211287613715776422317226165313160905607317854764224187754322476397161241975112356089750443245813349633474278555363129115622237089122105960854734083704437528572288775143896312081730547693356559223524922143622442487452983684121302689794326127115620341565228445771814011162116912387241111266205121562920153513611422142611415199127294993573708163422925521373917264519164463567853334277120938654122763210181635188554153664876136325540468782832053394366825263815830524032299887038523820983537381879142399222131410454560518626312631127238723523155389144462349307136161380367936236427934314496046437363564432218548621126321438717539447674576239983273556891794571211962562441420525414862945147863588997431642115122433992825273125876309424522231233491163271551365425669979160561351463116532479847591524231222677202862151501256313142232911271792121441227431173343164071524121446623791271231513510733624212811085216703341184592463113967496544746955215173719125711247291394146911972742715833996474105275699421334216511551410416196128282237426574242194504191824415523112242518397374348452659725711561421313206355952263578111475025319586144958015451293114365368311322340432532148712351349417561689942221527371790904422553527017581116155425818933313443183619367771397178136761225188011182263338315775016115465151169717431561439143413051752598526423368374331465212615998644943320221251249379867103053121327491484611955257132047214679695530423186653454155384226834608163534143505367653866241189032213488448258682625536198496429211245833081393928769827314605150901707453357812659345270093828561892576809349743221938834583142974742645139823822022342579186450248969148839121344909729244394278922833225451134719438527261651061532657286910633423513134127831105321744797232303121822267325522336956134143565721651582311018825138367679171094321534565421465054189225191534398625421511340405222249259139352374297526245258243416577595391632814541633613143731217656494173338545847492151428262858627250473774337046422451893464233382472860141177539291962113509193725753841411187739257854362106212867721413893242565239135144133917400343222222093233743911501421312112532740364916240329363637916467511255522966224155451378650850765855226231269245154945496646952104414370932935263931916468424059797227014475279386211295571736861978318876472259174122614248359117283591835026321668991324387175431403145274169506864963911541782416723824562465748755366867886784841545463617634566210825449615396233563833163111241313425530446328581017021185595307718151736875228262155114495628416821457841596208963820546474114485564996858498531774815384292712672614504222182981465929537595513924111382230577882741326117381067774925143043781707837212424525297832259815481585157914317151922602265841165873666549901274902574321821235411283100756579491501309199070815207387304254126167147145439318833224444325711845121663931795056418513143559452551259217012838250798443702172949635661621200356213413971329139895729319916032031530416516893526016571689313279195348450695213983844248194152162352305530180733751222472933115323733011197696139834816198924742383347597221319354236332223048683207462826385789085213819736929340638181170194716264628052924340138527615419749939237672401495156645981483013784154502257606256432637489151614311071156693464713967744752521272754564179147057201113274348138215419438521928813346355539276512938284942121293930521755275692178516247592646269151254735833214918907646009718568555538213245251445635324252728724853642412118351371381742515183208838451419161591381616333145031816397955296582919422491142705223356651612553862138529614939476048237033653333604543659155125743930413129753732654210364331518538418494674164765366551687257822977677432134731572211255824500213227314356400214715332960391632292462915704684528236713422615412742676275322451995282785974361422111677361733251881272647152857742511441561913485247516234593331623181383510257982986267648489153314143114784142367385500832131834754144166190833892214253378437106311646671154519515267521815667655017346537126103847414751156311548552835813297940715328326837531176624484242796045827219683017353576388033452116305155923424822112136220932325675535370419270479427434522555844568355691144877922281517232241435516915098242957616815214954304634417434791441303158247435459186475133468583612910077905379945469227248632882367338474329199745453956618363280931803147321549582681114432846454963986515363147518136683401427542461744248146870152029458111347313152593015161124412466359262477614993235258566381213122272848329616284346202376333155830404355312227482327337392470658462218766193176118481247313146112493256024675212542837411921481429231871574293087491633311986711234511718153515888624463945214012546323741387652418375422146049011222212254440815921524376241373164331240544329431247244732276808258341797988715714933399114751448773186953231142919634570111464902769491228043112016769228212212537122659639305534827313282241119851338377579215813146142732622223340922154523173717322911173784847920217822143062927518177815997947115931542511384956288631213652616213824224714545571392609283037627560602333576284639244751625844532822253242392317522223381749534915838417323506922745367511031828511574323697318231571019815111791126417163052229717454127451827524362147154452463124331637716174665445135124903278182253843005615665597263276734749097263294611234843642218421614812463524471268032286255259291433284275811421115703692136729158514867322362498195124594229314717532357205320633185823827267382638246168014916247013621318372586748993242148550572823342467658943231288654322961312681239275846141693196451147749106229112732426980793193343434996180823613818841629159942852420432311896319118133223707027051592259418397617935043171312838614265433252777233732424224644065244229502745191854192768699413357932565681642024642285237445368633256758651468372317431320395854911256614888474311211921935451259322276132671242353544493624901346117429817771848552029766532484212393292368096329217841128414727229852543977835314642592144011847051696274611447256164122803467476816353955113317165429241312411795911137635954664734892712143517433636265164121229340529270846223397193867426923039641382088992391365531542775783692261478327162631516013732211634813326351337601539427118337634528521888535592853544174522694049312922768413255332883773868027511162197925330816172614429246131503212712253533777666374124153225486542140491526401772235180069620874720996133698451662173108524943415102432558219893763926231125229564446302166831281713155215913304397211755384128464482345426332018312212218953523201413753499915329913980543423421141711689326013390741226267232829495949972481443146137112536437623511647335696121246626431152224168114127915375555260734233051220232216143912437923825155791604441349725993317824446383740653832935631103423715172266837291185902646313155448745415146263142921167261046930638274135176477369446870265577392165376407013812419510937753683127188514559368246637233314382136641715642359343361252887335331628311130911524715199716213919167259513728211334283462633635261363775861556661229141150822577366021618238422021695467316424616471647454331132126324381834153118316924240790592753202416246518101218662341347711662121355361128122542310571050952881726472906922373105562361755743696484233821553681829830732366794322404783921611796399234564045421251316933941272983363876758899540122233484215446032942976912237727655262263347359531862483469284323084185273316555625753524166111173920394515476386392819422334425852851691281528211467322015437452121243387645444939224461324434263265223566735886517482104411739606152291223615497412193677923264344057009592621278685613246086555864262608755172942389997401211614085351536321981861193321356966372631176576448293318674041852293323531551503243817338155128321782165554073182631305874421181822556432789776367808752432558723653551252242951351113212615439584256531648329633233488477661249775137624829463166352664244553333196527152813328216183061541281542574150256721229232136568542982854154311432643745751274894592251177131022618356234151512543911211514385562159591635721693509467923662523406734112329222959185671315272123125216134323235814776942768216752176312641882663505956303110641114506872218332009342164541211243135231935366915248336621642153317614884402821265541285076113384664931653684858765566364412025304455502788422372926016011325148116893174473175223411739208197751723278762888463812543434217251047083378139110419655628452455382353220428562911819313349712928335521254937454475110315203421265142486349082123560122122464068842344222977645313566461955255528660521379638101723594632042397482495420469219365291896912676838426125368913823132543867485243332514934647481433447782225747834166319125175829047374926698254516693887141628331528282306337234145273219182127117171936742674117126666526611471019016441626335365278553351574277621304333162119569191611841454166151904181234844242130272917525753658501717522275208231222842125213120653533620329234221724863920916016214143641187146213935834253323234865361140835318835215435341592427467413210253742374290682453423251354492514250321456837224850584169213222625381363060252429476388314396052643934276017538230551514975335126475415687714412628972712839750350517864181141474625848031023497974164273129548607988332829913865714221751572545632777197623501725640036892198227113962355651398389266167162250245030541743677571682544425949231239441994115273098048332117143265015402531212422945364740144137144309885276827172947259844179423298375322357520317123671173522752311241805241332427749150923325078714036364965343333338945216342406062391302485369911427287152362633581554484763223842586853272846233844758121520591317426873466945546129575844453936212458602181142645025622135411411343156623411888213373514363476451314014080704346260852962817162817793475222264393301612674192179448835456141494126246637641482113702331327521359648239214855137284428242301226475426211144580392528126724177521511860744792695690223414527392946324116232140182223791360434928223491189624323448628644546623143279143235450722381318912310343543598112936996149860555240162608319201132989364514252918616886251383230613035418914928279456875681161889534234576122045683153214284314842856976883234465224142453544155134336991230383145139437537372531712751229821587599180627382233376851733723431349113162162661343619947422123130447912961843285146274732754484643528127141462656928388797740161217556230932552913542956714672832881214571188823981716458565356432135914757851118205836741853653363369545195331014292996237383881400752474536415149684551233964536824795521722285485077931754056872274523265322615113231347544346721372568111679162416249561436177625998121374244332858232187795733756256603381491816944183380795820337921737171241865365717311199118917251747554298263877125261312529352683486860614693713215234387213458613474132914264984275315171912125641276713533396341313813424417930474112734252136248450223241839641654523117010447333242406582622262762635479532213462316128426766885161253336131776379748514569166013441535312465717661112131222061561091512040504241338274748750443241239192961890772936363163237538178237961422411743327461236266264569626114418891413591251623414171665119757813107539711738532242586461525418120334543513129236562231145927274566146347545120653434425232252250126651952328115734274384245261445102252432462294612608233421322642483167611784252825532349727884757655424424511466314104418444358622166619116104833972853249622874233181521138955452344852276818892232127820550469371282570621242246513436827415128863612784846768389869244837655813163274674558256512336433264759497769266163486947846558544731906084841208764863602214345896149169269901744063519166541516081742157382145342505141354558223464816638426729951921684698424445367916123634238378221764324455410166736472412745858924414547333351094458152674413765748857380279867519437701721222444352343257177621277959206813486215662911772194527170720993117262984132483424622729341081057225666816152517283199536851340574834023171638336533345128560460126939424146874764121192738035765934589614252593989863790804433313303603844262846656171749537562885025732371827365734221536513496269683932391162291911358342552538127632459744311375343838334421967578123294176262001886140523429442292490803333813295253281294323555848794528343255919411242152148300263380142387382831638491411962564202219836811942153622834445211744334364112837162251635673275212705471459433604994462129649221214058926401611276422724533192164541111459653382119426311275391625561798899902877282303154785192771054147145366062657636847141784385501619775741709064537613924182776872642676311622287833128540370453339041982173529877115832421039122115653261934194804523114214613159153814421794129756860712324183609167433314112143416986298521516097622314226732749770912422804846841113243912199551240042718272685586226333032623119227228925437461636421861204127622332414401667795215053617263712131269722713243663972157834972708345702243762825454559220121369466009212080153229935344773332840232868869492195154839143414839954182203623574804323664116948132947494121762134325532427415802668252213333593439731418254282278742966836919732542723862323219103273568362428245154529216851769134747258671487286377578135423947244262498347441121134285575313313437445471415941801231354014587739136179316698154991666782437263578412424101533256111542541904858822815556514613026565234241142442721556372449078703040725953522294116563744135091723221714493323213271711059563153495818288188354230244258153121348266368412215110592356199315313312334826743660483233221727931144731150783775916182317141111132498067583577852279263503463729188578134385812522394566662136109573374110537715971433872059116597526371122576368763819302577126170624123874512242633166562475654252081451253385132323249585161998846535831214710303532445523848162134324282254512129696124461538335848438005643757888174939869211301222675606606102796328328531887727397125913754385373155626853754742520475107484426183410186581131429165566991268268292824144111547576839191851623546115892186323318422837519224327628013752424993281144629781922504241313371278911236540518754171844571513163102777714218927782391350653299384635328489166645107531254538243103582517596314767180296113824112418620101813451521646250622472972599587211552045551117318585626117914132130531114282403467221312753521437550818618613213656748394354991262465152174144151632221169552229522162525262942123138700025119319301182282865179442866918010613612318661618694424436833575223186591722366594572593005467238227224831373126524972421152334562342411642132676134342681325837148559073535712369233123931122621422888462019292646446588378066564120665964558358874345263551223422146164693724126081117388742435552621211223914931361228249640567665956119534521181534191441199948986531642963542733157351558466594346165318736841175115561534812581026312721282226632737858573928621638312165308884525464527285323258422388524637133218132552421128793328178437318211953867245631600126950913206531856622382281414863471414684361232562671124543297160162562015322221939323203469727215822775642692743177122132439546231217471978469038389178741194503291885228185198375743555856236223556698360541457236011469570124370483334444344642061891261589371137460146984152527724242115881014044326155152558222435220492923321328474487201140132851437265731525616111812312765432346368316005196042630139213181326876672221513538291915925366662271986861264945111115218917569775927428712139649842674516665631727411513538885252121307745004905419332431247963242645647672518732465145169643315626597425626944760351780513816222523198374602848021146346596236216473966724468252227327372435615114313785323396431517156924883575521477329652038511271939163165610179676919923268911115192221261863369922009936014413049046671242630465799298402942659288682401835728155425166588217712401766733227991886047641429331161524259111473120167373922844885044131283179412715724653211425938246213862707242432945777839464818764213546314318933263742264159002780423504907156251130393493175948741545329181966482348224216412781231361956914281878937226447874420159123771829155132628161185300912252226327343642376355257120740123345036671171473213713104472134819733155101311755211800917414215768153416226387616465142894933830493202446030528328478460479550884282215106531192554464264432175157174155113583187467392449972752591261569335143822609438191130421363273363621857737012310232335397227202252694865841154922425177536290155684419691552011843622242282512335118473217526232737338517677282194161817245394931411565718461594149427415121521229495135234818723119268846560827219116435344887221717214411151140134924389174763758681622455141687552203424882839895386890226151472912282361856272323825632238471565341244853442351252302476745559432151378617583531615392353221133842036307221638355518291628022647523181567467532536667656223164352921251211217382264724524100403665227531518731266341281365755625131737154771274869126905226333461666361683416161615468230412635286125855458863403023527082154277644334347111751322341294866754841955278313894666714421608441444164362058993366292743882818634374448875239131415724594562255279166337351426228578191824507664977245589328182579198155014892211922971944232644013020413281227198573968542756416465827328931542306036422460428124535108745127511869881178478434350442622486186726656179971567094722613832414042237461581633151324134735351149324169725722223835665223166191274293903281324017743669138842231788953423754597141663134362659985791723831366674370440233299133742222662621898882118811129269114436545151021028275324682499736105896767377121115432325578911092183657241261522512772513916431012674579379789411355627794115428321312633740167130499601652577622121278757343027718743112995273886858767744371424736743620125271774955238378553176249235433131773992957233354743869717885261284421790507426171149128279524435310517432429631575612436472266587152350117135502091377912487121846514537938791166276911343124055625133613193232231499116513949452332924774345255424488674266617505367336753720535224196114518121696797205209473126201248080025660585642182482737569535532510878104421726724324740958445315310133211930417595412228137688682140024521555699483172567231185112850658233443163718558192430381118623755376317277211339354814795996853611341711130661893084957364801243338135271146397455241353230722233231293891653134097541686377852351322243654292147256135069483554964366408557153531634422623281535618583940611527511189525284129494455723453614252765507270846373470943394441604362446557837532608659966072267595637252982581129181725569936601224694532555562921691252126848583241782148033453625636515532207150547134400169383722820048461135146629626812458845282692618726461336822312322952519135532325975210706559927482162523112356249667313311752891594876816435472593833431379445787452317124355582192035432610142915276420477213511452519171125264141265578547817633527546641121120471732643211601711344466201132410773637538885631275412941328121345213143711848975931224582155699830378517511466544343661739414740140232282462765721712062229561344745853356214900029636238925750399600833231734412665118213538128473551249947595233947171315685734614947613356735952614322635847796614959153665424151280122975936504421339274334008181756322703452920792305929932141236836856814132217649711312637566561225622134223699197761255521673352446891325330842979929272039944463187530107342337023693963413227679911011152241175015806283956762944434823581700170448802041692330172453234399226919811263665415694814342476193265613023432258461695313332332215114154818394323255756683724262379973522331312451716107410624513436957252811505912913134135785562715292695232067151427866164142283154665638340731762735444134456255360141491663482325086114194418412315390511154624911673228344649216335382936423315599131299517543357728814616505171775763263882024133071513333722922171157526111172946118621475126117937952229173626914221351634726379336476196164980152960573143214157305682406381172332223417137131294322146931345238164142652231461922282831153365711349752276025886946554362322556741193714593627654323653451942116342871111375671391241398317272627521939322626621329361185135103143727399565381651338983204351054144979193079481725810730348617705364274615541272663738282111461761104408758146943742215783712422154272172102274413655841624495848432571116442718313417355311267318836134011456522466365295654776415455133118844635213544569962329612453196243431111310372538311839045974682228936523024043245731851919328126276923723784335328119880515126543158715121188153232222812797426929355616355877236162453155241341923311160963456178116205975153242393755876071744174195953457871836106742946814325816123518553768359234587074630584828813122011465143221659281144021520716772529851814077672257580223246311292511913261320211547754533601275879267536933553276212898637112161631631712885206197544171279821521345145590841338449492675410213386750719463267661289383630451226246956611248045022336401964536420216201255393119526334102315750113666372121564803321053404224310928472754734741645143227013954724993536932847768534751193404163038247197472554831931552214812251327104842913903944681333721656453245195216649545458321312515233513402721231562307612535912412474747928339132142415214442761396862221143527993143368311204275613831782434512239701633269552824141434657421229520962528045324434995368863112885769395471833948113847280514534425564115227344135459335321137873913275524583853025461392492317305393329791457134354424388514133119440314577649442904568514841194522421343147164120493512491623427126876251621514322894505332698590542483355628263721414159842814373951412157575723415620204259475582742318514973737152422401959113039159478516287693837112838793984227744551531662274279136214194747931720241815143611270635113615704186287038681396669199545119316116145656705546517619434143927121422156811421615165758637558124224457356395105822394748112527715326328296630615697881137820733007811413481377656082443643675719233232686206136508306684947905113437721498122219194246671474951164255626177724653766591795654230842321886323873642524563723912136189584227843141156735604925713562799163530455516206114425463311599007823421957068387411419046346321758611212248288737535434534815423375570163964337039326279211361058155706851319626274179168113290233561325506422281296444059294173687119246107124312762186492451835035420112339718091215192170311535546594428489335913303571528041276949711745435581230485722252637470911467131415514312516631358418457426335186321522621849299135352436823850113612524627127295843886032437266431614119957940815288214611952184662423346860948991264422922665885717733433495248965438924524314996291626115169552231418469542949449812922422199152100131056333435638882487712372734743512737133836611565572772108331225711167561554825980125696112938372590585549141731852237882522164251311630736353317143397233341552095033826286837145313202636271123333459153974346941898347925343169262619330134179548530219264452142351193466020183722281984945428257654729844733452216715212254152165316810062274459847535266022343196883111130838266376723203136481192744537442688348386494261913531385387446069473742774012508235773707175859455322825027331123623744554862776356515392667038243041019045916164428527911282239237821596066713462502223917935214711437658631523347962165154243885532261496154361731220139212023181139374292642621295987273373514195622771193931117317041157873273071635039928231715132213581535076641775371485161998774146192432416667268273325304760518108221012171038161344814314515347424393263635391824401232685351239357374518845119370846553574233646646467542388160325213839260613373648329504222694034315138112122211992334752534813552122544114259122614457113845623118373151324444541849157454199200751948356584312325354283121819673312439508429191238163479822114779430464662797184667975175974563433126940262098636776205171433458111248636221292624377848464509416250478648398733434019993626404320124552442349613628070961364620510902753314635922768723232394155356419974042771434137373835857172638632363391658961926743833576467852505161727023112351344575225245847555823211221458393056627122683561968466496898166725246111933754199658547790979256523681060814412815321932247360617215162116338834355505523584132048985913541016787045421011469336147501419228103167917062552274836214238543876957292273443243124602915437214047325342713238622743389671124236476344461110220167972385425455310133815053640119215237195240467497502255752323203615967343144136197453164839649596326297666112352143219153171435619623169131720964482842444110571454283287123048644121821862144466654134757443725419285981124652565792393581633298478137721822119432562102432597846245135637343512124651356414689416434339496316411523553606544641643316315823643254700327683427173451381993126322274872530625295652501174127134243412843679531624691414526265615513524931631524926359236560863548137321821321761499251552202551292790543161546571629418446426604696187092397243478972476120158822244618618005393143940363626851714384842387833361204885745902551032856848574131745813216445040501169175334387411426341561902422327225342935556934266146512559266663786528374043055952779328843347364632012493528841702264143411434683223111476434331689943305585344596299343474121751438243628696451179773145464313027914217124531824467946812323176941852184792238347223288163743611157333497318431788453082437359252114228946562527741281882762253768622343932133375852882616540582351178359264238859652416164586222974917203431416468201234154259133662251214752445415414635572526114252013221238492021971442361355619827326425625917413592685652365228738242763764122481164236321173725421371716050362628997673395845072220545573389305624151125742528225421362686317202403219331276164548290346407329227214836738866891388254332932946282619443176283522521339071862572114113781227671855350455323362910422958333417022315602333734340052615592396578302105134524729827229561269570460237147963322121512317304513816344705226419349616253543773557862684751764630231613827753692294446692597062581308128234142777783266423642504738197393744842875241223755330591127034512232444213234941277371923414848716426895153823972318539080557705422433132192787219174382681359047209611115130270740611742352526871310373634122181994625364398954906874221998855218551465919169535333012139113456608556141918374376111862231756320122510913919257620058633044713119686553887458844311376422455057812951441556221434564534373415207401891721183596880141062446379585219361864360689226184369181155118154478159481427483484961552214941194856371320492111923972224671964172181053460589271972261643213617688690575273155176533384727793866447950415693521875242393714105173322513319742322137175523246542013356167835486796743409987522517813643426570523253683188443264784115159276457363544225018449369182983351172757893184651853796444441531486212695493661049364141371635641746182619363321529481452573263337196849196546287944261934394195402037690228145118137614362783978434739440517413984193656229629472111054722101613041646908915855426182238232212768886243157529216063873214378636226423888139813907288422142454242141576135392976435346148457461736211825367439442374555822143635421954841198117376124426601482771197491635158250567264202816412024121044885278732432371027165288321168437967287315232214101649399251451312353690630111126119154813716725575813253553153214163854636642746454188287756826355804114914926073464323575617405517312533785354267036712487978436416143641038449222736280761656554160384292123600266158476250991477931460191251525544263953241321493683186603856643618936173419423086772165794554732366442838824480802585477350901881287141821518113321467611318143757533316679134256666416256552021659831576148387648595878553664697212157608362744374324844231468654891258249831159434348171451116232541594194515222469177264619892338924441993289511083743181243896405152599199485144972793154523963375883916419314111241999644233248394113379333811188366744835155345171832810875556704427316104365233107348938635113170551244371151014894629394916811230930264742333622563122332180291093322801233143842334292861721379325333992625727391871427612291416213717222221331112115317049150318754269132711445268613973263452471445349191193472659337511213949224338587502454855148659225231552854336881775241222921247241986045442901788649861032633142023131377679103614973825611730131929935876182322008361152241291852863810183513006711912139415648264804444593711191857714618682194096320131421633782821710121560748291088836377587289736054153420845837387215521514122111533411952761423631185425315053543569520316653111414631525131113745262883242845412171286571431741254851854584556869925722711122523433076561621045134575671260356493783273538517458561563639699573186134501561501276141184705386266264008331391310102111572411261349828539802123139162290210649139165315152492162921922655183465563471551191215381558222021411824554753231473127768263343988305687016566914165362519312236202183415431124321144637753825016163332133252706751542781996281715643167131043738920862534569641591262649491311356401358546247725331187004652840283976631325102118745131664308391833330345261264563800198621564656516024552331634423413441635844211238466735115475764231149392683293885738901066238618253262343188172995718743976919536290977915841802501635017526151821841421214933385289627161812061483438666817845345234682281213110277313802371602343232641531021417744285823754214725423678916150192485753715378392114732236422473641890864553323728497759893334124219854573491791396252595114241461235836975401182635211258183532751604139682423242541334220297723496221356422385635427371438101511344528282672371395727631640163127037321322352757605121196454787426417118422257451758461917469653269524647192530824652595992981571620187651162475108255833248912461029118366821432921926984625318023401357163382325046323248411753435141538239515109992667069230351478717344313771564167327114785144370571449664116461315713133181953082717651091442492102628341414556363432722634597854844722469645993201526826214845318405410618111512453083149231304398158834037755511334390191357414566147692414652222180704764714352341755171032291418289262115364455115561224582786341645197321858272511311562623629439124752414124758123219425547523162114518435220163647214336553155545772139611875205459411831915439982460045444155417431951255861132136763852792283933343518649859312561761126226560423133173117331116194612378472855914535246445875022184313894112662781141443875489395231292251263168961516392456243317113883642344559746573449646584522885559774192955871072584909025712321177451149445976236121497739686481292681178335937788213414512366652670273289224381738256725712536346315458485926541126380345321009529222101179713123886375551132222631115496259333145527013417034717158712311180028231543585953143526398424208121493631412337122093616423221931249428212332536211334577726313008322625248139593639275593892875343492553679512314021728182635637131669457153499935581580524446225156214701467754741456403462245115357825558476686554579815050704831632158219356823539327384618722236133436673145613432772270208674494053083893445052485699158327423314192756615961131651811484122379550906389277752377164218915504157006837591342555313565666271994221787375675232468351465173222210031132194884585228437446333384745263333421306272697531354563259131308245311329249211037233585001388641913463376524242534456164605198283665222941217020222335246113665163591152868531261283131253684893942219714403198255829306203245412951511883124220122352953252194243168323733112723762042631560405323928354338275161354724485629646636974394836242152420282933443242714222260229646915110124428649128548456563154533205242197258955901818228234007153484311134152372211997302445142113663739010552890535715487550205211983715388369522832866511442925224892992146332742284173251532736959232645238261263205677173520388662992566387433472532658398286125245776343236467930924318584424898038367114036717316162644589458645873532182895071344410033016676818679499451581372182431349554229211267463734272024531491237154403391580478726137556289619762660543168562925434198129578934114521353591513192741814681156212391435434138671218842580252968766714849681113869223436735428134432144578713916176141132872352511153249454241427028467325725244559340141483900363360501533543835072731142277146148941415651246363823412163441537926723347856224673647367633341272766375084217339343447769549522463426873764124629021332863519458925624233277735845039513820341532230268736131612787131368138384216356333912223239363480086332643115589854454445169651982345395261421790444135236717390639602139726474875766532148466509817521310672925331424373926114536137166113732743573711177212245353286442374464154811168769817378715543262321242723274520573540828737762235446550657042146512658692111354183234245518457935213534813575574170925485232523471867443816330184255262773422551612686581535761912059173736839645211331362221228653463878240775231142131662119433055759346821390252343221117552843626273290444954261773441619461412222735458176705018462655067126119294662014792491197396832866313465578821608482444129701425498038844856356523493837042406495631322305258718193838215346115117204720621259239997344206542470233930412518781616885227819308487350892557832466341662529402620121392615425441372874651955713503937281689820534294324147879713451453248465284931250314366117062543239131202339115581362541352127585211145198562631933111056142531178238422046717363657792755199169228648572279354734473172637269882172117518067146173236303990277541506661550671191453531746927237174176155242847833129665177313221734161546716892453224161315575094474124355564532342664817211522580840311727844782112121762099531141521258785333289073143141562378331686464232081918472357176274234646338871433611435064841493440421731188383237242023650666684355763225142334541272081232667733713471811148431842342518347663307314525533822355254423292240564138653517810818362314815928631156421231286992321614622468442074741273752821336873340813471214816374694858917725391830221943554132140184571761393514212334155211782015297365846366584775742245513134249360227967432254735831122456418118260211561231251695052080421122811703006712272928103361857141992200242791854029455426988891458312245686357115339593815051326807156785131179395331362783249495384137425241024156169517503825547551643177156247867827126575123243173939161124265877499158611344544753183544405556417131942134301247194170911726387147618984233721142112915135511452712753734147679737696026135223181271311126120880875155043441626464570133537557918722216324445992341930485614859263931243110545395414235176823422252175849562817350358225558519726735310836644348658282834114674814653340032362798810672361781342315502828446233029567620946445214556474643228903525677271857194187264275661160155854939671310457153473626291235901468371153128475709416163623622401285428598033691475531519941233834158729433951211251953565130351180263456680777414703702712644133252214098722719241103611289018567315454247671912113564721688231242131561656301451829439528231334119722487565231192051446878140311529511311219921240136065333531966595826024011275464358266135135967915983657220342958726282412315622683312867273414143659432454025566611162761136271679217433352415365345811061582120503615234177233347294299738825117311441132738958231523153481551243226392211131913744862635645122741127851012376422291126545516261075111581367619346586706345251429162765117475331798085203141633435025782273567175339776697913131726713946136189331341659312524834613245031214611603217515362859370236644357459141112111311137413226210421676017535775148261598163206281461068147842226101127345312575736816616431263238122427521719134177462932534771269295147323634238622671323271686226403746453355312928853743396161073641193346934746223146276657241234249245125262532531309949661392763254148214532685324872542831113134834936329698802323212125264605118437512696197860743789542352776845578186069631343144981321200787711281695612233446287325355014674477241134561156322266370494144534488530924137441193711523517224247193814771116824412122483224354693014415812351454261317885378124754282687358572694974301713612572749311167223281197325415213603452388114523259952650125261352349123043711746441614113262623595314106113404220795489597769324895344969144719103693112215822634388834554361112327144299425148846132614137653483722313332185278594224721256541578214952124131121152243813114243877346139832048120447334942982432962748531414145524208454832114223616577328471681666412815911455017311881741575273646621362021749241738775965742538557442275242148323292359922688283511484342846111129297477284626729835620462126311837253302374647382473873522865383318439431155308049353461366922774331044749429434479032516122140493528409062711451769465326664395336116622713638123364172240731212269736755732760184725198582112372443588622395476223135741225562424513915010148314339378124334835857483769752599395889328931844215538415607973487364653867240583096456911344487743746651632646971220446424594233191067431975645515413531242158374471686012014047254914962821239535523887785382135171171228026116311691963275499148137238802633148147889642221214494245319434111193411243232719526522693541155694075141672122627565583922277027442268414688516452843427103265457187135159138652713198701131766838676111736015119191969687312746222343179621339481162462081772176241582348316413635252226435618426545388337145421625322413761412569218827323223858156244822411455163437217938461667145228686125981949970641622643072961396327718563632241575852935264998788264325757367535414654246471086811735264427917031126528221944112423019583913890743337721046164188122111750635276515161368013194551362013367733688413324245439482352483751522534262214411152328522536255941515763711430775731417944072108672722433919106181256451495113352572734255561021432769886928422944301336632887197983366299163216489304364273412367739317976188455487113612353139214335943516014811905339526937657640825221310321421804362411715173424546291425475214619622347569222476861048223683381366168674453173365352116335679111955243382106231188977212522112131333443619137112412351376786339283165113942693421239640324273393646742179476398653521516438558318936640523211789525639212325436119572044712562179625612598519574117621386543291596152279626711129112699394217842124936521347142520227142961371516011604273321555422317014991145151218426125411416115382275283239373548552111623549409822472628324356776427914533463672325611369801827414110333411157440232319710282184161100134051423110271281086764688923446118561176940348124457424042342203358906252554112378554146375941116452134432887629223147741910501488895186168125022284370820217315611152602814560571459375744236180411356261299649387351274375340729666664292475219835358948488214952621439851521315373233493747261831496447733648152361342084132261893129443821363237715844625464109219887329313882839990354547534128831613226131729727401492258692788542763627964735719190437026974226489327222426717474713943787345143375915161648834921242933639177541657629933444951653121962542671993365548314432918058458555254526263431713415351280865663183373380685275925521913565358465164447121816911916678183741598298049632410592314364298886124068974513915244959162155517624421534134470211245433117940594518876955832521462554152988214883292331414890302614984541013453206118613122222244366746016598733267643946278821033801454713826427714164833322883053524875398532892061146473909162113421315871382363091664472811246244601233433106437523051243721139344641949824537055135197641421312112128461942255153425421142515214102937992012019240526455674210632718113217546965429038111693757124111631199448423393596363211662212932102433642911939333152629144783223253467555365113153229650141431166463448448390580342586635926885134820865274143715330522846798483578544055198422159634672182116656655414938390044341696758237174417230443464377399633812012986049245102645357713771445213032796396344365393043115595135211811713575355615553395444956950181579562123325563489617266373011769115476362169556213362671214822845161965029423843101865427851359761665109601724303921022107252887274422443915981166124368732391247251676740742235892891952664317028235304796115667200447326463145227546353116532952611162132125112936592317841321137002552123117491471146450284364537691262282518223337934377986375751712945365761173182711341139159131273149651641121711872378232964446326199384395568353111341321445118294187248273647328523776214142345725322254585134784333767832586738642422143221421237212132135856952438111231229143342643877893533478321566111434231258668497219555710668152041632334437412563424159848228253336378187272931910932341876380276331611535902622247154541154213924867351534513425414349812934941219061739226176585275614933189113322786539830593398816573622229245517626222273624026251836398172347464127455312410249423907531423072571993723924563254777965578629644465926264605359117594942391376362962499213181361155947245856889678244214284419076073375121013712218542824342431292943504104829391714269420395347143207977243412847174413391218243407264682112501298630315435948766281145698951466116723127563618718992519764565452911153156468347591412712333247012677346373581204826222325266164044238561524466497312116111444328663046661327034156442880253371449143621961274329162399912513281564791189493138763651481343866012623902143934174517172551089331367264745668156286145433207324483233013739245091568724013275334461981440308259531713211522100736712875184589534161523516311554118256266992729517510484831171627325617537438230011628917347762195434313743375494364357864733355381835863892372746036421282294322733362249175741110473155782664355364178479288424542895306452400176841348593713218151577962556347471582127619442048202152513053172844659891236834422252614581365236198393875407447541292746893859353773626046192541631264228878642462624112135477673126468145225014563291531116771811091243222033129964801132695820464317366324239272247325328262126392827236275665343657383935411343215447114724448171231644124659442615176431614475725409151123304625230888481342846861734116257176721136526117692224350703212675178886253534229595241254644916208155736266544217329119317353335957169438336327513806629546557423874329621367398411266541767736018873405131187222152939336938958322419131969312243958731688241621180545825631006412546918969301235532018325199380315953135372885947533441826386426236211353637436292235343734533589212108483621238713311631216434172907732843464412278814133218439841238256928325711761341236023442323980176196191623922825752294805151734944342633514536616676263914492196635782018414271808612181411424475791786245441329861443725864864384392097737494872444288715128420643323019259264192135171414817361513130116363384486358356546546155833187151287649275425196218590740611497050927537794143113461524439257137104031614238429312131269263275503859110322627661416611136256594170821053616322786537965115221265224580952831946138162209716021752458347433938618581521613843631174125534084241731695292694146221131621198776134
353014444697134916416316452252169865432043141872114456961185413352257607217281277550239675726451935727347120403689567843460266130434218944272621651291187058845181539115056453573261547981519454962741833238042722881144641386516154264707542765237142461348971363461436989541892650656434799450841486216181332141547782711458331418334592469972392647614412480391339854342944330433782243199381741221689425257298532365226113325219579932796235063342793624124642642241348936053824565722363563945293971619627869212742349542747831833715755639137452071765681283161534263230731652157453866196797551326524658347381143169721296856331424757577345382841413113312870933422828633864547339652743863625842652579132121312330458727715384850357277032677918236071164543254850872014314790096888416211511572431246241133261842612976481630115429006742409846041213127412674228972170806696477371241131645347509619311314417136199721932342425034603645910231475256609541202531221245323513783077433298851178317635223745664536211243929387133916394220317754144501218717212847320067206720674714532919351896635172422432631524716614355247817647283765182557745234243013142119672214515393441123241271152489999739313177203423297113212763225335223578413364493236079516024181611645944267836135211075832872572130745262277140814254742644533242962144919903171743216517444148599326441107448532544775399832617616441158330340175761717119911603912870487611719335235347457374232795328293232134171572114421024102623272113975213361612594056161114256319131911668664983385652194161394603173702886305111274647899823220723218488163908343478712136435126512746227431726024768586822239045343897157442611496661399159263373352248684634433622234204774270329931445026674239825457822153036112967517423274126419132481339339425628471926325863447286517701321912672175194312216712123163816691129989902973426274216189121003154822874349454321548736636912141642186869323319361587992862416547551453855823122218932939362717352604596447221322844194921224235131554572041371663724255222412701424249912298635696515105312467643313482977376392713371136653215766639212915687540953148121673125746509396252533028154461143495774147228213022262031833464773051742439634612661251121031634556371177138353586063121153925720935561339926544436352426562621321964935288214055122584343274839466246779976586485734476133362446128254067047127351253827271922616757434753794947789776463628447367363912178150387123638252932084048157177314137530374121334948896252798993245244117670451621942567912711087684171132767326667401700321612385322816195146786775569191611603552723122857541194046342638289215204461221221138630335611652226111547325612194224807855064960214913358796395324511120154514435447815652913061743592111184658192074182212372846531721073393943835337738544342752244335716684514716850221041253554147195266283625633725247311981329222192959486951583492659741821487821482236259859012325969494731030941313986111351388222866426712267852654494600223815331150031644844516593568452718548115253279235810227341483636846986373438552035114252352449922311465682228366287071857623661821794244728727442114291200339103633422835195820280475143953794978114513367509658517713202542930266964959072375824566770143253643661336728744927666315154536643124503858876874461567644983113343702331219137525222982622489371199942854265766611507547453011765315610737462344121334536180115452141346623850174632279544114408445795614150134371579825180362424751177052617151115195413394104724920543754482118111777773684354333610812093948867610371284126529187722403367349354657656307872372223631226917029014663118160692229142736625617357851151162256249284828378673222388136931134302321224451233147387726147722235523377378812115487518525781196399534273920134357459228905783184734104418424916273939846573292073196366113219541579241510275281776323488678171273273178633288767501676733587515512423293664032254121231623312016140719843348551681304416054771631823724068631237215114853539271661115159514737337555226173417723779723324752158819254863191192691842910912295513425342877115773028518341652522243121934112812558111491291504254326342472446118360279521471634345386727339832443522157260123137733733911235168112112836883141473581150880141844624474635639894231363217121619173160188287443214794885131224112143472798451510526868792124025449245956782234325574130342168167206434072342635829751932151376761353442164963923211942852213798242275724553114132317703312683775925357852468424869619240643523974177617832693200941103143465556981752153245253872153181155147431740341238453157466926967964415666135971187307065843735275125468239131988713475614150113138284878724727145624325341529653421175374181265443089143524218211665874226249361385577885784211563618399681156676726622502492258624645137206204886183472128168824064407129429725372378083143653331275428895755380378641144019762425837714347217778447214116419348395343613185186331319511645087693115335482410113692001149297659899428579817223722586314277424117544919948944708817498651915695379134161647149462088604552697121572417154037332267732144124167915031222432136573385931903064325452248172677267758179402245961536103723075142648637651138224841780232321925635824342384115287736122446935825621147332113190671376786551262435683983515140414036059422212113856781748881349148554840264085123311336557196148778746855635482241584236113203424315753536781162357416692121436323842231267358644152519162837212924855438436335176642706343134410633119642131857339248383336441323353896162824161334635544775352194312354132051445841969153529157215011244746145826661135839655238388848126761092543921693258245786642537744311626240821516191583948454569275248629690484541421463521314789804188313518921761473372923534244727314633122545018238713595446133241332131748922381441467544471603163251152174299673139071478143742581175378261722546127632503564497393521766574133221722252132214659284985611350092435412474470651443083967136073137115946666864761433514761517623639471320213293491058027175324232764213298320221198118324274841203672492414643402502758651921128865369823647124723835732391156367432439395884894624491228367604111026888547015433756297567118342319296123611846729339264526331645731267397436253914191103521547784064416730142608825455623321542306455399371224836693138746133853411375615417912151780225320599051406355571333875934461015795332758981233323395772251434541192997841132253812660862942811837315603135435548324606410418323369212706214788086164896133178337198417400242976133964331059111680722441071451441170965525820313125476261456158213603054339988048766339621302671172051734775233789381241566526341971111811318797211178416848496312373633791194336222864732163397705443948283326759977220273313413135013950792239169137272512412633178194829284209226403368391636223381826214552731733518999363669327382853196644121530715514474846012269611116484134759391642432657224343813242500263712504144253472823549206682147331497267753241956047646127868812798940153146315197235373938723121231331511458133125769772231025189521246431665676118694645644838591757787275635412314605639503864158211613320804045368210312919153515815352443565486775499137459911679224021891975633153063123193440323321272132113655683023962613225428178172213151169405276782704101822639660264185153807962128046115712144246141593274719245983943661554867616452432202826792413551461635839373551748184238122389048684831018312321121983663941632162236282697765244026227842313617154213925211332822656213526113823429322522913534414193117248545768758190255133433415785363291531683918395431441108234279433113362626393495944991432309173418089856289537138989461216542372326854820384824641142765931448804762153567459882494777933956624536830471836786973177428504928125184075315874005392762326276551623314143901146218234214026196232263321002852535578012437650362552981214661451425334193771181227324171524213339132642191933411735170512532861513853633611561469273957959971122053305132353348385812443347521507537734758412892152702502277391319419924408723223541741591733553144686001251118144125391196354251472551107996411682384541482462269432124383661453413259213782273846541187361163336924947549421136195412270243111532243415811152838172381515034881254251761738013759163127592661333986014169731815163381239620544641111012851679952849712147142429163683277409434889547126964673672891179087301511129482269233944420124465815292241713118541641688429480568228530904618836070061217512358253173073317793473416537895421579411144167286314781435413536348704712513248595636651954737933854239454316723822127465171934792321553261742596314351683999059133124757323272282769772749526661647114135332214472455311451941552451425913676634161323113597894973389735732193432241762792334156892033714046329119237132855505021916912312622826461976721420313741515287644354243652171511436336265156572589112554414453943667428736362318385159715314224779344776223873124305548255513086446951230647531192120402875726333722342419163233171151761684798156539132675552143135111332732632394160826253273512766573786887248324226302747679649547952662424326924693361721724422362263333515985844124959531724648456486271320659314407631563022085267515998681888360554552510518161661523537243783244264626356532372126624824771342336476912272323634329546425587503464495521499454925465239072282371162469207494095213111626881825771851484844293277611178496159766164068041116741515327630718368929538534967738995261983725513518942453131262941288390292234232140722331895186359499334633424281601193532084914247807452243243237638727247455812743153674383224504977781152247454512811212111320138738624194503933106273074905495459713153047322088711649936376461657131312848181829882415271457236306864297404047571933967153211619214635529619875370994169113241347200461712044082417948153547142162557272397517593215932272154323762204927128498611929485531624399717679241116816638319511710132664914378885563384863629226133129825752732563382447612780359522585549204582422176525614222211571393281139546246514322176983194638621120711424055843629753163411852866502122574136557921344156345388902962115171524651263436404553815104842491556141333133522013113893743718781125339760202327147323348813141765118514913524425444117649651322623201358327541356551894484306133065513223564970691911346205304665579977121623212223644411408609931322793627107194227944857148444385922356219632434371938721933141324423946659568427699867297935721266337924946153387821187374167642110329407202250443584273371192282132488064697169756151432282051236116091647911426565147642462375223215417101312993102115257279582246398342732324440432912261137363824532532219315416115148193115234153121863167012815749531516415749155314269462820741636541243133325463832642143714071327884945362172290426061041931155971208165548235542036781639279369221979734435434763542714778963526742272222589432115072354114913646674304706253997575193642883848624382734191142735692863653316939933622440132627711847461314389952612671243133117638612722274621342119896189691157126625223016146325212620117462524117118174982336327245142404432235101124311171283124199986252855431446116644335517782321346446035536152197752502743572247212972081432523281126348145757144311118811712456056712498368709345997416844176244163681239531015096362445269791862102541317305711661137446227448928630161355614190281926131023528288459911199440792714124421441558598335441716704213705915214667464457257818943182407218327451661202944536634588939235462625128713172673422279289341432142763510405124228214153772913157112346541558041593556127243231394137114205183431338338137302246326684514247521324154511388243432739061318614822746858944008536665527186986448443411329384417616611687713334622067649233693503456373415335766026449473448564856244149437878636671463523449216169382690944464343514213948755657341577114848156673853602658966991643732816642573670197266241221482525424473964696529270524848154646660275157965441136261376545352682557467685318393520221446923036494371566487238177162251154674841741678325621538611519722741245515663118624291532415382187737162675634349393028432431325949522513051548591811432013387300868546872663233501762532222369154144821617782223149597880334331260276285671231868691701614664658951131861643199108761285143336192529272235624847777416413132622464211746623942165212371938381722532635086523778566422576828419964555343832196718518815412263753499233114218224214954133435456153374030621426073152191202421417481217046243647512122725259271802363729399393035364720836515792941640866712177022621057158341111131121612334417628607434541222528893633931613886169924877257331863224412695557122852676142242418748654723308543565442324735374594776142955018871372789966236541687449311852757814826716753254326311044458378164212559174311537253977141492112639815865852918684334272516390113361312658713125357854442911479215142626387482493127271323534422329374937858272118213616215221036178982278423736011392558812528482482224511119046424190245872218482924333661935636341285134131936420657509853715931346735545342274231832659047124121381836537514497685810222441131928212372173127515257351299858446118296294251644641563233145965228622736592213121153538918758136995167033415647584483729881699224134841231139322463446244185415328779767255927473442523541437833695118025392426376844581285876226992343232443193328102202525142145116371134637584221392919432243354546253239138162718851618649307111709242656820700331965943757882802756183036524752288213832531121161248898323443234863427332558042393278184373125222612231616222111459144346681501662526047326668351913109883953262004998138158392555214222572032522046675515386421676312517624542542864261646324666485524892945377121436187851761117518241173891686922659350454409876561513242751107556112988824211343119122124465511538965372821655892431159123534974568921590227282179351144550423335181864168518131652262256512300633223304781282986646711886149111321254862627142171182502614589333911217755820995434414481558173765445307372524272235212315843429513743208756331386183935717356403171361537867224723754235306055156117322162374266556826252203112653211234242529878882068675629113411542552591694239158560820355694297546614546542186143833566303683215393197321143455924631306486732378314691731616865574337194704163257131281252451899263192514120325842575330737458173108538876791141131134214873973287294662322037772414214333219347732536475021114563156336945143187433121531551360211179249876449263685527022516749514432904135693244304168677559443268982043531635326738615271320725883387822740014396608432637326782221418012144585203812944674569452219231855433792333110252859187291518258909191336395717264081893091457552515182516395399221152362836210349212735385210249512740953204642142046134435410011102523374723066492631417435033072736312933334637476356745318381468461270033833374442317223320792751751628532957565149743134472713145339625126394234748824102752356983778332649332456912191716532126182537473454726647783262031934226875311608558633695821983384314702692265945812111246101459304248357882613141359464068612636332131613432922311538882481112434212313541265443952302343252010406567567116493756180218475214389076736376245434122218279121218211393931737971897205979778625570112440414167783953275362753363662344425108212752942167451415853243810613625082525331216289376242664724916694231672119443241105177563579310766525864539581796379281721474268344272123376189745478513454317716144545856110225652481546069335574112519234679353028321664237342743581415713101637117588574095213232743224512319612378516763468896511223735681146462772683221314768733871706771778557118982413420311417557458525821122829887160643427499318514326444463818394513433644615284193394222155414738773063477231522754522124443222141244657755024161724955450523413094322272602364111988491815234481696481333847535988111545319267837321132011312514337127638450421354369624213631245662815498535074841636832761911902928763291387691514340523233201305334524053142361865133833137125334147586027331219357172725865330494619821325595321991283614241317435231175181208523150147171221262302926524505665532353151761532786820713111023653221121941327527410931311551179434825361956050442332167303776301412028747445559982114548421237724627739046773981189292254926326514222518122762430528142453157823111469826283743466322849651674651242807831023457345162492162346472666462625829814149456722523436753156461511115201574553119288719428164182114158128592350737194996146428218218972417863366215325330538113742538349144347817215646925282442565235614715126137434515260535284942123512991185264544163355556295338242265115261168213245504552939314341172413282862411325575121552162655281212626264261647738826115315039163932425453397421663259517463433513549275123839863261942901577889687521316541779586445223028592633222117323672349645231863123391445146511239070733440496538626146024584262183023356785241721165511252314413556212360159152241273682054214581317056721325525886525479952578245763451310717121231731638057911398925216789828592871804003461411273185714627075731741615162622771676851116769306473448343485382367625238365244224659132657835558135313485624422610431012935263160557141424248771699741070649141828462648575231686687331496242529417181918681466113221927104267483136171173630371517690052570523724303759511578683815863625753106200711507221686283388150311339460836383457628334919526245267419612523536365943362342122069563789523648185899084935325181827146478917126432021566822152643348831679287471669411214018446102311904240712310332410984657653346326934702133903426256164914214723171433821519160313323778513241395753466227148014940706842231513168256515861921426338883025597425753126464463247845729483625547462882317170481526571146877215082280672718156813262342133866446326380155775485111312679574326578276147165424376567919083999917594670994191455661134165896927014299283222029631472289421756618467106541576329269325641762113115336652354542651727297822479561523194465159422488562265959459693911856351055456493971718170322655873336657179711505851425784183378937323529413407152274462485454812341775364287691856392281979542331343370744114143553573523624811834775411206131697412911372351215814378877243745184655632342167398474115175483347514642553291535190211416194631359141213361113914124448441412245572541228413847831943126242143425611149453249210841761817296779867212713146643536279994121034460221921311967822341581873221715181386435931037561901245575518926249325334406718128114323333271251028151384331475457611361210574310552155168692122421334154126276232815313473124713274333355314428412181153841227165535619432437385958449760596472252209633359113667331253379011230194758191302481707172143634201637251782183512211932150765574824751718517522691357726152827264431355552231525754414322252456393536523317145571895442537926931228589732699614253759862451826210512306730631641398211185519569332324341758697903134178441115459123213276972163742473951416603181765871675617881337643826218152844799026539395734065286218049004332246632178113754434339211312472611821731717661710876773587304646933233671612388411521755007142587611298976164748698289113151133040045103609583589332222436143478814731623064154479279734248198124655151471376332954272414312635832451326932263447705146437155135325356934714482434922245596542232493223426262812126454311636362441653612712333146914369153115323351485732269427387612856380814852578557243263012127555629363445861746291928454498258225322180195211781233026141281731946167111435256263346282311112442782545462729457731675339638517611344172068227719531429461265915142028729315989698694945167164471372188963464512521751135933158408606591662607039216233082735394748181144816234556626676524922614531944228641655456253435431756302248263629532117294765234548124153887821159438147131611978881079452855910154549937392302311221102052063188118110347211203793268361233342255822584481866135036431211835343216777261222882459652383177427350729596552514934940423362858471257821702643413241224536122831511914587208101395412544484759934141764147111547841133285656274329111940916363285207941775391424411241839040929852271411998413827977254426394662552849388145173365531724166361639748612665157866012253363316185862450492804155343351748584934618658602104941043747345481293451473214412271647432135662264317170853799226357138825230847237156889342171337363487517849211596176732423830157711337130542466614685166276731371386259526936126558010132627178638482422837444103113247765290571969674064111447861271175290712573564341718649982431032435376697716661152136844793953898526304057842743047719721879778898131846575240872342645797624142412331308223582739296327197840311144401573102313731325644682454426388182134016537557491423066151454211917259644115411755589941646444656472473339313856145312642211331534742122902360144857129462292553049262451478347755293311327524293721669368702440985248112577163269967626331694036215101251552126552441163585724144036433095834644320281321186935921131833459339298562112396864322122511772212979044118323713133123169051723112225704249026345527162334316463197920561513172828517117656231620752842138197638326732188491805513135651123581723303822092262873622312330884147554620362672727335683114021251925153713221581526584068627164052951393297822264021053742738726457546569295672221429294841735583480469685192157627019537392347325205545528455929151073325765502141527551214160732327212712645543328181423132179772147457134712326157199322292425255502945067879754741223912323121939132672189673351292742173647174115513155661536379617245439407232303583164258561119712151731759328175478244786631277312732753414233821614523133317217241946713543324629102698011235434038283955105458116277237162166461840010522464107177138823992632385927762066170516451268412132552496369585581183877979442723144374835187627317314321834951940756893743251534025211733193116383626984860414214419081211413745652041115673518520934724968226117114636139591340859222366242186650161431476112742454724437475776513177282242457561348542312618822758176574532148711407717554273541706525131520126922813252237251117312389450944912375243391993850764801324485291833244543331113308303410899049953617843713843285206451523376443973291261455734473763527311771403142438632826246820674439153325133162428308694687362254515314097522141528815179630425303711738573315693713861121394812544192915085197252122363522636295301332824621646284345832587471028259011658286821453312123217317442315716471327947456581520425957653261721334543264834758984655829085141019325577523314289504695606744523861286597648924314962381453114112751023656991419776455967882501413049868613322663938838880344351255327303342160512443855127922295555922127814626640205867182442124877511885343511731125463283119283536259357068521311269151717210292510133253438415267360437283482831721272115132479252886736873862103679372734358492377613841291346687541522024518171894312582426389522077355420278874463344325622175453553322181327446951512703353131556161211574566256429842420358131469555367181189733611442112422839694222411486514683983441637578550854142513300275242576742757831149586958153215350572126453828472732834269074414332142221633351365914214921734868374345315119521015821927283224433344628519942010669858146592157441248510823043116356594839342686581411424680552133575385563212237967898873511555344558130371451924652424251125501936539397860942826824337491944042642461516111714334623751948993335895113967523244316316274744057903250653571396125945711183290125212875931957409841937899752112134131832626168946804680955213866541152345782231247692711232395426198727706435554724157462552222027923031719379709734538521523514918319419389332360735851495411406712515158518822141442298101441121505858121397321729432121617143498229938497639191170149663643911558631689159247197106371881114311445632309146601464382472052214271350868551332225721229364169989281596029940229401619426463963131165621374367141154717162332523181127145221642447198384345468463114640773477586921222230533433511189398627312912731731378478348724604964397156152022622413321335550044422632714873014544015449312534726235081877287552713236211681643766410819616715760970110984564263333125677295424855335123235343344114272494678243338472852244482559025647121327749729464721219208851612453391629149041321735247044802255373247274520863456351244736414024204897333762643659666799121791304545194526134262418431533832560522753651393691715474161642343377439216864142165325471297860221856216056666165316015185236352293372641165735664372037438518887129819394512127891335171333311451122165775252087243334373343196551877353383702881839111848458933673479765767823966420130884179193843126639124312625392666099233548626438766163922366713316563316615117524333187764510441605626114246619991612297124156467184616878746525155152512993740287273246474212392514242006451546522133635360711715121324432854367448533226102666307533536837338373117799258727454442363216611435374027738526682361233765643724518125421755585547735156845321167923919598172425957395682437452666518920614841345578283142135440345782647204332523724212163414314722101151564510483319115615443816773261834518634492188464535490541159593122113221711273111416468873343152110541231621341324065583565415225610290417425482766931411166255332113189239125187845512038394702842253743859143233172922635106858542128915451548313324419238114312492336964392543613461154662114657355763943741282435961719944203558207460652942493265634174529547317732703143429326864041258523575866564362130656538392668713435412871269622563771791834668722283317744616529336951251139564269217225343974212602171871856972121843233938854155317346210619722644489988807808513645493838122132836665494233251731312619017403087126134297383346217635127423702552644747754631425144312588286666514881829127146546907140161546320610357272766122478807928275186625627145556234162433415943201144599947315265231583314852339517549532552441622525176421328352112349727252841211301152624723617659457810316177779146590522912045182121231516153592216789452432287645783815332212522462299017773581377521421418529212921952275511224463923889344525714204602166185165911114814775381641684611304814310319888414361190754519607521101232436271351191211380639789332010416581161250378557628946512122332830356825232551061635522958634135131216294323132637477442229243849411672553133784691467071647883035708863301224655233106426834222458832051447103389103263204410472104712538733212137622646642003904483743391192324814759392117653322388115755048549429573665500199227561145124736642057632024859651805636484444649699712183867320296246515276413722454614364115251427322835195684415973757473255489426493311561367322829499612170463559305483172419354623468035333715257936511521790267135462332492438824114261529368376395373498539221247626617252113179771322566646138271232124763170306751453506199854629154645394216562493129481773161126039558822004551618499662273241497313285413427353373011162387262270533765317785719979682982301127235129515682813314928251952677014461419122383187556313275109829263653164554614953223138001211483672626393825322296918457121541521122024198415287221614446331272818159053344155313515267795146430648216512512161477465482352962361116184163326397315433355335130563424158206753223741517668593526128651789151451673215521224351163533139253285461180407932433540917812514551373827951631413314051557512276645103614634411398675791241345379302333314825618193846482597112016042226234493303868879397414510543723614378673423912353628067222639736140397784572763571146944047628427671016181431182339512377110071603661116612388819249222852215236127339912284355311826144136341188349214150631981753451513984433102107188311371515377381433381618559441522452234108221145220191197725921312082213202741842831877541792193221537185328105306110818815115247142172510485115631297164201467124655313262157634027123624222848197112894420723953321495498514611355367974146698422112676443358264329312982322283425156174285695147266712234959111331521154694776819498659154642241634524571251694353335136612732684877103630002133955121231121996153318329570687209438639786634243138159839243484854452547467891154725259198639768699121387420133126181493315178657596177132865668724422572760176965545722245131541918519662274336154845665912652842112681111173743144248244563321581322154867127726711267151247115316794467687824487828451256892426423392426242221511815186148014343959342647003926137174611253362558451484171066922301355439272237213321608221271621142314736540126515182117353081349258533681275095411665435275518560497609612313828367585042221256277771759023191148693663683623149476431214113354162154113817403493415458767139442472950823174071177522841597212117867159251424744425321188351649114733623944262212182830523127839117115183921764169215875367314038264290521416511343376040856137844644714311924513131474126464453364502537554765561746351612242525589324222324881124319941332237563148119412711731024477414584353141346319555635550532932725953117075391166111321885457059461227211192144549215687528522433519253952257868525466625114013196547616481214822121521522157477643832129507228321779302114941379027575321740246342791544847023942216675825476828062254514367283534033674114246452343593751108325048455912929494513364816497211334311228495542982206733165347752055445107212325432465547212374413279551224739153567542205945249250662202522312168833566299147707251187121746371424141011471925334956524276946182066326294812446645393142161393763351741239625184438626513218095241217323213123539554793260392176837243735844012363198476571034893581948346123968421217854126356125607713817153313165437484227681472771211752635090554393131538924251941850420544448162414323663815224227525565221551145456453234313409042144437112618331417671107758467434121475127061332732753473136723363795335080533383221283182648606112663232712687243194323321344112026237857606142457711998181544592541911402654651819114523351378932400812521235474221652152023873129953482802553752181619842052903528145436614874023874352313853177155658326429296620494267533654281460891275968419881133334625512476803331715082423572130612681621556121263823644255162059624452254746311085142121187123073134632076713121392841042611477416318615192746351775181944697075529526734912535142662231542539838585139965514866169569433835116380336693831847158232841132788943303622316681764154246383297655327312454513145131134534193943174338122246439755375366963055171566214752111822043712397921150812111191144281169636043780303612838422957386567846550552432442849950615589851240515172368375398624613615173428060633161521619071000016457395148421657631511347838347671410235306429133664442636613412184750221718066113212017288519865762976713847336433138654451699438200575788321211221062641438528147138593661334537383959520273451414821355692587385161633317699345207254511533115991115599448179366531226429636830612194514682954186100611435332478316153354471166475918241544715753198124418335414437922221789245446932624674792974764729007155677834441376499612695143314536263359473315074692163606213112620345325545671369463614787225192867454698606435204245272956567125410326167460324811711817432078595743735122634413232842302836266894081169792938255547959604521171191323562627665521354173673132643668464996623239149934333587862422751238488609771498024428176437462862662744582381721176813169317921292214424608847544683530832533193512109336231546736564746851159212525215732162443253274244361956091201684166133506234227082364126923373853441210337331432866323342409136822563333839625132222541321438948993464564293233223871844121852211425456139127224563352196208429291264762314286958345152817818573444205837587432206711182264147473143257226677831567261262473962253891245628444119012718668764364517516175117511470164623635648721753936171195546716329736769279532333216312521116918438637354183442536525385468911697111611468065113922133243897855153316580674769334431511113227753718126331875427125718618313480488836561076616921628542148915273139442646995515431041624210321902249378591963393934365966691566171766132662840515413013169264574713442123134026413284616994525110363141119266003845113113842213728733234185232668742118733123224123954379750846548658746602442943641155594911523640935638504893372415278376933125353711263194359513721438835425398111166161907616438451185348292941576819102912195242151844856015112274994892382649410118512594566295442660421433653236606125675229277266521922625867290762147199553139162538423580111232438111924220347692115716926592348533533512337327661334643025621591881875231721594801285034534287496499235961526325523343611300251755722295552271008698621122926502554798256423463582459313922393668510417329941654224472255168557555365849315635415462118254612221582611950772146135535536409376611912511768514589373522107205282363172124229523641424579584945736526932398250020219152816215671279356319804311108819621884434971419772240303464442969166990564768005246677116341158251164731381294267994541361628206053473729634171592376321351574351951495295755159776427452310334200191619717115122225142182194583334366563504632842443224822691704628058145172693512134182729242504353236123444173612376694126513116914923307707354087544695225861665418768468391381145667450563659840458317195118384512269223175476247993185421411864811143422754592362846951128015568941146567114762895257827664302816658111757238182017974141031121914122515895701640234639992729196085618506711026455512708565641345939442215122828361742743661737331444786283725789617137371315233762377363115972546541793623534022743123699972230721410138245873871915103437725323467274674424464824679917419118327427624984322321796676523118145696146922849643795257444971143713131884084354221713409237563552943113478412104113551815218209986183434185334225013696342259239428562615412493169825623618220029133239351122428421695581585112833164012458931239467171174223874402553225685082636431484345532520186579136686592961267618375327413217964391121315688332743134234762677002234931328610315492272710121413402813437155941217229151215186875782383695101371834415013553938426453387667510312422187873414433099798518073173279751682168439816166491273329356701015079433982157721476586513651535705137165782319246581138677483378317692662791136475743273143524012668664620033513754721924445632746491731325011621258156532461248460341167630751543324401325028876135132126245251811968284721734450211219143824083944417383832726669299336748134533080144363435387557915247147331212432113572361315942286722542234755251718817789145133674385241095326774907260334125447785214370366111552921333743974046712623280356470465114527681048705129612443631246546252908510141442406347311318861842941643263421521164287137251533255396951107893127597324813713335831286867651212134321552839343222313758595729285811115728253875439195126521681177726547381852972116312495821269132168967556556384548533224824232835167126331728144131621159333256372637354843303988518353612225918943621292200317597341919534167626355873241461972154087121574214114380422144403282654551567081637265311435714152261572082839715424535327134684475305606137070842610573147642714167638634810430661874094973103347443432237223365226252235253633751091261813612814825281496620499040092221544555449470269161461344215312183117834169575664464192642326221888313365332365737126744709719255931739873222482303062034517256546362134051153727171731854426698392031153271534684067117163138123361995212904317720592097621665215306124779192412977346627287475614426011743473121664847552166122264411188426434126451697107543344521715115184550456644287466121532173812143621462093445221877329512313599638315852312407086060773295392567212451683692423552243220929443243144400511215309137624668238473479423512631974407154311943121833696182144341771239537216453433131149218467640665441144765819013587242584183824383174114381353346522541624051717842852952975515618166619517279113741144331756102517341146738986220223233723602933473137133981775123716189149791728778151134539497171032887146315792959651312668851731321621284693988622155558839664431334244715711346437371112924113322262358536697252544414686353272315171185589521236835441515831291938635343331220686717306462363813557317513079750351293825358055414457065826434726435897602851162516255808407642822274823255701354521632719534409606958471431423442488314559854777488412633546132182915789266549739928736587271226646827345957494853959194787569979392503339361384235163792269440566868401985535634265116322818346074322941354217924307325311324122316323451413679626582221619432115761131678373319418964566948314732859766328147133137525551314625849022454213511129011363563418862478784668252529842344442413436734766726354413114126333012877310672368271993033831732106129027362357516433469213515949375935936198102829549302072231534711138698336744173814693252646127606265144936724555104559214637719143644294601534311423218204535934927061293254114671764663934912945793153110635448599261726963560714666291911133842413237092586994203241941245363022786445175916325521188166878686532025614841227270794545603124927865538931630532163662328218294892162725811692582153674255203336279256138339551808319666867457769612561023135119445171847407601745154176220169878704314136231471679777590961723164623553013451429349281251997417412289403351120316421216381928232416176818449885605654233335148631343430441744134573314261373497465626234371687295661144739151232238353261141474812674318501138852313813227789324577442913237589877117977473593626661519356444621141487196297368495165544121541278424252435141351238876254158223317937472616811494151643411646122216847527397197047159454584902527748571448906096200212719331113696864516594518135722141558134173563922312711926758122717989236479995235071690112161621198293715329602958293543095313238221191412059145361405982555972213531255444957345284427351427196496896383566512443121415117121344512346218374671721371437331347639167335101829228481740604149453722721535822788264441927724436183133134786178171024763492654511577417353257920316115339530533155576141321682717946741714197618166458943807583265465691124163423868371851413627504341443137527020422993369553303611306143582191665167181863135443411416312442521567155976459341119273124854814827934914866838413976057139492243552384667264283216472219517325347131315381637959611045443541401948282690083721420094131657151609554840429605157142202623321088232112853150151151312216957518322454168142626433837914219621220311614360541723732865167732611355424233578250419744356147548323212322032319711464566816342710616715127131077735222474748114152252221511517409725339624156981310683415826972113679317288224153353464197132426113431725455175835457859693345664691661153912213745892113123679761625538234333911327349112372795515481132925241921028564803216675862446299213434295188055545856344122265459524522361175743723153561564272469862314457595663634984236434264717692352721431618369756584630317153242472411461318293416124474714491055263073901479632237339712111503074444385223255646361367114114335863314707216525547163690150552645413434525653596359848185382125418215341424214431396725232551273127551542877351312331089695813747634453278615219573401223635234444275377722249077136499833636821312686341868161623723332417322664933221213624748195676754118403223793295328928116177110281757269938242261376355730266113228433564324402419446361461321074284934719256943127512933661512238340906753016538625452124132652886614852147688762776214391613162119531977044714176132753555524378189614345842284898223882244123761981454013116028602111049856646912238486456142747853217653722316608737202321424185221136632141382260812392448466766521023631891882118218234262081316994307165593176126147943552932114923329585364175421423766644241279014382121171299361636778477333137686642792234015455595261420438133134252301162665852527403794636721122452595154321262813103881524613861771501236758579841014412110315841304450044484212874409131210191132807162564635226227192335617476958267410468058603382116150712155411362617669459326837271763614862461244428812312236474732379753832870437541733389982545101212890275726158123729587949779453225674810055577426770444687336638926761655533974148156355584657345702529152121352554711943127937485598255754178213476919936844372978934144654551545517561448873866263327158558418164328577507962689822321482517233268122577429112348212251331802482215442912564351581829590822696963480854988741618222321183538413887170556536361622516479633218636143331557627922311363544154442476311383431573116274527522691476209169933321164749521981321393248427272836213852524231551337305731541385149329444114873944737549431953338271474652424544959300445144932762652566727556121453988524543443254282556984452111556113132715423535913114932841242662536538513173213336116122363237549371166844623211311071754674893517458317419227121593456612849703884738471872421843839462218842847214233491938415934421717547372536126359750779283976284114162161430686147125425675579332944185347851175512592363424501129716684489734971395583517923283354584178275153342696152199073432823792755444275530775634330011553262318242687855344791453638175458461525747215212554117443431150847271616657156751852339275416371483352240129084497129893829999344965012371724147158259557844761614550671271524112513955586474433725525683727623272489564059313333192213567362435755516265626830031116469264076346338036402221703844821051594282138406762140243223155820914685660225276333226216854711375162373630952253621353856157411486423665331365125839027227227410642491124212237383841413225165094314058544660063663655337336377167893391122553729762474462795444629553452183867372269222741631500367190241184254314823793131196281112437141640721379237530197380311548369717264833114245544003758694453318472397574532447126742265503819686625311721422258032313825311091018327863414898617164195545823584556336332661833613231118681226061191872711252272155584288174552567545219415911553170967894814327866144195456313244552811698427204214645710187275322751171097282579114231473723244834365113600505682886914452992851695941993386320744557248685262144071146987320287210215433772842338343582734731944021652241752755356618221529756321574655181959382271262159664873469295274141380761913524676121091205477543311627102783561692137443143225662913545191431409742423739317952733255832543123026835974815966704092131677509210834616721501325204156418123114121316095501021837534484786247661939188515122587116822884242111988359830249093501381153682212641713273211351977314221714651722487412730936385554059527516351111963054280393192647894144543693715743244368393325431372933151231237570579243981604450386216231233245314112924572344984518240534638311413662533152121314086202237431474317933639218382121462151263464076445931371073944366246137747222518728225635620392606525261522566884747430363051427425671313846413321610992230124774112967223577542441178113471679476223382363470117882432277110155135788421747809322767858813157450274397453382803227188645264637773142578935183440720235532568618850892266888354529393484393481348241233338621412881628131662731808626477698431432741612131281302717315772439793151977583144505161751323721743868722385259211311849453155434285374131484444544604158532222874159954477638466648560559633437380256293995153221203607101251442448966225457146244598413434226566784351931339754512724012215864184767112333211586880021914229129401213629767230693042487152598725621281332248372747631541842358882668582227643611473531348177976131213489132924589918314446825414749615718631961140949697028347030236306413555811220433253573438263322742132251228955474222344589328525680315253273161212203131272272366627513911316417247151775044347313422711367727721734519286371524068429413212751224856222877184665672268071189573494128298545725446575934377260216927741126883395251201922143541554453867037125894272736944581621543543453525724832842758990675141436523419489712415866261671191123291327280612813336211319025125811212526749212438320533643617079234195498526472466190954796079538207601214715222312425640654638172797146382118656292271182722484246424231758132410533934352311943945245455646237833414852367788118477252121263527994228813493668474727253121382151665321976165753589352127438432916367713873291519534253717226633032191963931642521161118215678617506527411252732584662259491525751983653648164085225114885112827682253793422351616605410752670491614399861532729313289484860556404315241619088933322356372680373647324780846411258652448581365079524351943652546342671354275327464363257153006858766445551171827331146632213283374962420661859211572182113434924118332048646117433381389331329197118134834277752357215276753665157701984154232624971527830817187313546042172794345270184672647231124932061346421617665612889164294348159671676733697928728253202914343452222273238254143187136848302310181262529593114154282481325423595342333317233499713340303563274644363263440324401611883115643634522334165482767742747318190922791553685161186222226652373314703330641123141739247159612703111235470424767813432127791721243483693889141731606559646714855151221723276952566361148157523062653678678123746622562422271442484162812218342769226721534277414576032123593705687924324905273777481172546746375384312247552751329313433533041022519211664564193329347628461332237981173381396505323581442336474345841116246155343111018383989065491452239383672113118284434632661322468813518121293409513131418156265147362670617110376296358431331811894383786827211711294218433837322915617458928749869373632015344612616546221677662783748239487126023998343765491527841692801516695328131358122815404551728813251833159211745916927364237650134401083224416529360524566319345684149134848887116229312145573849480245223617766518387127053236624287701915493621111127121728945470639374134236183254112336124123611351877129142295794079674947485571606362461220353999199565232453947858251403386549181513676357658213553126578539731211644115276865326529202161568371236438271145471317366921298636362339453353692392545129111714309308165368239112650753286778413188571355453525550451559923215209746119473427271183225418135328012595046780345938812335323003049247665764225676142412419143868238929169464526322770165607496315382970113520155082175313343814431415813125518822551297441755164348978410715422454917687166517526294415425854331170451374269134195662242162313484798541631415393642691111318276211434298331255533279263562597384871169401156873492555124143178260138519082643505527361146210251217610547243421078769063522242745944163392451223126921807104273182656467536372648453382198425312317296818623562035619665264244597262759076338742336227199463420103242243129541481936157101363471431720486223694115151855364890782788238843723449565621342421619253511377959122912251176225145452336520331131262993363316133295132523431329788795553122864192125756854276582125926362678864151946776255534147711182534265275675745241559271698341105111350338241393487341163167540764133451666526617211441527511222464875703567211123218785293717304178374344774368481509073530595173113994821756454123213842788130310213731848951146111023473863316573783114472611668163239293193713387354549731227232175465395412717106233111416516822633411955833311473934502632788897284367231810437251620673389296924332345377435642533533757713222438105864035411172259162382631423442423723128651027829912113362132127817469217186265241875208354729572216388171652355328988261702141891821015135132200381207243617363393221273834672085963893866742295821171424813127715840324153410681526496474224495334101045305931291559168844815731624843134611131555634755972165710156126040283493534627126223565511112613160415385359514249125371851256928109626613141076397567657764554479892731344512685196432661024697138912547025519444972229429717512485697112274129140111784789379447238306298601331245975756195541733747511063523313462336435335970272501096596021181243619331119371294447886716127354260153456829124132978422151178333728036343859499461511994211605531261311538047472121623988251433541383534126016721724241122285531326005763056771292215411371616576324391343159929121816124141603945921461788525961021245350524421437430135310419736005454352515997042981205515253434162394684552913238497897724112104089168222136605238653521911012281681766936634382566384034911828348011245841537177110441638888150436961144317163194928132221512151425455723878623396023951442413569062938373964369814331522364396122663092526673459361233288955313876283437493372074054933311226461932654396551121706359416414722125151845168192487114343171432812738492924103368344352730527405644363324122333561151715343294481253485655174846514911137015634129141934835547575407134515431254691542967823884293122525844911229069316631328728911148930411248132683110618109951216645110385116243335332404562994115685263598324272973864410321148136231842172978337721165132309333644134812195782613643519421759636313415341457981133127810124143212871962600433192579882371468135920523659393614614971415452874324976741431658519478445432891395262792124813299115137415439651536954650183226796278261024314511144991873631557551431440294781724346042654138435638215615335298914146180066843429454010324351683495731969126691674034272839213185725686135193588825169233428152333591146127312114156121433161139841221917219866359536562901243246645376045311802123875621542116841483564124342425818433120773225862323792736146323512965641133736754346336108104377140393712694318225341348689375209212680530257332936575440953438182224446463781402371610430282747523169917435189655272122172244597357115079636558319234156541431321475188109942845330638255176188629614125483413119972565139657651352887904304522960252737262625682925611658130348444957876002402813890944391926573643109119170853982346222093864750245401842169642621267322590924677212264822304535692231857767320334121723856485018271291522165322398272681117992238813920918117449861783466122285929436873641161762572184351632113631331373262666059823951542234587318653411138311457554528552152325215438187514472453236697135221224431438631832266726114107326116515040460438133112653137125696810927915744372054338354947215575857619535413441166161521310524415028383724743542193351640175195123753328503112181809319913157342942861135817812482153261714511927161318555348696524559929241182321317715417484335182434229359545472399743237726360562126211619375811763273657817517540217251214248364636722862316844454438545263215739152523958553468733227218801322236361239438711541275134889996246144391657722451558632347145162841596944477914712411932525250932656843233438457156582616761247453253247571325476633606441532328194815714417178615938497213155402641889347538513127036361571456363446651151092176629145610628374338508685377672231836638109279712499326134713341484234111154380336435522145914674749541515497127288266133445794628943678516211306661615232922316413063263911513343109732134264275027728796459131739463333472942208214347418115925733405511612434622115626169733479126134796685163723153425991103398359741166287741722854444487355171171134532260075697201810454955236232922055121774415141668880844913534131336924116385342827105322641213076473031293432346384200153362515358844129129625375382757231122162215243063119139952332766202456103492482359922545323137134245911527914144036535169312831137271285842296862834038011391854243878604621738217673129931135947435307435261324643488257892143745110153331403551554278513492572762505212461369314222638276455775154733114832787181773113427913638195411498207332111192542179112287305089563277816521504346203816315371213203312217736122325635551387044236823373638643639119564915134122279231442459424438827948023226251148157524921113342478690621653419361445346192106380876361914444171292196034497329177097457663818265886825167235544722418727797353799234435195245173552034222911964863188307722659452196238509934933294480854471310657286863632936227466925749938058840144698721798466739350229439617362636629293435128647596794555891343113569827368062261717098199391682741841925952672213757031325258715331377639171314118273935718944323242125315709654454222817342178893714946016215315382385689572212313249222246854138457304049605628416241356422620415366424424725654510247172365423543756103173256794236648579252522516929214218603734422935433453789223623791287451810951712344370209245130611872454732121708936411176315913742597092224445343371885383402242117296713379793333513258454762587546131476920387095039816194849341263697552333782792721116135144181514124417849816175522320267410644422155323201898115544413090954172839121979611517234687528777232534989162552512379521232325761926145328513111934502316574416144851117224219612241611292567215363484494134100599581082112250303821824225117421599683697338451733979614417442659312333223773731233371765615452955622312576848342167514134366041339671617759945454588644721477991735802867075669361108499512773626425628975834365746051437816822301443244254323417205522615503889916621325430421446517266266279833822324561664890793918332119271163212824197115258267504644416493542227992211459815789069544769104984553729666678221931019171349466134322711495592155698122145223621043642836513501167274881692323055192733340712311416554324392146236425563429958616131621070485391644613831863233912228122622819216214397224857152817241833394755619163367128175673687266172311374755103482434911943771594356396042556151313432881530053175214334428449693951068132319419334181157276228268741913415344494619130220876231362141136288478127371622147400612742111573304483365069158127732333371127297418424536357247613427653233502335631336920111825319195722530522338123536942831685494623889831470711969961246183313594511278214698570163232784633964657407956448762558104818535628039659192804247111118798929221245715979123186329066831347326230393882357576577425129037428632171948621965852467238445746638453743521587711272766396410878466317685019628339115456214431566128132113429154299767921913513438692176402131912941051957315344783112560681569412749283706453942284893943462315961068671072116242027853433247127368741526418535704968105638824643329369215667917232015898224687189331551295676316141927528250043766153554936581135719547102108806948083772328552683836481652414542623546546204959431512645102833245674496106031327561565832224337246493176314343659171293611202120613316621438134254156967228902756223545063311387140251478527916321448729613332279193424245984874739946659021573426417161334857033410593363630831367231613468513439688421159651323323441289389103420142530337317123675758366526162246186347654474076351656443308172943328313238421543560794577226252916578644834153497922262815318312824816605315551746142023752208775981291992446649635445516367359523135476327216714869489153044531867826325931544239398721751180998735162145867027141213568733424526425393921183919615077241424516187931876431541903358481217949646223676455961572483715149112835313333623137532319442223114399971233694696797233682434212284445222375734434313356392562409960211652900196569412582233834423793524796299214611547412459237412125037452115905417665101443833442635154655322202337874305082733273333350762571858626560222978029182179329844055893325112681830611968113173370776156695825294814443238151336595116255177793432214166449392757178352636564527134329365297115639868651362777553897785115448613315756744150351395665514172877235742243657122793303149146299152349811495944331156110127658192451183292067753635547187632320231246657152275855120999149261653542442241926436812001620636915655472228261014147118392889568411161581023659817546117201832960942228778413287728114774737143236163626774682542853455118412440125269249233358135188494062611345149924534843379313719421132221538331184578734196344488229442571471765017368044156425642711248148816441232710482313541492411134551766012131772312402101122325163225644205437254383572731384223279110734851889322286569943057520119623945317439127431372314822559203223669288735551644155331351533237916586275191646397224727487529312268537502714503449415334374196765651915314222814117341432431264543372972178131179334245261128647433551653119126716054933523383408726682258411616621211217904326196271355851161087333855152374598223151833705412264884429267355494931511325521642114543348633669803824223260440321284575881822711178418275704614913415194316415225657224689515446233754137545130489761585015711112647134459418351705965714286124513105206822018296833812455126141125638731188110167571148864143853641812816596704867218545115511428195164351191555482615373173253212314213111914233210322692226652121245533322845151530178700149725122221187177122276185295101021931067186558892216632958654333271994686866121133213815335429931616255841135263372414974531726249789435576801961301143104326350272743628833701996669867643151743671183307482632767830665116002917223298342692232311543785030172043127325618256823374735363309474040442146123837533116312523245633636231533741893619732638112131449741752977111934311624535622611885348324247261393158922156939287305477461279706446706181433235714766322874242979314665364676745832410337282774346461165843121611283156696221731162418610184799591766571157342325940563486576257244129761395536937319724234262985550358535018356442412642154267424399383747161562285404129122445012922584652863061772522215875202242411433461236307376195549315421256737933273458539874276263757012627519851554126732048637735211235022685765911226619247635024764466941284520508145866759635336413351127553437281916176556197545639143445941525177787405393828541223872761974231471423493648592558598625727726237084723775511122814442524744195332826930221389631255888502155320326443165614729778960505324319823185326513015635832705011219590476244359388260168211260089934324804332636724946394237232565126301488316595683022211133361758501152383207215410185323791419118097282354235255420121462112015405611526562101356287201483930556433321275546964077086663285416968846049440165113544228437264167913212511139231952819831618794744984139646684681991171825171726553384751684384462221321958522411961319108666418615581541645413983339151712866172590346964894084417628891144813014828547266654146121225334280653850851042004923332036275534110975624753553145166340687284213695421942573877434887646166315944439734101631786252107416482394704423445179351890413138388197466133104795876616752740733592691563468652382413260183204725893521526921492312545492125110289534312286866658253346295425113663634232462927218914889134335712221428632341415454488156251337647218003379599431192971394519334160546166502825127863962976718250139661521613825146206478321617671505771191412818177682142360597487614574162397151251520314326830211447124765500254397163245516234150422276122631371415332447227779541804331799761525593772721389454613111835451944426929177267535337395132154655124544344672836723173716336985341291181311655201366231437472812931433414564563334444212269232461319360251462561304185332919396851263593462125371212339019154121871842430390568333517965534394328147580833621375445844153289345791352143396870352147707423630232471553711893524751226351431359532043539150113174069278461110191723209185542782265054335527636682146126293353718298260962141668401748612343491438311544534231394271618733722671173565441231326250687352121247582354574308563221811339413664193210789277589421727641502242763423935326528513189591361774562215389833027590822019461561454413237151430801313801334575386329103014365412749046441469393165432549213102122512342662651867948535146506659431617211741482122447943433173522414668014298540386967134508173463977544611222355433730343943410121221411437621432152821113643467398981108921017271221221201479466138181825584047153193561704817245614234791934542114726133183313712324173153613582706675203412723339634812223125585122081305352380678822136678472389155850114422431361758651470342202007916283883628257109323563684442562516192681927317388759647814598341665474313832552982427374456985422234469734642771972087470135261601661243875638522485751423522911811612317265563725687443224398325691588293567824906320657442242296552427672240972273811285318021102613560412219764321565946153983365842446493410358737351041334955736293578911874107362331423118417211247643025711944850361013533313913962013486614591423327437790064283652319899563241244674856112221421428544211084196524844552821593514728892833971699320358641081485253552451166288370283562457602831529213453116705140843373336975197392757211725502355625255535121496144634323912153320577423620553868129674983579534593691732432124941576522463244513994516165440425213181715216752228552460571522255112388545302769151114312328424923422132565623361756426573181118073241909671177469967328579373712242128152009379466533652769771417993915136151115112383536953571374989792282452415878266332642360552085287532264243883542899911594032644518684236288167154783733357661232721925511553243492785244363526366791837431657854915414263149772224315263353339914845031412327963594115352551228052132141213186651698629504633432488193352582843676969621478856593336234652987234331313266121716012594475591472498383143181264731180997677922756186317384134504333740338766849764596624469131411928132316031829332783631332784464229353253135612852998211133776901931222968644612312683539563966033357404343181364993862122817182564428116681571569644184049814644271700613239787724538271041230734373103395414725120368245324738013341574326383111761585971306775113278494214561987621295216188642362291862763450442156362447344880163293494286142249733014194062788711527461627550526170047727765734529735748733561300313952392253645735557101624141984436388241981149874342105613141319264365220127713845912792774841111395423175435688911003517018666024118701322359447261726760981932116891731932715511351241649162177482273279255974852802587494153857554134222132941596982126556186235273333274267044206617015375820041732194312441007641533406810137226194458429213351512454553996273075757113093223164462145323702228319148155515271446273611052245153659325703093861762525247696273735756774917322177511052164171581144355617930421561112620117207212583875324441733189215653726119218304226432742266224517748818127611444231927332595311563614525328519030725629525781202341233845211692715441121313585648414457363309348126766056117583437377154362527684357721244623836886649951201624271848989942132319702725195661255013544845743229696873898381121390823118074262565895294376514163264385082936155264271739887482178986521751213258728398751185978135236971208325978318313371715852361718195441635747402302141644313154595885974679636791329649746686724573082912829358028743798605253400941571325545110925413560252313646381215105363364631615182831227471426213169142261711314675592243474139223176617623627327907123657577285326727469542528611312527652312353713545532985209551221713906694904399103498582464701925478152610551351111926383372067632340495643588980634385491565124835556311974527782218372735514002592853268135836545605704262983008474339413127644049705134881194473165691511053138621113235835449414192622421711638216231550615185109266464552678412614553716196991954376743004245438555093045043854221731210648822776051782114224536842188344366246425450631990035241415342692276345860435331365123867842912663144460804281207409555298967676246065444355713164064414802042262650361916722236539175624634428287649413246101127871826236456941164245727911811925229323745651673214149976112775218217565185266516801433385553114661173179154521412494127395465347333636744124171845484476663358263311121658121285426324611814865517469524163729560712855133918357756441680172802360690820240993224112294514017531585243825691563331139614904510172648033875151275975013263451195383322394655332650317365112123862632442344574464221564329522792033865188938584207089721821151543234987283521429526756744621582753825623556624144242255701332243673554527346131911436046102234622320531356422373363570815910627111976147814466720749385117011182513313111598221245822743173205845435379324420132921317325331216955783576217110310237464505142548242223119139192851035655912313673721819338314501388921051192952341983725356972141121321454433821930114372835144402551252116516725227235413717120126013419116748112141304317881612789213931621702392538405741356282310431881579952500454572738284163587421592822255722182235615223365301842116645251113219433693152551211915439143223611641232421315119971333538880355313314242216450133354335455313366483526727133672229764721449862814328282826125811295612864873699334926121029332112464443127135255234114272893393303953212661684733115168112813387315416164440681429575476063286126244515726614623541228424828832319373337891593391442703888510301447423171452152894512793519634758233259593265713836710732411443423922168674419561474343387700397566226748709521459988121691514837011344863594969403513745309222332511469268713853209510656683334396973931116213252627885335714121547564136734817143564330434731548981466156151381226817943137715978214336151159772372254196721725297938942168253953509216374211317072164392481314983120004288322487411400017242371531566790292498167280314682968054141053891139220153043367526442624263558410372981422144322816716441242465699150122175768359853933535593421898341778278362626233243171155181417931124367534427684745241121211145502451518632348415719263111882127804353479137418611315057722531167652437151452552437978502465231228175261157896252511405832383118041668351725230726658241231365957184771334876772637233515887763226432335417661322346972271221655834168133201925151784087521727657322253041345154270253322681138421612716518263576413656294441228843561152769212193472968828335882801066228977515361123916233632443737114951345773239455040271381633653815381668404164915129043691230215556448646341279859357234381762421724263421624416776232318123321482565812282159123833235197660313122342336161426326117499112372381195540323549277819252245052544425132282273461596845215144720019150132498877936320335005141416195422801441238116543233897021756343515831541168139261133692919573287199258106213232231124171266382948312331139691114581737212814531911434920331156719071297712931681785862521235695331104817652563343692774949213441285753201957567711837803967179026363682859223298914845124211881208031952933677554614827352686901641725328850354013036748851028406555373361225079221363482226169711395602788507522744120757511551183242427451280864602716628402425941787659715112162844404255783633581322038581284281107953925167240495358674352040755445251784622277385724321836124711791678178534382032038421411842512357324587464613273473447043823599335155232952418001644842118575452369456385745018339295063335195361681011998338513125182160129250263501387127823186389562361652373318419062672946957849856744178511140995372757432338684529058812362257517207422474695256033652158321267271741418831612121953412313475275443693293433588522166218251414424726691542835592138302288163533462534954634433624146299291752471543819301362336331313943239532371238314454551353242757803322351977919424937121555265221665131364575185612620946817213548739224872344813598940221168762644522376246725134917122822203610616804017391187614916047992874161588536423726321803633888934161383282186338145613776130116456124884858131902053612111260778573560575471222375175152533496391439472176442978158750060650951743516172293629634272922358434961813149113664219942556319217389287298054074278182232274135767444112337297612112921477654416119110254613634773448381549554466365025122142182547018880118421726535785856966694734624794364729121116227572293189929755103632245551718437684412525494913391201631165231937641222411394817534424026325546562237035937427294311294728249288528866053626238171315194520153676254223319645433528160411436621333172366052745441191836891621921226238523237832098316177979233437798275131494624046423634413123781564160595395125889976835620531145446594894118343194476557846982021151453217248643297825521136113168136255455343745886947282369723069185276123522324745110539267390102002541168138645552355916356407668448726027018338719131628113730395441857240443116897184719073764531422311622727493416594911698461252087622033995377577133321365212253905193231176522143544660315462620553683575442826665961362728781327432321229799434178510224036416453123063043255568217439559308135945474254428432341410341191402008732399793552547507785196264498844526594543412616944525923425654114223866187673295851836661032899172186267625437460361814733812580201132964732219654341173662863185594665316268384299264123909881171147523238331251194273849212189390928736977817474974841614203443139223127618372983653313557842819952823594672524582161515679118382380137384164422161105941845321441571628242282478157291217877228326304241114609241152866224296192167119768217864356159374514821389315533724572237475577275041555762435402919022423164627261129064623932067294122114582441776612697416095764003545316421201331971015654834851145529815693495545820664473231639314632543156917481106271162521955063731181332774446644124677287358114753927626764532954531157220714425121541016630133811327474912455814852241417645274384121116423272221681332374256123628231172928481393187126748112825147511726617455132107193834214329672521674934492366235351818191913362153941855635112618523235595253415954721711361403632464524786630513122743261267649344266113582964003136331614432861465261137118408135910114192114571922270582241316347521659735155674713313644113185924311560706272152227717423934284427882466422883807970572178175231548114698034592115143181742443655483542734299913264723127597312806243557370471351919827931224726224486541414337435742446584511962871233512745171714115852342552473377122174328953454871112411731525445314541257065141375486891061784698673242670971311041950529626578324032427334154453679031795062916437654713172563642724614138134117227318261573727151526493349238485256793631269022115482112232785381155714134067934273032312401420348312133497192754212911592107961527173706237965501636112847431215564332115954561466769871112159132155414110216370702031211762511576492113110261262710715428876220053679032048949964314541462548184371729537593325299702682247714379496936113214785577176924355312042402748225018435581029144102381090146638719646181857111165712283922215232711524423444224714904767284386676440435192112372525741606311599045924331339226294332863259731428625666623402436249632233751435983379414341186682276213258313195265134192415892845922723352775631015362794133222223646108635523351541766202511423465711742905220622145388402258702189648037140263909499149519338932122603059907461746805171466136961993117517241019236614592665412211158717349791588223256075292111938593348546115383051891245635243116593743364939199567218745551778316242453693142735902357308382142470339225410237134133820329132341480816282182352721238826211979345316159334723345699414337972363564463582231229035127108466406772387206979473283215772556252196232446125242467645222776322532082912373912366917121611457216233315542115464131629163117426574485593613217683484243497236386305723163115283831373461535334962499143623386164154175227295136464866645739706941991345457528935010145031251114895324631393121441123953308175185832948847208992311651838656425091263442453218354523269171942214186363349629235275366317320262217172655313557827387431140451312517623392322685254924958654534531244567111222274367147341113276322720826844326594587703626074234115317836337136719112285128350186840069317946181416971415679111729542294222034316637179475688245343732367259137214354012311264224686116147649111189742876097121659173425175622434679633716977131682755861641362356871266092218206118537229871472204642153152251855952866055525445116121642327420113725531514430457545437816962255459619243430116732121700345739706655195434121945615716039122934612648142846184683413332037957221011698527418474193872551238126469211657633191926199521449818768596814565757274332823141104578440552253142743955583584415657773118390962193118726863409347111135328534482318795737125454117319641752772524415159146322743386258151792586188576221462162731815102752675252527725516762936639522728657126963336013519964121387917224538697911411021184351617410301023355573514992028230254227819783351426507410432574145192189112982006613317746682243262252689214760121852642053177943970933363722823654991362578413319465754162454678542239582678486684311314337942254623247788492232315153282031115176526566626207132041474868535141412813245253122566555302562062992371137460281154351863154652521134100935185928243854857689963531729032721665286941325317625270115241321152121362861241616332464172001424917140732071472211132345590650146361615543716925265667810682954331843286584659745518086527736809346168395962312527467842256917163592324563117151384637288390546051322792704235487319627112154534157465345379297567348784442673194812442142944793419211383752349129575131115366565642400153495298433439261973869628549463731575472311264746288354411586536894428963533298419333526149948342358242154207586016674524100244567754936292344364163844593713828572733174229372684295956533698560766155585227503542111631136473617216515543527175225553971858948511325924148676975313861835282419037115366945521495970844837272125965192521223928953315388331559327793611162185586589954247871494541831771413118253844585423264273288396931227924169017111357324559642170809136553412372893343945187225396139775422213564421636169094495163119532543498210359693658444248158243904422808463831617366359633211135423412832258438645163890951437868582359327312527826342761571782017154531132573091406163614335111454373734159213845433233824111772173436622233197541341530311829041725214694416574065683308896827840328691222135162638125542714323316186468737613416100245448821212368119880971683122162376761553281252576135575252521252527572230460624578156258968255154788217518474919801521311316767476347635416555453205447228429563515798456475669913317382814241786683162493537442236323222171982419563932141875037242174441367651417133586131128414274637815855656733114992334451505425628619539211154185839623651151731400299359266766913449962435697290779815355409443351611482806781668522753213639320295241807691347101749585439516818105302511619279032125651131167469179523622611511272513845646396345412796347486316435232957298337587912481143131231117174684674250562259997251522551378126182751385664356726855160436010122011415127992258474787724516722083394467533866362620241023272431415902227736443626881165632356621878723627262220114614188418854336746931204246511761318827013473189799183843551317278223841938375252401934921116511408238247512023862027194346755314413143479772272265625725626560156457729134462322458496036011264029163865731521561238781164474836516110003175119315211267892762133235206244411781215814315111594115981093573523517315992174657164181129243325150360743291724491211536151027314417232445223294123225119747199692531436627626284602142351625339043555237157749931086356472722164252026724253827363791028814921607696843787823368232222461217937237858091262328271373060961561170716924343118276613319253531522372213533142263146562311281162644442324059601561727163556685502607412441147545247836894148621061515587761773621435728217511170369928933711897117512837430399006251722194134523424341861848835765918411537225296670132322443141128758068865243072347626276642525985074936952986104935737510342424153403526748157451816597722258842858671602672833392166454452605564380414917960297524242014381411242858817877718727493445450211237162738714593621275573772625019203495631569482862131127905036572345117157813320154731879464122551194227775242056658122382119601449296058161758650514198269573162525169201451134236227121471693653426228368459443328155448354171332511522803658351013539551242242498247673659741534852323243535154225364433699136228146117299339901828244467693321343416114208213422951168321259483862504514866417572246499395133786638134655637903815283932436424333468071958049262518241125301892350118401934447114334207100715231715204112503547235288552113238942314431635877742436527287165703163454754412973403427261524221531254519356559481496875231521451624447310597372428356337233689551112372034582721173296338710191232178133325333791509237763879121446719439176321344536391633772919132117738450414529270783412353314366308929884676331340363198148713319107452435372133926181386286319673162530746346445384642846143211727347722278586458311991412151879733227921385135442247212924244427621637135383333596228728394188143432514313149280982827962847240452231197621500601185121190931216352543353233155892253395315311885131274311885459461513244535164780165238773162244616798711371811377329414979116656314630815444814137722154522825372554436588235489121437133224652614414144147127461966344452337555928022814313212673152653272443161213112737743205572310911914485943629526134471445141328288593338189264309633287565179786504381684213716115114214369207686121441583231234932683121525731341238319939885969153184466537634203788175345412812722129625882734135569547417735315442697616271183728272843539648814591253245321190955473384545565233316823146723592123248575550945358410507278141311110621738291224055306213244550161877714487639367723219961282692314357641304436114044038377658461534382426454721166872141550143981604089079464406523844856323553705432242258142175645263543204724321453135261615917777121319956649017244127812662536174711271843323709127249349745832483573635883538461539664115817621244124082174924316566512135371304512182484497111124578377825113356526683898584699637168375811775914594363038046444352123275177457414367844822457244344277863114986795721487258292521591152318602453214573071797981312544215236678813521123733661435161262451131000963168416724359138120589120292728321326637061752162671487683312143143213221121110145825764142813495230467242780312122552131126257628102145590116443289267735685116561187976081722570369133524109134592756191517974828320533122381243687839534911141298714684494764502780963671721316253935052535919169410814313724222614654414493131213771282575328644841485015514244302785281925816453045545614442100014911171164532662453996349335433294420254271634476122361584314457623071577264322263515422283527746033902456641031136651210147423454687196555159522142147683266345821120416866458533625227111815719297113931881017775912732782136664817315401021400918323127764256823717333928499155889132835581445127128591791627471922874487172317832476721244167414607153941531469126614484715447685378342342910151477246185556462489322622523357206317406184270452000153383276172473311157723714331192174380268244254137682252222275342484243332015219576818711094769306392244172123148171233612112376505767094553258255542382483353426603592404823790556013878366525229281253497752662245472384149155992320714568191887215626277662605338144226447324992586813661296266156375195028159372295132392495614313326375746265118564176231869157364892005162316518741788925163521347175074474313551932273831415123772479053517021814126727660749141891314035532311227711475642611483335762414352292520844853285748971636075224421291122124233436524563975311151261404354961741363618191876311333235016856935242245326240616321286193203862723412868357754401316315514251242731218211283409213433748223633382921772588876923455154169243017387759304741122651134413158211849162059521385711141527816131755591311932293454239210224263592312575719235041789675044421257358527015613176566438714216307141626551851722492515542341363944493205444742656525453524154417612136419414142521352474517371653528176149636216002113738674414199182197721556013858440229458757743971485597317694054311412141946385243033126441535056335744451626812193581217341353239381485454317347614878893378644130655328948888191737617231166534906104637685694914114813884360441651050373414536533596212746637114231162831411691385215525122073371290778486464162473823643231479435215444911570240870878884282861321551575522485045329419341667789655562748351955163234235511359662453137412989193672042223171089113682221733213522482216155496624351832445411346572663224780051145375325265082727696241144347222946326116947636828445119366605141313846515454139843331262361213523510042812454669275631613169139457510774116836792537948333722368633544154439531631432729342719129314138123711631628316633316230921071221681335503611668125900268374243164633271611323112011678348392323512511239636225926263413722123789422621504173659349145694835962343158894619281327498211922829132832113160063891621624473894352841104236153281045187913813413663273119353191728329661943496724782991452441129362357171553687177994275753295151346340328151526731102303826646835126303585140368870428614795102855121143848156246436646543362718898325671542743133118651814329662234872346194334743198051047537253011125822494263029067412854229916871489107283272471356124266144946855824627849682475155302091385578924473527624732211142512372612215213622135532464343227982694188681339535114711339164521186611504464931492830670935256532654661317112926462333783481940679730522611632533447256226302819862349065153211592595333531924312467333475417162526765558524631456954113195574713226524024335331431257461276803255525112391794113252371448739491412314291753146132997229854337685223110713221564415323528482133072222752508815052643734248831226621782689456268153994778637417631977534653215245014224739442323372042324253149429025199827241577204626125281968194291522123840358615121854853304601265286531214306190073220271216472163185801112144644822908319229324004443187144673215928937717150193593314764336737451380741936610449196639429358163327861933245338564684612656169205366124715249676162126962671155026326252458182705451583646429218629772449112112753842153625466341975131287574631115625523373455431362352722825192661815104320114936154733281629145824635253114147252510311635630189104294593468076929101551049128261338270291453953910757346321223752494104961226883124026378439255212435487338444336211839537317112963213635373766496264502455492513260806783477333544382873976442951431271656945598754114388786120415645205502627031473311293244351637115315447183115301551867124827524626918421112892216652296445146586647887813702113161860213384178453288269515712615289151772333325614139822284227252175099472294720283292581957262441189480880189118153052197161759523771247664386260200725456117475872462627194628134287546123544244129871424742813271502343241516552234419426261351036446322712133978925515382674668567488204828579416155756099891133226438214526381544024093532713542399973671628443241222564622311148048181728671813160232524234835926101825723632261772221345639191150001269072412754241651042382562931876789514451691711963598591428851293321663237921278386159627746126875999795811925276257107074171655926547319141619913221515011332331463131224873215482823456522281429272209813725265462393271457495987505292419836226264658119239429171121212618012431137767181548176215252571164217395241362471665230256874394623345548863624533151085873972124275242752188451183978536615143917819576831251827116394416373447853832266036108748835224554721315551545232341677182066756511627517020358215405311128184241475574147258124846732428191195112371122551103531260964863288505226001074116223345834342211142788110286737222473834244688129132102412451502774914713134371977856101768288575238437127453742462243781416843612734151373170277741419184464275765934715127083966626433382335530433823421168321195854065252779172396411423920416342144655148139444623147392711901413123521642355232231216945413113652801571952822295762362379349412794373338716844873362573721471694438943326464635337657535148161783368756215261251801923512222115623238572523325914366253083454001826253529591365448942604882275351416502520498294311456424614294231348973753215362207141233751446351527433453376725411356386163185146463576100262382164656254335223736165332363545412541262315428861426973462138334375301393344138372483239915589538721673137472369382242558282294241546153453618948511155215341208465411684197527176533579271877513225375157733442256738910325132615381691580054811112305411748712322130775686295521262333254332821987915311745540431346256927563613765265538184596257133826356450792114328363120244436363235225231366737625401731280964122391328353329510833034583835638132591352723787912544925311359296225133183193921847651645284632123388588931617217551310693044482041414303253793747896712958632617435793711888815911854652624215622944845215105184518216520656193617266758112352267533553125220611765898216521143728837472249533775714064778581460143222107167992527271644915436384482747493554088193332471232728207776403112244221146447921163324019264227533801446412274889144996458447512077640422776025212836486481217805200531482422331058662317121275167112529144128815595332815706273194162234681023524228635663962143047717536649043163113329545592014914523364031617286591029160510026512836179265256085163958960566973314212264454152364340927711368651838614378435848326907113872391353281683527231853618153515687438213705828418433151512618953669427469565234355330397354633174676076433705662347864315685291378888217772194108322354432143313906386693662556911625862288521131145181149111952913161258219853818742618020111377582113917137714350839204444231332425415415378713590729351083970551873244044512701037167188939527283022006459998184428033455586461253602580246131442917192333289526227345506113795248202631366553196438291721720273712218225612568222176347622534827354394573415741496132866127425218595147444611153118615812126522472316993231651809455793844134578135342661709342335233472801271219231471523862525742632777370268923990618982619531614543712113212978756624695216183512217812836442343541591894252354632728381274961444795762414812806054321352523554357422527837832354235414836777598672857324361792362636172733285624942629932206598748593135929787219348321721538223234297451671498545132276479516462804342824168264440324321737368478633518723612738598192654621284623111499352215813053334181014371628039338331816031688683755114243670311467429352763244161167499681412524312953951448058344643723129715926481676626461665776818143165152948436116352785521742226594354701141554214798899711709507665527546140894443384121328998928567347219511566133116263254710848841884124391735253059754148181867506330411572103468115772921407427322757313213196499345293344363243712150174592564015458213103231359871027225446742622436646179313814427637169924237568925336151674691736521141111224837616024994666234731654111525115165505741986474563421994342367564823603894337255910382113313462328312821012227711554125859218122789583344229549575996820572634191103753902637283421408282292232364641529916118132257706221182013297639147392716734217492411059712219771739732211143725994436079630241113437155585933941145814925445102547422951440172213866882641522166751781927619463676271413732238528318142662355243612493879463211136598185483152451042716354227167122335921269713534268299433345913424316520551313514947803706862701235674583940892363274195812940825352371491456654510487079314151517211379608969174118315588730517721801922002378245631471654187254313556572877477481144270939332624073235913446647623425526743215586865696281311167917460909524622443250536535136325359333491714498994119434754052550903242921495342711977524866739885684777451246748137754342571603625195411963446329112744132345419947796114323340817421765143836196268564156398624162131264757154174398260638881316541158244961736439119977119422312279313789168458376536439281183562371765231463430661094014014222189673789761560541736534384765418166775123639301421679211492116131848238942768657389259172833371442419722166477415881955479663342841216419163315533266135264811073349449246877773976448222282764518629236653222217296898725014696431225217466256801339967862211733932121891670570897175272491351062127452596788412366246492343168938479854623594242704511999411518241465625327332117213259674357385152115175461486286915465826168473559879302171225227641335048620742825865671169843172438630658284233027230335010427517875366732574214512433036318242330847373374342476721746182449364743658640515113325710113219125629782218564552211654932285684719970485545381736544909231184163818165647431351471413321337864355887299297236465738206812731627325411668986322941612648965414966865417516188944674130169262372354744911843662885236234128315333116449142106784558475343411944614713841950641331836395923967178632141855939131763163065535371343263312227110843212405971424225955460310494417534589471110543389176312329545571370226643646806729363486193211229614253844636829620495712421619689207121104151511661256025626244243543176254783289542322265394651651295121416698752632913445920077822161795662431559242322663641322742315734518551962777983145928241831614082245428522821628041831221310186802326547534382237689522279110973384447442432921259142116116211922561433879493511632566672231310516772535280786593571252661630493673189661235414374906324491515386622612823327132896414232283513103135869466647353442658820130523019446542477224144185221260339159909096322917525797115534217220242671754553522600749349909898179682526601448653240334449491271191393938329148057992914612584415814838146196161941115414421973116846850024359825872174216569612378517221559115808986657617317566912323356442623232719498365787925321482149471573912466214144985135574531138423709617835543672521293716394422365469423801223318647463762163461312234152619327068521739122321644933933511614160339241557421551227587340649862616319140622833787061368056253175436230182336243901581267671219211664809555547325115653131116464404762145942412877176680455154052111356291743857334063620509518425843669731812923124511312343531165357363290617171670266551145313453503167843121654261138528343383054672159882226398610156645536343415319254255822412341425548955028329019343819514448397572198834308324423132396496598433115139631957041223121351173796213324114354315277646121115106763236645361338213645153215145273793014621296316363552736015846369575689845159538310822526033073573492654178973871778358347644716367317562728673718170536621421366713353975327244116137156821821194677891153204379423136665388232273353115448542509636858157643894167913078631213595394349359233416228564332942093551794085441861855141887524289246495414443812634997243232406405048692171511233295913726316111436263911263479803781913653552948632032916011572042381184589862545316331141458138866373844628651723232054513182756515396641342775518522383135421120398663804965611562649644267824166364514819491222377211215173236492026137434159625908276368166832669163984983585812743517316179352141147142152336661951936498137931898230122711174113312786536427563751912525311383534750773355475019275346352157631338737316443422925879046421503858434327224714991497253261570023323484353313371412116431138056442291459344462237032467529923315716313580671524463739227968411841186529731651112360245893444222393714836326293613352623012713352766233859941511265465992378278162173555296002128264382358730517822966065333165976548772842457411359193743203326711155161904115115658986743463313534564214213823316011577682564177519956211457852297715657170888214568620542225536343560971332347437231643280631338447792815419917444003731322321513265221252232327954252927807625231394164225243202935597812424834279618188521719110181401569151914479191112367522250123119931359625526254634249527539378552457860490642116545232996576242482431793359163623507141334812688397651471270571879561920437809472235332514312355733661611496411763817702330113324161638211125192342190831254173521455632440257371584107224920747554827225420791521153509519771458265652721916155812918133421235613722779654194129015927564987792610446574325337887279524861738242811612514523237163584326727111638763533665115571261359744416374142563173473857323168566183147526461559193922084343981285491447124514983325712525777322555665162316216621121751324255474532152728363453139364731594132432973409191751532433154263528672432947392478234236780949420366282344149556525841210386723172511215910053460944316195673521719189839650335727636314113035155402711187325314666919255724349321335496859503731414316824081975731438952480453224367117924779944136980922545532951121432387142509753550273933715515271913243699226123855797933141859426043725518072127130611388395863381946667387723175151649973180122349374334216201241153405412292751174129811392195131191252529212586248268152319878131538744580335456571453247417197559610401832248469562644215415573412276361892232639437375254936810017982349910485183240597321987036444219237892120364821131117077472338741843911523866702122643233025664812673819801171902098132619465337254098918644768172796430212141636172393782665440101213676761124132113847066854645416753129431777141212411863341534737845815364465571346462133827253134635911524395856731017621435789526402200511125240221874184147945524251163529361754336216361520260548521563658801965765698261515401439291357334711921653593802939764512537734116116142052222462811014159857223364333123685282827714383225588143518853472805411984475648975863644221801482240381631273528199146120541263335624531585810227823431105719331443385277954482226411730382756821492835052115123547836461153263827828615096466432125144304265916228232155651799415218621373565710530239212773754442758345819622914382259456136542445815183754255442124181233011843144783255241330531808210332474184919158039171124559128351042285064752552728723627992113517683615441254632145501723643825136518313455549128041123597118295105226318620214338747872501717684842542326651814839496142421642611837325332731314490233760777265318746251597045648672973683545523264435312254272812385928524743111949540161777952213853716962871132431499467571737178947212332491264174384519717511356183148291127846221621634594121015912217231353413529453385216171414513153415512121891618028392922621485315847362709051284787119240456328223233167442122221515811532172570541063853384153359851236036347382662738780526484134895024834338922427737183155525838321491420351660015384220192661188233236376148150024759013436644310938223776203157584203284841111842987220411518611516639214079882138358515695465626344291742455147142187202352151322502324626824782013715323241817741503358241351914426782634642091216542171272343997521715178278825727645519694951903449154693993625747493262559514660533376135435032244266028213702851514255834475443587571746830585919425124137388647223452806539958432492418473642722695484152417209287728437301462661462973202579411843692879441784558137885123592903654463907117521365113314492522346921811147212131392498765661547381845252258774588634625809721763322412245163283714733119222834811873584218814336847113849218914533392521265185974173124246831144559293173527166266561114432935124125732156213033172368378961735468491937125033384524056351567127612459235611721745324442414517177561628814246981124392957727321366232728691683241445612311321989034352915325683991153556644562193612116531227680274085146922033427234724705374213196376725234238515111533563212912598766558318349823361135379922292312323616504361316493186853842641551420291926281028309416925622616771442315405672293601864735644915264191445572073242831211355584796223251244578357942149860481597143132119299654474787495464593216555947198661574711282154401178365918138241553335187097654121144228145550957858482120463521640311832773204284481414856522486304149807548410487732173704258170411720315351378251648725923623345477955154139171281482552288173039035088148165239641192375431353473145359686366623963123415236346429113989473637928686454992858463137094519157121143611565661336589217352899163017348214540715576542672615580551976342737227868236123657605361354850247543082959432616339411539139956624211454307162411354278671152344451226284903222224543366131411966062991762449655169493224661045562447271463147377430566693392362565102231098364925711309748153155223605984439201166511609367191848445274772274172817484180329542169442344499227075418187151713314314245677521251407878322231497123442413848142492927325315274455567114927317511536260512547364274304223142727710113121414814183952291606342467450265149139518184536164213521572384556143921416641518831027432155285145218860482412278878655965678817539740320164425312108624374283154651747660603242449952277215777815523104572467381476458628161821539631664143207245950552267133473475811212914681916981239686462326829132811028553718647412874572963455132174762124526545248379468202463563758036514103246161794282444191072724063223323332981266641633255214398851147157807005382337371762002423445026227348045455920442935434233153135312164671021614516591384193153334794657394027047272898555122101412435171425741931928337415111479864732017457944227223131235931216614541112264120764165529638225672341419193300273648729279668715468566421233433221612623372235123922351226233996320160163331294382367021617216315919414122456482132583656121083761641862358181870518134796531416642139201464920513157694593770631264971714162730291512292124307240060429319575783122324373410314340832534575449382547331741031367255696266654209774941552973942715648742212546658171862917552664207269171841986354232918244811394271439622323385211204244120138015146485862553196265431137751469743042372552237688548016481093321951351416438048584413157752117935677536431394693036441696125736662716247248224427882620722379172415319191913642544501751684211579513121142337326272993114807341419636542622334927151835514835297288358772885762212113611242975352504185222643261633443312416256424462936227285914494741406028742201841162795716539476866854398745742724044552372840251030945660122925153413263451634421111558255112454487486021215758577666223101925391716496486806323216361369131741268225714632424293341068341188322674158214424022710243451712644332535798868670670664619885450444624576422738221497795143341521211315993077197326563419169343803695952685421665336518257165418334873581739113941658533456192535469275373696259023408346149299593484785267253031024661677543673242311458975336341464423751550921532616574355414393982861712579541556385791013843314242512596170514996141751451773333148411745142143215848931083944075545653511326214123261793181554022157147633158382333983570332234891722315742035908278902585465344215630256370915161039766939978008182293230172282316750384552221323981167735622832871351505924344072229601835170532611142857025511173821111151432919002310712415691851332427821252934233585592785142822198451192141128634693831419711445143656190325056236750383498638213165311139482242174415561446641479016331768825318349124969702520559864774621967335063252562819113511702265737484292113827362210451242339593637343699647423384711646521302919537356887023638648380216268687705448082142416195111211177531825262097700895464232657927194133359511370038343265374629710430599008352522426321339161522753361214461841993265633295736269271518527946422152624086327483253649445535953229449614474309538204293391436648804112735111471387061382047377552522360518675141279023415742267564356634614222292612636252184227420124684355922533294364375512452879562199057142192143023161636511812298634673144793219103634510815279023327779925473262416317070262355556288789681259931263463554111513321996728830218378271167732123313542143173627891215247108623172125013255168632842622121243114163408831269371293102338365492414839227913242121149222492545824546392184582585825483410121133103932842631111126224721897766328211417564823731113632352659189086164329485232698610622848233473512174223788109431192217782511119351431736143519527167072412583411116067221071525897656190685317127392585127034235392355427311159361961258505416313309737815462311563368321681136328264029937476755446415692781128654843236965468823577321198099447681786781853697484583394945396476270679789641498730612792533791320312622504921120012689332547322462388537374152211827546709471375711813549111633112657327465237638662194128225958317644031818229529516153233034894635131162147127329592831111518753196114176784867281848142163632650141293170827187451035191368791614441285241295151505744704768774713349217619416364131929133761303113833419444459354535330873615151332571535382385437531282521131528051051601153815016159437715653963745971411271135221619647218517122141964317348734195347579212515340370716082142835619659424344091211353754124313521146511390798132007346073529914611265664131635136794476740374244421688197883513833427211532221185153774282482553741578231931701301774221071937758172445394143772127426198131319418780172583452758186183532124029132032663573072212286243339506641358310751044588615671943471406144299697542333445294119111483147763091764848131172397850374267963199425655311444909163593156493501693762172252632635744937219006737147364143345264154423252281255811339267871426117223109293413545491782316802924866679375442233783213878368213433721318611443769862866276218352233173155321691235679413213241665261851152551542362635071032563711763648675449748711128995167733435977239522352756292693521763332896822550053427883415361470323937457326468759824083334646539230211133185776466264773119514147717330278778958762234433219121940365051917212941752964321264233332921119175222943395603465431214476777756616683431264161954568378904150342225454833519311181251136172729914433532657676447945641823674546731356694801862314526611783145051515023216625333862539009136858461577962162266871553623376794295396119581902122167562216124313539455236121314920732148841366613034585152910563911951103011012468366117104282820521117810834158865673167947841375295228183639445251927118929316156486842696742751521838322935554513824314912532105985424591955158824653989565621421662857341213615682788856344332871456515241168122638084677485147147625312029798446940137214463236936195593761381391243326354215171271468032615112482914914221206464581177121416168822383212168764262282821529135788257203302856654743173186612322062694487412806333163417343454309566440358439980404296115242138465286910137520561914121359979979931651970460929560166458459652126493603741913721831636183122834435832873810181534235205734352291870712671229029171331263565054572897133116915733244240141216342768341762534977253275445293447191385765211363706452127740781628213232618985434432155431213012521775131113631592632944373536842132628240051530242515346993818161173560302837228335722574945778434692289424333552113423361181435326806137927452263733164511411473613366954539501775618371462791481258130962255039447655349318263155172489566121772642291490411266817297213174915331329341226440979114348438921071334531862343715476647645470531512382171667111465995111386571367811122611478235623563499604163532543962074672261302147142543479238299286823432617461145685171142352114221942713476742988348021266415518057245348129287759032443471733271142352810237603792587300320103612727415694377424687325415120624133484302859846483169424807420342664121256366514226538526242272813125211323382518741197146117345258292371622244437341741116542822265817928961111584174574421136522384446253146275374174136735432748136869115266548613882298116490439446623206512494448881391251510639380543698171324166440121531525212315827311658423548565892638558243028364252834310239243107442019531521624222446286819356082333826483938127513894454655271396910513646715332842366156781661148248143210545562168823923618266324471693736267483532877322544206528224844143846274938739249030335512432132524613833841678442904466413096857614217684710328228545533741288617472636834429281978221142140227142141867184123763826312325801524452269275805871419829215363574217673107413757754879312300322277112761222543461914334526591613642753929055631872464682541217555116184110994916128852564324937420853816192183216044741649155759436137996190277453554375392699253921551687331731803404331971174026340622548845225145179172322734151121184406741112914230909632024131662183124267732632353055916888751446354477211546442320172159059512652688512543143631994142503186387752437978936334232323322192772255169361586923243752551117434725985331976514691166522294446671318323678081181115219122232124974133222318105994875777632843322419882127871719311618972267829910252588126115527356132557739112896282578814691234651662848884228268753796213231234845323446214773524230214707415325465172142265439193257428415449113027451826669854877212183371612635297835742638836443302875417838412152434181465312162433740217521823154809297413117744122691731116215328212118415467442595348561263146952145133428267526391451821322118590694936654676399538822210544526644190700827322926127673185423338325932493697193131548247653037289420518214103844612316240246475156328262131606215117622686299294365982035683136312171893117243462312613113247253525278387645482439346748261074296311662211636633895211444164656351553213415392533776771662973164343319724145848823420525017722622129024121481196581993545327362714143351512125181835547613514750348336225264260216424281626322727492055239495541790719841170657763564253449481414289843271730414603123150968896924416412275851332625262437618305382644186648676386733232563141312746875892827963534163851184211641281542212644718575322937197012384639662122051125342152285634500224223773630290721891113626344121859207576624430554176045533204551833506208903411179623423458415696613752623862023322517621911952112833749458685709219856221244839242323153895943933127016728908451753284633122545622271333615466622161481475132313062811304444544020117521779066603422302331287844802564874147316215554721114801425431422525842867314171148477288491262674688342229252822476104338186122487213746045884441873434111377332517663469535721450262628342585651919958281212658452224763642247225238894875544192924713719551755379153103638014392324721248832548050931497543644109472287615862117441604927952357347511839372923174319289262829313297183668642654739000931321618459424676535341468995722194518185147624654625347248718311731213422844276411335548334929111461423311329621782461414712136861112493230570532134089711232351135084104454424795146723914133692142307323139434645412261546163121850555113324216352017192412262264846800554402213213811474474981293226437931825163524406475294688276722236132214640391798433716625466312326061407650388564241519322952293221653344715846843334523632624218785861496242223811270551996542697137699978363611112286728210411572282104444411225531611292066444432511853111774042361225361351432841453412681231162823235849572667046133338198244333111119117612411242373453322259355532716849315177548126256474107121336550197014365511881822342861961526338423732719271653240779262266614282748816172632617125532877275755861981118218821243652332551961145467150874228335412455952878210353125842503911331002575991121253532208364247239359796136811422457451199335422834302102818244241361499224854485203861721231215581998932475977713503001444170312538719652660105516949961925469017051657282577448627551829181553469839096381594544889386145667326356931792645429851654795292085334071205766421832273127576767486902768425314326174775228735538846817615162376249393119814164485389959913561732541143621981239671219314468864122517372944111172956246121162212236324232124648846284475712749536239628354582737354636174675440922330922372111373641014220446880786618529356157313369762163245197576332265353410391181213991436961556946746061005424711331868178198133219135662255438012374411119331242625627317123689251145972358991306141508822431126398361224938453091414186428311562359577951282151932110691526952169701312722542326970312351417638769593577144161319637934856084412082553123281144732053624881332736176885533322324871226343435555240503828416933428845366181742772273781024439260761165284438737130522827293321162155212674576235385151753742512572897299871556975553667661411186562380392528585926533176266929014232252569225336184543113233811814516116854219431632262252505616573324941981494315601531673456138778948711181329353676486487081168444717226155472274424677131373372962381444948762888914343653667721378431727136852456732543072201902723136172801638651912531383444654153264380113526411444038437415162321411947727514349631158581521490524117621221911157516373153573351487426271197580122723378421610886849923223155141404401183854902561931791429386637437723317114253914254641635152731257167776414234929544482864714939375264404557330306126471419119445926459419247324244521256452028567949314917158875156928417792607056441246390327526278432501191590086854494752874328388357175842375196148348312439862548984418693581981544122980111615428253972224346215447417670773551925303737679752493523669217147952464228217929353452636453151062074623111164325285824471736123675652869474349278105564813669866533316585227432970150283629152436494446357297331171411114993278588392112181952132528813003422821621833937226110233153561403545229669407185348323269912791622442219045488813932186323562134522893123756171930352184225483719370114968334266759250621041024521606523361408275969642581152936219556940014291743051087253324261316773241621170144582232172638175532044522896124845822379296303271592503681941230453215204244313672311415117197145513499212858611332391162659132799580963681238936974819833781342416231538632582822831056931535574675449714663326392195452434581202335357842437451312382123189431230562981395396489641132381425174955592586503544084447426114524501211628837191266347627596575194013249345203882691625793915158636781215548459962142083427693318924421175534891468114322211552745286739538119219336340321884539933323612823162291116514132535263841842613133601543326850724644744123274242564463662453153049540541356161860131642239341234712636021495655145732183182384513417120931258422137976901146437123734527845124783532817187768254584635436270024292014155338257665541701438146382879331145378010593572659452567327592914146693260745364961831417452235716112277270594422002714343023119932330416497483445547121107531233938231311053156793271059299942365611416945537762379921458301901719594173219792645545585646945145815135358150277342335043196413512485139814220191541514329425242564321758853447188852239659222899920911122616515232258751222974724755811983596617346565999137325119755470835725116301245236374532260492516144481333571415711751577415283366829647437890485463115584519462334503223313124532411414790329522202572375346758452978252991924122333790661592346428254542639095655793159392534134265063215725682601185552554364262135416567353871511847761122432372215173773414361555033626971683078523376227385219293883261353540181882324150241562407347498429781644420169731135873226041267720120651277002610673336536429223436145245536414042648373115653536623713393804548228857615184475342315020776641179325446187242124652752862516885221868612622860228334171898625490412221821526723160779466315151336892281933571529213936777620962374527128261442592627866427857318805225213344026715216414101469347833213324817597226178637284723465903265569515935124732413252434552148361615174251445584941062617283188561003599578822723825674251242531477451461859426481222622222713720821285884537623175201144256749567393461852361123462577374806667258472891782573348512137605063739621674066918852812155755311488542276375247119421325409362718273398363956112244525153208318334837484965042643373131769615467112046177741482561116171117741416374287502258614132614843647583487910665240793476651233542178888239242522429356231282793119202509149811485251566046437176026711507333006513939761556299827288559619316331416764621725476435246824329134521334842217951524333225536869873379283626262293198221643913345030305456759106714341243186448323554224765487729148718432595141257883316190815749108482123227228332750134486746539811252043944884143672631656635241516575237988556263686417651398474174624343047137654851871311106770013237254676937618343743071012245935806614462274692309588233686548313870222311244115240373416551163343495356782234642161645778412111984717143512111131966135569561711093254336649821342288203735132441951165645624329125140228572342752068580966334713283408792115306328142211151346331785666565267431617163652687446242491123462113745332357686255527356215546706584988807227711674463954846262364278643513244225611493144146139612140808611394616417132304352214545475645163766403430745854231722423477242444446640517019958128131543812246122513625512792208771341532132847386187179673213494569315925551430441419167673844734225811348241394702334015431341358134287126735295638446103641735639890765333213369671525773139237183219427175801824987783322597410431512365219111152447231104471549322577838677744423284225430983638573662957271146242543141442564544314540661743217124534149714832722123347561196527523814887235487321172974349301714494221384253441656320113474119221149131281373938333413942374719251426120119167531312848517277171599144529695022117112195698377144145131816957622528886877500253822431038047143267424225226831225352112143761326334164423764025759688216719321126297826463743372521546045438872472421211213564177976910138289942220252351145294728167677418666512419139332619631447157382858181038317431424534013120642255094888578812721296112323741545713524695233854351687197412384648332344526678710583242456223451255091661569826283553095441143269311354689732972238328173553361626441764138321519842134515134171329875379154044542371634171681521132744141322879680362529585251247914424984842281123843932999881426052588233193721146126413816657036114848376025943432321355512321566966812011650337123293485432724560900529155612694039374392575791562265593544868495155422793222513367656821229965626143871217213300604776591362814548401863382333636428323152131817123165875182123684835892063358971175693845416409636936155151855411339928542953349420968332934834277570981631058237299942013782035259414735559535166517253959441416479213705921144244424828444453169219654762760427313771412515140153271331942587858711039801612693767754793064347757883906674222541536336167223513226976934241717585435739458487767223356222771264326595745426331228403329538921252614542854154746805213412612192567811551463430632781347919613494611339634827116180425863223344119416407262150244331299257811762602813383443678115563313225111022658658720665443571981861185252427307545125842924155813215461981728343810747465095151545332612591984859594243878740195825021478476523711328561819421131698146326106046632398027524147356412485351618748742830746243511277783502129193447246344104775741718113561923472263304116583024364527891612337224327852426153998144761914111841974367211814476728957833251623692158915640365126154461653332244254548926511441364418111113723912245591776432111591864331596776332265113035146257141218791518164312559735182245087312255549831043367224292341435316522432408394313115936522310789473616821547660545573207449463412937287775578322437672391187437922433337642065511297327532684721151110592756254212383147187147177153055234447244985293132861523956991928415454959273557851513484046859654464876735235264554881754032422722137312117313966391203264268733197416821641462443511826755380137353081854411355259761266427155041211835514371916280223312531582213943234193411253562124554171153722692170661174530742724458542561367699298561560115742141453602136225588371457563145421785594634170655832494844447894631929129562229567692221369321201101419823266477411832545648991667723351725202533358571720792752328255252312410337421292456492705144621535737133534245147657236374124445340485321548312954188213307294891342117741652691339139196329255267779783481111394919662141544611817664716022638541182762248321827224563117138319681279096923781492268752189583197759462151772010597211531183521748295631183752561334282884854659173324232223151223765261248333080567532114552365715232137103023335332273498555567161543367299450932119821272611587651025425895491683213332713152341443346055353854902603130413907273482521436412741120537119691501324127331285258035755551554427407733411495110691321351797356661937366283298063143224723814658693181474542816149996446335922211834772882427111296422316190123415927135353734113837618482233805734793586569269135232742862683332475294413311432187386284394021225127613113541239136189137235864994145114244249467219222214261288665650272743253434414114843547276127186543531713262145152324501426212148741025132077110435227572585831425671106645392854688615092253227124234438727911179628541187641331351496553381933715656078283366249346351344271786439769751122517512701546436268215832833619362194466802852619320298663512931232146213285724733847314046141351195783331363278724224733688510396662484388320112752491787544063935459280333246936453192256326217716132394156411915852571451579123466245120165142583642531542966196473361791438885744487215722574581418221243838462425076877125668335182531672343261829285316225432354711241631723456482886444935541218575811693985512379112639892916241282211779123197723539898773718631830712462574533133539742589811637213233225893317559631665423939262529033612312043712315438634432162837108332586706643704689465125882961492346524626487631228518282768569648353028345245146412323327582716273563572486695136239172813419119224931636292453873282048142222772145474343166587711814851516424341148396723184112816941261527454935174819343382640895283476374511902871285234843755340347801117678247512307812234362375370022445945449254407961141372065529600423247064367218634119948822211942292412328661188221127720954612038639282585571521450564674154972221141765895557853445271716233723555684311441136349393712337923471665294731921521818129577912414506813535311515974591123920261414676144545752228424878746261125111369522845214713923812777367366111464431675531671205595223449464755883353232290126766124232012318217994092772315571215763748337441426656232591362412254239357178220118323375592441653037762133446715247455941346473937572124474416417747530491336714567261333314155125485325615251246714431124556615738291248044287524442866738354656207613253926664212211273416172769162186793145258627255336791275482394784382732367113685964352684882202421546815001173956120724513551668492539873215119481397176118615362580213552278584553671079401351372221564931836443524271735138971531712103082216212144857478914427817913514022202612755989119312572126962920445725370547724036133288334633381461772997833334137638342169431571603232529391915460323941317834944938595816841310362908437492748364134465232619237061304339551632418335811534243151534758244853143153635179421353350239083254712212851267525115607256522324486644427371123362088107961923836531616083813146965122798544343166922624193754122975512823315492381396422312423068269507378161647241133462242945724726175732719025867323286546453523246608333825860829675635427358770842655305851115267825354577968523712312133927969826031216349350861915813849134313774875361413618133814145827312635142436611380242778442769123713573193539015454703431916538611107174326298316575313152697672365232331348942191735023332216111821413714923222443129235395479784133764421720713611525221122153118151757622091118134281365597415335411631221140743323177168139157576841296176247238884284542333523725510741579129421906004988674617265353154577343899547125278924655343371547861233323124307693693538134912112518497671114433244572191477613202737922278246366977616702533111166325995347912316471153653547044526268568125957155910465121670276417153938373673411145272519219466923364240430311352565167813824518339356506728183168423427134324524372629923438245846830113181548329873444218628357991173875963613153115376272435586536811328111638028661868261231512799255738614126153704764192165168358878215391732381328716663679342136073004854427154663734981192734360651985243458268093112713121195113327473594946862159295934974376744324506241389211626857646443555721937130411442153963712936193224121416113829233933433933989935536290325329999545726495111585646511841116275541622450371414564771944791228563314766281252683414661723112224911631759637822461731303263217573855842687748255773441662318359326313715415314391315833557541424521791525577324142049422632577751570495414142812191221433749852351921253993412855139480511263111412125222139592024811128285247163875516586752946632132863358939147755124224835151248155804004276372156134174813294954734165440222022819586901511953236188368161589071927531214151166279231162832381274543871293243678773444027243945548110360575624662218534916360155167673114321251279593724752338516029382377282610622928040743818672011370977755221923109671512659296320413748476132418705103243525111922427290231344216342122241344231288221182253252249711230622365728873821641739720156238534262853326527750911555432312518230851751323492475537213405523344717102697622593190637622121183151656114771146342966274781623143528211476256127550214649342352077585271652163285172136251121321438239129822333125642571865137462413686536133716623474222593567154384825368241032269096245428546559518366760621639012812267306357126513316212446299396721982266244567854501352116283164632491205992212114052373443352914876991712348082428418444573568852174217654632423371822520415316745355728880255243632578219533244242427335786835311510174294255273122139971831768465514212137348740757595719721053660114283945614313076745252533311312321135834422299468293971362619482747130411651441024118327674116299432628351768525175132425720428934620133721112899941610743323131463556584452449290188806367453812319213955741328098401261114390877375250311147212418155321591421113949343324322553342949024064881110505608133206312796846188544461978541345146335442215322960794444399151511248461679569832954752224306795430462323542554153112246711955252514377451525395018456312734151654374437848805544536239330619114243822510245246113018911512743036418569071726961512159110131432552111417652878522113173193523884430529225654725193311053921141940858769247625072191382227259795578883341968275411251242853433051841718049388482411991168714229349779179502250375217451985654521834333056756633614785074853365567577517339017121942657333154801011617312601657495127727416912323936332459276259146821733214292523773753366551916773712433148424341712518927516815497214033236762869205222718610588189653167544631571148524767114222439154342528386485567223628382623024420743721639465344937082320433138792353167178121635315401354443442431471162187783115272132361187231216713446831649732413811238794237440514372548724386426404140262782721225291431462235113679995312234275824303529228495504226539337865652845421746375482096465512261330755622151428312465143128635522627436230211573318240281147754214947342207351167125356634621946267328448221242621452514138226096822035112631312199252231395115186411326623422412853651363334121682783276512458452134366651142578591126489752532923312974482265590312893336286119853384264027692386463255131413258575361177172136822754341712819601171793514142583431101154814435846121182653297630367482601155536727442343731261116645183566244521705360512679969162633585971547657175831991317354598337965611274446455616539476176729714232444555124392148122872533525597140232571322328251272734438674609111277131832646731480441730124398319439585931892463639985377853083361951212085086217173963843796111204127422543192045062000639023363012393492215326525572533836949275033196002742846288697421712664411694039194359213598520853312818128577195054291328935201261942713266551503445565511691617639730456855216418981289356419820511131322580412031231122620588635143593111553985556221322867637700521177343208504616264613351117704732380462551774293761437233408652473916142625252583245971326101663564682564099364755475246881121661731120642949617938241184012455416445292539722644778424386874340963061211153322161780385332254742710055945475118557395381637455716811713284553425136822594215937138287671742331173855624243336906811712541261147011794555746515324959211729119211227546858611432911330656012279667444347133362931118519228326451163523738576419500594688563331924923245933825550096815044364074331161855482921938134292281148649289792211842742126813429023191230732129139957584197426315292153271261540943207178114925731130146458208244397392089413637653677899454256243175558121317387242442079621151372222231238715692134198871712379586513358425331964246251753722694523074412461418433421343681144814111466945510361251375425429435564436054615371855706176083934167111645781894625874712766303826902132127935869815114368848686165326706296831313551600621233761034441229747211484351135223713142619666331571310544722717526738701556934849313782255918106966349312635234993687615902833471745275445811271614633620325955671622214770174159172719711166477142535912220371523521126145658016986515567850291553278245082613132999423511564321727323481113252712532385261432333857012741954861742660423193276463228264182211971943145132547378181482141443174230635222163275305524721523587313166272469774135614245875182953121812287229904874379111317077098215301533954427631417368569142332510412327062533995122981323364287494453456435842131527533144210224348271144128551387338824422740253624361428747327419545612761492482317564171553295381054189285526118130304535414741577433681513347295012815603268201116673219633634823676149220138592344188237653462271413654955253313197436383442438333174491427153351663424139249134112706461537755115544512987334698251131241443372612191043837239261121229712497141529723404959888344324173312922592356178130371541992795131273107092392759222335737422441318352725826148368159335256533355383424618962125356189494631352495713823824259107106168277094161559734813275344554734519355571550173858351329878459476514235915929478517335281326481527363454116384730527732551637963335515152712112649327778615371517289352856479028392374991496011163744971335421464771134382332315717947452427362598727658901871436739626165426499356674741357546153964748002422524652007343440458783522355346678176764476158231636155711046845691922324686697414804252981719992113001141421122747671154711683132712216945564249542017457543583904742871146654670426795773794247125493234124253647194824478515156389336391553529762131251333964560297413610155124346463235648155153105821958113153889212221118443965455562181392972531185248752725661576881125630763647122745486130126510602442182972538966963553029011120131514331141534964313424546613126134221257311442024345264772660535232413743366261111281177891768174934322234745779435539737723114121921793341252352663198732396071696622214431615165299355412544734267221195441858419669765268205827881316121234395224930124831283416761314697493414166633883172341308924441176761176341421393811567912582646493712181091846508876123186157744875499913135832665143331542872129526593617840171826685782231977567661642336690429652317151272140871372149831573264111679728322683229147492171741461148954811562061257326273560887524414171292411598553651332304817211975930738383843621986012831847342072581437464857927457177423194174293033634146123547519222252857123962272032192158242676047136036912204023586211095232227165156821852257570222309076140407351075915332127551406557019733144144841957857321497188521393992896562498312991521435762120913511253768354801460915137150032212116744833810908019611941537935747398111540236511413212427092216745571317150534675212197998318361573875185311362635398461324360366323841431696915549622149334641296461038528122152351794149032118573521516861156196152472271211241342623380183374929493713680861328142037313879542299723743847171313978249265352196315222864230235298737939125175285216706693273376972713849891143963693914843519216761233312221424262915613164275457859913851882693672382266744487142452672399351116454154032156692504594714037242338949176521132721961572813312291272119762552402414546342251999792254243121641634513855148412571646919766172833441381786456611266112164445845317854131777289915308562814111114133958960044961225765352117100321511223625223311183671558947612538210443140463193625519483394262121495662461425422034125153912413928974433225545894235651662440729938302613511463526811622076624122178091334981243096993345526273536152546114289127369188146146739741221126395263121543216792151434795582557227748113828816426503671248548725622477595391712363313701468932273511031011604944531978626611625846481462487755213102381534264914052531436167261483296713311477717342553179381516431325222772432370605482868377402256596538810329441293514236312230137134213914711493384532325214325952513052640177162864126341519656500513816995975166428934751225724541363835982628862388775954561239339992349783237333268102592715295582277817231921277675514314132549180220151531624669961141759794582643625245372168881531342345343453522132609341143352548532524915569256113915674628225141355156675951759171986081508338635791770573276914735934554434259456771025616694933738417557722134199386519513291174615195641873492434239455669153929411409314178953143671644512057634315666382564028142659462143764674418742111141343733311545121500798164268755533872945118823146215464975266017452222574185115283372522134139834183554616399416539116991471157552311154587216096536927554414111181801313554201653394319473342902239919814527721422042557756936492913581544457234113284709084130787942104672110523361674815199154271215781654514111825734776255111643397318243490836331447581418577094647332235843612712871573441382472219981554736977327751466432791555448120641785791726315439392334223084213413330513511330186397238946813317115018532111823652415146548415373324339322166952923961340723747282871441685168512513325261345245733657817714452424042131929275984275542993785425855411694424965188911595034870534696281729833381962512844672355724727978225283211240475518154923737973555215438213283034812921620832852515356211698921812132317471738536628492055763770419572484333189377852363544303118121566268258830973413138434424360732363653112114122192013156744176726466238160932557497672761298227517992012333147689324964156323841125312991757619157439242637953722511291513164414266418738323132355230525212551992441776812321747641254711896681262521543982255164492118312646214728981460819423973469873019258933642232505333093275569493481284171478672990376462775253121118356984261289458826616661158564738373616148223113512368359862204554403215998389912620942336329469640501242186129488779228322840694184168542662542165351860786222316398267122520382222416341118022113077532147710874442499314854407922976979541113272714685741746651633517324817261228175423325932259562432217252181342610383114359186313180403492838119514548125123125461805347669100638668542549435693232543972665115711221119263021758627962147555231941418588989117067913661113531212511490120142677785381719258835756367581184045124363314526416779932132173342633871616155112666188643538443343826527889356885925152538732144332136033995420616198297126112159336225349084391293973152762254303527505344640424195088375219135321253777814521326364527722575132239428276233789778181914777851241785652072241647573494352345531605143224721249166723528467641305864351424032025421837110765473872235714472782942217134821142646338312666375539112011389758276552240265437199815241784951611945924933326202313213314231581720476222524161601511511990231850364241333063025319582339007842785144182070012260624502551462340164544362713163612633204214944955174310448812266402796851533663567274511715512217481062557151297866321181647366130342292664684624524376439652195140271528221137243383318243568637113516365361518024553139552255972322414226958305428324313072947525817349049696342574488533434444038633629325561204145847333767961195235156271556893156863457136563930654110533592881262294235967344864422369221682627755689343777911286356310465634613208632492277311355321239853356691615924435133282564465238185467015108152324891279434143234235419254104011826149393380976755446621039129104331229414813541327941915720482770852122995111929316682235472533165382582291994119115312255294854950838310155175241658364932289031672366555606164441331278255422615536427232224763932431415278833152301863245141405137884447454306191861126925663214315114624324312460070518236671527282811175387263873466712627735572925434707432443563354134633262794625865633915299032294795465208618235184126641176512261336663157308676630391466855423353643359654591412458878238512945043135284625194141234769623766547359668132442267728949782315717337284487126723482151131654975249602311436122151161219527367392793144401341622698132841845567869199558575922527863810596388634114511573125743118424645697927643449273531416982222521548913541882776234373788853351191129241724124352121188361741749499636423205621191288518211631573582645942825687624668575256113548741143410182494125566113311196843321354954267633255113725433210346394703124377814755184139774944644035359561358250228513613868748252304996403819523433354435198110469183315287254022227952031320574423022544207225688384915185044234238879474966632175390552538962022729322545323232814437792346133622465116017136539761637423117853271643459111104106278151222342481110171631631447791756846684292555246420671456907248523667539111029291171537562133944825725125440623121353215476702513214342262537214116291846244049849764336254549258985662827862011631223845954503366764355262454388214611483483123712116311121621381315551341829124906923226312204723574108513381867316196722214566351455726550112014115024282359694016137314321166566124203221322132620214251998112289992502320905964373172514316669469715655332133653621710088963276121307157294292712232332562478115072475028665958969528229185616901449345059432271357360257134546127624911235151471029957222298322171077326426328596113138762622112134415783755358253173891231428157388305413289321639442417366770306822025135425906935937545525391125948311217285651489242685414428238538151495135853293441522789611246187519615025706712742845620640311525322627249341259125806173256212122654313930729346524415845242566313464036251273092152023050717542145930339379165721317773782283603584149964412834172281953321597226842816180414664745671127754148438591384338930762384272691613400778122023689531321719101222121246355617812461475822492149343552369595194704118641281243273451968279117429934012768646136311231559397222213187811685807416203188166121464465564319654273912345342103181106813767747584649373423977868851119241513273244959794232511996814237979242921043211244233124187553515514475072844956451254497121709583917519207246352173163145851505299476109156712126357725273385615042218473322424717917277124142173164652157113243912472759132535223237412294359224217846316370722430543425392243514910132215911645227302116443371278042519343471691916114848719685347711227315031394182417516304242524833411213811780526817822602176611035123698232143387984214772551375673791044649161112391053128629371465643116117531245272152196462420313745538441525236761051364791311465524441219241742592185864752122436664572051142717851111890124552111233247119183396333255661276517765517965295733213913274903261245367925396463876784166421537514137821732952246282063400147152640144834827649238703259741833123286612245772443656018412475614026131749362243204341731806316898731511761333763345564740611223613158850644322463975939312653403232624663112439995756773944459531106215993019985392152742453655212590237642327865936043665173631391411472472786387315817935677226175311034158824336753511024947294332416035226855563782895892785598421355523917331455119591423212855843103075218135228441683273111161156816805118449332492407940357181107066511361365331886461146434122368550695958684414565704930451443676322291815413186402946826846452117441181615754632144581523748952412418827918126335651738274974690014015463563546112366144154934743924249931252112757525857622731137011694631549235742911086791218115629413996324957112217388657722032152717445584017142138153705578158911984122136416307127742363221013166132551536929166977015230328527368152584321939673222701370731011518566107877976844754824245214616664510233492568246165375253622226663134162970381244134513484339632141133364182461236126721131311021813683317218732562336521128271881481655613756530216556731076703254426414791356349436718290519571492203754094223433455356582304824511331332756647478684116926623164275374934863582333757868449292572472336432242358658027628127363750234325159611353386355601295564352841278334196125883551698408423622254248256354283924383229629121352113316252161271987455755269214798123394410318232564882218465512241462490543687722170014154352632133284681254756441886681016414656133226463618377298468825355473985374140401917546425648142246993072338481248723945226300554221642125136121263482132674412128273992534829282950675662220227345714466569157812138205194674730072208825539808133954513664151322470652231664717667454835961151616745115937253035529920443180206230155898161166335202689486112422608576284719405242216949715559595252112533956492225131748427165642831264415220768378692253142560014313228591247725623758218626395339536724217580917404278781124561475121465222772426636262504764399295125652944551209551416209971816152197893031222051734333383130252743015088133102160897582427325825315722164131951542834282762348353892981521711111507387821554354708112369155441145745141211716334370152943341438450119883919244543995438210208415465104366597524729461472288698558960097717527587999132476544694057500234956252356367665564079844562156218124454432127646490859121526616139651135810575915172314028281425981836512686912491085141826211218062073356934418126292115068571172213306253620576588552444211739542348223845642135791440093215529227004612276676171412993360279945551563553797817461136755451054450835267127134418793629024412644121352469167222223118373015283721867451030351360374405911641842563138144252468342321832196489524345326461141822656543483993262443524621577133556925850701440451211305693962583941781483724112635132434201657966428479214514451862430476835917937314361643182646338255367913178523565731621132834968943556411389772334180348171131952622257105973510534305546196137178426724595112446191629441484301572125811213174626436631708224852184268429828252164436483725332438571915261816256627617011129943746177626325762265363630528444523133613011621122574882771392927329291417394434213429961127119216440244617440823839613643543815962991832619341561309435315113108399510159373865283534523862522933411721226375972194117808221937585336134279321443247121321034254536684931469612267420228506110419714119337636454728761612532723351855487633128805720311632332113305597210922513474723662552516128194358096751635729225441035118463628330407984143303926178544168415279452132156097753937866616118133872284157356709361312796794314626422948021473371877231951863738832752368315242175749317219311254221655426317394925977625524225013975292752258626947149155141247275233213060333354116337213741312726549115421337111916455334441642123856237019049273314581705229063125394536818272650346413482041147126929727853665537250238144443277118508263450442180375907336223064486143513969236647832165612113012864363659823110852739126791226823523113714558510556724854515671498471368882829738726103128634246937781378362525425888854445501505712883269924899162127377837420543317751523257253865900418366614519746117752473412379749216041044941276053764192651900332162208810126720782288812782128443215534441003207941131406115118237313514771452943827015521140311322817714102233416432422685715144192663427533115156142894328647351785484647910474624572211457699821343865154173226356624664857612195621443351297841825382323255620542191504722241567961826125251554380342359441930423174564872917232133648019145164145743412338402142752194715846325296362346345358338862651152455383335745621645438624495263222733729335007131686136111341366753864547149214257443980322902326571201864988737425187252215664321271171336245331482767151523316425037319053255153526824444224360241246936071703483689385511631523247299231335370371717415324134545231352153691372703295851572312083751453232527237884769832191942313427531533914725442103407726131448677042272676265933443398718515683411489346253819432731541572797714431345722244658197731653425464431021267233427898612118765469322116526533752796457125935382126619613321414295156565545303389422279162163339818021544255515956265035693887651237754093235217223222371068616573461380326196221445544162297553312229642126341158019543123227182153994243322211415442112760432395798566598033696173097557527957625382338297522328243686391174219284354261053223923194268853162507218249245710865676612729196101351378927268220434464744466242762052741334861517131315574962401238804657623598819728486525121311543663533821365331933701213946923982427351162421233239262772751527361344231181239178142216875524136349071823438196290824792451361848778281093827937326225349882232459129355720277134243507062140288718538453226322125383365614221737553085554274124966626393175514413277697563865776126324626226591433484416063818274818559853459237222062145806103332155329512391622123425851363273543968111253187323363422217552551493445879429122816136277232890184327458421712423669358374588722198114212726536231538724194324425334549233432422116134423379143852317282535376833141113149425831981917714096263438312301164135448621813442352232315216770523153311965601518127835094581351105411482247333114828564633171738333418756424133434861609044256842827113220613141251475653231656153855612115482244986347492780162513164452414325145656221764396357586357962207511127181134582515825552211678632286659372863450212914351233411186450538510835871226704952294451914688493319461279412254241471611324954977742676984626436621262961825263712363263614767429815562823759792527200111471161394491132236215768194132342591414255414456175482148582492987748553255741434251117552902779515720760293965011762648457622332561961478477659642674436767243111489520550222636782253638211237329181851481281111741124755721752711134781815799458336557832577642269703772275182942981818412356742837764628554439217926355322296477374611641179536344431283861378472751211113229347329345244721261793561274446558351516280152592182835751948483276238962547119841249439409753214839627547421484610627563223167136572264480274653104529216344476597287333660115853229058452524343671810223018213576467283516653542195217113586617196352711442516623666530731699821015147712155989242441916014453453252019060223207624274869128811571352361312553166139575614734226417621126393567828525683431468512571101218812332253753310221268715644317588167454229271127933361443166803531944123061470117133871973491197341726622518238395570654113659520151248512332415172689856591191110372621682362616354371556649122261822481431473189175971985912112018586944968733300561126353324323546817517995284244733035124739355127338724254907831193918492416736271468231620120351464427132537173850244964212338253336035413888138654375359492675054133903948266084811974756272179311363551200915611761565452170671266762236637555846795774684283214551782733604226528958330273218913247111145175435179354601618272343764586597322212323016797521904161334226845708615312319217475323633796231128716574184312994569431553210671062244891321623524126951342772712507172953261124163427556711551252505122248634402488165659785353916910303570322423543473359315332046373348882493533212423240238255607335722588528124322469971486300434536439907342449273485894631742125797964213905641359132153203454402134865894131393832991814263671456342112453635628511365581121754648251993712246577375412200184523115381127986377271135416182456163235115239175943286763043035234434939380193169161135732126146372457133429171345336356969121113725364115425743165281068320639142122254663134386544452440969822292401157282387213385432718446453133748018831408122555829819462233921261437527231211628513742062101418746176271202361324722179210320061641116224824662362445548214117124577074369073321075991904151313684572311043150644293172821627821355827653237281363753611167233618217521121612174778512444792621149179459161911414251250671467133633541751748413629697422543642454126705863110732336738314219318590853424354580659732734793007653415161232122194542711226311815943869545111464115181555291468225951341354015737633943343833422434447435642686205315340567914927199441731032157362611468448345975115502151267216784282463414376114153691933515843111531818125827757318921120852291421215858735711912449376331283893171337415953451612331628533113698247528623155142798122126811844133325867324668832245347832656111262932262631150585221415415324914254225348747213155636558297215617633200152415331540875566205458132334237567245575825591734027242269244622142474029812623663772393498142346644215411222927775617613671058212444221212705273562616922321722388125621361133628391296323951673185835643367823913733210201327279928141457632630447316369194413778850199421653282837862886247211551512741420404251547484136616357140485913876371242616360444446417115531143173264458651573132541351472138898902732131272857813656417653548822629491341656341391154481828321418426683262383517667916105281913213934863433758508849507957913393923713318262511337132133123872633917865431217291258481672133157515357213366282311795420273513561529415949668827779300530335432736479708595514232299353077096139992655265281281269141613469231755180199533043954871578366143816598117210489582258385272838526197670691849656980631533264522235231287451557684121246214333211511729758841421111115031468664154836659127925812222439913882034379721574541401197488781136913713541187122190388143006374249254630208226376253112421827974644722731075645639196613115751814110177301194185511614621953998541527306221331742641458682631613995905262736223639592645361511202652044892072827254368612044747131015723387464760272555142342174333243231253892394412338272722357447638083503553959229574461194774342542544171787294730433884475254122223157252115663950111548346726121311263718463386290544383737246332321432471862465314673325625353231392330992108913861442647208592693894124656921211130677322941897507911436316024727410715694813306377402212226246472013848589732515331829022692632683696363871253331268337332152951431543260411835356334470596612435634213102075657972339355818220232624637875931303166544419672332185228874622833752716232165629113800374761336251981659524255435615198311360655217647451854451722111538024723341343601669454198613601847793047415365533622183475713662530377642234933119815916546156324112282022833592871356213646658262172443218877525553175058132950319161117581051515502529883535738352144242416351113266432310630527312657156883603464256915136123318557254203974772763281534977594004743180857177945501112910558367135269935626181354514494331284240206154667171192486707232821883322942101830488212132824505106546943615445522217274537139131909243864352262520159448753040123339754311275639121714323224269252134461072134925924642476455441124242815431229332523371928326250904265246417658155155744498514343648234546164119121298247234352184532871155539886752850352233379142214612149471365381739435162521561493417786231331859497228240924613846125459556273129211403131453115810322301319137933542172181533760823682267784546238577619523973136439481434264119764241423335898211615519140324679258881693331511537847117532101926594287298275740205237564590826945733414213245192239322743153534794853583042093494244235767146777616271632214570953021366927605777631819426582124129942286271240164683265101189426596214155133824155456371955535777111420331455396276365235335322292636261524344970906936032417152111292816760723471941674992231677712549204948232483554115339207617183130346953844832150336221511761225345421354544234474979901461815899648387343711142364419019407458324982353213223542572125565126288419240778393846522204927646983431365622128825824794427625352058710295464687827265221115113252772501161605886553078924354234795142325117295717768812211333676859685142233652551732856011716626517261448961452353325962845554234929334411971313555323679256737142155114422449913543012237825783466297149980664182281124565625189236199165351592972242123981281238133893622874615574132991316724586239121522471077443393691353572375033964480531650445249753656165713235313723935579711975391120953913947033816319612197232322202123232858291177223769044133186215451176422425137342525343817312511979348132083767316237363486404451751355442436545357150328382137218167592454145244876943753508143475221172262622231335011328173659642579240462251943305483242251781711332924723675857081167050028453221231125763638662315522151235192934729517166337593485583327754131336511118121568921139947315972292124914749118431636423940582652387321545381141527537823938890819109224687457132977141462952952867913832423415496466119876276215433176022111405579577434474691121374991397330992912560548444279896036183495934431864523235781891458352409697772164820163109444466811330421619014413350431112408633099823298616596584113759713682794864822532214535113822124377440704415462618506722112857294337732185353113568508652276325294820402526991566112635543140630561677631932454298595122935722812335317514489336733639119743440391562256181942426418747125355972396262416350236534391158934552263826332233654392246462664723373652463717514587533268587649143821717963036231422531856862176386464576736435291557427241746368319028183211536231951234591130982512733757596603265378667449596268653133419235335863683719482553751411163331312651677026305479631663122723382471979734433176471883863387557020837229419568563142185149025668662724548572751398161598712476852856030377588634144938382453586231207555754303711620821818305132302035325567113022657855971172314821462516291213837742144177388298615234466885242012703423432345841845038286912633112715721987829563827780965386543545344836753911912947011582331036434911182562958818932233336173952821375778111975631253074546476717922218142103022836522271233711251333628072823364331546064611148628151312411513676561922214721164369035573121314205136613512365597122152054783138742194247814114551491682662025043055737651265492332185573648925833171111171151340696915334312891752757321443734342285841053716724152748132663518747225294127624912395438466556091493436887635795228279571382464922684759751286753419912614543253131843871333297456392214359423825121371333334552024243158919391923920934451612383918152596644100112998982773697789152729504104731971852289331115518616156137528154711366480061225131152603112723091323737224851221508243601493141643436326361489158111824613721277820274213851794146268164959922534725303225453043843234155311848335022957544641586997611929252315053987031905928575899372271499478991594345321125467766217327555832612614333776151759665357645131112215594352782137503579212223686815627194278450306121423181522425895107117312709193659306339025224105142483717297717281064555189405841297841516213201113049487251502486131744713046627871144892105228823716926663024652115373739354896778354257461418426442514133623113656155145519018627335945244790014918564334944038273161335411864424747126446323351043641114114166993334633285881864158117251565342516187851413289605025594447971184244185806018764376262422653903139237311166146806170077734324872226124381644715595263343862206333364469432319267662194983172385516724131151259843643362659265131089261895791172421908726126747996335143415183742023441575613242913794351039994315213113132438614768540242635402413935154747785221999826011821391232167702584111653485428285255368244844064115418520501236584838119635639227490322127364143240134659164448506823131589794512276399172366566453686422831491717810332644131412353715165257574627756447264959724267277424415784062171116329388269419211333158131343483032932542764952303151782055706685881688935011135624161844674241015548829849919156514645739728148236553357611077680321651332162172322471961439237270531446321633095335543516891264663393439264464325570162119611676839199220891827465034042765746583249751862659372810110425331758289158146316530723264530125321502813927234491280162547195228015605426631456095521785412275290905825176462437843733049711640759652652631143940927366291131528227160561333833401448552357682536385964360337503142450271811954511639319403926653941915517134055675838554795849214277166443137427184254712363865106512723124291921237493173912351623254508111245366332121167816940355739523129242187218242254537645818117345273188222643265853621450421189445160211541443910381785395922134397315311545438123238347238164666517787434328267696928279612362235655561704654806429246920508622075361422174632746151712919926864131303312203222031315375232946613359645918730741834135332719460133165249257066457622162121292236445478944642372355237673558825555217176531632422274425153311603543143343248741981639354058678084827239223137884148808618223303081592515665336137122292075760577210123127419483135232717627076373942786112205741448163155870706152622113577791622139455601154712966112143191823875764723323553519546372243348125696252270124521548668429693016698340229734348284502735688786039756691551302431114110155852669590456455871264912453467140342349364164359450095927687254586419158437735652515914588241756123217396491118665471224263531182551249326941221382166433746454249217315595244796615256405154832412169329744633953551544661941511144029011350613217259854726304584326632620664694316458247996227913943585108615215542441293591568166488173171342168423153552292111219495449165555209267508316121678359152852172518714043125385547285233958111524117455241384238166345251832516123733079433321541231152655632351786120499141819534316812811193413342250044202897716339748411209946806141628356163697766267563702383498413192776277367862248514340722755581251614203651301144387710311572435815713425421815531238161441642931562039024389433423357134343753042894514226114061794589221519724271502327071191352023761837425914053454113479719717941614376150319734752111218164070534601783451412211419103973522131472112587317732169867550571335520274494122147541339908895681320736515161903262804434432983717705224127362122349935514156384746284505429431351212174494748224435261484643766116221525655451854509755553451112577331629757495611939143813619856115312532516320072855274445103385181671495036846361717245280432871721639083549849742555846914175343232362341966824173332751262234254448223953811633356567241129616118222212319134737414147922684685214155226914354714929241981761166367212584215844137943323426173622641235519877238229334361469628937215318264326332319762826671158023713243662228589372132451395494752309376642223479687191111822421615036175618162351545214411622378355312115712694244722411323336354546971022629273723175536486023521261567218588644833834425164629168175321088045571163678255125216191960729823178281652411268468185341233511972514336173541445660133193666121885133741261445053976448474574689941924323373655803134786752279309864114918322065799296931705423523463218742234383223466255737623242542335623348313139538915996270431317675151197191270323463683445312547156576641722145373463219744672713506494547328445679856623367362121194246733543294501151343323220570357324525453993643361661155898444773282906746441902208074727888817661441025412154865258741241226930971119166713335775265747711953211299151855749862812386269767143114211840287762224274131322136810549409965421481415698147417190326796746638546446539843664452145982633794912423413642809664636834133750238132292483842858152123436013491195175639716335915469114681305777418193417129368198605485553155481420243268212463236213345134354886367359845494645232467185339211932678766214521953747118443654446321491683655634133522290792123233826737199355781155131144609415307122282258136649476911825237421824587323464918677434413743059226300959870112111921063580433416276913147683344550292794244491511671308118176019230061027609196182642716742411114584133446127733156591633418840016743722417659946935315131774386731977402938982447353558694524713221516991729136139653649033298789873693854511148892693732769514839222991718668623465596028412265127137793156377338953279857641652564451753663242776887341268650961888356321045435521164996412126672182177084850673506951243933280343915243417431432303170710814405251833938973561641156182224397264189738253275529284321703841257173833589431316647316199875742115595731133332191583948111044463322132585737533632640257388256491437958538091723436161266222315299171159562280429513421521221561883083538242427210824570130692786172351383146285830445345418793252673164377184815326114132221350618469402903642178711297632646229282118264516622139446222310636222855072435012111762432356241675582122317429393346352636302332725557614083721808514877841122115613199650476623422945136443346413253243314262692039919563300639369112138424852214531947621553345382416244879406495234022621284318553814592387599361418636225633612170255224984125771176141520233741693693362717261253451497166193216777601471895762962115561125251228935497835395876872574835347724148615214243244592227160422441526040424714532311741171826061115324383322854350845499234694123839319993126910751534827517381595577056194197196634962742221512153347698592854452333231595563430733031148678455371165242088772452998711131666417185468761961131431521336428315635506424844782268486974370159287444331448163764396710921265588262599164374286253414654733513438317736611647426011923102832644535704526172304552258713346244513686601791733616219195393492134122573962143576523606228257124217344410411405224126641264495722424111551364781753910922294029226205218313261176422112133607214618918249216426212566816330136563655761351225126126841747321102713733336350446935567346338694410747632082626092998844692968287739327481357685257189514613122802011256596491125915188637693232410325536549124764332621732446191636197414243921145434143832942614439232427341944711632173736132149265922500911325547187128463818123831141448762439532229592389366495532342914526635458615423751179774785429623933758342066712693881474616132657189531779823785476282551362815333161414132550105511322458027734568579138723137111913145312814579432284482229076464476651833994379443120527509522313524320471411051605399616436491346812691511381865743483198137785595739650611111226732104914668562563334366515724165174356438202712471430251365275863144571784764353523283669316673142462159079764887289352191742717712743024121242315673003226940836240547641717359152299271663141893471344493037215199706175515124687351015697424442640658161982731163653738405027531332929127378794453134554838734304874426481789584650523463955124616658682477418015812283739341593564442493992426193134824141723584352516380522313213321948565325922511614812350614334083487625994920342654531628749343648067710485222781735359341172454118356152519379486651230144194431455783517345437044452978953636231205759563084243565546925760245332632315941730342231243451821948552292441469413464425111209980866465176312201572144173586494747096992423553268640721739103079228506259290160331632771175317024625334224228267168944357421593419652130149125538324191324215506521147113062685954491521452514248931334132313269576676187434982164295238354104258592884168143633478372841972656325258146915711923294171722310621695162565384589531933510655417423501324566118614597454521400143653464708581151321355113512715905428132276363495913133742304315825562256150212238521711121612349216226277994677778353245875721997173067122322615544586491916184256954891612231762152920824227142208666112537128620597552276092599663715225061673246041497598182771228419674074317743346362014147432149558036731018469532150139385357427768830762614128191313345833646429147073507078032632234930201412985233630712851148525161143660481143417341565367126853541441716509295465582137002723342524619796255524311294136942029437228687097285611515111245234143711464253515263383471992449252537225549312236142230898795487572469483771599731912210511592335723153921121773843735111151502161648149104621136485131636996381022814146215464240784151685372747295294118115848473071518385497025485829459752224268223731396939316021823957213241171277185152662177741132314213851197692914071192233168921116353451023911111165561247522184413899264421168409760791916296393522995225951613529862610581831604114477178264869211171212953521395765440452331711692832221151202251226728650165192468699742716297322671476114255561584572068419092024203813961229310460516904232619483172052155322915153921137791449998150123816114461928333258669802600561237943814074696117702223389118746333177781952210755157174725910912391381418371939161518823063354734420937085069121578494359321788763453225501553055011122561365702476648892896217351410414382073976744457447256352255252235433523435410953911733821816731862551791562388482180622445318424472058126057763457069561219534107672393343476823537114544364946851632293148990121221435341882477640644159743440164785121455273361768704618345744555795161457450159204118751965965041124502836603214197376403345114255644142363746168175251622761323252133963117367492472350648582346139677211366120356839212047231231941355712843909134565329125137133122517975169218285791115692181832694251259211733632175708178217539090293212272443946543381153397403725284152105221315016718151499332634256855019737312131042345155559136088311353191465289618352539427399482818816812352411226562652341323668362210639253244165343821244515276208885647622628513696338389115341494602471455443852992333321783764683554942832777562045124742217449675688741141575993476212748101934329591421961446113287757747183191722133384473851716463172471212422169411129681132875957231254871145313803123150329378238888543354054582653932194386565942631365224552112552596029657325941714024531911421414179623493431065331776151376113238121264678600524182184138606710078293852471113517119496568253655015135154482862282844222592622517138221211654119437910680829653385478817384158873691826650797432734007734199131717876462541191780622722441597135536812969226834476342517799553665539228833265234467621111525711334867855501519943321688226162995083617480721125432813963412354799114265396562378223445121385537465286937433556252618855684671302552851472565491547319125477282335482214842188109756411668154751511752190211462602128332176151207372316511132924311761723097171138115145127364217571125637943225842497125413461947463191013162651418603426145261911322184031712748351337749749182941444852153372968266326256184582128554943033442471480011131395324426511114539712327786113185777772446331454229670391718932332139894256023714171362323235445046171416169182612335729513211563172431561773478075542210499922521268322328101611776421680241195618443652736990320393115348632261373537233622444624271509145384834434132563841116736910217261994425112234547729234251812223715255731845412281578276991517554616331517454546850208336812824144587664197307853340851416132820624612961912516756508263452258154713307812177479722621331334341979080121997319141222415339957647811079592172617233189133823812745578834637488367714251549407603956862250992810431325132949307402766566104159176334781143323428138117359079333203123771513787293053988215710582401423054416518732271726745264547623826167873675355943853710399414108221417431311186612959202301358243464765541616742161741132235117417242569679119342254346395182181472814075024947631362321843487258629354516331193362382010196932161244071181131296367156596621803710542156852594383361153155031125782445515861986162956364724268242854333773293345613152396244456262225043714294558214081852372973321275917307131391672372521335589771659420719123577411606133964153961305328972301508645461546321211333318431785257321412912248264433247683658369495250272621463136322666111441576516455813777204060776135366486515628927225121918548545952072653271801322721722813497665248756424283332675744621845611356823694222591838362916147033124313023127612611271826598476753632552268629870805163044369432171135923937643205752381235283016246603774344316651666502615681548881448434761111176498516443580075420025013437163225441329521335915609351223213823253603121418121535763964278462563452381463661433272659474559262586734196812222123159819962361945709788781854133542381852255152198612254232006532235348665154246852806222197451265423533163175504737753624358249364563945531897079941838916039243152015534583633523119823923528244434392947154280159713341013942519395630612784152772374125161447922457652297427147004527646452586350189515264800230564233525828574213554746114547345765601131932233534219430213739430541023991472761464446405133194338372127455214044833922545626251254882162281529356277125238172663562997351434718461380412161745732517613453179118922198115353231843738481854917151143261123624434216475223130627237662203653549316323627113219792442945272526324015034765514574174121205159134254756784511952151193133132272454337842443835225531227435353611926853726284333724554269133845226132649643421414100169168336272153121179835172882849645921653447277157473452525731777346121424806768415242712227562226791529341222327807457944256531503430776711666952591518448622721336713613414136138152124220228640005696275394125738761368028114601629744223522368434113335746461543369628367637431291499651221651264841682317245346525112323592125673953234404331270214535298245248141354236129747857828734136426263530219258751422685260777362293436654429621674271236833674321215914665843221336225119823627986369711337224909542288880134821435574032146916162276111114113419164417943153176988311314775654555230028129244301426831400403247012591236083665541492376897771538014514978775738552372813895525744105833756221684243423753557118727594612667173955524041155393533690153035572719595424469181634024231414131267643862596296219278535752123311895012265164256616251934123172333743506115414212329432081952999785555773985634528728177383161112846311316474956112414274156222292899235012714460575310324472554247498146769551317188112456109358751569218136930325534299612797172844944554382428586521702117235313921163771131353658405841046975141339566560271467337352388068315192274339241570315263274147133663363375738684197467237141224813562586065138548871242897721131256731331384782060961094163412651444514172388482279321445224652715917235300722272882237146281652633883426372479533991435138321341521822545747051223339696122817991430914198466156033267928824172146358897818183495112221518241883555321785766266334491125311314119770116482141174012032941176172538363344774172143840865723185738859122961211344272255706119725523719714216425413228246683555631502592120452633263411119401188686587411314922949316540013618632714911953025718023263863449482531134874573494316253141921024038927359731484776114151322475451577992302331125726137350312111168911943104265872280725564174521872284445653411032202534718266976554333602910643641736716552979319237242112468515154131041867556011662423601952767632128738912262215228582044536359812752842790321503681827621210131930587582723644133679262284226853128130785149192468679972451132557795821276863122144455763402155453417293138718686702130141021663936632246524484316225711159414556115256743153341608189507752382627824154553086524155151573423525698425517343332411115682281697644393282881353441193147524548424112945191623135124737153436183107514771625709587383433955533450645244967321444643143447221446397261288112219862720472255592515461636773383214533728135426607448823373782373359126216205501319142193532293223375584111919122163198439172541271148720346516351435334356235437418263424540418348681168219316466401695563192320148112258312396434893972045535489446080233211738766169081965471285472415543225519048111431257551541761312853195726514133141626096861643871961647143422165672411448414952868273122285082314268516214553266929577716816923143373281514761366628827431145896153677273639652034039247762911625325254866432441453214616323081602902353439423361769752546916456084175334238925686538811121015214652225443671422085011150736614123224236437343730244405611995119188442413125436237414546392750219488176037414836205731865312835994158346942363715189303174294952664752151753137213431796223987663460443540932312101277615856778251466531363227188313483818109153044857313511832647829263421415134245343542960269121751353542722215423382433731481737211312209364605262584673603646522345626238051384085635684414182844239823396535467768672386678183029324328143847963238681776549110578712129792989223566736534515456841525345591471657537148215673524227629825733877274620141572130649271621484183151221214594573147951543664541967545253771373241859296168749802016110238163142136223551811203037299457361762632443533824211002611632199187111243211316421431980152156091520764372545447204536134261929775527126425832144765261573434123318752565379225502531732536729213458034781101962825114344738312851825638524711037300630572637316516838218215453183447665751715391124023515477143556225382164456474444280734992259128175150727994237621179663145247226154811721157161772109549641016212320118653360352423281895419443113323293242621148414274234144876735722431732384123404185393262535218363422837114839556222094811633591235734421872665133230810121094236914960930928283017258744615855541192977636232856645155356373421944141204402541546475303974076530531514249286344499641134938388733121005555463465719195811555023572605262512329729142321663211378674255127727832631232412581772136553717437127227894572929229114988458842376319412736330434950935273121863446018312804022147320235765972217151663463212817519619831141342748235375569634272514434133170295511205125114158191604765292893154784034322333336497738295654264323171644291768171097504611116277601839208158333252433432433278674545154431557251672526112321776713915234299113339292063806416512196465197712743515304976144624114421157241281647487937521019137414155319626238412713295804417792991154563021016146162561195356662733972143733818274935431133191327621276794502548970465175382034171629382711114501567916844455489611339417943375789724516284539202100864722717174955114913168725312914312918897454112838319721361041233253251944211422112314212114867334694573261272881419652343732957177929410122591475946783018571157214062403191476832144446611144171089315814223229282751914358722673373385226181912812312382502361686333847336719084268212164160778768057900237541819319866314211221162914352790332331175422460473517831752721214367395485111202591956344837460409647258256836433182452120315252614286757235223655431789511651532990995716417180045611316177839414412270623831836147224471152542895761455379152216914293022131344225565237525554766613148897132322472653607798940502654517221117841852100562041054731382586167521561365368713496511753128840863852231319413424703017372226037832723428650561919976611324668445163453515724066191548247966112251613911361101225318839228442646429112486391465665428426014392131274135443492271451432753727868378142407116641621302444324187477516291355145952908412357258904755895169554750512835604216731507246759366431547484731643608217354599448441811844621277416151165419156126261563723355461827147233018928593353398773211927110121224721512197031371627128664130472385616421447561592327424166643385628359138049882512681222387524141217270356521669669565385120491655163933814311455642961521337163417726553122243102257315171582329738272553431152547455672316541297940333752839462635273562945453312122226060211288447642299394793785699281313430211277901983767141225636944884452252231476325475626463852179813516768583634102393143742805175855011471437170906737116194490108696526584652266496511682387994122134605698327071128177862752177445867728544230582113126282439113536311332366231383118008219727610615376662915123365293422225441723107017592413496442629557916165775587479713251436413344781234614116306511453111449118414662321144488082963369169315814197132111011356275126159231287443737844212502323061503685417269864844477728444415547155824684648833818741500345440164565827923320737456214061949386295651334395206230373237371737849109277742406263017883353548482756742636954587423418821928511767559432714322992639115662322567186976265894831217636173577158557170838983711253834421594933534569345015342133121854320428166383863634416302474918423151826317347468391771985668177052864448381347024663480468416355129649600134012469287036295334221439961635395512842492351313740813417223146217714796253324583275162691718152819202028534671315863622571625685551967392353424027571675441123220201721531572181384055843744366297381137187363178459184703142695144326176384612751414431555418702238943146984125672269677796591132334122135358591243122126846221453839331226421620911121112216404795568024682286161531266244448371874963104144148152863111410279946129125825640616153911116436097639512639163045687592465863654218659524661745440451817624375013671162781631322491739561635576432153414314373248767334847613512494395383444176511746825494113311572493961607193011315343410028148335083682954561265710133931547295841315233126394344153342477366451659716252142852994191256266517432016736815823427452872545565538212482747532144487055528435919793134588463811625438151998762553914461174527731271242658872112331925281142282214765505275282144277213415274542464318532523738766461685193161314692186431163879204674541145741079060053464586520988382722969234903711113753140182216294254977461614294111712257476834123473011153952898560558828454746413532779742172142883721733961754820185364801561156322171704783286391873515154112641234251215786823793418065813247525806995419234495104629143929715576875042257245761925434128361848441688281469357149141718291373784553115109740825732245205616067210825169033313374772587335139611632089159496335234339255626777257199517065751167421893619241789295123314734211642424242722333194817275122121206596355862482775331439910519911115612892463165122515434553223721966938921332912333655630382357411435130744146878394342819246254223636236574242432991185862225613643191222314232103336781675322327819172415490106527943126173752168407321111293733114195112672483113668411183162844511937582733111338215752621225384438411273643279262265751141134439159380883212155143676283880691418859155672523185746343317343555728392118293675506121515641162519424027091627346131034562672437242538499821816113467848852213337194541374143321165414168381619721275946915821571772175466492301942475151767829432531278444945347546835493114312416892712746365415899297344741158492362541143419933845060228262754319238407822095503216238344639312782846185641468656262824735246692427146675351928136922153745462821259585498218132244267065513635940119956313452386272144742971155241812234627662325431322114163812272383371337726420814792674623402521683286231325196342186249612134541344916214741727838058422426992578143312850143533131331223530547812123177815564273511530491954445712954353187131118321201655258624378514014108354250017483905675463967486924332118512477157171355264143830771741365666565648341273938818733115642723273942723130149936267251045372865515662241666773231014831718255571315349429373811125303354431477661124721133395618615773451039638273525523398519363494113221431588312475663532036223677442333347545543216587582591192221220623221613015841233615388486638129159223172500398453112383441335311650380822324813109636813652341662128435333253379834763287934826638256824720823447847926001012067441223138282244424715459179593579138761771510255612729393048491123925037674222744113853329122424495931264184922578533456150161237739353175657665041492823357305878528511867445111654474051123535531175612333141162514831711347207471483373992177967114312191491615173396632339237379535002781618372221355527539028892459273171236252021484188613243847045683505223832862121415559915237145940616428311786315627659932546584944681482501129698932876655735322263495661731155803103917545445173764648812981132173195026632529319163406234125553219171464728506109445873983357113651843243657861031128445642813930319342095142991543831431170396286118164581625036378872233510534874841447134160613435811245592429123502522111305618495735463542211416487447023181852512471853058218730328275533872453721315427115535113313747783161977766125885954156688360315375192834512876619840611968164932111427416270351111495214625311141223317163194688606144481445367144935168171410791525867654796622230471647727326208431222323641588401177568650145212235742434124814517665513189711162336625232556989058497538165443249305242432384376413143358886889069266826722397313666124798155580217533441283468732547013232939267715467197167154122826555748101166623283432933456412219252436349859855814112154256177953483327726264152654482199970264593053049300397163765823122842682764456979197454145060693662262218634354424893817282633255152481717766252274385001296131736741619181422074245823656615913191918315245202536149207194088328758473151041125568372465345788192549415525974275734101211609243079207244511218174254857011150387970105427261469641517117994417737376581220096956753133526911293617048274036915335529299221552997557305189447533766231553032289046713514038114552372313277297986373441313194394836026415944353159332376444254111961430631116418771458758356832585673321542121671116504181085522452314736365107315768923142275291534658517622444341559139131338644246222212240257205542683072912672673662234386709452826513736520832751251632461316193266534811768210552415142378891431495529324023647191915861931136243278785822753614276607121595846712274881061087681535063411244625143241953449612303286029847731434747126157778458142194825346796852962431213476623173644412625823347648236156155274911612266742145111272713664233261647343399106177316172455435229833066314664026945125325601759622663739886472071522423485241505224863991101672101214328238634515796219921853130815920522171490273731891794551221133324708914173748987319240753692951454156358724309374358615327214595526466187208835500244563137846526181316863652184576698269864265202571127615715411278635442677782523325492725540114081378446331702364811743631961688111111823629711391564546556395256244091741823213082958327652672891520482982221249144489222817737683167312554111621223862122821941612311268520883384819035431721811692021227414106251222136265826704086542414761697257133294249252866561353111546835812907158416189115966689525037735771228685978376393152481531249813323243319746512131196155385645659659276396458392755111332831056137621666208462603929411275230115693503255828131116279715945203151431641513115999795613222388325302631710536363228263436033152741934901233538010373588681697354215280443166271384110856381457938334165712944925782449181989315282227054326760144036371112366074250141448228727206446976753542136614163112547386264349274834227117916005328496851133652844263763650151251761683184447195536271762410530345275021387535612055260737267584881615238504112759158256176836241546895824386235312926554880329305240837383637162341470766557192451941282644061574447702311280504238147152732631829131363552442783211636873644575562853216742824534263257954139406512622391367691168843413147586342484116866159155031120254571231292658805162234242353428375316467716735542554841049039312677101894775301479467425751872367131544351127143126027678313432957242379366241614312567192246123772215386298110593969238661584857306142295221517655579365481476435716130833892101223089289282135551751621351288883634744812933387613632925554271693193832337294367568269266752078265776723113484212434625453541683412233621524792207902162892472275352531652260354457831571101277592238256018323243114684492194519134735420893241272241415082175356362149501962722612851197796946925615131821182416641132113346256251538123375131367175427223057153811226430256411646865399372757435310625429521453370632271345277861791159389052912502295321951874094251079831549862320864276352805517424429804110220967424281613648132311294157705470725511541689309567778619933422319803359140605706442790279299876313237883534521214965374293666322703731953139581324262311101211265174757724571959023320991164627329129695357817422499059582678142486689134178252641534553714121122426642754613844184583632229366918467462842428162123933568272145345981123022185301663447027463348581611239452615162423445111213292773342512251424011319346174514912449195801129729391233461011541237976387701867259822242631091261213512132397984116357324222200278481137991741279824272623449836224516848503334012632119513815757322156762444786340161649311574113710717203216208342934636147852120823347594473727976716510355025511059232622975567391724330727151763191259218856253161548804144066826317318819364176652442370137315296614894861845931813523149234824171243958133912417173215662439162532122254734872522802255425523161634124215734147139513655323911424364121915291543222293838213355725204022778216281663449344511642581354332652427928971947164536171132021216320761151434931756211212596051178855255442311326166617138932835511124428342621369333358778267687963655960131816461311415111474614483605432324116171452318538855832357948363937164475254842481658334321938282017673796021315926975663691341532929683596395981891686473772811536266271624995353284905345162705171132717444727861622826425163291739944296222832564134512366218331812394249149136537631247495653315392195334428974868117782222125151433181246921720285195451446311385332783619328605452140132554500171319591741713612785151285227141137295651413316753872726320073882320569533415602618382025819105631562384159847900354324193628683631516042363123478347723411296490523237037351647288392491716131664669643125748470436131129021734669489157916134373064323281818315111694367011944318506361423565052386341470720678141745101164127524151215575437372927222314765133871533151654133885771301607944452687606633048344613902730389155913026343100141562300020732467316998215463149786064715549372722935583671292425495351504671953875046359174225854479874390562413393210454682232023617455383271849743475291042416596824436953496634763781173684753672324367217776429886843611425539249371610141128274143519776234947461259234761904319533413497333277323394243031933355961740674414611151204471782344887247154680500321179260337131148444045118364625784537645486213826952328858778114714632335971352422352570075013152254581208617115432942311713373282761136447574141303054864462471558535945244748083711683565060234141435242546194366335356683150881452765199142364262827809712083771519624163979275825416554925252525421296362723163136402436443121394162376163428935174610869440246562916271331624244505638426495534903212512541931378384291523151286112622902614836501838214889352655755331111291594966026638173349325522011571163735736123231091188958257361525118152256411224045598136114676212336412801449093165221811725053184914152374585311241536251525110744931024020682536751441567927356424136398702652619865683859286199373666417052294514684911272763632281239376851372273447820112861532144982295452933599176262924198717422058147315316172522736342341218346413627312391631218144904572741324693275111718572985122126331833735231423035918622711155412469427123111601736645950338482815112406015194494464554371798766833351644442439394234154924696653231401675637616368561550979131567519522598262275135243019416475214318321471349795225286146225133632771433383442627164469226772038397359160625343923536011294473747125657331171402724519223127465780767624934452803851519631572894911115114107711256756077051685419462222687523955461924128243876784218443431544359541681845043612131591540978148392264037448815185307212211938284276541872111259388610429539822329137475338494482596483162657391114180451473717726311201638116106224337438231672916208405464474282122724731641667837222017923482154494243799617313284274624177544748234888965187745795743875069732264076685546194883451734117427194760915452222178984667217319460113720227754176691858832579339879259427327534068682737190575715106254631604054193025749601153442551131082341252617987820933556191524926362624313199214738043427887576456130754688937494922085133323417120241335253113987542938186542624357671525415553429155693593196334511507560352702631531212795628176759810487815718112641111911481881118423191246173452255611995542386483564387353251375228631935907798134326828227438516636259222309435235243221283806365346148562539544125473335626101245394627192297620266372141223176313124972216732013211342652391013466512216154213135377446316811436815265844650392315136450792982551750627546439664253213721474246192043538173623883314118332720566862638275338398713283246768401321634526847643763149510341413016848155205990507942019352261051544783454156001361150469281295025906134510461612341416389053514658392141012880572725671178797432214644826517719912136425526254444421121841176131108586359662155756105562315234565153151449239213878274432248652635138187877261255535158371621356513273188613321601465465931728411112491663622931272865125110164387669971442521866434751038491663222787495064600849133666936209871369364371636267104238124174621722945146546675453477234326912162244235212295196135781976855676431143578354878832374726883943275322036352396846233937654354310719330946536848421502517499143742232859305293022339411756215941827256854276504514584397121144381734424127426242936723904141533733342121176699227542239541095110473428157582816539546321782143145117649331344610995613544421953320169422242316432173012351352102775542492523305111515154779219143263711715257351576452216526065372341142901535735430132818376508221015541104401345616955516440204591809501910572665063084643486523225427193391312988559100961827313441894328142783421784373111942624349173239501221291653262694753757862252063345281212448815128037974213543712434114159749724831471310132677144855818336171226805136227365306515341220791664855855843219116666123211693746293284238652818551423026819491631240833568551424134381231577538341250418033627450573905751351598372482498265835231321672594975142243227331656742535031535013955136398521413159934419767922455833327597231113112488169738389044239112412996336255335118137102193326323994718294460125266545126625404289487242666472112855903739975532162311212382359418151505023236382110220266025923788234179123795483387518853106557148214531457622175399931416821479590141315160368361362777224764139615145438816313516652123785122253425672231581337001547478358972432384735574788139430215318384593421424126655436730411126111934398143157122858124295323114742091513385179398269194690623610271261297336980925705481318161642595633352914529052241823383516539498006164318143542976698458334343671324953314227210622696543884343061814416461979843294126554225825122556332255765213421847266458298258450178402528292316218612964363015431166519143110432151202901359994721523751375668411946247207823421477755891159364939325174739762719545757744485290712318546244274915225660374111589364499245681860331765114224713366842417121715811261099531431791030538653878822094848732723890512505022023134092793464852164859428357637653076314110972599843928916132404562710365113117814584179222676192512497327586363478967612236894131154816911131421112829406644135312261914385126653544624898117225238623134513150428644448780144421243309745671602807842439775773092458875337262331517508239296736625371816259775774713766205857642678725712182619662489468212481415125587714872678359532871262119282487841192574803937321813288661547283345231118023111156531476312517412036418306114113528479613743543524192353236769012332640617633136228033013021124781983559212637114675966774422592256635802356318595690206332990185759280393675793286050283772723434836730135460243772318964355436829541817251158999257214297272646684341758223347365210143253521531434085608453973585226381421118452917558514914750672691632141169111254476611319849722170113657387492110843229295542313651652334635648414782710746895366404645416748824124311565121338162731897771736244011871284947425214041356891263313115726766663522813233123735451513992141568711382215794130513119414861327234957546174573166045255438562823246127214516777546412461136583439243871447321535441370191619733565447445138842083361813414964767212021106891918328141912185221212748118442731532342322701822325298254226364442420254552419415422178192141223811729213933223690774183931038559851445134223984112260714725104324712764870326715468585133247129634427332197271557243346474253483531112154266681719583135993750486665850963956111121255547345468788301553622473443992261527753542242872711252776399461045825263311355322586815275488672728265353520373865661581488192147839696432234566091568344730231463311521503208514619607247220533684748360627414333543257553746300142418523223544844246634193532221437514516433725884562174512523294345625333849295178374851260193181381737649171142757765446336855146447238412399516211813916137561543265175857289452675918224387123828119286553827820159292596833334750643824110496842493931209682221665440314732098718111124171868321726339634657789913676704116834762140452936353252732713348493237202943742443840949292263582170813789978600475993321952172325725541843155313946895816797324138169733112787375122502119626419951143462326315537642126154057796376246411844661296586424438146533273734249971755026447504256331276273735366315654374451493505671648910425337349373234347444444135615133325924345282276614137245415839515733054379286521303641331243543936379894508291248944094232861326992326032695125941627718502298334813843231250259595204342394684249891882122125714715088651154692322135476218011551677346712726493478254141665112242701711593433996531612438113247113315523311241582214644824821358733140009154222414512011141459814414222193248353841550124233587212100821755332956690220522116610443526617583689451225321465833326567811974437709762422196712517528264583473710120237196342492131195241812361432626745388535301147597459153292613287375255575852321781187529633519146271410332991171771114365442859125855372396123231934855622751104846431644343543911516174174325331719662952099133438262367250159939269947212458342182295637844926147332247234268133381353123684025653221515415533373515721792333263451381700344527143235434665360978434126331451095413453720242562971823169428744139732151738490345339422861796793633143917146460175527914764317372611149686522810448325142182773179119126869784061509470334830374732154134494320527390461584419364709243681221014271471853516852266969131779422300554641614817176326846288911349123438394865128274702246334549510329571562762725642149791957644163652305781353707476645441662115842226336514224829384225328367229135386223348825654566133471404326311514105238477721810618240434850134548944471143634112326294468564772234986432943245754257309716319481432546226323429519875533319627529330631667865342541323141683626125912718710429434986117608700243137643487144911188493225202817267331110220126125631476565275012893511337248784713282476741683343465211596281173818731754653672531317561119687461187183115201031590713639155313167223144235420498371356108394615133116155313523353392062213410181559393335873200883634142451431326642829646932848927316350864691030583406736375226873423823862112371169562233991393462721871395533368441848207425810520152151133475636224326628263836191501682342933913823943797126812364591141545123838636210214162422829941716168152263871413321682775335849423652143686879511433425203635475652436235173374232947462419289692222251021748617741900488149459636254267616952456917812520653417828861919931527743883836522213172231324477124015263685559642877380487234838776459435231141237124260803557827927137411362265124154842042251635221243427594566584461473674425637718459415862395146282261171484834160312558481332424017687441375631548951621775223184312136659587228565152123516451040222608169838141355172159217421224303435797471156268323962713341163361215431967217316964460322762922353840315113977943562891869165316362808423656920619777014294793367417094892209172929911774567593336734651511722118012254220953627863760412192944263553813228246811702798337173750605555522571885176344541191397175024541352894422153232283222222486845820050939774722632409442366261205145927984573464478879262435695641845817034334621921582704567218356937123347379582926532261452928346616951813877311711386961479226232892961159377515139217215560171278481714333007831459623336311246965363290455679757844542323473817543661325152629643184541580113165659173113551441113173344234782846269627635295161132644318618034284185662557971213121534753352153126262532033464232858253316492645113133939839711731423619242021514371808195098614738736681425295588435285327159912524211966309323577290455555224736314162747739446021482229531716853633425281565396318383322462228166413255363418701472326569123391594721428115977322163121112152158418344699645311137179784875242285442824765618843123212815598380554239412499257922933753245033105174465356723871641816692365042172127431261454131282827633734811316627132837532246717631535972433406147348914539469161332538254431836492966368589467225323621751753704161102544683146469172322149571496353213042856581215438879459720247278821957350353157197314167259243523353534321515218142532763511299653512528331114513226165101517397615265546970275335502132560232162854518373212163123620677638266917736114337354736936075146419483654240639751374152621968743159132462446434659643722062124332221735307415193141335941842224979546288453697233382152250169236761273221483381815351576932535306741872459664344751475322587433442565826353246741378660256224641836604268815254153163273732264332453226361792974337527459226160218183288204921642818349770227416767886304142064434418817774618333822324316443535313532138411828421632322745421514920323627413828612795322138829318226166513463475234933439312744414507841515333720103852475622121116671527346328656513752839757235327714577191155715852625366535274178238644138463221222682942724318251428632065199227414435241632112486854202743551872396192422282574621145349815748612630829944855223551165566627823434790694826294769412121111277594708600018855190991117743094034145071053863144395442136100355413133818436413366318167663638314815104673951393218442184041927380478356652176825734133465820167962379563643354112555096712124172734805292601117446866282432482424264311387252656544982586215125514626363199623955331241271234148286511492612024668267176552321887123676241281151154141421799312711327187174239534883685153731341323453678236926277444717716183463654472951645532444070316622086156511275620508791567623307541590948281684591534724435202373287927154361547691828719216797450564214114930971229111123810632566121357285514586552315274464254254164489252341461631657376412151113270393230115120649598216644461253851826503525249243129414394449142666519318764241568058838719119617102866608211528015245465387578662851532323923985953752341004335521721935126361251610435921822385717424259212747527305251132392297311661322110336778293303631340836849419592405667190514338604243313603944861324875313333127743421078667191591315424672124621362744256512774131117313662802361256822241229612743981231848131811763851684136831349172128234543678274941359284551393416433761733163312173123321267841371473386672258388247181171176757222111514188523124437912183112619432228721311246176019119859433331431718619912242511278735435251825831917311482283243563154619222709528925237331824334283974854232241155898546930321166318233261173312236821835965249335823295945281904815447737589611233912593413641646211925411557475235837751565845171498474453013434111986735122375393156114591172018325021393919744491422596947237211746126944463225143039346016699524268828182663251511434863210299666241391511152632924421125412693367772881463353063494944267033681414064145439273788579572209193236285285234575454414076634495180465659411476333139941275812622691828314536627674123896145120299152466652954746708032288578617827147566291934984673623665422134754633387045301465341429650538511581255628555511342329152772442258353253541681270272449727231563577476936337537135814434402968483853258212556805462754321472285571886400611693215445012547463365219272956119527382936291494538594436713986019424939831533231688563884611782536810211226458627361150292573526361913654212867136451246114361399161594619524856455517842562861670219717765549904323021136699837419050266311026254892435831117228312752132962746786634023545955882632445533191562194235616744112335662862164029003221115313641242165723299764473194155658473293999262144524858559428618421726807111611346115621536220464112705681791163721119242755054474463706111374737262111332465247303222368830321351590922537221211991567136649472371258353944596751123970772614161093251313561262253361824027161182591601683402111533547313386164220209592624821331511653778385288631246942528535324539014636168227975367166421522468255317123535048411648847553222014533422255162582630731554115223531157206122753259194336815786629821422153453578599490344395558762486631853432891168201101950361498417193125702916543942012596254126321686142177516475574835409517754471671860515292133644728178542842347122733218217318595709797332312307227531274484376267541826214363943433250712115052721276653187546945181532735735146669218917594211107477112223622332816631786165783439218516715342121239203761896311256193563425946444788949252328166123468224133802235273184618673354227144437413719967372926595561008249660439224421327729612132563286253032560161864305523936223468300264343317102737711302372432453336416865241516948420151226715351635140633858752265159737358231636351431412114661411758073116364549132419914289606487832222317428455333201118510441324778653153351826035373910644213352611921404975034246746101416162197560220154098444342346228244721565244404562634307656782552134249622277413424993447614801013656812420215826613521550439743617686245361524636410602433301234345201678268147976435862695033913942650239195567196114779948927992147133735152143163118724536241047500641388424639121765117278124405263972823355154897147549267812636157252521135253238051468887211474137166405722534657713992857923982218027364649742616373711777105123826547022362004614251287053714346422812678695850221167931467216151757328231632875046413144111311404211716257881375232292375622856727202186373924394520765135382536111266326636462432524271355947736438438671445855667939056153916169571845616127212102176163646359248136258895312241772415229312136991321774234233143175049162762757142623961328113459029414713388723479634134158367260681448936285772112755464491025556556212934265792941221885717413084563263615857187314201232953112123525521853705355321165535267982618113115936131241612625434599726144798525881238418087284161447706233115521123466574822923395763433415741445138711511501185356759233363126193219421891875615387411986131436557337392455130555875217056195872212718376230579602362337592161759387243631329352593646124516721625392409319221463043331163741112417043654274243547582332017430619296411199556722231633279848916263622936333784420513794123448353443224965431320855237101427897588516684336963134713526633566819135639642523222037136241434100012484823332274313207251326359892265133965477495946046913122307049950628511832311311453123845456752881615233976321824904511374797733745537111509691765517297871222399234378284823113915007171381456325051113611018970481449546294912133584653443221799291421271463383809613464254133415795542226595551772156234211411598914588312214416466637713532331289426254213332755623321571628283535114039468659624128311225104281848323013224242128258873996333791735438586754822168371104630674531186325317638164431715137592763556702133703241663373170992573217279725441231229537825143951563832953292875775425305817437941624185909527281356570345178811103073742613941285530580852772591234422416161465221241356352614111644724151159951313661438853835595372652494334663485531275593921678701373479112916757155149111944852412355724224652012427679380234423821182746443840405755951312814591915713534115752780580653721875683919111672386513250362461548344274679288523725398813253271213832137291814483738157311554491059671520218845647538121367302759953339164175447794743552021230492344262115653201311352666645522264732331653283022114473286823233620500745762171265210285291175372912123338525282306707592377166536523517232076742230236861843061676187739286591947352117563963389417876176142131715573459272624146126571753393523012171304492265314319443736967165687432255535029211734611778313965255136838723114911310695727654311732281547136686980317735165657128141795829441161341626513143330623453422439152914851893140532185301381490366357109449173362024821936239545366932961996065301721541481268741214231551740751725182394652389441354215329643917122617312142195312131345155499137205052531622326291921924643143766062294279553246106437520564474615454388205322322813589868444606384934
490895030928704040038950077309790007335004905000503009097500897678990000300709080002395000095409701270000360710640000076597808918066870800497982095009898476900006003858590090869800000050639971084078002094563076069576006659099968068050099179848400088990700009576100780970008050796000408804090809489489750150378993000870060300077549607000300060975060000570994002440029054758904896350067950906900047800000098600608900946499630424008300400060000675406098017304507027230740078043007888170007534087085081083786552008040000405386000202414006480070703455093080800803340803089152400508069202489847699799226950080971407060369749002004053084006707025966196970063000080464084793783220000980080094009093496906950030009978113908971908075448049400583379028440070009061570790500010060879804600454003776686305009973044056290754650000600001691085099501054070020000000080705709460000907331700450050050597837459006094064900830087700906061840290010400652705045604006670000199701092008002452007690907059856009374668068400684872908084780671000688066660909005002838030800001250604047903509669340091007707873467388600960000059975000800000057277067950889002263388020007979934074084305590810330575496099870418125079900788508949500048630000000497722100223700905057479087368497528070994084768087687408080409606866140500045773240403905919000500073088900830060000808060968128170614007773044000085800030607040049900425170488000650097050523576709092900276816400900409775310704107018986420809360500907876503003000010420008066140736050700800584103887847087400806595008608587608905808000459350900049008400007611078055641902930750995049180059002909900067000000667207204989942300071507983700500774590957800706286609626008007099331660700000900087608085815840401780489067106250070535007950000090080800220000000900980607406589076590317730090620024170230360900402000549010049057501323806946801767088800001447400000270026362906509080970904893809006080828876895007079373036690000040590909066607010806752039000900064788756501625796008393086909063480803209908071084808541900069408600807097086206009691980027501861906059809030050421205009077100808906200107599648000008050510580904604708478470069800999051040782099775105586097991096700975700905109631202250474830195170794058270070500787008189587088000002844379888503839760874675570930370047060859900007406000946000208000009244270060209876064000050807065049968000290003460690900675771400018656007308008999300890904080009000404890071670010507039907010050400040300000956520010090047007879070044006888903204000060080908192838022109150280928079706338970006077004070349360008880605060729709800506844090780463502360567766064597974008401909830038939050079090009408067579400086697420998688820389019096000883089898357008010179090507447690509762060202504308050089050875580075550817906900058009970792787004008790800500003000981003950060385000760800084019961068320000946977008098048317300069002005292008304079150070019007300005404090684966380000709000000005048020204095057000740700800505570570770690987989074006606704903277007609007879396200900997095205008900027390980590676970947050075000804059050281959500578700915084009050687004909899387017940710789443604084000000096505900010049006538008480008059001890777895765200080108069760647767072096008639080000939253004995200842479000480650803835867007040600855510786990556990964660600075097089097757567005768708696090100789580504758868070589958600897740050750980060952736775009242912700100081000054670580350910790509504085460450009705680669098805999090530026790006000009090896900250000478000005370920055009708049090068500640079081043890085580080700480469008079930000085387508060359017650503000077500000090581808038520708598000802300000079793600409808470609500600040245300000656408047680888000730307908700843909083550038891090080004996006372827940576802733703690509404958700009000090894170900045530980600009067851879000646724085080888188758835124048566009379960375374868048100888044195066068008880420101070032099913820040960000018060020007839175060600176960000400887850254306005084000250000846300768101006076360660706898799966062080032045710551007607000993667099705080840773878839009050608500049952004200000588870970250606067037520809854985989090790000700601903982009079900086880060068490489003903500490050800005620005007080040534200943900070790066000804360060730808077907860440800377609409009523667065060708270027365088286094992096208008258650094000448035850150970000396026036004530806007050003999070706600809200096870296098900004769830003047452889089600985008800429300490292088700018800072534790611318010386975800900060015394000000704770807588070950002220033856745592045060001011795600089060960609690200000901608000509207000037000660759060000700880006997700005801509040842000455900867503969006005030877074073566980960006908399000027508956820071276017098036686204826070165015876004600859878000044049070000379660000000970644520909049566067570326061090880917504951205090900129010600893570008070000944745309305074808848060516010506060432000600880990047109035070099085009058076606000708970029900000670044094900007758403599597068380955460800046008036050906700980800022406889200609047086050900285694508401060090991595390925007000052569098071677908198917467059099048035049400595603803097200704684108807090289090798970061006890038058620970090093920080001048005200104580797286700500990050000794006005060540000768606948050357904600070798205589705050067900004003777840304908425957092670000590890006510208160274038781010008080180594004900080567709400702570277797400680000704605858097398947070095080900090799860360408058524900773790008060730708000368099819865060290580099500000000903477932830039750903000508807000870360880000685003578950000089800205400021840001079406800045092590009589000590009020360734567058250908096000990065005996700598686805590506605080400069471386000680075803708910370927308959020009481154406040034537070909170503061789100900070013484034779579600801063083094905099020070090000005028082190799912745986906089580685807702000000007378643902047016057505009539400087082600406280686016004040057952078680909084945808947880006617852800010826670589948000882573509490075244059004090400026272800120890575900705054049008980500877079995088528800004960171191066800004780800009020009445009007093060996083980260730708042480564869067940000770000930543350803000590977940007000755807457929095792056893607002000079500738050789051793409400207685087987990536099567030013594980570680537304361770080604525803074675010609044207504703899631001308090590078659982090907850437472063504580070635000400650060470794660680007005800200009000003809800010098275975908024900059003088868091807158008650000946370078275008075008297056808700987500005951900900086001002040070500080000080004866009291956440680989408089095386014406300740100699008009503560746012990144775046489760035005768569640100070000502860079100900260644700070867806547301668700500380199970068709707376076470605637797249700009890077467040078407900479000214800009006060001287607405100956290090008095992600809270340007048187826478094146087004707970060009290880260005008950580990646183800810584069100030085080080888087770716040000030076804695908009008015578600040990900077707017800060377046766649009778500870387880984507395948000000200400850382603077889007906304563070050085697570900796000100042020587591680530500081975505061902807360850799929001005783528763006099000659108369990091640002080969080120580508789120026099050993508666000060368048709064879003859846080000485057960390988839917090578837376080345396530500109474080659049009696060099508968998108083802029800900830742540930002089009606010008000004509909190008025878500895400769085706812000067822904972600077863679086995799200992327907000000098025065050009880900000412060906903549437009931707318735924968580789892080806000300970006070630751690505025076097980700568500200002002004906895904030656107806446890000000880706700500238640003079756300625986034907000830778000890389009000283494090903309605600700058058630799859870959980080507603070700508887860007008700506090708108800060586080949006400050830002066307007073788690210500036304806970709794090993606605877892144490740016007900005008780979570944685843094349008989404795700608487400485395050429700060075264698570006903084963190849008004877808960300000596694008993089706000730089762902660000068050055030999500570021620030979094050806077709050907590806929708909748002045000029060844099894471277095936930802809033801005039980605000007812970000000656709994988579000008058000959308408000960922708495080070807013734900760070706070009177806570070709580002063880200650034406806099906807837670000420060900038302480086794000990307750803079476159443042500789696600303036503897060009090207874605990640802700606830606670903008007709220006900039070458720060037578066004050000388940976396500430800408650046610076850004388604093260048890660608000905700106098000297000880686595740360900000640008065880665405600909090490010600507685800140679010878790292980886817609820685590760205004008909538010360008080756600540060705878078982409507205568000004008003700084800808878070669000800088406080030004450715950657056095796039211420293160072930000809710519981080737000865850035400409071806590300895890010840780327988700080485100042696268077749693708940069000566009690305085790085861790027790029070506900935810676009706048196003578305900905020034390968400950580067095990000800760260026500876800590026240805000644005217200030705778041577127093084070019080469797054870002823990024158806398032006100300970060000767900230007850085959030990000009844908583053008350465063000979900406800970082270585508968086702008750000407379407058984990707056019283506090024289068840600009390579000790907988843050302080604060800980681749308090500908007002090086590980009061000023990980050554006007560000497000000617960070689677200770790015624700008767069800800548005600030840400030980579003087250003890243308965488392001000079092008789318580517096040440741020070094003809507069850805641163050891040795218010000002730452996800605090000686690310008394306980800800870880008800481006339700000009009403700490702090560908479000406700067390055577007080065108000709900150800350009516576009046601000729092869270814089844609534280989400080480003088098706005403989003081730640070591125000804020702600950007850090699390091018709454504048021508416093300700017834607648099006304041800007777076080590767090003002000006959400053003858085088040958904970200800001050309001560990000047769498080290270890770840840188600370050700214580768909677589083003002428907079008708390253201800017778026990807804900350802048514496308004746410995955665600604800858303043008203812081018774900964609430866000392067664601697980052086137877049010859067230799900003030690090183778809787700076997365940106030100090097995843649040073351707696010269080759096740208161689500030010000058009874004104098031080091400433098018236708960605478009640008302675990908207080055070830526905604598989000000799890500006960303745702910399585020002070816097516000399907067891890036593000808401007440807340946077998820690080766090052525345090004308404895507600003092000388040304060290708601670008077850620900650858249543890920057003986007948000809096760004800909999437073608024343930978469070724005862180005000490308770308780097009750738807550000027008990709800000002207069647060098305043621919900000906394209937400880030062889940943909006900077988890807850790973767857986091000870060788349009807900008000009633990000098486007429000003900000080829088284670840305009970696100094036066096060707607509365590007021400009006998470683605083135006350077400080480800660409970400694360098927690077977907200436710990007970004330068650040070259802000079872610000672507060800207869000901007020047034300032586698007000806939850094850060005500087094270000099090866074077074600073000930000370603636529030900108390089000080005080085060100087069065056900070489808040000395360460904745757630397009830968090050000970050568780000961451092080008095009099889647908705850900880056588805799080000609400088002014705066979750270042300900030279084089020049649969497795970800400901088000900020008000073607988080653970290000202833054147000300700060096090509055020507837000908690089209902567952060290187600000503501374454900975178706023850706700964896300309003708806807608030680570008090094500631863000899092905089956696030518002029083000670640867099130802020980980097470756649900460038058806302006056284480450096470000366050651006448732507009006679349034860640667170060364998088077909606900623470050407009004086000600850945405853900090007384967091398505358704374080407600050800808034080001277100403353109490070349800005028070907000070236091000565973940400010066770007008806186070940797685530080070086033000090075073852850722006000480062527801677890583060080987809554610500638790075070093036698740210017000009799066926370500680888600095050000027508033079970357303254048949808096200887069664600099189000897904430197803814038205208050506083060809600053030807909969601900060040215756208380008077879601070048000407006280040603669000291035000008406062009300007976069079545707899307939021760008268000103780069080808906500950880017000009706000600005908070977006860152990634884070000857560970028630068579002830120005786700501090002200989406070880076000099970800400703640920900406944036029010894608099455800007740089090086006540085067025695063059409090908404060705360001668046660000745600003479804877900007742000580140970270750708512104037961970006890070004000003650100656050903170401806036841784096360900885800506068669474050070515080634191148172139160000846087880009868920992690048010409080003067749538065006209060590088000767004006470003870278759008500621810405710019900850900487086010790597000007004403683870900083807700002283300418900038860510990920690497047000088209020700000060646080880370576900004884005046068960005104790476060006090046090480046309700266668057877800950580687449070890679090090550690800109694007009935508660513830394026080990800601200209034506453580000092207947906807089004909051902505082094673605830518707940315800068053657200089850497941099001060995040054201070400197874000087409904000008557970907080580632860495350000090470087371609860900858043870300589701970980313607709005009099209056368098604880900008808943460976050908700008205573040020893004127030500009083308190823994810000000265706900030888061506698950706200620780800000800357170055908448809009069093099425807462644020008856059009056601878997107196904800000107969687090007990590008092689856799206060000950500702009000396087055001000806281094064763660430961707917700900008000045060098100961030760835350583042700605606309037037000730564610756596083831484012700070708098040688070680905246810179017000503069000000295799830590497496028900284500357097017660786930060096700099090020190860000003006003786009469698003700884067000960879005800670706452750400999002953000008001009906059014080608900389700943449510888007381595540000030764567606008708030607003760097992583000699000956007080706909908788090093000090090914202948700900145000600099712960605008806000800282070504509900609064850480170082608785880600600098360647818053008775007062505806804007464040050909280184007847068030039370099000090974830325000780006007000807830690793400400799360860309008800080006068000450140640004088500500000680006006807000001820349818480069000979098029209917724067909034708057099070400709700830090017863987309702004098600448601090000608095853906106096500160005009095386501006600360730004089459930250557080000009465904799095544027023022965008965003760330070905080904080057032000674500892307967007059079409960699500088608602708935605150915700030987090059750446808789800104100070745003890930063029009782500060499098009787960400570608897430100945068900758808008047098600867205834748870987097017600004600744095007777664070079091007984040008400996763070060605535920406700016070971973098037578087906160382298010300040918450398666056900390060848575900080809090734888907708600941790067564205904950008890096900905722066700007309546007502090580898560038745087580983860082080000703731770505060000609644732907005106045649608050263000790006907003370395900300303086901553458200538808408577876080039690000364573000005988839409987075995165942055300798900002298870608357880099739840845007790950080103791783914409097858800378807090700607076060818006844673846080905089565799360006008932050300085000600002779881904064300066704070019308700488067809008000540000840700790010357007800498005000060000887500500479900630706205097702722900480049000008700959640877201736000890046086180046777034080484808005066447000020374920068701202940905970488590600600908000997628530009050080000965909607665868098672088470435007700760097059565207445490483620078000687698794077009000800445845091001767308090055709000663900000607097812080789870049630703070030807300090002700009030095009399077000890087090002005100802048205805703067807574600738609800970305000590000400070480496800105907030680818480262495440260090035077984020950024000056667001705890502006346050900080660003104083897000069080141820368054600000994920096000892952608045008483679345080500827990050069660063000008888300008678800000000990340040088904807007300507700751505260096000647986000006707390841005410097583009048188300980840000700086670800908950808051090000799000000040730704269904720936403038017071876603706006900683860900098700898860814305205605277408019250166510703046007060807089302990022689807944030800080996123700092700720040050000507076038105880807494100090050990430020408249430380400096738790800080754590306774217902080603590893660008009955750054000161607700059038038000895902400000000760959930800029780680806599500906000900517689000766807008288408402300306067000063868900045440908000968002090000006008989000900030005009000007006109090089089830463040050720798088298736930806198093074270070206788090400054508409609900937084300638000020750696597900000680995320050706059800704547009805900000900050020004814070900080705908987500509090322913084536949300020610435638708600007996028409775050919068967297200608500006070082720908002088407006509069400900372749107003870799000000000883076000008893580755900680530696066890806700268653028476509070003096506000068648585796009680785870007637800194677108934090005800739080025575700097019069606260280999770880000049206990589909864088003000000999880648590900869004506680824408440059080067608589000956050525058069700100155765499075760070650940026060000000080104063035075079507700040003055800696020045001047083447624957047845290533064092586003697906920900808008507578800650860809900707411000098685858706588680600650790000809887780404696736780870370008957000553430775020010699660710002700906006966789798078890843404502079070392007098103680809060920898779088500069400021020898106843010986682557506799097165080083304004792007008060967057090904119870600710987805009207009800781043078052707790405099609400376002017070960048407071000860936950417870069098270370030089099059950219294408070707809095008031008030339780849090786635310200007996590590080000765800937207300469093439855109664002045400600940010000306402530080024007760345930075600900411758730500070979979000010802009605709290980955950447428805620608908844653008990808108890000703602598700705160050908038000900370845857007050026572048080807700990020050500280307804807448550366080000954846007690840076078087009008006366387056804960070269065078080804605060006059035401900400080038700095758765944000609400463200875458700507609000900784090058040432800090800675070580025368940050024606417010973049099508060580522300808905003869060627710265078089969040409809872502071896020096009986111700065801680850060908300203280730100144060805007355258030000890752060019540387236351290506979198647060090060300569060000009740800600039014010700007000920080080406908090700600409955972030163067009037992088903990000660005900943360040940857890329387008080660008005217909996208000918988080589000574803897069392209026009370065800010420904106880900008009208667025596983650477140993900854850300907008006909030507209870400864484087905035063840009020737988726940580068403080600086077868388849617500900630907680190557950807008057735980302001802384809545000837700709000007009067000535655000470043804482960090400008009709587005108198168000008398888054092303400853099174098600000817000876989500980087858038787909077888002056030092009304000000260908745024809808408070007908058749800080088820002020307879800959103033689300090016300048797902004000505004961403004070704393060300600997070008408480075600548669588088400080000096980795467000900070014000806880008600605024000071400077054128002500939586000500500079606000070000408800040080695480807008002000072720900040605009350040049969100753297700640082094866560936685659505050260704590690689000970937797007086207078000560960904050680099660200051008068568400083755000046020470670000804700099560060109600000800547835280490039380880007047004777006792667990250090777802487508000805569050000705006930604194700704509642209370170406065500490729808009509706500000797061600007480007004083090520600506847905009009880909096606090094808991678430008087808709900506970087060400602460770600070867972066800900050048007302057009018600890547075657870060800370895850900004000408369000900694500505791707375762570010820907015202004294076483584466900007900047708030097046737462906080008850459002738000397750900000080809360075507046284968026808098988855608808705700900486008079000007700570390120280650837809520409885920800807601090998889808039480908792900049160220567870808009339008601020287763699200000600999086090790505050802095098901079003648473095093008059694906920919000200099634045363866978807008490800302040049468406006077826908778067680338976600558407678600070090537069974688865963004007251750745995002070000006956704454430004700680907092400706788009565340090902000424149920000919606100029073607009070085907099660621903678053950500026600078000020660006005000996004050509508945010004178038955957002779597709005608435671600016240608109650807667067086007536540700040900960000075504310490960360755087000840890160030989885603909615100087099053791044900050904650061803620007597069546991000906058900963008978706401764920088095709029044480093830800950690580000006004840870707004030870317669000909360590899071015000009080040306380890097290000990809085690088077007014984950000703950090400007080703011058100606840041652058800098300000939805709680008654070004071400005037406050988080905080460807000604407070909906760010009800007369288008050204509875730006027050969787969010029855800039970409412980001674999000665068059705760064000030590000209056879909400990890848068006973430000630015440980879298006080009807005658099005795009006587479006670845880670033803020027000969999039510096009068403170900005007980004764976004699753004045980301610007705959279858025905609308069873004353709740040956930880796056093580005080900680284700633570208200590419504067965644460089172027001604492070004465705000956970349009043040000320350809009080004006307000002060040160810498059092604858097000407688466670199990800818300908089977408000009088025600009679044800378077906091309040005690970777860789300003802009604077900907340089999640604000000200050773807086906776059750097009790966886008084674000270040688900091409090500047060402487988663669945765058408097600063840000408890000040098227069456600567607079080794006039700078028006368640700000790705900300300573880879710090670600893605689008752167040028051008052880700009009693385007092809088653638899850000666820009008060608509004065090014327090560076070104140590005654081866879880049600098880005781707503508270060040600009400882999045002950900060849964598837570000005768290044107004004090687904002606284388170080024800004405881648809866250880000783055808077580140040500098080661318897087651940875865030000089507333903012035904740045100784004008800073760644893809406408700388008900702280403848150063680792705816183059087800308903573809090872800063006900709917400000504030090726584580999079000008690999500780701949690790008020309000589003077758800188580070707699060575577290260908900035007299800105574790624598696931590808600394552620074987500609900904506500009800009807000509905769950609072186046039768075381047067930677841906090300058096040967098900890009966052493049840000060072080982030090282085088187606907000800060957050077699375375009006040740507079875000000680700369051070050743005503905709300020983009487060400508604009559064089980670080668681545588686008660270377700009898835723760009002060105918800090007989798983566807702000816999068770705150000603070060600840621000707000076744009870100050430808804678049041087438906905865600600006860000007207592200080029699181744907050780000270589003508990876000660677305407800249420975000015904034096050507367906725809450065085374383195400728980878881380078969004400040904009908000069704250709198679004948000870000569710199444268000383639789900087006940059791680597100156409790798850064809090098090960090649009008700500897050899710990200030970048999959665692760608570546000903653769878930006186205680101578803607039094900700003015980006600080887875005061068503096470049846000187090686305097930298479008900770600003708430089250805069820318500050000900405408006905060030764090002003060080467095366540009007829004049006885958009050887400736958800968628068060827033067039993030687170995037240284100265509737080209770020030759200030630305000970772086900766248010350607660060427001000005160403400070394969693004289682580006029068905070127008670570036083666660620608083836609906909366080010010057009954859007000003750860980900808305746490095409740089000507900861654359294608070706618400005455350807870800385969001780003280059017803802008104991500738099000070650000680742020700901037500507930008200009038378008097088945059990549009040030700884706720200220517780223009035516005778006108076090626749100038008161500600976807408729220590050455079650001097480976006700990908025580070090777660013400476600064428518407000090609607860500489799290003090500084266795059703010702008458610580000029090080700690093985693049010408140631990435800380596045546831186009000160707709030446090982454200977004686000509808038500709800200585156790748000780890539603004070080056003534680539800060038075008708830578500959005060060394607702038530500066620030060407960007069410180547900000708908400048072906506480402008406000207858750200000604060860900069306690600470094875704870960762360746064000707694060446050255490569747098780790710500969212698700703340607409000689808037008009088400988190403029688720003683985863100509006370705700000087560000085106000400165000879070106002008078800070906080068000669005520790500760765050902007060310001000078099860807299950092002091700300010778082010007007000080800780888700163500697008094728966870009006929990730086009053889000895000783993201809900600130000140700900700370940706506481700999029409059865037010000578770860075840050605098700700183607080605067383880803810006375590000084087500592985404968220805600694504360300021100771307200880800004280500300730060600020070940839730602783002573209620806088007080495098301080490880682000099006040805252000004202076400070097079309039975288009506600650270707960800700608708005357076550900407500789409609788800071056905030079740000409305999508664045680779900814077750506000022010018650003430056869436101054057005000702044007680840608000602950015909630060099808998902370097610680003060556970000005050050890000300497050030487840420580073064170494910800409070703000080009378906680000000052660000737978776898099068350950077050000819007008050100300505722097000005005094000403800607074074905906010090003640090100857850979800037789806997617943000700190013007600080983503098499800788306047142862056436980600280906908770760798805081430654094800700860674006809027906970604770790005000566300896095508703971589848980901900449000960997507700873700760065000024589309096783206353893936606010088447094976053657000100905709706009550690946800075300850808710607000056508449007402868709000789100801870880742809099436070050000014608070000070805500600607747600290031708007540030980996909866300409809804040777603580099996757600034760581030009045006917490000000980537703570940002075072038735957590966708501008507998201796466634009702008407700506886060630076050000906980770690059355700009093000030004698040308008880082500800705100000330096694089000009900677065077800957850004590700000063969889069340770005903685904597066087600005096020005378620080908380060916882057077058071460771296800500580066009960986800000600910887708006909044799887600846056440898600000197605565090005157000579405895000706308905302008003500100680509241537505008416080890083093850008400893900809057008890109056747716308802704887687700790305810807718040809393006688580000003900043409490004906709746095560655976090680494906605357600729040893963504099780065955005006219604208080600069080000466502720080780005809888840030085800000000420079675001750920600607066079308600060900986069010085068208987070559276190001070700009469045640853889058196009838018750600300783075877030350847000046520250980083600170580699000487082359000945007908047809557302038952008940032088580866007469098000500044006760003209404538140737769900338964630099860550455304080889488473990090040040907000008999247003893888603090703030209000060690907379350062900040690487080909680800717955000966808890937690874076419007090800217032108390777004341798006000099130503077050506268067069668735311063040900885026009808400010083907387776095727068409000007085974400509955060716600410640088450082988406525937300900409004901000518890099000490986908833000800316909309000000057008086900350902009017076406059009509107401258109580849006000808506700700814905990700946803007008080472069000629428906009675088000919105087055190505599000979411040973035942820055089000600440996097223764083080690828959543060680965999070330900095892059080070005470049071900949000000804070056091007043300780658204749922498379520909857712009479000503336980694800958299880871092460000480804099900000520808964995580851000004582000610209589079007395578989099679668050908072505376100040798028701000804000650033695547620764500702087100048760434779800108030907000001000460794017000510590980642970881906050755790603001208070079360400091960800001688009985648802009093524904981005867029254031002070608006044206055896474980097006077089573009579539909080009768080080408905004078047805980317754788823037090878600888001009098873910668074203000065809061140680600080896920340586890057047584700578407730740442009866900367838675609000898849608088002077300386847007896305990790906609095065248000940100580006022007803007507472224033090032807057200036500509400504900015805990810076090041000400700759990080007008050990991990970882059009680500009069999074084080040305534806004028209611030010260603974960014373000955885390670609601458088660767269740004070701006008561004077700241097079300680008080080990086047005770400044500809486046823217400854800080730200050589007074066595702880039880607991407460081398700055090808016089930061600800860280679900450650929053731466787009071097808052069060977630557703955300097630891952808095280408000650040890546036549000700703786708926000509450697574000340055800084902100080420760790800247940040205000900800000858950000465054870200235909048397080900945009890009220006168999000500730706000100800707130020000009019490803987097064960010090070030006490060134008508004904636900300930905831010000300010997884084009393090774850707080069545083040692059900000100860406650908769084090606647000005043000900000368047790735507970010507738576408086000989025899796980001096790044900083990567935595877674308807035087707409009888500049705789003900100739006510942507034607757088659050050800865976398000060865005051400809080498696785807031540533063949076475058670010900090806644010040868584432879091550970460408004058703600750076608090920029009438060390630070808007000990099768050016693604008870068730659808070006076710250006008053595088250093055085168508600100051239050969150900094070688906040341055980800479714509088527095000602603360684082260937800207770808902478059896008530089700780340500848839490510000893476430654406300900040044005000698039860493493306040636900085420003700238950027008604589808100000057576092009889200080853838040506826254990770040957020802599100708339900705667900900743403009020060370975094954960370000286896001055349078477989906189870300060087797053856075847700029808020944506095099000005976900410000497340839066605139600865604650971680908608859204480060850993309090307028000080877020000770075009219099479990003704690007170060600007022501480000848500958470897000802650040590007090940090907985869420072203607050826809530506040473802400000909348189080075600085065730400880006006107307892865008150070090009047500006907648007717542328047605098780440707070400069000699085370800000597640800700982995474092865707700013707093063060690006800547050600800097403797007967079040249790406763435907737800093906607048067800900070048763400086581856070603500706907393260540096163505797046067017060083000890200096520068700229490000081908598909470044908063076790090060450680000070080000800908005549009010509990006795739000266004010053794098000000949980208004008530842072209684987009899074290998053700620505400204040190857840599590200406634680009787008000095079607009000208041067908699095020300802000897306373747580690009065508700878809088735010990009002000794700440094095251070985775021600087761777070602980000308030590045799085488000403037108309705010940909830596648812900080505530099006880800391001920000750296309604025060018379699790104093603900008007796017004005488003850190400007043303003209609895900406084060790098026400703688979288070200774988097904948818098160805687068095950390388287700095000905488108097905907040090885049460061008007859777906000987990010935897102001890900070700713070240041686953290670007099889700480763350706006006070370409025096990057900830072406970607070076538595000808480393990578839208401050000060589037007708070970783924854070608000077564895840348608880005409680709397706676579276707084080086379004306810806000508067090009005096609606060749883608590400900002500300918900900900500000002305500090449900737029007809003976490054001300980020900403045505024050489396049200048740000084800607080756909140790290708078970504996499700885984290999766557300009170096960702977054600575037000990908600900005671090390004669006600820005888000500800091906870060808968990007690040745500904033707096645050886427808077730206065880210538030646650907900640424805092900559699860600680788255076130648740469060007346600977067291500038098030905900006089815990205078900090002040086000700769000643704068075609000865046442887083600630430000977550977958290777088179506787929909200700800907297777788906055800500697070099450500000104066090800009098309212059060408000906173530090004809769910990805068090410140060786090008058038590909080407079700068949804090709006800030778801951280404008058008004500082200000690630648673888670907984870000000879388054300010806099000507068747860409982658590906006568068000005790470903000300580507098080420990470355880000500030762550793601750388188000920060607000940571022059000000860805500603978757450997409007090026302004596609110003709308204000990800904907837880973207705648003000946086509095305994047647670549600030799010955888090366839298060384740418100100294071070099106009279569959770010444094678000799064087006049533759000039050087007770500080004067980000008000810019708496799777078920080310081979277817808500060900650603769678810051447097070490004077990300003705099046947809620086778007204070006905840509743106307194988004000505650005080487603008608093476060504800399900889000040600607008830888090920920800890400300037030009069179490508489717300686006332707001600884000865967870509900060660605009010003305904501880700000408080000639050624900876760060873020020008959906006180605082006964657895600540000000088069009989071450374865360444600505666536460493002299796007046902900804791860909005880628872846778096859990003400027900060661035000008008700046004602527000735402000087075468421071205090008900070600001790600070106059048820099244605900080100457045859840807000809804009090060956057005389009200010884090640400006003901451850000900906797900924207598932205070080907776935286087786598776907700098889470053989770908466683897700097060639426470023009409490908666065000069600096003000006879253441000099020704704008099080598590944360805950300079695870108008800084290708800061380030400008908209040809049689000000784060030469800307076007703433506790020075459849587787685640544104018000889003062920040700704090707090000090509314670500479000590500706965788896407600808500928074860625200509096499997000080799005073567485040057608160658000008220542099044083700874886990066049087090780288020040998092802472958002800300009568068900950705057590064009706057500057408757390900090900080906480710490163006009006348007400078056509665027300406880801018909004963800006004300054500050950806325886480908007090409005255700515003870176794190780455600505030704481060570049837006848849007002050690087070400058732008906168986460100591870462320897486035032080000289000000800790790077700700576073095400902030001076810005450349075309705000597065097400067008777208070668870150094090000089088717803600480805800709188095089060850963950830800160500306065307137002044000200717990800550503490200650004000160090699792080700704019679760500800088800780065709084070592009093560704074303948218806079660064073899069102080052052567505100149450309095050509438300008797044943590991750637907079785788978600016851000808030900098598007600086967389084000992099200040600075400080490045900700027740507970000985150840072570536690600099860820950600600109997894039008988962608808300700380606486095947000050898986007585704947200029170547090079008008078500804457563900684777200687369400978008000006074049800993999008057070286010079000898000500007008641005078091028009850848503859068390740809006260060500060024000406002897720000107700610000890005809905360660890810080909902913289100006527762308803073605603950508988061008908600077695007887968610008608509080000470606087800808008563140400887025202889009090805470516860504529837000509900309006732669508285008900907345984767033168010390035640073269056010665249009936794890796950009086467940730580510079280784499000005267007060890006988070869017005085939600078036007030078699740500900825502300009917000590950009048859980140000283300798000630690046163919090840865080980905000608020490392967708382806000397489480900416510006597707089000057996060004009070700060008307030019752000700973798090030008760060600066048530675059001057376805007187700782823932000279840385050090449400850072096000879597737500010077079038098400909480690867000600686905000407070100067037009366763056068036333670376906608709081690009420000008708605160070606800006502020688770200914008080996007080390030929346048007692870008407340502879800587959057009060007390576900627430015900960862092745043800162774883807890800379530475304070412583438900097980870025000602592120316031006454700970075047509376057806680909900828883465007880000377049000064081400306806570536804609500090907900030007088584671018598949036540698660933001074080013890900061972849068055690098008255906890080800409006592050710090187500910099005900099970513600006695008909099000500938066067810006000607822005497709007469073080900005783606600500700090800040379770580206802975149000805307709908971500400874391088926569030700000802705049093369093006080507808986070500075070899000604100833106020949381000404100750545834309600607090607584839550849550934637860878909979908000299799057558530086009740842308007008010002051250700957595704059087579800009005000054802030086539680208107080531207956058040600300027508000946993179007408905084909858400968893000000452480841007737108990674309606379800966819508280350812909527007089562892530060600700000032279706060350903005050050986585005720700808438909248402290050067071900464809089800970006780029295808000447090673576406100607000230283205318079990465660677249685277750350670076708946899509740656600090365304790988663009690010800990784058987598004870060790000006045009733060198000056607097008782099804006005400070990560859600466018029998276605730580903030002380439954860720090839006610090408705696005997815730981007660599880060705804950920060376090600305560503564112202073780977980600020000960880706031098990090290080000407900097079100059008900570696607089886417809974805008005098303702000019843550907000908900739033007888389004057008870999661073070000279807757909009070820430390209090920000900096724020460697060351716800067606772007500756006040096503002050046907000080793672000764081980050309252020010061947657089007168500250039560298583600878090824907687701008400050391609090308550067987632215600390009404906854263606089509400700463240706003804606093750806994700396000601239008681965909850380068400303000092505991090802097760299090077819004368874995080837790090977697968086860202350864690806986567097042003079450090880759664339802301680703670799790619700000280606000800409905800740700060703709864007600230060318099000504007530299060910409878872007969008110810668156971889050888378682040904379090490036005500300700960560260649860000080409600080041733009800060904840908090090000302788099600009000497067397698000509009604940009005960000966095099070040976401329805400480087800129068103089070708507605659920580678780276030072910040607800802090288000649290540896609503300610092200970050090090275000902582001008894470036190003405060002807830070808008350036506027090900646040508300011078600055060380370888750970003402209070300508689890090980000829710304000097044070029800690500008088509601506806009908875286930400090036069558989346007470070000790005379730539003093070040008800300409090770647704795088050760004400170107808000256596659000600096000499400908525978060606591000908006578900950590980796438907080506779990944000683902007700780908090805004807545800060790100228990701700307000087500903876409968478736360599000686504000907597809083660910830899000790304907607003700160027707950416092230006007735605800809511094507083700014055800070070555000800050775006108947368009010709050878945099958440968054807090084977030070080087810979600600750008133309950730002082089796008950906000338300767060006005074095016508903000003508808977400038006896708901846259060990600699220690607010790090475986800009489449050600800005009069008970990900628398690003829094000500436082007778630980099003730661997069549947945755707578099000701960867002029707500007060049027757750029007580689000606600696930007090479150750690080980027347000000307080809858604037075702700508960009120078200006590008671099400060719009078100180003069760390349603086974000903972008660045808002805934700059007640670930008508316943004096772604530238001560060947860415640701090000105448000080608060904946864568995659700900504969999466690080098074007800690090070290086909507590179797779919930490606002080607867990408550660000004860895907702000841430829706040366770003817007004550807089000560040909608950090999087685002720090009656805070080690786000933966094777052008004290405360048699058070408807660004484677907900007156804689900059085047008042504849008298850903670001100608989036806659500708909808090160605045060900800098007020050544730080060000500076300400939086090406006850779450540998097033889944444001078190930997764086708103401392555073007900090005506009000258909417776060759004006653009770688037100667309700000908854700900989808061800235066809009200002048108003090398076403307789004728948580060410500168070060080689990050600979775497000006060075891077026030057608994636190620000950108090288496001200099065260092480090033000680905509057690718590007942736979086790200889503830805802006007997097630050031721308664726003009550968637000430138988592860068024059000000870589635076550404650007088970403908430609270160090104265097607080876000969907907003299325807674808800750705308470509460390090060896060619070600086805987680330003046070733905555006070990090780097000800908000090100661500506690005990496019600408095400978450418900000005707050799089970300090560008007069096002138070098767800870777065000000097067058725209081798070968300698207560105850850068008550959007040340013070489000586670072450800025043400703034809555568600090400002000260855507908560840709560505488645088970628801980902502848405007079989440060334099607054605634099098054500842000017707080627900560090707956808040194390029604598690000709390580606009074801700780000890590709685077510076005030340000379840140860070100887268008990790930440973808700090557094093045003900097870008808302270898907769896009200715994466000688098200003900590990803630480057782070880400036040080809500998731009376990009092300690010440995090925969850628092900200648074206810809689022000090567090407690605017080065530060476050790880056505502996416089800073088797200528858901850509196778870670090096550540083900801137460008909730895847800400000000400555879072970000390632009070974973000767499000904188530807070609007090520308023892400096409450909588903005069720697605295400097430600490425484859079058000930000884100009505097685008539505050606005690600000235890017909674053798957700079855407000989287097043089908607600076058920316049352944200462480600059860667968640000590120010050286006980092868876670987704949034935003000918523026300009014048100003035570779076006990964000868030788850084200909009508070946007860660590076304080595070087700820020090730120000308305828009028400789986000900699600907409016700740705005540780954920099805040122990000000560409100000539669034107087870827435514905450392090074800600980070504040609003407000755208908003570031709709018783491091960814007900390765603005360073689410001678073707908007050009729004000930980605049006057597089737278085709352000603890800009070856820378003889084080680670700760044009301970001067658050638903334680842670098080671834903646059611500074008035008270959000000907191397908605900740089690000907770306020590547070463565980090004598302970803670900400059860899890700070800004974709072940000082060790986480500586060868063667068999009100301907913700071667807905004426505900579070609009791800688596050485090607430095588273890454008963000564069404378050097076348070606350030000460803872000000009007093200850070499274900605306098900483050040200087080070930605500698909050380703880986698800900612766006815749330076800480400540075085540736900049905490060032540777009028080809004086700707606054518032970060499000960800900790709704600000080305146871001598015508900285906033060058090294800995225000099099038900548500098056887441083004730000080498806005706070908900766645000907000801870060000086000706790400076825006818564540074590500090700174079870051047089600700595536500604967870074059302040770701700885740207998570102381920505044775653000180007180266480074000788909408008070200788880709000600456088004496002780000960683020509006148807997039460008880680740963080965798905640090828901043202795904068950800205001906053099399010003710840000924090077669705805700003060808090098039774000005458708080082068809094758546929771098080051963670890445169802489026460008087522808089842405093000290001852395305045300800048008020000006070060585006501007496000401454595090057202980137580706793039368809000709939903390939000000882403015730503907078400969996007031909960003696046600008588098093010973275206982061073840485000089170510507268406199069970000598550080099508266758304720509366608400009570270600408909437370659095090501908308760070990900059905700045800074300080179460740503050260800400550723002986677075870206800920994650552060497539553660810096008408936002008439080458090220506481065900030100000310808007670480807000080090000686085030099300070004608007075006004660700000900745040400809009875059080008078308080099400905003698836607140090579048980890725001802524004353803093707008800700700930909308900068409400649035947008504280960300800100426006739288320648630483486379772670902890830280006005306070547300070706005098000700028000706000028893478600029822188000099802007675702000806477087000060058040780300409390770970870410908905703596009090023508794606380809703940009982005243785079617500160040306490512100075764000080002521068490200670250369488005490968010484769378743717397551852970089000700008009608099800066902018605017000060750090970070640980073603100045008694703479070080008800000090900500000403209500008000415000046089079845896180600049925850804080080360873836165500604098008096008701988704712370173900000203800705693088905006010069500009090007609000999073700567284079873555985603009689040740003700990004203060053003559202970009730577070086060050871370209609010189060800069790950008000005009688658009698755690004098970745090029858860596980046314005836084900697079590549000003000009800008446483779545037774090995408840460007503608000004684795577080209809608834470003800999860500554930980804000906660050616200009699970600034476037705899000377000056081939400736365382394098040070049500080872895770709087001890406500266700458000700802952755039170047195068006140300707903840080005568180608035043876606849696096008304090790700548426007090000551370878980006602000565001080008000099098092650208377000153930982090981450737808090000647350020447660640060980000040580796304880860090270967006008632089507000605906805809006802073654800887854000040897400060877660780108838030891891003791306251037906103090858900866106307953099095908590000060780580580807050390099640030716870969800702509988670500050060788197980774380099012002050981990633908750903909888900768885004690479068689108690508657602656896208882426900000032099680000894176661600906994077010005774007200360580900000705500056136040464080017308068879977090219040704084994090760977678000600250009370840075700570080736676880808480936606050509701970800550075080460213570706808607005993280505990664270006589332000572050080060002490740008798000003090770681751502600900090684080060900088900081960199747018075005006886990718000409070000040223900460703670950707000884070183684907000686041870002009096506890057797500000090091796468742023400950056786000596404875776002000057800339071067814008903770748430340008278807074506220990038067897700520707693019090058936003025507760920990780378041088869080980598689000816497000460057203810975359108047508985905013550807905898403000320070859077532800348400442690796469105807000556053000005006817000379450993909930020580973068056065880960069002070032870915007653687070500808800009000608990090206879600709286078069313885704709687187706602560007048039048594347680979399584070360007609086093207200016797068070779000040900088800722083738042890030600796596506670500000468714690955800208440580708860430162219054300070560750080509084530300415008084080167090005045087445993809804949503497537048080800200394705092003068090078404304950380800910933690860567280873998687196000808400030028063076720867100053080008093371889608687950864980097009047786068900800000802585570297030009080077092809806991009000508090032180024050190683008790084891900990904588789398660804568069800807563108005900800806300049800400099933770099980553460003070838804058166186000960157600800000000308027100990000030901006280306900058004006908009309763608669100078540406307000060556880237008087408507000200604292560089006805000987843985000909808400084805308708909808608745375680008036000704079809809977080055080900480946087995019080090008607092000000070440014000007907009670080008030959979004770095090908787709730402970967002605087780000594106709030086080680066000010005740900017019345993681580680080000065888070900619870660397809164705080700050690957950696069000108594092093805792708004958702009058903004936807130007060850959506770493706080502048978037006000000068080807509369007240410773605598708707096605000888184080707087001497000006081900761050998407018800080708170509509609603000404909204900049500658429686807950608760991970027978007027700674020870987895942705099607478294750742770090870090540960694087094074090550060000060016970600300200006077005094200600073000869634957778308300400004990068060696834678098909965581058002600560582498518588580869150642069009001901859708706628078970050806099006988009903902720868879080800098089908309085603744084938038006758657400266209594080074897005054069050882797071003750270077900979099250075909004160075969983800273990910052009000000006078092570906070003947829770700307929779790090097934908629056840390000306740940014004970732852696900031930000063650870855800904093223703699060700368389970008070002470060664896082890770051546780026871903093800679677890078905007500860290897800000830850700290080002650080000600505732060005606709678177063648258550800407804092077560015484000709747003070035854008203088850009807275020015806320500698209709063023710000880000400769298015100007103067700009906305090280460945007860099300629002508705050059058084740533307020087076008057003919397020690060050509470628080408130601006070900640677002398800898900002833940900079274740176586055025999009069109008800060030800070933605300500009807700998608763015801589340109030050033823000070010000809000590091040988008310290100000007963079049887006109070870503800420486561980827880762060024839020406475059450608092089940400044009400700324502995994872658990007001075927262002090930019778677907770508708099860507063968706757880427600049000509607022900860687076320003159855000008580756060740601090970692783500029099300005942000068093006800045506305070948991709566800400090970566356005993649137160300058400580000999084040009703077700910009507087066050673076458504065005918480881802779671050777043104500709006658020345000007984040860833000732576531056008669556415029000977908310570680600208900977800409794006639786880006690002036009008883000000936915403060885805662697060705908004010640009826008599976008090409000090604007400030700448096450006003607460772670094709080094920079800724519008277429889570050000105500700039600000999670551038676706023578049650282649708400697100300000055079070030387906908965510665005990800090899704430000909538007100800601854198808007089720069080080859515630400550364080036089909031780020060438770070001005307690700070877803050004606210020809608451700980066274050603009066739000980065000712080096009054994039069640390120049048448079700505726799603006032900796651287870900055605905976006940017657070077680108100700505990040001600899070059809973463508058056700957080099454297988070080405076065178600006000586170239089809063067703004600040088029726672009008500800086803007890008060088900009036090000000020802750866098803829045579200975939966806069004800698800064740887200000070055008002086008825808002038998889078058787409097100087068057704990400701998024005190867060600700788560230606053547988109680760366705309059928730801950937090600008037865260092922089760303790603580780455008087650900990864903989153978078770037000667970079907006980900709705833988870990023340006000877700707800405808019735599306986080049050564040060209355750070008499669600618700809079069800007400428550800029000968004813880707078465651100194905000369000888050998070300408240030890936293390940407205100700640721000070010000548088000073660070970007000908848519890619489769505039000080080077402906670558148530004899980077290070980079477000700000780500000370019392397801070530065700146015890070004690706800909869006050438007670088600506879670001004897070080508099269237086167800094660074906604030045556046579559603096023606104760800000981770000088098104086589899095670882000507407000488690000098045000700050300000440006690010868207009400355006090003200005584090953905090077600174807960178399004908002400000706224948060000080600085009907070187030397707349802080684768000704907809587500108785079005590086000000090607860947800697089029300864496050440263691004500010995298690000362503095308400008000050070100991600074709675375072057030000200062006068760571010054075049835165080096340001809306293600095790645094534384068400040909460090070003005081097735400401705015000885340727290549957008194207012892293900000808026790946902000690302069500007076050650108000225400466799970390805990408467001071086843006971205790270606200908507480090804693600035836943520807837686804798034000004810000570568056609048408417280489920700959090940281903690963890088000895000043050455050007743550808098004648007862008097700500050776805207964971153780046150306400480600840990021700777109000201800003092005800369300091600067405906000039403101098300007388908570068500391400784780052750080295730160000060009875600060550000808095700198697000000679900036407669580403960990418900920000767008009740807109030099707605004063900306054906098804780341600604436400060494709940107957808602020050097858817570389698980037459953600004860662729089390000000006608080025936880740700499719351690060800700949871529655050800109047209747093430060384769022310585974588708005969381940204006000749970700897650000000770908009800930044391909720706729983197500888049006069089540002850001099642001300050207090987800599807007000620000030008530000330075000900856170001903490000809296408690009997471040918654312060610896002586470944081890600000907093016626770370010000905460669495006000702880007300218001684850000850620295808376004070406500070007580088791400022300904790680030000703705400990504890970773550370340798799060776950080800706709970570896080901383007005900070980605209800789537900700009470757470570004270007220040010800900720000208850809227854457095907570008989005879900309051046000008242004737880700600260969707402687907083058700000050094600986099010305809670050196008978739331700580200878880000417095096200003583800070600010630069076080546803608809380040909606465009757656059000805814000098255728296904680606990604450503705006670509010600804014907281899697008405884075769630002097050494080080069886447954408708032848276580088090087905054705854050306008100778030285053800999180002002439090830217965090007163658039009007708285060400000087090008800672006873040690900000079080903276057670063070007975075006327560045050950067095005820677887980509930600007744907000707774090088007940034320147045900001560950002630750097430200716300844006560126007550292057502088906049277003000688016006009909466700890704007094003303450499809090050782059006400099807590364603006003908707563007690550600603803037806745003300800005900000390004400002200000802609043986600508086278650989300879872009200058601008076095000070508909005721447507980805007995948600290485500204058047092480129039091900004970122645009807643087800208936507736009009300024051708078852927672500007000401870796409065986898009570043740686797068700006059899607650309667808607004009902003806940090960970060808006870068706496200806506847809600000775050300077074889780000900996595058091083860093528907866604071900826096545560755707000908980060406800500760096262102000679777801580990205090600597937880029600250408629040000005486005970160908000505189670099709009000020349990078060605002006024976370459208000201386900002595440060590025067060960400670800989005907700900309544098790600063686939820906735874000795740800765946600997988506096870996491800174299079960006894593808000730606092500105670821566005009897047006746951079930379070270695835280008780350067597705078917796960098099000007506030667079008996008064700003700507581094060004655645608880578800650001977903059772998900063670300820070008037068100906042053935800000687313000988960700070657080649646042090780790040148906000407007000894050304826008000009089079609040085527690867000056985400886050980449095008005380709000598605600306063402901801404009534099069058003009080850097605243490008043790103870784686640901530034600104400904220008054703700695708665600470809003369888090079072000176655488580030560807000800498980988050985862604010087038880000990300883500000885060490970029580806071009502986071440463309202858200072091020860304957076740650089003090646688508030747295058739398974625795742880000000006092005671075638006080079000790803971059009400070439032906990900300009049750648707905066900404060305070700070080773803462859008083680108850064059000034307036990770802000070903800374009869004090882708415303606868902508085400458940858575074874798100800730880076800070307467068809053034005807895000054948200095004040970906053745900502820095666400608069609157005070704700066008078186909706105085600889440000557000800000896060747086604001008080009088583978074705907008437190399002709080067508040703060004886000044607060959669900460922679655440456238504567000065709470368256990700636070007070293810059800580070884059072083900900608005403310082000008689000073703106680100890609047084088006009929026040079607880337670007758000460088080024927623087590008088846700855980000900074304103000000000909490009080060495704870800553906600967168994070605022969008005000009594680880006304670701808757000500009583098806799040530008391707000068780001080200193870904067003087777500700300070909068059955857170099008780000990460891131540781300929000903985063100008807561007609809909900708010802008680000303076903805853308000000678076980702330636490073030007063907098087907580000593279109050021203504000110870403089139387300300080600902018004080305605008090990474127269547692005006586030007500885075404913594008500060004700507066608069870900426019537880988908000700300000007054780000070639087128709063595900050905830060303090006900000030870709520085773026997090101463909490076640304806269478085440008045354019080730840900630068903500704462700052904808976090709050900687004890630503717225090000994579700010003609596057704381100000904700033509800940034906600090060875696088606700705690595550580370530200060870006844080890090667980690700004096375089361486450059404091028480685004003086000011020006486784525168015404840200100000020890918431096400050050000097000439630008096730005190576902928382009994774850700000700857364400997970948905700001093937754224093905950289009070050300400953900706574907175089078808570738900900487000067009060076779200090060060849073090080780500570603890909982679073040009000101700040569079979506404098903000660000094000670071667709809000400507008560344006029063009007800258070060808609792005305999000388464442994909010708464190901007004770000800807080056568899002596070408980090690609006056809009085008076298058665016788090808800800470905946190900404019960200547036099843104707052054063800069206070840729509000086000869000671004704508010001300090788767013080973458066461500756799079503906090876880066640008705888996409990007097000007004995800800839015528710904806498788000344904037632026600028848950060568009909700008057982503018088990790583090040852640500035080056088056087000030081979801573000654404978007635302101070309000030670860496607097009090347490044430008000950891890391086699068699000064096809100060755088402468007098000000799606068951640623802080677069750879020200007106042580884062400086907108006800768737898008334170368009780000109730400008046098669900971000818290384846500004041767020270939096008009400030000990908109009506002890475008478000999824070000800950800900796774003050455006009895010700606000007903550003000038848000305739991403178030000729900006008003489786780020008300008020460895878100600089057000067085549273000706870600357078399880995744600220047872980906802999049009055895350060003803098003071806090098562086048384096000177384030290804405000306709566700000140006095002848050700032000408099450906781007007790096902038057809006009400908040807860015905678226509059008904004406706704009409890439380039170717800893134967653098587208060505000850000668800087979504056400730480082748007590068869056015400009022005404080903908301200071412861905000676675067608091880000790708768100900806508590107760970808090906038006827790035067808407907300300077060706095078908000275686067664545000300738994800000470008671612400908929353800396200948757989698909080868399986186570600080910407754930090004807690600571707004001073698095800062800325362015040857000861400950061046760094789990057708501900930780327590820000408907648030826007729600809650040592806088896092802009005000012584074503067750005808054401080099790630890066016003580054078008604000000069000604716000669090000081695090406000084878506800523807002800170600609022525190280930707600480160300105580049996987096070763165780890730039969958999009905892980707488950380809014740768067700709680789268881000004508988078677889566804910000037040080008000270802701000908606388035390923073430001037059466007084507970597080039688707089530006580060700905182069050885900000007663479900307030050004090017060010209008969800040328010740044053814085038914070080270068371567889005974096300573185998804903803403070100070310680030300550024080596800508860608051029852000590848042045008090820550070498490040504000087080008703950300006809980004201020910987480012056908820065880760465964380000005502087064008840885652074370646510074600505606900833678604009083629684845087000770459569080000040688190490907005000106678000007430800000708294009996909089630766700079083077042930279780772508942008837580082009895607605937700687984840080000809070512080696698006680340709068500006041787749907050000983300781629008903820004905000058095154097898080657841967716906970390386906003029300097075006008989909580048596247740590498007800907608558030470722001707800100986007106040698792005739008903060082654095080025009506280860649698558094097590596596900000070845879009695580080081037079653764076876017007400090000870052006050057882906768690300990003962367009008800490805520884570709449017068550049080503959045031177005909904000066000070477909060700000089770770396068006050018094029050500040299036008863767830687705775460009074090880060066780923607900650496106062670090709966906047200678850400002793652671600806987003495967590090859006099000506760986000005802006570894980704052000282806084090860080028886560038085594091874890706009900000039720705300147505000199090050070306006960087900412001800017000462767309070040900550006004090098230090604208700400870004050509027807780879068200087002070500010033006093070508102783960709095688808713885288036809060606095004070600603430006990660902197720000883608708190892089510701000084940390270108086294006097707057250700010040994580890337908900530000090840090003870403898050801785500007462508000401334078950080997090004700750080693065007349098090200900700389075478600690760506068609230970266809820005958860676598099803110003089450550008705008907079066930810005000478977987007059497007709770865055900067069940000638000008079007740003099439562405000002090691730300003009340120330858684785608320677180750030687702080047094997002898059085520768006099985003008000998005902809866696461606925209800600360956669378007308800008967800000000490369055000060996806099108032078090804099099897090485892960400009091993039076000630866079005060036005709408070050000660607894006000107500086090472780099270079063608700880950089480701804429092047009010009805807509809889500097010000903053805973005529909106608280506004026700970070008709700800850889090298739007786805080030470005600080070050631909029879606700006979589203900006507601706090996071880007683369272098998905007527700050042507386777600283205354900004090444683073493060801800400749005356806400118406009954708387700080060064969166600017400000007000780000056610006955086789000330065002000987669000009745600586602030005050743060649707380868032046000808090740390940108601660820000884988009380018005287800596858006083796008520090008907027675002802080560000857200563060686998865588704600003008095493700821030509087860060590009980480903008047936000880040060700099514724798041000009040970026330709006909937050000306909800090090950530053050300085000033080483005758740097092907965850050609303306010979673948080714371068237297159079014007904940800980080000304600730000300000009809701840904890007208009001350096370076869507808090009890404801065552055900887509200064699700559023700880209948690599066429450000387009809080066030609800069831750900601827858002789020650871790280000846866308000796904030909898976018953987808060881610472970990780000002040040030890304600877728820874353053030078087044619848970458070606363888007082967452071050209400730007100508903000600007313004640058478009980052109588069800090008468369000858780482942798803203004900060006535930058007870900130406006882949693950389090003659900891002700005006858860000007000700200900917745090099700800089280609909998635186600534790640060885406799080800079820018608397275700900909596905047003039980809855000480704446000800680026709800000953808045304770355603439653500400790490070155050130860029000080979900009909020648098909458020207000702695670067879500800805269983792640008088565006002083003053609090026810407190860600397640000966009800092054807893649846063759048709907703085832188898600188500000568905092181607068500840067770000057060000880700807062208000109700020068020304477044150700060408829005040636084009259089856260057805893000090908008009091008890016000605109099060738800806200949476686903065765879800868218805070088630267040826900000800604846309396405700970007990700707670080370003040000089420989406680044706799060796561030959034109008838000034077369198001008067007090690880048002609760005015644029600000958050570995057066040780780830550900060095809576009009390268009978080006393688091717600400790796746480800878859070094600702757288080038905590904870075577309047409800098060070279906618508705764098004820004078500009728600063608070293030072000908804760800904700260040030900073870618075891478070508889100204060338077885594923080909696327002600860040882262908584400077707670810186606077859184070449909800887059007090040364800410698900761598090033009006006480078534710005055560650703449006293749614368074099483620015969436999030590000992039876709680180009690200084671590502600008983800230078900190800088002001781906670000005004080968005666007709670603600037005070509289068701697920597474880088009648812000298470702069400109883098470353660652077090900790908037067030036724002782378750193033903300509300904600358058000450090986647070577800007807706900040907899009700385390630048190009099690878529205877090514003830000008867070070109000807730870900600003084937004804322078089006050000860095880008603000039089888903204702559809866006990500627865747487270002660969514057709083770506400602688680091180670650700670162090000010940098101056020705010060028079688501748301416605079099040205002060209908260094001009370027099209558693078000700885776880075806003892090030004009007889303640043503099008587059360089906180978000750093090860010665988620030203826400300386050500890642004404677103045080080037499505849350080009001050270700054014004705638203700770902593050050600675306000400802008090000250972427840000610846700009976080006900079067008060026660856008807000180059228388572589925060348700029493840004003795027000868500149705933680007080800005005309766076006740649780270580877077007894600781900008248078640710540986879060500748195608000409488303535006702660810947096089005050820076910004069403577870895975800750716805800006674990087700085060070090620026022700690300330085000679670004640570740009863308820970060729976900288039079020100530790628010900892455954598730906008782006800404990000060800050706400076070023071500508930074089600009795002200559000050755609000210878003819000955390400400523690540535791760580600600909986902833356129570088394659650075482007810002640606500800090090307782760307706093045069575480001000709680416990899600380910776199008420950635904909088857800050693007024866078029576926800059297028999800999008038460088000087100079005300089885500678505062016088066392082500963406503079246000500901670008709900408090000318889070400000778093787080050550005050403064035738004606848046381674090199506791000070150081000186936605000760000046085302000930609896000068004959398800671809003447080840022705670281002907770060010090666190780020707803408033352900400609000098069070909080906408677407009900020047050080931806450000040381763537551007793980000088631603072997960200620000087630000198080338844767909005089849900909970040000257967000570850078909045004080889000050788840800790884908600640004680078009242706030890044000960106990002789607590998007519040660833807970006800646201668704803600024190160746039200375058059081845301709870980559406050578073002693874699983009708777800655002909090667605806007067077000979765546700990000825700093954000089957063600049880107008604709580040780565099567605280020965860060989601088981975550094054308970702570097898005920007700890046202066880602000340090039208550050300388760008927960300800809007029087600995090766899368840375277050064003009004598520750004994974080308090066588701047008983150596800990598840009875056000097170901525507048009200919534808781759800847179087906000345070477660790030008680078604908890609018209009864205000062070030600478005075390800980645090000000500587000060797040088667203976201079807793385006499890019902006009604006135028438290088350490000008320567940660000277000799008850305658119001000719009914035988081076808786905790008007549805480800500809709495858046776035950610880470070204900727950380003059000809070590039006560888904075096099323004601989000602800008608080700070099002079289609708090500689050760040078989049290704129715500799800090702788100889108000980896808000990580899000602828770000648980080909000833005800867051400009508706030060808098020999600048056509300004090098750937101059569070060009800935001890000067997058690690877777860766067800000900904085037008083911883830070198908409081080537109078000850900385800000087609284066405009002780408510799081290504497780006070608686896705164074087089059049090900702797701000086006823418088890980580000080054408907600870097060709000873806008008009004848000470209870800405050666000107040085059029059091900090985000006065044890037006748747644990102606388606890808790085899294707000098809550393800406007990886988502008750600059006076003590086880087887896357776337600008007066370501708650009907040880062050381920620004465023080720809700507573906008793495060700066090900100640500000904600072785858077000008780902199800869999000050790946963554090410097094056059806596028647894065858980689000068698076876254726763092096595287775002000144050840947180808944020820557009404090508008030750450007400050903090709052430007000598602080005008967800950043003993090609800090075090880205880795775690008600084674196700258907396090830108709000007078960090080080152082968944667210084037140080087062681086540075007005073799887905048448400001977909895900900700109900613554387604650095120950700078086099004630108059206064940950276445030070000746083958005509086001908009570004738769923417040605080993083300505506490000150005599700600800007509000004096236006077005690078278028969519609657700050069605064840020600980900004067879000000769400138496095080025887956939885575050700100079800400898699590787000887602448000070954054353538146480097040672804701097662585088986670390990060309700054177206056580997009000348304660709044050089294007400776065000000166604000806750309083950940087670508956089007010909015040705005775097402710800010840204305060604013990040062005000406590559606540500975588363080005000000005580809800008311896050984041008948317680709344801000550495000887820873700087700356890000900000789860472060309085076000405070004202803300070545070368081508096798804000800907008805096002350020060024002079700409090695062687087004105805806060634607683160094691057003513900910009734939700490769300700746400090830026871708042881380940405909847340789003368660880070205608007403180700000584085037706008400930334950000089041006501840071000049500900009062009600998500373005083870061008902200099875702094907758600376656050847700600957008684900576045086002006138300904004020779900798850096609000308804004990087000800857805609050871978699800900000960040935002267800630200665000880150546880795903000977078639010062479507210002879057383180590072062460077949848007980240939008769004004705079000005056060570928704986870787037507047700800006787700003000917207575083007700008036909188276690709758016090808018000603952900086000600528005708862039206090430707235040860009700735990506805049820720046408608608908000010068058200890386796000150808909960850083514360068087096700918091901000444090010400740300703114040386000448506073992651009000050070600301590000780397032909900808796000790093579727010909035900230600400057339636760000449847800247900005750350070408972370209717060557740680835800807004699030007909308007048678990205400240750247999051598799050025027304269089970096099302004000000880305261050004680670387000000808040408290023097552400366606080841900008067990005020016579009854093009700877147770499007039020900870406000300951667660570585069007390800079009056000480700660990928000600900460034498909908875904609870043607609450076676301608004760003000470000028600700630500760910880006000390436900790990840700809860096086037040072000009640080899400550087900800080957003040000407900090780895063100408677860008016990306030580000890070774603509606037302000054701004377378880600309007108678976970608900660898249900698801900080030899998770000040829000784079085709728027300757706493039900985984500050028804976008060552901572300990601480070720450050108006950590804088006000082976888984907089860200970568675886043805427572074300005086709097159600039900490642960700082900821050590004882682007048900007202000007605700809077075964877704003807400930400006567583089500060059966020631876400978050800109500660090049996006760090004700098979007760055497890800011704503908064660040096840537084776000030000090082078200909008070906930001960767055985206970901496208540888049066090263209400970706000057589800074007865900002890405009005805009009453650936080996000366001300000708010656902430407925668099084500500191698076450905270091049040080580759730000990090788860082906770260056050614160070095809951900288700439803800274003900286090757700625909859507804069694579403374079600590980320509202907796002000056808860030153067200360068736804800706004084506850700708850604000070707076861095070095882200038431900889007006008937789018028380780004022700058000008005501074987041769084205000095806087500090054009096700584060661000083456200000333078970306007899002085608025807079308002900773474002967008023994599088391108004090540207328367096430643446074008950008405008005030685670800041870360370060790307170079660010006106398000109005517699770790978879412070050500580006850000020001044435305009352689118780824996080040008455039790008307008270589102900090608708800655075708058312987007090647705560763598090566880704688009069909000809811000104332901609609081970088965810671007997000760908867004006009577809090008680086891798003080460737090072040470665584909350090940260990006680069074866309705008998406310407000070488840900303067589903076404720685219858805776070760889009000707508098060800710440650900609278808640968980807567050335970691392972205050340022959050700017080309970173006908009468009970047786008060000042419095070007054867041880387075868049007968870980080009077430107905800004050096795046064010868708910005907999046987029040600080008080090005903688009000907970100401907960797347504712790890305081365009780094602067900803507075903630690600966870378006333075908090005775085080056740000206702261340700929887007700903456045458500900000660847443708000470600910090919008836096171687006000090990980908787250988057660098010270276008565000270000094927000020084700520098060000600006289875098006800018738006180970009490309507009910040340359104347090409694823190884385006300206897730575805244099834057007006289198050095429076089570094449695287060894077908006704409003025407029956509007090090008990566017080908603285740900093090500034007045058049856090500626092680008027530006000907800606809550067108020005007600481040309965609509743986027809809090049506098000000000008504080090460076220947690902660000807739943857055000409927640879968700090033002080806055860750778999040936073400090004439072370194880653944065420986805690600894000084708790678079089008504706088030099520680070006759080195978770404087600060890640924745670885407080704490907004077058195000760608094950859040300440006800888700008630505307919400634990420009708554367104098000048094000650985200066016990740007007009885907698797800806999800092898879500070280000058065780402784700355451686470597600292700806040005555077640001600366870900610292788030605950984899250975205198001700700509836975800001040084839630707074594916843052005690730560900008700970709399085606500011381406605081490000790680003206109703630168700703800700820220090759439997086780000208809767490809808682006008070026040709997080078302090620902007090509754910020078290386700803670983000087906090000990667699866477407041800559670501080251090780970097050088780540000602050090065707800060910790696328883750086066876800759094848970000050080604898077018092080099006740082028900747879003040000584920500609370790906844920459009500507348600004090705905007898048000490900006080623606054469456806031089942850080085774810008478482800185506960275008008505180790607926908090960000990093034469000002037069494067855902875806753900999011630050628010085804000307080709005007584840900604860699108007100000026600008581400104099583944050046000801080008307508007594069908900036608007821078060605501400000800408859072905940950768790079398808704074687042401940090584074377530084065078297016094043077459960800909609985497038039063517007900000883057680867585690659000000693789403900488088004040889003807709708004000054990007800300035089312900788805456670650666209000705067450000500000700004040008010598800793600709806703067907800986973880058885808017795197080980809550007703306880889060078014907080804810000636090027607005003806070087570009089902980096840958050019599600400035800807960080936060308878230100928080907819928775449006426803000070000703390995903007579284020250809090097000200656085286060094600795008965658470652130005577806070224778097006000009500231003000390651008000066760360009080596005956690606000360005009660009500010098990006749326006620407819304755000600800395975083007805987050073509009359107000096505000530779049597989000388000693405057800006800620700070100001079300000906087990049917000967700730020015908950770083404604805059395150029000367699902441509497937270781405600090705260847980000680304000906209890814434880833050690500090077204968920055056604300093959799887868927985067900093904060905904026405587409007679060500950077080806949800410533370470708008311306907517000007930504096470055706560880771005507200820826769504006600240886000607056687604089400870599990460310560070294060039034070081407404772710878700670500473660008006052066000046807207060975762582669005000070003603000780687867070106099070708049420005073000230840690105500370897900991069980808030077606005837994809760659004865400770840952693830064827072800027700800033040490300976008677010885400679980007208010095604392640710990190583669590748609300006400060500004901175498708898004000800738129660017708308028000400050007967404006880005004650008000532850060205029069060950889971970040008463898054670407896300003214870803000009900999007788031950691290860308878093846047228370040082970080700805844295865800793790000026698039803520009989938806060557903260866780508380090400006360504604000805758061064290095065385003840408850333009804090039849760080604080990905080168016747973079640001050026068200209500600197405989090090043906050208743007004558007596750016490479780096090057904000091700005070619780903000884447300600604088060759704903009830509389800908852538800070050007692080370809803905993609094787918090080005500902018955600875003070025230304757070000005994000380709480000549770249765690096382030409002828508008769000409730009878060600770902937058000394170803700488009905089959708980069458230050081803500006960502800068084830845000995070390050666890894190986696800778047008067996009287086405379295084000060000600942997920070055060762300808995018946647054592007706910700000879099048709080703400803248875007200508884202200004030806909010839074107057007257069007000958894347294038089340009009000859090608070650507952430506358070708850600905850409406000440486897090999670947400006096175924903808009078404009780908631703830003840086390098987008027000001600455803904000474100300374087008577970657503000005026808068709060560704200708800000807006800040087870960709709075497932690509520040056780650709862579067896520607298798076930873940783407387646402090984790569940998399107383609069000950006675003678057996360878550300081706980067807607806200490790467586285676022400867955000586005800700030059969608760814765000799980004828709859000704000088037070378890705604747909300168090624005402094029000728400983257002850000600754380808070041090973856401002082086064099009589008264900495870000007390050594355809050930308085003500877060089379654470099093690300400030459038903695720706006009950589630059003907020038899075640466060932086940050797890150735870075790030055788332854650649067405025009000270000800984904620000034820502905495008004203110894507768072094600380770090658965087904579010054608800060080300205098126000505391986005007030019388079847500900001076909389339047789500338205900069300088709047030896000687003375644918389034009080309579008705009690667770020709763000986030809019077504680091270068207098830030400944058077600570439099399488800763044499090538008005142150007217460009694306808717609990097650346802000052980094450079590004070005486807490050706006050025969896160704470004390864009075000688828003076050096008006169090705050600730077682054500239049008070009080731007000055009060089390656236900896566330799700684890090203301907005088405409830079609780898846700600010008847874006454090090000003051960390000000905750000894900758003601685006900944050087003914009828969590770074076055900808600470000003608080080000800964001800267050089862950370416045006880030709290024890040400080509058050029580188015549759538838000050090100564080600700008705489074218200309099020900400009140000000490666088873008005987703004056560156889080677510049384642000000907000004700308909009000343670950840001448077035640696589600070039000600008083902090030408009570979849070000009839678547070006070054508909019360970210538076050000880580703805000554000658005900708740055505887900209306009000090070909000009004000840920905009700560475808007605060308280339069090900188075900027010600800808707930010700800888006008440090955978867670708509006480097000002730008079084000085055662800938010209040500039000770039000001810009638003000480580509905157755465800988090600069460100791077938006500066920307476000990062577930035099070866600000370030945570643568900093012574283068002739480140093879809940248903808995741080007946090650784406750890399000096008028560092099590969003487750300008060099012969080059208031084500870060009070793049008034508438746306372277990151804901800600480004690570087905098310744810609980000870020289189950877026097401029429742567080462100018800887895607700003803306090297008903000090776865035460005850006009449800050933675789000070862067799440709969083049309250055760088700903630974772009780304730806006657505000700089808305305409889007090900779960507098164089320090600073870490640038085980050200006306977009870007008803888089999210444053305802797577090040800956095070969003908030850691007600000085059450470886800993504949508900840380720089679007499390050503720859707080960828074760770890170109100007901268060007209090998168009003624007096233060940049008000177004006060888403097790950099097079909500750600190698000060909899500583995007967050920007800960919820000804455000360090050038258970909604608057848790859923880307095080793906058040509307182086000980046800000570998590900035000060402409394627000940500798400779993344490909360300809706011949030906008000090080950894688887640866780699003000651406200040090480770000708009060190024367050268800890000237560504500450034000006163200092081900649580700558000968000090080877079689000009006827672694460024780571250308090870902360000090006504400807866961030006000530000900369600090800000000807002520604009078009809120060091900800409425502900870327700380090016539804440806002000053502208070009004007744854094421002884650005508900000907043004890605090654977397070085900002909908890867905700000480048935780005908006004726909200006480900981100809062476770690027700057000800008800050800009708608400900605068947992480080099789407080000000079003806009569050700441669786165600400080005006030164537349099403088900502980945900044057005200050069947592988075000000770808200280630490508074873200800089840825200800010057509960700000044060770067400828704000400106083006800080317030799059502000804006807209003270100800683990063008025984030907107060000002900045680860690380929138007002905660636876080809903563070000005047506390068850085686907396970070600650567047024660869732208750000007070330002436800090381730057500800409046003409390036408859870006880028450201078972007530502709406700637015078000408003900096830057094000097538801089099803700092096801940600088090000835071286049371430593680544308006393400001084590065043070890027570281004990988860004070259000706047930480077195086045715058275824900830080040005008056840060078674090778776600073755836000800575825880003071050508060403033595000329670002090498060057002809500920594870100800000403977909000050390838045978808648678000976930090000006208808919036840009060864400082003010050988880709959800675394070080871378770006068700001007005588508697067970997999600600552070986908002000990804030800896808084600904800830060909500380068043710990900798050006928680000000009049000960085486058309790208090008070600086904700708510949000607700029957600083477038809282919498081007809009270005607081618000007005000055400030000990907713605570398069681770200001061040089757067030056785860500000095077856344080508070007860805087880800000560984091593894904946046070650108084580287660288939051665800207050499695065900530790975096880032597400958000805000040600880367089879092895970308898800707898207453800000800849287977100081000095000880002667957260807809020107950940008886606203806003009792580700003000970820806027080098205805259597373770020707090724609686000060707815590050306888608792790700504852020788834802740063458807409090060729607570803762100700000989600093949060003967050536906500504737601086087040804019900280008900380065030007002017070305364970050863687808000007707509900007753075003900009604000200788782589376788098699200400006357700025958790489008100509680804088800902509960609059090067678097200084756630716908000849090693060026040769660506004800606933866900895500885648355203079286790593628084050589886050628940035009509885959003000060003080600958907837760481976856000639822598003950948767890690090060802140804280000140097508004037780507452049779060206448500269996039007000205700008063001016770090760204500609806006383903032083555305604859400910800318589605998612908808066660709103400053060004988600700068590970474700608798409864046087087189304080099964004776000007039726390089800000075449070500003000901737006809062008490434770605006395003000908038086705400988006089764990000806900891023009769500300748300907447009840000044097071090507099200976065007930950843998908905800902095450082062703954548289008287050180060795355041036500908580817050800859080049001558059498854194507000887209806160020608000075900150367466948080594000702000802030240040702599639912068082807903180094877605628088882989797507040490850702829084800628057709587107100308909017645989048307479048700080058805108009201004797106088864043850107777504970698793089467079790000930097166000706850470050562098003752999080976070460600298890907502007360069207007800089678036096800007815589395488500730770632746766787890648000730970500600090250006098070101956018003946050600664111807060070037944019008000786479010290060990004070780806060064400038980000805089957042909570067301080700002797459996900009059878981860000907980954049832690704999768600170965040083027010306896084407536878610967046507079009876890421019580090224165700090097095800009004771040690707103109567097230700754809874500865588074970890700429760790008361889034488095970878629997199003389208018993059788334007009000848820009330956804691003990909076000000990609088907933777058900696008040900500085952066038070030952008832563407960967605050390897759064502270416784009077470859087900000793420820837997086300088937090070064080033770506884986030900007453077090027009190002760507600050070400790003040906940080057799660090673788200044308056369057830003093079605078008038780507000008022607284477050208410003542400444265681930005938212879000668600920840045560000094000129000784000646008600916300050070000580976876007377048079701200098977705606007600002526070802609808349980372731907843576070690779617400580006606809638040009782090540008791804510000080830987108971827200048009000805308756057788470768680608700521005907909909050509130039070908007004000700006580800305060040359880028050064474500960409440061778903305060928639443615576200560730008879028007088800208000231003230609002027949000000027188708039604387078006610001500990050205974004578630075303000500903076093005907662506670730618806650060007280099895000387090838688056500980754600139600008080009080950779766909804488840200927900609030099989070009087810076789376080050496100050890393002073067090039985600080000979800007776805080902900003975008089838900800049109049600067827787005696090070990000080060150793068440749700000400001204600960570580390076088908005055860100055577333680809179100028060060018806107700900057004977070357800059005245809700874090857860209080843300354207196377008800060090645603006700010806090069060090940879592778070350004865060201040918641706000090066090761269053000009874090909089308588038037300007056825000635800090206890405246080550340020450020300007007482530890700009109889990011607800076000820028270888480209877050070290609050700039974629031009009507000088606900730994000021290597199082698556890080544580688062002897200708207056091000340820600500000267081387075932708070820785449650800009524901700005049396607890695708875898480802080898701491706627076093780008460025940872010930580795008020000008060245837709006015007030954978079052358708406029304955020006039768606080966067870050887500990800875500800485059077450070063008409391807709986678095788779692995090056039840285918870300650044695890057268509028748073283000480000004040936090270000035540005798007831080050044758004800206500369035005080097094204784901800007000772058894087607109702030080082043700890899438909067099704852000290086083501406400040843208608009708090840704757875280707000029920365903230879708047809050058807660577089003800895400979448608108873686010105405070195804491664465627280000698907900288717708833707200007807077881900005870709060700239801668955402000962367107800961050400060850056969036369900870998081000600322008000595974380290004770983000083989580700190100000005960008626890389805966280380494029908880707050020663043226926075020000704000005002470064685032005068184008082091955730689718008978078700500090770000054000065079050608809808900868000088690079770560003709028070079505200060330070006977807737990702038909070099090596000969290078809605000970907958605050000805900940640956020090800156790807870525799507057003860026007730890906900060997690903007890002027020938678382690000063970040595050040578000700732080090707088880009109000760000300080000927109898705005906009680500070365069097356507139821055993809018605700080587808010760299587108999090609200099300477508267070095701367262018050070406420900800060085704060470098770066100070040009080004044860433457580708185857501410950078768000046500040593600622527830710850090796028870507000072878330009707824007988003700707805903009651830505008068553005051040006005470400297606808750650659508000005721087303200690780780069008478109056808794945986000704487994620960050945806670502301592054700580090994879805079688637064827863920930902542000080585000599867094957688027009805002300081999996860970603478260040050020899409020818600009465082259900893860807508487667509050780449800673950690806964578070030808004079380893160468503070635079170800090050700208048800437300000970780608067699799099909730540907495901094099900047808907094100306659307009508459500304065742570600089005796618796565086900290009530407060070080608990001418060097008809000005608000980805390008070799941700345049809890340700050200085660670058063030808086004040700003090005000770960500070830000966908000500165580600680209060959700801080079573087700270820608609586005906860560608009183690006589305992109077959486057468527001549809000045990506080600500653008005800489796208067940807050390440070607096950000981866001307076840688930600599589063400330098006300960000010760606900450600008630260047773670168800790003070209678350905830709000000795000460088949006009804660084279605909780842094905794000093240030003761792507079731924708000505050590200589000690037874070300769706000780961004837063954980900206499800430689008769868654209070006940038000080277805600808006348998000956804000608000904060073700959900008407005743309606800330090390357000902001016950792580089670096075890562297300905448800080067006879000160900249004019010031507955097780066908068400000000890872099840008874800058005218309904159020875705079690006880880674059498208047708870001003909961188300355950807408303100908000700080074060050775050040509095109694354900080900800114809000690600900871940091008750002003005014083047003030809082309680680820280070059860869020000906095777000431545000495695890009000999993057905006268490401304001035029009000010053958164641756801077400607045019866050695007809609377005789002560495252809046500565608800704390600928662000094005703570094008902688910040040082870951900100070577091907060154508088040996670000604906090973987309870869790544090643970052048900486076959078005500958497096072250050269070103800006604099079090001080038167070420076000878005470380002990808790034052480497000580400044076700170604503260008068000500006585908947007700930750077232090075200800980458095080900001989570909080206000300474379080959877408005700802096935058908906100640170740501900000975000207078980409076004059004404090028700058807074940027204506500009070738980803057660312760958788389700902512023550908735069068144067740930400709008572005507047038770908020096336449009600909610405076700834507091890080600882086900470000909349709429087809908080607875980605966020605008783094405590226900406800399000804800078807900403800178009030205308529900000484068400400941056960076000002140020070765680098676007051779792045468008760900400848784675070009093067700089446909710607006280900006845658504083091520605770680086030932099370630380700050577107309800079906279750050701606909445007708009871700809070100407670430054030010409784000050905062070977904817660700762608704763806078046856099000098675006090006075690053070803000000080934567805869000074000086020003004096270675600806800766009012710860080780795087030040590597003000918249040370797005897498107092045483009860700790879494300004609988269008596708008007854076087070303000019047880094055550200096204538605000400006800708500204807990790246500830050004786983588302099735014052030640095050097608074370087006746070498017008548039100904027977605067605814399686809642039201301496207309468028802900506704450600603300591530460269049089768972901060087030080549690307000704870408008400044000407067409084063000704048604058000460580710480800013008670077960505886405805607970810589906962470798090007050090300480032096005907904777650810704730909475030876008885004694004020049755509904699090940896996520090020670645069597000970960000053467869603180876000904790078504200300000590090060070574886000955565705581587090078740040808005980646503559005900026500940890670008450188900809086070090410880870016680076097079028000190041907747804397068893906559004015202088006384886797006760983000625000700488906807076805667080080900079070458007798209002080559400040239300477782574839248090000396838649000089509075400805160006600650000060301180785800900086746485191700400899085940080500437300948103420080247864060987480505083000077850694070030056060826707000742667663307000604617909050000900008609000797409061986030650929004807385458852009000070030926470009097960960800840750200002790050900003809990090006858896086430000100000408090895910706330400561077075620730094805403000864800090037000890003993770807800480905000230667090700860009958700599401969040490044046070056026000936809900700298147689100059780060076003900004340700000050080463985790750303002076803902079006040709400043009000307890983207030647950086300780059640594060527083000906908430080680807050368799870948904208807828688043050759578000090906810090846030090585080447260409056595941350580800788685505517259278370090060957008807643732005800478900800483867000500683047991403000007071502958499807084002927070808779990774029000000100010795960293565080480771761468083627856698000000075080700080009580450700000050500530809000995086053958009018530679086020070058009696870596407639746900559000008000000690609007510065900520500070375996700704839008805498000020008529038830520058406855060690598600302006006859757059079048790896263009560900699070008077032896000305028008880853050860000806087880805097980197406000108802830987407070082500050605002016849901309108600803450096056774090238606947068860060075098079316967800505990070909080940800297900040070057160600508300030906482593970843972838070005011106070908008530000700600200083880359000008040700022590723904707993604493880009079600400018080970007651004206049078695420473150862018804007770408936409060966642400566087167070000810870787400570050441996080933700007000600707067700900768808906893000008906971000444902880806145700097867985787177006049900604077049473880804602005708163209789961808090869806016060705770049007008080819098038798606000059006574600085746005000709040793543037007327570380029453078890771668839802460050000609912038089800005038130061800099077542909686070000409387845109906880960040603090009000206076701430400799140009400118649990007000060283593961706600007883908967004094086900889086790063700005058676760260296000500671008496700000986800000050890900007703634094609105897480700752705244961000000449796095099709003162098080200980110273050008670059005008810072830008106720061069030509709030823070902700090007281040925071000079407870449994020980000060700890074004957078788003870603071708088000050950590690690900008211000390980876073805009061604999700458994152090300609063690006601009500400563888099000098048030949829041007286090849991304970567650605704026093030900056068593299090008044232008051699908010730293020430770093926096844792600084798985765540900400744842008700209001700000809070000809108700425796700800662800807800090040070508559710799503058030008047040590228405740090005070977000081541090898176679000675000005094208966700070043484630059075082020007687600418005805406080954704030049903885774070600084256008800010990568080270558003001808609086000800704057848990005008203084807909900234914901361078058721188827005090850145800643206796084080980009270604090810997865056358060910749777006450699988710433389395208944088159900800700895657358700685036398327200770040388050005400800019090041089506000682000790925800075901306700008090093099005722700410020308008303509601622009214026060830007689388075595767078500028904616209627880060986199979007185792940500770979000006300850132000035008177480600390002040045726689740006106000008950005086092008925798805070018665781950030709080880765001066808905508794748643707685089007084662935579740826090400549200590910090986601009000430026424462266849955230050406005890940092080039009664800399600000359500900006063064600080800605015067710047004087005020107050064100302008400872905240709089094509809984400450001704075090876069500060990305605005582790814340414404608607008460700890758097087090668095240090009045990709709907060881750409786197190005506872886089080021708902005800008003692862948580050309400786470790128009620760740800597966000500304500107050905992166665973807048089537085960530722055000508781899003000030181058035000372309200700000708090407289089607119084000059098456098009020709096377305805781400600098066954007400088000488057548960945288023074065965009708007790035180196845890993440090701088005062023660809002109399000090485403398808085285100790509076958045008527665087995099009102889060880873708007000957840012099805007403600040800000450563608024586020525760000680763061708740905051000000800200209040098060903670716709709080183196508569958078055700470000009980047402441098008680000100074443600755944094005547250005090030895803000082760087580997608066077750405800004624467806017070808300809906438301869009490480589774760680899556806909642069502899507770085880048987908949079660505000201003520003400258457470766658804686092500080547745668096964772056005547086070940070035007959997490049456006794997850096799007005896465695001005000098974022777090007018045058074830000779950009064802560479980066080100852067199000700660020580976907980730418007400309588904590077540012950994597477550270956077088870933750090555700135708680507000605078879004000590247599486054603087374029046620499000699905864986945004099747531080008969762470480400000000348078208004503978087900291019999990890068058730028080080122090640071190478986075904947400009073805020796067009661077901100410000720535098669294040089480093003004503000006660900980269500940619897909209024655070606440600659508854851570380800920032300200006460900500030098767498790000949700060669019930549048058808860679989935004300539300052068970306000077779079159900009609649355091702127000500090909900200690050765905170334005839200087006408804007300703774740455762805934696080803991039076999908650020000800002909000676989004287000000791900934000800085205608900500995044831000774800269004217480350620047898573750486375036582000930090513060191700008709220051705280006000996004364003799796945430889000204063001907530770812958863963036800055038280000179500800026470500500909021500480013987008890594475300000840085208805407907470210060004004006757606800258000519998040090659400054652009097089058837987092501007004600088034099040906600408000001688070499000109599804917808067008800607847800008836803004889900701087400179300480047057084790000990800400105710080035899098470870470078706021076376090807903200409679040000003054580777010951197090908005900940449475248540469393080620209505505444883095869077872037985600898069459409469070090603850054804936005047980800088038070407917654004000090088200704098872460910779300979300545070005681685910901807400049006869098007090605987890091000697086280972903684407086606400099002999097000092600849670000198978033094019895500984891070950198047880050030005500627614060500037800940086937006807865006160008000597458374048084094900763040005605000074487118478036607085706607971798076350004858009389980940522007096708098880027287986039463700060603800907000066000000850960868037097609002407016780980249707622070000500701504740088407982707870003066146307276908798009077070000005650610600475509948081265048000300470836300957700800003900993960434595084003720501249005060702070806909909441870849387398709708438069027806080066054209005915601156774170089000044905996799908028898005007780800079040766969000663909040030540866208390879051579760659095054950703818954588619999000092750700202005508967901440004003791833864044005949890709650198495389748704055027606474870372060095806850999005790580048034900609705002849003420890685080700775109200500676280564307004006090809990674905365023880800559686300408330088679908500608756008607900187987859900134878000006000907940789466286002088600280046440818706617054789040200908169920064056053700077790070306000488308003174708787854063305870700056041002790060088005389082460900188189470600360587083907850095577401004292484508923070868903530589007950000356089002545716618400890820062675000030703030706825909068070000180500700878079799976009677905500797209510753830506004800776238010898313008076011703859308000020182509768324129080900799329903465605294080969007520878680050003098497001990289505029001960706700920587497550006508601089650904280008810814998203009608739060088489097506090906074443476470040007050736000563092008770053100000235147903046429779720035065717085000699537906462809169006273055770800450029800040026970064057894400502008584880727090000770950096079038098700400999818925800076080006010820050720900400277476094908405098977300045340067000070148084003084006084076100041003890908874450071904725977800949524079739808350609720479007013005802034728909009086496299987003480439702807050908068973000539600749540898693500789000779009309100730050400074900075107095080999060860041000003007609614954000784600704900963503783015086877750604445067100804079040000836009013610407008090699809336449738500981940609500893040317986916903979547602078076866024800000005007000500000849079380051900750800890175862009004044883000587070660105780392955703065309007300080670630890267005957700074467500009720762400044000001090095585890854639034708392990302078900660400840900048982426617089070092049008002967905000140740509800306000195290553740504009934960305727930493500007887070061011165000600963160859080978000900007907902106000000179724467000705080010956008803800104979010000000593599090880075005027363090040955905700297970804000079040908000246007000000999906477900098460660720883007501000700700950780000874061860985450860180645960707076003180985000000605058509007599872729900093095300672080302809557360780076690632990068001576450700447607089600560480850360000080209719000681050454007278070006004929062894259288510000506490010905900700009600090070409490080004740797407080201836005300079070708709000150000908156909605136005041795000072065990300836807860566008607993072700650200079805000060380100852838409051404000087099699990604562780691007966060500340670805086857900603970004390900861090302000846062995795806640000785705660657020009502088067844247893986009956981368007000400680366079026000000279419759089099943030000945008074338937600002970907806394927997880012004580500570960006066808984006030609893703060005880784988900508097046000709010036020950590497945005922000082600879500900508970902700300357609003090700037074470449000000490000307056300850690473600650667977007081054691870780047000079039900440659505856009608020076792486090607780344358750047002906125800047048058091030108007807507000068890077609900000050003078605084747600980094207234068175809052398900099009805976700640963803631099890009702039970919638498354000790909572090300080605000870050605788429095900973504009931090590010907808008220538000850950739086840185786108004028719035207500074995039016090607056000007307070069609000660887060550507908618200500008590068609887079600456080700084780182860024880597037002679506400300720965680908060800768009056799006260000310000096078060938875864907610020050900803097850608086089923029070700001901300867490400951164936917988890091914060000085989006050707855857050800940869438007107056008830692060463607820344008807366595001002600942129098750340969070907009000700003749990153980159065694545068087785200900000967048683080960090904041443030330204546290980069060500002785086008009200490600860210527888060549000803701000861073891809048000007700070009990098664604650399950900082008720710002678029000500867017050700096993605062030109360701036500802809700680905700000301378070107052003120801545983998094070000707878743789700269000960671078082006600696080845619520020790080069060880800960080889807990026616770499190040877000009070090977090800797007989786707708790607066794956770360703300648700592008900070080000030096859288907099005049754009960084070419080098500702097065659060009389236405095970065450077000808508850863829800158900209790957090766009721977597000769046876808056697017085060789398407078777108802890098089000492009099201007002495898801006039406000920003301906418045707700607464351700005905008700688032916885500075303092038306008084088300009000948850706070060085547007978606510802690800800290053966764500005707050045007075007977606972469959040097197007705797888076207900766059599404008076850790490024208500899006704090606029098970905400075807050201511299409706939208007900058590669390348268900903920268000606083890069800608030636910604078080050090092409880000671900900068800073055254908687977240009367050090000501326895897860757980806700466700607908260860070007019046007490086406885009516907797766009066000400081000170999703920418900050700020070040301300804052900900866708054875003999097670007509808800080059077782812826000000904008977590737036690706707060090997086092009300007086009299000759499606789605074007767000800035707005400004124003070930400036442408971350099060450208665746967019008850259768009700640000096550055652800950900770008846007077280000060000600405077554278000909763007590170650651706373089080000004850009905460607834032990900450800027963000008010607050046409905848377860807550500089992559395690389258306358700086810009000707856038406384007728006090092805899440739800100698800990000000973400678067048127680334460700080849080630073270070889979954800884801890990623060860950584016043000935754039600940404007707890397487499603707890456004078660909976006667050805026799793080035062900904010047078473078092002605007872908670800467700848050460497990608625460046005000995098001809507205540070609056568750044700450370778099564099009080070053409060600467327000487704905910088878075707000904099003495299090970220355805890906056410006021000540301000380868807536793582920200640099050407989603936307307978880000095004700375704269609707368587005076701448662930525200800800017090089043605800946000607474740370049800590757383710008063043840090930900809587029640090709600356007050012070760030976007079979406874707169160760010009066730004177700187290165080008664385704994996660909688600080404900045030469607760754051580993588036630650621070801005088670704087097109978460276899049000076380912907900876050310034556909766090060000820003802085808008007360600590966890420005499107044523889223590910144930877199800004402016600202006101005606000250727900048070747088900089093077006008700008000009778080087074580704860980076060033000007407897308788960047407607566098060052470700382364038720690470986587090866930290708932900940802409607043600009537777100099280680670058707000860097704008000807056087014515100702974974060030060967040210513904799850100020060970940080498503020437970201928613080070067100970903370699600045500088056440506005600058150008004309500020600075087097001950020201085010628059040784079340540000893795390900091008300280977070090209009300640945907900070780009805009088338662725950074700850280084098884000000037907020080006080005807588501601450052500078028624073970304880029070095200070480362219453630620402870530346021008050404770979080870986090000748906046483485872700080603071473396050900063005877099090400928097406884006015992543607864600769905809040755066097590264000328809000697483090080000000807400974902709000043008807004809106703548760087500963070700089907078788010700007876698889700750829006697897106838095209048609834064649729069058950974090008000000357000040908038007988009009904405995861006090009107780300079093000250012090760064709607700768184094080566871749907941400345770001020746989090304759708000728000564078804050008950006700050874906108607383006750014000933087084070277706000305060405309360071028008882482050380901760505998908080679007390640974077000807040085504090004096800930080008901860909464090550565706370080030705505781065901503004937055850054070790756585006670839048449000079666070906055800403788070078130870059580902061900768050000300900097070998501000680004431590080479076300405883748173702247400008800085705900490976000090110740400076049800900103770000030050010678210220099953017505008093937008486059450406000032000003708950770038030646000105000317900590519390396893887800967990076780665476210000587507677917582578497380042508660280058090606005686004683056406300792405805504606786468008028090740077090066088700853610004025709097900308978684809007000470000590082998609802990079640160053908010098290009100088577047480708904854880548705560950058799090005305060044210066949760108403089827701000106070000059787763080730870005005005807400057084000386000898059700032537099768380099740790845296700438008009380905000354983003442040390626570463000007000085505600018690808027030105696010007060548978870698033600205993006000886990818255071900760020892004000410007940050298072071700510534209790043540967829942509087589014808405396615309630910603784595450609306359079836807007860709000068550640889907120768600080070882227049104777187790690307507885000808806070015346809075789140099090009005008883007531080900907561482055189626890000445670790300004290409000980600900096008109850767259680044098814200697655000045305710681730000959550590808954390700020099570980290009095000015408947680000965608260530705007666860839187066200978000800000009447058087870099554920028000700888296690829909200400700762770196810400607750790151868808498899200898990385873996990106886000170561596927889570760988520508060001872000047273088097590309520090051260137231050029808596074630594403076440162090769005908689609007000190317200907000809070749090008750707085056990090601500543084608045706879690004094373409001608096066685008356960947003407700000907030550009899606008965799660490149097821038289372507400090009889900720280006800000000999605092703009087905005073070069060090555010409563008008054800907706557588074579000918094100800798902500000005009901076700409070698655000070409090700740089080026070080099969603926389979084070264866444700080504300850470070530602280007804484089009609800073669780696920800030090900300000007030505094907009095300080300006201070800042404005807899207797869940795809083156389085308900057007070760394240067828058069420900980046081400908640379808831187056320008568000004000082505807050050040830505050609904074850857778311003694000897033096935038000806069050393009061490674000750103688606404000860000914260085858589000053030000358967002654608890380061200036603502000098000963020500070750407601450030004928680777655088860960001578000088003400525520297600700807880920020805061109850495390630700909360902000809800089063905705083906854088805500000075370008000609209020090006805800407005878020040400809000080180966373008600140900006554700779600008950970397003070650586006979053970200070980000985940000097940708457049472830082378305424549009980000664806080910080260800070049037029000400605006591657880300378907007870780000509690513508379800006045259050030022020406863062500004100070736409070498800005078067988799809360850590045067796905060568564608989160077000508630450499048007099040785025502599070000580828340490437558008900077030032107297000030050670750058628085884602005570070400689659050086055806099010400005649200506780900600986004495784009767000635306877099950005487016005000024459700043709658700079850708009500000090056351670880608509098806003040170890007900007660016450090035866118158909760608060340005086746220044070040706009803091890248640000655008750070063209280085100080010641044505862060700070600619840092889055100960580980020086770613990805671967006007083847258008879409006910038938400720088568860990690871007600080460045607070297054080007005908608560608900557005070096050010898477809771109000840720278811057381000900760071090066707186360507088970708589077703900000096869000098000070400109875240901902406790449044970503897600450054556808500600000704080800073608882007800180904971086807000939808660968090600003555042130090000287800972790068899906094677080069388779505560000468966640000000443570560970400030207086078860910725486735759434000370350303050580501013505603809087000078030888608879000067045080290865049600084070360357908439204068006009947063870079085060054850080074045980080069076006700009008000960556710949040070740598084300760380996900058009903386779490002056608003591720890178780739480058640600800600187388560000005070696940077950898500900965008300000000999026902484080000003460465020055999709083908302078028859311804200074744008774000000007074879077800000630343808080060760850940086030000780016788007058468080777694897910790606720480600619000270058800170020409670055900016000085509298935968840075893863600000668707508008279662959609007043080420080760600785009747096026840605965840706900076797200800075070000072004800075904005690500090987010978006009007009070000080080305079090400890000770305006907950890050406687898690704808060000007970059062009088470035788095470085700900788670300004600818000575080004797779930976808059039900009000700298000570870792900626606080090589910987356600708700570205829047608215754588509057050548678060700009567703500060005098000053205007100257003903060616003067007008008050007406762507089078100800719076407105500640098000800779030988800708054578727980973000877700877072000840704804909950058046006960067092977900094000008900097874098539000009337308509728303077200902800086900903089401060800707040090104571266600009865100728096058998807000389490002009909097709546040086006068047659486050073690881109067008038709005860295580075090480680960060950920400769066300808715300710408907800800679000109996490278770698099004400360880066000009899080980991850809000000303430024700467999004400017005010009017080067079630509000002800048077114174100000588650040809688074500817000800766000005999907380805000707559849252277948800070816800007093998700074402939606004401670600540094864000995093000050000300788050086967838078080028697894900010405078001075605870000441995946590050208202934210470006801600395464579680052209899098501004108007000456000990838080096900770577080690485900402598009779804500917979840800077497330086963000460678800409772190080080706490607780386030908799604499300009005906609096082488000030990084578607600050068099578808700407807878294000730082009707089608426907898406808009000076085526036505442090000185406316561009569020800004009840396076000583098808707408090998000900659603651893054746597874000606007948803000870007098906074942030877600600929805780777280060010039968015000627698780157937081067807267004059640380660098080000009000079190587888050624060394308327080805760372708907042020009008859900007040054804398100636060986938095459008996253015794280708906008080802200492694990278531000600330065012100607004586690058043060060909057558472830088096730568067009005534900005003106432009800800500004070100298669267508090061796603007790009270977090000901400480450898939509000800870750008769005084480005000780737705876075007030000097000702030555972050030901880050886379100008005770650079030078084830904007020000676800853966874906704300008265742064098090472903003849090140000059071800300005200050001712060929028483308603000050050900009900080020000409759000966947838770970092591209427737880478280008094010003486270890006907077736120868580850008996000002566958200988689070000045077009470407070017779758005068027189000400074050090008973809520400000008240000295917007227720040005967650000687000200042050727105609092908577088400000678800080016870100380781029006003750080669768090470070709908019900307979888495030920050057000000467390084078060062900637680603875014066080098060488079700007007080323384806670005970442030609000075807060948355728492000706900079055801077804030089031960057100022693979207600019023770008057800800444000606300100757091900960860104009583069760653559634856795084900070500099289000000099640768046604070085496980800919060314089085723000043908993565989705095948605954076956970577019948060005980803063640503401790851964080006004408900996708809985787004400367969017306400790069000044239740009000015008007488700601549005050000073090509926200009900544408030981040900100048386700035879680000000909601780605002645070007830439900796880800196000080074060906094800900095570774786840908700109097641809000558862010593404081035990092788008050609708638930301943203060527908801000080800306006300690360513740365088979048900000204008543070074682957206397000256070088085890963005706723151740705046807679006100000000670008008009440963058300030007050988008303028600768950375007502700580071095907960545800808087618975560700808050507005844968590506098067009280000099726064735078978761700060450708038090907609009000701003002703593180040057775908759400721917000538024000750897070050225467163006886544073602907000126600642220070005020891949000804180880790040469900050090134538008029905900760819880957003029909900094700009060078405008507007050708080689809175000786906090860005244768607880047080040100400656030008069586058980000889030720430971544009096383780064905090601703008984930009010700000008000552700040908433005288096963050569835810002019910907850882110019000120070730043616874080899072704177002780077702500058750987570300000000675563880007910060000095880499477283860000004140915702940379397080610000906875081080044888081006009708000075208590802500220963430303300000507060090000999508000004050084660008200798197233872060958005891052006607008014008095408090080007033080567753810406830400500086982004906700868610700297802373406690000760070037620029649043823101806350350914998702823326070737866254807840970006700979008744508900506667900634576918784640308689809803590000505657290940081500780068029908139070009576010927070884106640071026178000595894650090030078190000007089596095600607700003705859049079796902880083467000898042586199278970044090809668766093800706075000808560058430906000349408780010804204058404090011036048196190990808005099830507080005090704000688920968050003830880040209805761029940370000053550009700627000900980102705088680097606299544605287756000564067845650367683809004997366393484089006908005150004081000345200838769208001071492005096127800900209905303900608800168660000595220666029840999587700993900807900408887082209486400030819440250500900706786938506774874356070809990930004670104640002330006303936088087018095407627007940497090657807408980680030654160507090560067900700598956878380900000940068630746001508006005596700706960787004307054500087009030401980990049900000406786765000230080005713590453069864740004008090499444540450060893060950304000290827208090768739825506105746534750092950064486663810698267300567693706000080000990674057997850970802957970099090008346996004060008208440060968590000934760600506367577300740148100099008970503308408126805073610008300890194749000087166900968858653080500969009909000708600807702965509988590000068074857878274999504400060432808004898690076000000078098036078690709206080190090082000860005035844089050909080007000906915079483879010027590889838774974079740057080305504061800580706646899603008070009090900626795840518590717006660600500505999098100530060082600668308080978880004000784340050087169801579099465070090307075051029099093910060709030661404790506802905707006808430910009240038997088048036804909009730007676094090000260200005049306898980386640039590774006099098609070988580560707030778004399707001030007104007060080800460308305748878086109042581400740400075005774084006030008000097088908498545000005580102680086618777878767085370050771756709030700004704831000678416050050866007000780078080030730006000519540008770506904418280800108097079020855080663050990050500089998658075440408023536480797603830887797000702409699866087070903790203008843990997028600400000008730880571065040093000081903704400802302808007280000390607873889008408569890706096036564202700090130080800929808061490738000489727788090630860500027998090609743560070087078887910840398099403937359875000496075080589100000305044384102097000200892008000069488907060000069586818299005993770178789298900604032799000008240049603000008804990961698808005390698947500298905270500070984690005350077709330076040506009080096990770360989184701000660460007696400309108908800038445089070096023090037020040840170875009605806009070060890380009438000005450709830708733077758487993000070705074009900090008000379070044803049954300300000060367039204707809830030550000080809085209029968600903040570083735056600008677006656500097849509008000960873095698973508004003000057500501008904000717808606498308575409550060000072980066007098009900537869600795600350909056808896809404870959570086800051600675980008967672058908910977800514904965899500700070600969360916064807730000759054090877005200048400096147804906097430059288701750262896796770490009089980460000039472000032401085199800869002070800074640650602508410089044007000590506409070938060050545490730005747076980550019280009906090258000058809463807027877385297004300000005270040930100800007507888060700288200099600067009688808006970827905930000270507249560096087800800504943079634547783763809004087901306708008003306609745036005087030005319060205979004007408808600009903060842508093090593090830685506708970079600596049509328440041405010000006628006049001500306370830766607791008980509008714930966297994008803945040089086005011865509208027600448905003088769790590536100007860037008001000449607084003700703005050009868505380073925009343947007076007050662376570340300800690000809250007065692460900630230075948803675347050960099990074606004970464305706203085970726600619543909530909003080004359850008075790095007030758073009007070965068067538684046808379430661900740510410090659500065000090958806690208706050001867989737093749093311790477478008890090540608900860040558860756940005021858980327058600195940000088009689000088264090609728091006157029007000104889095000400908070690092380609089890905070375702555087990020970686700404815098368009090650504637880936806025790060780365266673380090089596000070004000306600478480804654904090009500070053600589306790949068096406000770398220298099077703630420797084875708000302020709978008099570403048860186030505720086006507780226333920422008875060650000870819400609302500884407900079980300860007083606000008680900707835930006390008690780098075030260659060808999090653590008650986801507080407000840888070268088209080300077000000048390265981040770600009258004805044990860853708800942600062871000000008308584790099109536848070061397940048232082750284913900000700505746000702070090758086388589090000087900048871053000606996309274605960728093600005615756493005737400458307430494289040926877049008600728160003850957700599590599900879080680006070992665336023704787565500001750797081699030895005673050304797509275007907200007000900000876038042095500020550803801720009079008066780910230707490009890046979594006380092386074097803106006050099008040000994708308106909696983909008636009060068003870050661270092095907730009846008000008807604070000066000100700602900571850000500000876009905885600000510079004590859110008880586080305009009600450904468948133540100909617650807018777058704740900158900058767050027878640787699450900020060009770005978769928680000090000765080776949390603508300300900955809000474000509870540672620756009800393917007599060003065090550887309070400040146308098088990800090300997046406979859708390480069339750899508758970402820880950727600705058944900085786944001070500088759300600067202854668007436069506578700079808505408075000006807709300477005750060109708727707572470000697180950608000600902046992720600540608988908055069820038708200087006860660000790001806755001680059880100855870730080851000670370610990088900008968596693667085889407092070869050899900990003080486844054459600523097010300398030000080900680093009566088017064905006097001007068002908002587967689730898074560040004003636973889307099905304456490400019023900046238530030809780088857706009080002007897387014000070619077866080877835059500064779944970840070931837002905560970090940509050184166003344820080200640800073900030800075000080825405000250909508950497086601594810764377500020286203069800807721014766947769031908009057700080056500484550169078757249000400540553078097976700070003098008060199970005488810580766654209018603340208900725087709902009808790810093086069560610009093927508067000975149902870047772302809582989000088109209089003840108040700920849900000805557070550940959700086504090000009004910676178888457770077160907998991090006039691233098084690357689780040506408006040460006006940036099759549678049040086400040076408005056000820003980800756097044600080605006009090438706007097690109933006304040785000678075789080699803480010380002444508057609684029909798095678006666007030949023008627880200998930613353500500793022800990032957819980476000290925032770604000807440665737949508072702907008054560930963000006098856008009507090035530000789000040080000600899908448805040500064744060000909538700509590000108209577580701178002099080069870980792994946780606043067308333006648925000040004958063000802607588777009890740617070060300705004929850708494630090067907047067882209000005879490608007779009793850903080770000090006029700803830009097409003608004809448050378800903001764025908800089030000800000076500500776041809030572000970370400000605007750261008048908006434095386000078908072084080830443004185600610805009305802072889047508080750939895084754030410000300909290408370000878806060581709963980004808009571003000070051434874077004881701007608002200099630997780305500009009068680018000906009358570851796802909099885988066344302803008001102060807320753070090505047000770403876788437620200009537908500000056050390997907968400210080609898608068386807840000612005070900074489761705845000805890208009740960008798903020090960507943664869008804060013909797008201005757990000028368073800007010980608910960315044500160000705099807849149000706087900001860880897094475053690807860060097890000960068080960976800620670006009478510700998600850500850208400024474076956512887964000800394056940950770080493004680922978006098693924140105065768470046809165639960090052179165750060006806439000066087406740996787000076460084900040440800836008860870859000090340470097706700449673801648800990305085050900761041059245069385918450090005000227270568087006607080860200000770679588020094000006738337147000990980863877509390058700000000057006380098050659280371420078590073000474605760722008602470048908077006408660208907697408400290059900697987060672709800008098080001100770640035090687006002309050030014473000068080807990276007001096077869155490000785036086133043480030090406509006580510079810300995609010650070959855048354977709066981560964059096408040546908890600758087070878040900045600480008088008063005600050504603006109274089009570970900912570106390040948414560503833044900600030208909630887009790000864099505614869006630430800800000008660486900269866429890900001000090950005091700069664490808009666600080556993337790014066995004867020000400879000560300609885794300050800072839850607104300007389616091388800975000009684049008600930069697409071024009600692790040590249567069077859979005006700659473984590080000077722665060509800000600652904406002189807306080205506898408098068308460060400807090648890459866979600990906000550695965988000368098700863059070980904088009700835098000074000800600878003660330668072600092806607401008770079702089275028066057808608068038509080920064209339010584070000809460005979707081000788990907536045041887508980007088807400000060365904006060040086876078080832408755840905594671013070070988730970300790009087370340360000800006470800027000090647800909046388515879907742007087040005976400509800040057980960799804026006080381720790836606700092500650053300549550090888055970048909000930051465866330890803093970704342002502900099002840210860099587490701100970400508500994076217049480084107067060421689680645847005802748255700800905980055400064607871019407657560080080406850609053740003869403990086007672070080767889207889700508468748903600036000580975990680080009960100000650729080350700706978080680661050000833808940902009064080170500068106386025058800100038370020899848909005085009005998900808927054302979496000950800894005090016883087804006892077808577904096810904000701940785190909966003899688007955089270108060468820083647742513005740858730700076414095830289007680806700707507908087084609225905750909000000026800709990060609840643078006064409806039800409666804900900000960096480590008040097077765009610807088050630759090008394003509008000400507007706010708570008995088960903950200505564870262550707605007570506344009775030090030871908088016008390090050766000027099795608004011989896000050018589400069787980074667413623693089893590890089090000498708830342500901600099597600030406540359089050077700998365901406049888466848020705049509890950090695000030580362000006027099577585504570601110980400950700500007226299990704970039580010009610607909481006795700080786056800099300897930660004003007030000000807249907468500665497190008949578204460109099076055098098700940006990006064901867000080900947338700489278008975000070284570035000140890800001207090000990880467076676109000852000660797007730059208900570170045878484300605097330058980505007800509755107460800070088390867800038000100070003980053000009800044500030889003906459070505164007900094071881000790000220805488067072740000087021908504891858308300381030508006400085060073670065044685690187209706008006004500707080307704062007304516444800300709787442707600000809519062807698288553550467706709654902702900667050775634302509400900560367800090780608900842765957806100029010808899061956509900798099006376581020300050004000000990751899000400185980909396001965700200770570000090151930091588160056690700877007020910900568000056399676094247468690085027596068996989003600450080096960070460421870707600870720022030300986354406647600806800950500260000980047968558005280486478018903529300007059087067080400875600290572745003400090056080996960060905578300003008408600994060290910009008090306049000006006580059600701000804060520601076390802760581903036008000589104010820704989046110000278481009036393049780794606553074304790008940900007040065060000990380766950090001617900400960480029604511006300899990605976849002999800990990499764033785088660528968009890894707907849702208694090992040487100007068278100406630970000652070880191927067007090706000462680090001850283858906659606003079863606057905026046500000870065070799800942589899006949006000000904879036090160900860305826350008290008980000709867640008505856009095303566070502087090068900208781040869700009064887976538569520470390008594900096989790801888075464580600870105644600904009600548806052200386490490089900382000009710000405080030069805807059591890901076700970068888600080026289108640170009599005701947850612302000793637948380739905857828004104080280444039200080750901760019034073580018810080097600071076759496849000005700500617865880800399798069993040857990101607044966565000067090668498005876386088003800240290098000003070706208002006470008708000780092704801045530807950067448156073691090600060086660990830690060980678009053060000027000007046008740696894080926090091505094685089767030495000008064000000307957586905903050869040400002055106475827804400609097094000109464040500803675099200254570707009550008052706067253000638403876770309006509500069500607078077088500070505040904051600907648006893803500909187400204057876070900089000459600036045000067088208910656807660030099006328846541720750000087578000800650969484880997699008970099504090507010080840000029430480200508080590009800580400910927305069008890046083708960902218009080007335000847590695907040409979550807000090046200900158995200078020009722888008100309607979040400920000090200754997040007630091095845700000008609440000306058079098777105443009800056067065006250382668703057009990600000000679870870076087990807208900656750205000060579050906370600008585897608609950985055819194004067189605700890080070890008900500086608904888956700074050855028700360091020000508074668000975967090760078277013906690909069193770107000066097039050005100606090663403000020075900793838496407150350608075000649089008508770560099009008759775063470098388070956000798372890907050578060750760976000056900633987600436080680126090980569953004400800800000504008096274007099086300078079323604088558058029563983380088040989970070001900600080082060809070970007080879080620607017601774609093084089004400700366200096089002014440007000008007917990944269430700060060409067976022040984695017850807900010300357501040807591004950702078887158500009108695040070800207090000099895706704003256404776950260845540006655457009763039700006053890000097000000209458600290015596408092039630005090800860429498085600007770705071686694004688700198450007900000075062047028561060746639031109000620787159104970809624701690060501588980002006500002734808014086586060701061200220660065087542081537699009988600705206190806005080805534837665055000008050608056787180066067097549578000080880786960057099296089005090630020008776480600860004079600390476505400988999410704978500780100470367989085080746887960829741193410606639989206597800286908588513083580905086270460909004994590854603766394603377058900507079080489003079097287970069488309004804050806600190030090518070682975506595020069874258005807794009805549087089370000056669903488729956907590795000452689350044026468035095827060906900756390960000824080050085767060082807829800090509000980249890000898471790809007877960900079005088740689966965690687973994000039160535513014733300904007778980535060509043064502568981420000473600948108984028700900078597308088829907767003704730000640520744800000003070438084985600969060920710007090105478007005498010468202008700588845697930569068466645777575006007005725907208050010500160805548358590989826565050060090303900884000260977706080907500008810270084000640700000928540597800490000600070064171829000154600606207350860670760070071077087804040380007758697169306940701085908000080039165007920608860409800006588606070903407082044000472008040845745809001810566097481003013930958050003008595970750004875445890809010085687955003981035999860806050598000005005680409400207876571556070090900000958080058700050428505170005707003087377706504076070837460003684180684705809772898933987592050100887469180887358070605066749006008800020049783000018008429997090890070800049962908200764729050790000008078009990899820065088667030504705760960223006554800847070802968453900579680789608606984498749010608869679687050024740064500009996612176071187460848743926003099508007900660976006258090690000366970470694768700170006090095782076009199887010037571466434400009307854940689100944809000001687408608328790029300246040703965200665407380655650902080008004000847009800668079777025800067970016830365080030800470709710492000500029036866668805728960075050603965967780876200090797715360000796059576080130807600630050087276008697007908100480960059006900530729569098866390884369880506090917860088037490076020066090000004030370003006920000400239498080928070682040580090447099285020668770902015040890046300508660600483003809490303018775056004590948947005934407658036608856070003600080806986697060276005601060090700749950206641948078305092060804969884303709007097007003740000957600800094089437070807040937900944242090169907007338090109160669808409008864052090716009000288708199630003904950277680050050543980460261000030005947600987017742009006370009875310638019077509944580004009308030006339500710000002970707190485090079004080497800004090097166020307807700040606790803922800400006780466099801080798055580709900550490020000690040096805460493908003089300850996708909880093696000775718831900030034400000009504098889008411849009880737638080864090880868080850990000909402053000187886603945087335565599096100089340050090000080550067008000644040678240006090088320300864800580500740000791603680470102074090013608080000740440600700999840680020706300001056719005060570605984090060005390080746094089600002607080050484090500600270020070030676100188190650009003030086709907499107607586040930890370596355570055645607889983070004304060649391290055000540802089539700043060488538540509607336002981380080996759440008008000013370100780977001874599606800074073697680056850008110598000067390295350400555000448070009060304588074679058780440006037089800508390038005373002033005089713807500158411078005000005706002098705004859189494075900840037080005039460150109050089778009309700006360004850009900200507999030260506856006899800659070037028105760020208756786009493800907006356099022209790866690094506805809562889030779490908659033001864207405089808279509027606877859609380035145130309750040120000766484786670657058808430920894250000549000700980059619070290000804800973009307358713970002460800998653105002670049080588008805370699716698007003408000470707020518067459906970692009444094557495096097960069072909777804483072902080085389100934708003089078000057222000798083423708402207059934770706800617730088170896006093270990906080803000155490073436090690900960058901697076060048580906479674800049960940817107290500000998406920884008599900184803290086400007000505969764190868990619900590900740070020748995010092599420000604949909489937265007000900707088008406906106485579994001905490289804582077819505607060030895430009050070900107987003803709695589087513690009630007500207037843000577750960309660080070400188666003401806702676800900093905903403799070060385070033000994853000705970724900005700060008870005407607404900070210127090990093930801127009590566300238396052830008053097408057709297050203300075028089070800977708408809708006800050008803074000789006569598369050648898442999000009070075206037009000460858003969908009895162900406048880585328660061900584038007206005904550880000760804040009948660049050200067700055014050967094675870713668510508508880680054084679730300890907040691989759659399009703874063070569980008203905047079909380980596600009877778900947990049299080078009066020080450870909978700090088407600407880099805847507006704246032500198695595076007057380049600860980327603208090900800883405050061001800929795054030389742039004649868005047900083470809968035881904090000075704290899039640804081602907090008940040050895053794600907095060809011900699049000047890009461610056066891998370200280400770830006890008585069600059058770070007079007095303050070707090084106040626090097680890004006072802600000940105004853394408006099578007080056037000784800092307808070254893076790000709980048190009800438067018057073064000800052043000270704060286570700001766556737870005873000900006420650500503099107100906500077780576009007060040965899060700384000800020490660688470000900000800006849804001070000090800038008009480805960108810947100460306089050599907030099008950600650332000395897770690669000958057007734088320504743000062197909090007000009974680554507823863900989783002694946505000988300009570600068208985083610020398480603706886007503800008709403089882000473923609375600907000007600719806000669047893390609709806008800707800007709600390958677400066207004537430990030208060099410896068094747972806062048068647004000407750400910885089541030060149200090489963080870089074070916600008070976767794804406418709277380055505805789776995860609830305918675040954006004810986028097795290065508088560009030090396956489846340800000209880809947090323506650580096000009807959809043002007808883090090009840094020413500750880070040086400703000967903090076988000052091000928484208600040000457098078000920070960800700043029559399506773000600909900902091089407405949850446425140085080250706267080777085072058053170785090799009750977348300078900905749080900530788810909098087007900860706025558090440009007259905708687077002638410698986507705070076908300603400650487500876587069200090682000040749280640708305309842708945005000053500900041088723944544235690994053994090909484880009989060670356650580908996270903577072705020047958009548330907680002560270891839095150005086800989040008933009006500675028094607600888982840600829368079605000069008927006987040692480035070009075098060808928087085938080890460572504657824945057082401015005438706000340836484719676807380400005000400065009957828338003859674668905900520460080890610753500905740650682000650985900809070086661090450400900097800710080908066609060993999888004004290090056044000008639040657078981835300864909000760091035800273190480596409386009053445088569983809000040010940075000070850018360170089303070365855744875407005077893491076073550606003390709990098846627090780409947075966099280700900009787400007050600771800082907440373002040904107496047462935390000205809480841809007787000235160601380990064066006150140882099895407080577070206556161749180410084809021909476800700077760840139010964008058039382609977650080008086239007005109280405900940000000590008161100800700690104072016960807200942730538004016030450009003870306400499905001090913680587200490886560800087520076310283580000000690261007098887071090709010880000251000000991509000000090001005406753800300753689970993596785068090970370341055657008151218486080904840030249830093909000000990628690000160000070017008006464778700507000527000508090797020900509659773788050743528920800165008696038008005060004908002500067500758036900700855009680009922841909080527009228050990300747580029008060093048970856907070678870707390580636205649600900758080900901266094095038009970809900495055690807098097058008470251006049086078880380700660010270702628378000085087043897030000090000800039098950504703683156610060400988080800084905300086503974357900959919050507268019079097000860097745063086075695000590760030380098607105002867850006180307005847524854070085868011604040004150007006405640004800881093630360474708478002809195070600608589878305623068386046769790998076559040005857304095707260084690200600090889446000050280600300604690338609677067000008596095001070074606653394309007085050900795803070880087960090696444500734605015050100853050074290980658489970081870053648462970350904900082582000706500060920600490005929700840008288770031630073070084350705066077805075008020480702049395065018000008556860502076443900080009002681700567000806909600400526230078598061096095603715708081049800550660200030610056090009043600004858706012899004004086877990906860260009708007142670606079048060801900598500940004409470010000709600070899087090100774804900900507006000740300870057900075200094006855606877689368767050300397600700007850000960000970400608749800923000606908905900087970730709070097089004078780190849000715993900062033607800704107009009010790290070097777450680570009082700026010024586950010391654830796708030050480037009000400050099056248863280705800000076777108905579908005000700769479715009084230008027000903740289059030690602930763880531800870788896799083070060709336085007006500970376105637094886709000500099000606058600008000249037960900338402307399792990800700700881020000005507065071420005507076089009530888706505908360900001060652000698690009997650588900060030000105886800040030507880906380001064708066015000906275008803950753080706088904020939430197705140065091770843889069008849777997407000507504039463606000760438031095000000609059094801003069099077403610273980040897078008480000077400190017400068097307967809090090963802710009090073856700000150488439400370000489529080820501925300073000009076011120208729019009045609000846600400085099609048849600096056960700087079689596880789157951473084500300003700025850808704954000040304473703855730578008607930006706006797007500039908000837506616008300000900050064094884635475070806570707007160095090007805900939507000062000925393496081070031013590958203055697957010000050003708788000869506577700900103908060797860050552069780800538875075008090217085570788507438860041908373988848074909706998501073073506430098074097404010380007980007790090519858805003360004708868105103070000441037559790885694863000350880580054940771496300806044602652007403037079860805205707862009540896680930270635059350867738340690709002007199799090370000067937090098660034060189070790790950075090608806850539300049990777086030004602098888890509090900830409006677005846670988003902199498979306050078060000047870000640030090605005706798551073075036819090705850201009805505624622494588002060019904940360081470500001059329954696900008007794890700004990096650206690940000724060817090704590058400004080960789208900008364307068078708895179490989500678056759070008006751030857020495065060087099850700061609990400085075102059108060078520608487570498504552070069070090090751060490865700006558758090000580560035066777983669002722964093938047003807894006008007237890000058208074606008000709002380405190430083500976005799260063850039906005954605012877600786650755500019059869407720637908450000000100810863000008803209006027052300070020080998080500947089077038230028001880968030985998089097008327030760045670748007770400086009870958280980709090000069007000606000300404824026087800041086909780070000953496191045013102007056970917005089900062060000987010605078680950710300502000313000008009076397009706950000006856190910294899077038486999900310090030081978986370985600308066090004052308600660000700935694798900804778058174050085289080008848878090930806910000078489699776098987300006000893087570052298796390056899024893005070034009700475505003645029878400594570980003090809009089200083800898343003779600950508666470794493080057216966200030085059570890000707990005290020009009804600140059800051550060007009004905305930048745107058340479497690100071506040070008920965600060981107963800300500960189000098058006560288002691975085084395500095881350014080700005892060080809970878090950037849006006099804909080392453077390075400896064317006375260006069609000015029000000707517755900060000872905820009608003003875007700718010008328702430860570029609908900697504079950550800778090650048850894099270804930400052700970794006706019808868650400007770889607694091003747906270085808690578086609930500650060369000872809306600400903037800057089458008600555070020073762744000604897782407689962080996939070007906665008086918406050040001970062849800027470028400007457990050509009009860373000085046006006009850760721007650894440490901835529000804500004007690184067000731170707900090000259080057509061998070928072505490096850090909790726081004068930070490399904075000407500294860007826906380009960028105084005095510145701008789996030678000509480408090400830870806007008678058719050017089079780073760700697960006689009604000347215010989288801054350604960090900279770800090808788060000700006263224859033084000000074066038978023900909967034570070670070795108149963707050046382000060600808093705494900410930506000090390090080005848009096050700003743006430058502661880657068708572000640050908647080763860808596090390760780005405003906060429940139029700370920717004679654048098050504470719070020200082481610878628763428500707200009009007980854490846068057759091600808061000090640580002709264779380601083064020620007041710794706000007848076070700997087409408707719050090618576204836090906059978598790040900323000395860067020991000920064084006008947035837900200030000450908082120769400104700399698150875400050503000660000890890008643833886970409800738900021300548805904705500075875342000000793500007903708003801980058004646806860507085785750770080703856084809377400481707990008743260133285200705008017868206504640703080284050834949095802856064866950300399838503360095675022820405000034795030831009961002721809794000800051380000062000450844194907058090077004080906015068808086801040002796680790000894048687298588064913609929703409809507940962040300806602098908171099840082643969008089830809678690464059806009990884708907803698699830700918346000607037897008070006002005160209005199700020603005084704004761000008801051099000453770078008089960800804085004870085909564005084065093009097707849440730008444060076739369840820069030589575000103820300603035097305709791702780069070000545060401008007003620008790980777666580089009708056126800655920794060088000060249503083655000605905901050036885000680936097203060003374007049008008090059595720038475880086490430050003036019363860030704900008853990187400863040498090049084013470094181990800070207066406040260208948003609810883970308070590405010080003540738884330000990860655038093008156609918808008001808207855699100304010157058673082700807001700008545946996007500000010996480890055307065069067900810007800058454880500075088690037008071858000058604884997950094070070048019316085702008245307207000566036025008854670300290102040656688809407909090214550050768055429591973379080979683088047920009032700100470100753354090608903109009080984091387900508034418049200057480702598068009328885508066005476009400060680448947404771580970000990409997163080017350468090301003008420089690480302052005099570055407048878962989000011804870504070400000058387450000000604703760800575097500080097991009060530760077900815840530568803959709784000097060384007909000400400600069193699008890000869585380740036036706668760403000837956005090800280105600290574064405508008508590909309561000920300070508097590088690042047068600094496059900503105098061000090006080000660008058300098200507975590760090050276007008393800500153980459404070009930505500070095890008080940000750000426285069017064970610480606660988806680802000463390328990590020300331579005049400200796673090987080637900665889790659060195327572080072840826809600061056866064200509054800600058108480099020003079048567077005850407000068982093400840000301025990761780060100964800941806212007000067603507004055308500569030370506909060780242005845770897600085898007808005019864008509900737099080007800189016190609807909508779043607696090565652002048945021666070037210443256690608389096704000774174003870900986908000570609878919346000051786108009000908808078090306600887204339454849305635905017847768800508906728050072409069501480570737830180780001973080878052970960300204601019650503028899088080008206557807804900440475700009992350700502010000798076880637039805974000338509009000032088657792001070590028400640490748500094030534601404400001030020989270809060343977099590060284009899808310009674459660829603908999205004870997580047008056007000400398700835000906700838078048989066800705746885760485817904967440747490350310600800652085469655000080088800526097006000000009449095100650102906078003060544608430800378006909050963448700186196909054910987662098899100830660603806600290009068898092817900108060250603078785381600600270060009000603046900086279288620790990900779502569677874017019967782779089400010506167908607030280060080800400000970972050005059070909368091000094000090900809000070877586006773069808080705220180964020476086097000008597000000070925009806600509080200056907009007908770940005880050075890026808076776867015006500690088678206769869793882380029405119153788064479986707699788380000056074049890801580008989708010905814906720076709080096009780560000069060399019018027808920480000000800088987807050907909000004390409090429690490262858560039080807970900070584670470403980000045300080070040202017708794004300809750100030009070854020579026030964059606377203748777100800063049000806139850452070797500786792000508532800848004004244009000908080759750580004979007309700030703250006004830304564547930709910601407030490099007087099500841770190224499317595888010700588707708078030070790209283098006099998900047070780055800808454060008002900209993974440760804850986780100006678037659580737159791748760985001487901856800090960985770090036090937801970606080408070400040006905909080710590800300407316007006306893660089397900000654248900057060909800802900175390504753079389750777710304704065361850901696584085685996080920866860077900507888382549003805007976060300900847006096974854343237903806046000780904408600789705680206803052004994702054771099890176055567000577604608785033530640549016896035070060909477803999009017880035094084020506000600055012840069986924860604600797869270086609770967370300604808090020657700503624095898780093308997793302584967945750070704810040603304114949289503944285507088882759000806000056095004847068008000048098058033800010041508997005020010007319380350050757908895609090980094600500085336540000522807085688020000100603080046090069095002058893767709720309002655159009680706494060007000095930601748800500902208485687010009730049099610000090840900800380086270806920702300096070931706840085335600894000702000070875780880628005090952319606400087600000404604400914900900000897008700977901070300076900206898780408726000400084964709000800177600076860358080980066790001680960990090288955750669000044550800800060056397046099201050980876800092866880600280209009600668000005300560008902490805905980300068000609807107700880089707508033042020200080080702690593009850900097087600880508057809059987729054003676760660383005848006007396589508520090300306060046727007109056874959050809099900802008604380940984080340500789000505040009230256609009003470944108200862807507600000000900000805302809060020006393030430000930080006870784850623696300000900906938558065806090062009920404994750250048090658073600990030505953395071003055264821900810980050203754000100007778064598050308038050790080009760000058091668080909630009709810008172444197808005649800020890500649580730002900568009101030482903795003047720700040209490809470800990905030088000004820009274070959001500000608258094060637090005568750088977940846655700075303000047790097000839090080749043405017800054974980806440045008850606770029982106080600820009305687000000876597800005604005024600445887084429809708430208830849090056881000040606202780330006909550958677097080047076090094059908590600677960000900057805708909102000166003804508010096080920900035285024649883068767606607000021991569910060890086002500909309470087870677007040800764838568703980009090874013008000030908918000804993060819854069302000605938800600700864089800098039610303091506009075880500514190040408641107430077700000873796000670070089396946909670100305094489106970089984885039686405044657082770009306600062859013098448490159820500438000560400014000804053520900000600098514200255301370800709094167160098049090019300360006010869061728000036726906609700093605674050866079906508053740999890665006395058901050902060329009004756605377990680090068034044080070000767100090909400003069701858601094087400000884750009092064709700850909680078570797265709100880075650200795000830889080879096623901080785067602883509974007685579020086900198360738004009819860221706490468309000073040909892900806007709804487810478900703085390930204780346700800201460007770690006925000804707090070090340020952900040576378750860459759486017774400026907473060010700049000990880406056049203394069009608650536549964045000801409002006007906790789759975006665040079001506603000403000080189574500000005980107991000050293890087767900707092707500607799783040985620800810740800893080090890389876705456007800730605230085486000007066300716000001099900900056710007975051379850009869902360101507000670859800867530068704099098110508969665405480480017078088007079000607080808080247800005088800690676890200290406887056808305074843793004707888068430920409060550300570796108440500905057990082500886560020088970060680906990800292879807046099742086903093900288805850400800590674470004026090690408700001700904300009005606569648098800370545040847960000000006090793653099701500090000000088022660756000700970805004050059690066560790080690040049930000798530400390220008003382000960900458000070458797008080594824049000348007787700402860078890620280798660009127880967000877306474090660707329007059648004067904866067907800778000406005109900062006006007050803097000000086630083087386050009000900400490040070979003006517093957725798890484787603801850041408706602623597007420340300730100402096344038009570703409017047980085607486067050805000374903865007706709337500020034618700268749050084070700337040693607103506547090074690945636006500399992300845959980094960973080005005077935861705989440100004004709050608006060950649396008078400355079022409596090069900875892080607670146099790073000002070969600506680600008800507074961389578903769302484030867053804950007087369079097975007398677901063459770806652808020908002700066206300560060900053550000670576094098807900380776807097406831773001009000578609075019005003460004000040888732710095069001909487910876076788054400990880804070089097600540741792009500860006090055018789800009090070019021900252086000067046100986813080084505459034040008000307989913060580400083007379000030459505002078950980960530075006050700748076154001490890805040079507080108780100700417010909009030643057568930000506000000000240909047600084043578070060880502755009443899646010000170040807070900898040080450690054009440000607800491160800307900900008008930802250200076500209900590069982768092901377007050778062000894008980986586780559990090405206276603909070565794035096050409980694607085069400073909000055004608409440004704009806090857763770670459798080800040750008070908000580906708008950006097007005008900008961908879690000507805006703080078659299670679480563055506960000093990007938085900809120275808006019796400600000900050090960800808800000480076090956600060203800000992099097095035580900103329053028036070476068060009000607007880690830890870941287099077079360900088300908010098057035890761050801098980035069608050007094088974936241078954000978951009057060008040878884060108808063195748002600697096107764008044029350300073843000707000796047655601278190708836060500667300690360340709036043005380508029540900095090690889030995050007880809750657079164600609930206080981750048003070586657693030200652928900002440480055073009060480602079800002480008090086902000006039304906100080325710893300949238408605180797505006920020908907045070305787400853703064504067000840050785958894900784842863300985970506800990366780749400947404788000989092704940000108009053060872436151700960093070980089500821310800700050067600770740005606070608800280070030789005788517397088747100002540889409992863978071808481000030080000056877143793078087042875080308000079400962504707004080980760454880353029480023081900987467000691500753098509093668375975058860908195307000579206860057760888440589809071008560006169708092084282000093646735905499780073050096080703850761865060580512908004829009667037938804059568070039998076044000244339809519036006081704878640058076047598948040989005600256587240000058084003079155369900000600006890285856404700805647034900048000590889449308894200966400063944258897700503089590670608006083871027701193307068037080899399490750097069770091707555969070934648709557004070708805040080829579009770660654044606008700085000009500000160890407049050699079000391850880302270930003008486018200090307699000076805050001280995090510689874040780127400580661050962852003904039090329070014000410800509304064907000104045067960863060080893007907780600077890680009100870196240738888969793404393060005894900750670097904205858308000700000036085559578009049748589038438039700057800002880899060708000000366957004026024900070474708764860865784969000205330208000020760009805078883030440759686099080901038069706000794006337074899100909000750064600659080000675408020030948079020600709090800005699066208000480000669960393607639647038602865600496290024020738550601016001039479740863809796289210080612000800393308487909306830005910300009799680447745768910661026090742815007078000001604889889809002804300704890310044062040752728000888096609667410050273005093500696720970090006693880400090070970090932760559060789804730380977789900300927000504100086940732500709081934230690382873507903008908062072303002230679000098840800669050856920111703585770760610780780564060150800502880500007607020590780008700066804000000876020215680680046888090898640500968890008478089000805060217969530000500840737530089050053418620805300900408073033236740000082999090004000542570058676886000008009535400050000565080000000006800308500190318833016407980500038090000920865889020958405730539026988008450714246964847730000340603876047042058967380326270550580087007077104298067051000000067379047550607606309637283046930067959800613800690006816085904106370773089000736060085257800700047705385000668070489007046000073506050085040892003090907506460090059800994967563649096740757000092902640395202707000309508025709305299090357808920000500840957079979004041307009806308079807056478051078105633036380949800995000390900708809066897000850070810794050060570070373097007005887607600000000740272994027774856430014090800100066880086000206870508900668460086000000780008066490290680307908037641983007380907609002309201283570020809080800496000808007730000670760600100000998297400052548950098904870005048790088934902900400387103976008090829600109070708590391090099106090000514509745074300607659988457044250194702940790026703770666724707401000090838226036806079306077700070698000900090003880003998095018058703998581690008826570880870099604550009502506643669500050797000639890980878085509680069930270006009967959097869904960087050007297000475607160595269790690444050205396980790606570405540900060830800064978803858670688306659900240730000080530659900000707500098570918667598574005754004004035900004698009950007080050490794001890209490685909000200100000966492038763806005906400000838976908603980005008005003000687577200009402779707007098600650667523037029736036040766000105008040300004006005055010589790090002589506000000397760000056900090057067809068908351075070570366088079000090700193690731827009684098929009040880006071806800009000955097020000781890003557009778001845810050076090080606000880601942009302085779707906947990988073708990904949300092040760000362688507320972090090008245080703669406900166905000696099859586099807993050070600004077000937109399080000000009608728068950945570087290600060099040604306763074840900603656000500050963069378048012000006920578300407605044001180905798070089308076709807091950080059000460066558079800009585004070970090010178864000995200093590059709530877009000577041900780040220467753810090760909079030007178003387981070004861090455344009390103890088069909050900889087699706394063929406526039985606615360023015665054007059504010658989600740400079905077910900009405290450080080530009622968004080003680899099881728725040090600703594944731603006000900070109060575100088680890907660670050100060740655079706097306500608699455000000490889937057074789070330009086009316797009408589990767053177061087015650019963093059058099906820009615018980004579690058889547030088510971420890608705006601900840006083000939390450878470703600791000709560006097630059403809029000100387494890740906507975869018300538306835007040000900918658002890058040000497089088906460937350053660305585527808885050488090964900906585700090607023086000030370070490006080077570006570700009001892097900993608028981780080009062985800240905163898001076092843310197710868800735004501890800818960400800578080020070000709160199370608707986460001470600909900840100013090906700470060090719854689540089940049033000138090998000000050008006620837408703937459050785041083408897770609626506004559099661819600006399780099006557036080180958070766894000149690737900640200077660800773708105078858005048078505596908957880079405086035200070689906604098909936099707600900870700200002002400069681695086970550900034380565807900089007057070800800008082597201900579825483358609903009899001018906707609300709563908049400497200159639089760320401704398707918069050204607866082004101090474073160868006006406000006007094970995070800608606355907709070600408506010000105306606083007030903087646325090009009907500060083700053802090000807809090900000866600009578100990105940770460159678070555080050980094006862660008904051009759045036406098987509011905205458006900050933706162008060003039090606307467823230696700475097508006000047368150760307995500000933089080005176007968889007697597360598908000843808600094090650670076599906680126000011892002079100789781862128048900708447505046076810650559090950931009038703067848837609800897878908706000052000273641807070060079006164500054387050050988000098058000090909732020098000207797660410070065080409780746381040025036080077367985082597087975089954056530678300070373382629687000660889398041654709890575695086290138782010909800509969807789110295593877603606806261894030637787959650040069079600908600490080800600070686407640085086085827908012140000806900072768500898086240008002780592070700080740091777700380300506000870900098525900403008922530068655307089007040990007885477907998068900721973964489090600115585050030000710308928880087900246689973407078008440366810076089100035920796600080500780601505089900077629579610940798000260935580740077808070540369592380764409202077930909025101801404500805709095603699086001785600505000706797809425284808000087000708602890808376280001690783001009008000208504400100409070080668098786840299409005004807707099476896009994052082580558640050803608305001093840912806030032705909055000710590906608706800070030877300090970022000040006060900400000080509749865975000400898496500732071008005308009780805500000000500315016073007700683000880045680990198900903790668394302000007000009222929004000007698830640605900883840892075004006745910906007884558608880472601900100466093490826036730780871001867207037001726609523019070440300800409660470900000002090405280901400054480070067210590010000700200800754039990998906090825064888934090041857087088806008665674485660632980907760606096005400600430006500509333424000807554700040996057050590050907688062876051670444908005000940504078877677086200800876042889301460660574876909205285907808070089950000908069005004800754710160856950036600000018900745500988720887700970673000080002405839973353084009961085956098036072707987259606646050800607290440850004600870979969390003903800381900863000099680000070990591095200593089399706000709000027601000530540678753900090602905990690548280004098959003080773025980607889321081700073909000839090848077479780529002990869908800088164826028978767058799730108074606809807800550382070530931330790970209388096098900009700480680877052250880707994544358005049600000400696008711090908808407098001679609306806095334000008808590078073994076002670052009308105608009557804209990009060850640945800000283987300259078660009060549797400090050400290058509209860800810472369806000799305518008420703505690500000122970750060500508250085060706072908607687910640000200030740020290105760000774578087800593000030059596405604593009005700602980693596014697895039030585161170009379060871700300480486807650050906720080083894016500809009046672005691005000500038704070780282380908959966908970055075890800900785070998870099545069374440607009006776608948680079078561560000060604910600608955897474130570004000399886790306050700996900090041000019808800501607380000707005600910190449604460807356595000188902607809200202096080805920784060670035009706635840813240080602009700074085306905803008111002060090478000560035063965600600703000626705800370809606080696626130360600920960888600866700913040099540090999089078006634005800809555075737607888002947000597070636225378758000950006059009026948009990570699069070009470007727008086090789056007200657900002786394059008970950080008780080006400501709163667000972700628006065090079300900900990530800049513075450849786371000470056576600099830077416067890100890620770271900337000981060304089290671900577004020006000005030839940070805830479010049560069070055062700808702902000004700900499070805308937009004367687070699985408988040094044825000800958080364100002607790070290700003880000386775586800590205000260003596005650001860303485009008045590703000499964010237000800808070064070806094350019756330676050630337850000000880850505254089090805969003398920790700902158741405950740678879504070088860300070090987500009748509030807000005012569900390607903360500092008076900970089660406000389050401038062836585509004810607997217985508160470900065262050077900200005615704940100807205700883098700006002074507070868957879093704722900503660507708380900999009800070613004870000756036563637100005901080030900600009069680000093707485600308600695359990809080513367948000720550700901091095208907800009608178897000860102050390549708888000380200798080700043000907749503008099009021792948844886760834060837626208004030058507005078509580059705860080303054687008875809972700070030035050630000784000738980073687776678794604739500920007052740800903654170005599557503177342007000884080047003730442009457960300033091820088970810709470709990000500770099509067000090100935900430089050000497086800891076560579003000309505590990504070005900080489888584006496005000007308545004508960566800278888408040008805620003703805700035880000632542086848990720879506000259045586104008560006830054525978720200907191759392800857981009000509900089708710427807099000057225750100574509077055088100508033105906800903900024361568038730707818040763809380202000000005790005563504169004308640068036005809790500019406599859070097000059045962980055007700000070158870078700093060300706966008000130795000870970000006210800890799770048030900570820754501640000604911700005770249569007033542006400600470961698090039806520097900780006028956060508000850011974059051007706076907981796500000008307780019209047090937007707469006696089800009307700189299508980320363040120745873090000880880050040807006970990995561003080939504034477058085090100735050000700098600039759700640009500988027500739500680870037008409040604550080040509410002639440707090095060608000860257887895804310706075089447007260071655590200804780376807550803607050700000098917070809790039705504079004696320593808048000702996060508490000084973704728800300700200209086989490744700069068970842689983066040073000000690960886092054700160000007800000058058085007080154020017009005040899860409090093808054045009950760108034004000800900560008808034097500304096930907309095050900020900004780094071572663653900077924854159807004860950889409027000038007000581999460901478887060728017039277808979570039050038078000035098240076960004000909030680009788059558470406619600955700854077503055700860590401017600290707380670820070292009030789099008000541098560933009024011680009298001091160079078000007060064660051503938500908906030053040047804800007902700054490000855881082840080000087006584820977880025613988061000005000696000000900731078700699007007006657544507800078985008570905385007298906200480040049268508865806080991004096030402100070990051450706250902900204307001840344096880347109090062567005088070909400008250900709088807030600599005067000720106077750606309967800308470508500970506957000500694790081080669010059890458090748860555028000790799708800007067815374792026100800005047080449259010000402000800608907419620087900630889042000210478020633039904758417443800009705700774790608268368620058507068637699700001804785693000099040002860200063040005207834988078823037000003009657597000308080309000000090204603067699700800877000070800970993174088380789467501408707205075408008786768080747792000073071248747294050096800859707799030699949400800400169959409097605058000600000887800083040905003749576000708994800230397770168614578287300009008049800608790325475077878077333776089500350000000791007880330205073040558486997679020360090663507808769015980650790965909970607078447005175087987092907388308600600787533069909040390982800700000759883394009530016898056400096002000920080002504903001845050107670976310098004254400500879600880962508900560086098010908000003896201003179518500925506849865080687812030008771011867000700600090090949193196770860500487608700889743050569006093096708063079809630381008406844007006908276768094594080000066055040997810990477050605379000076300091890437056705022054903500909040156808302030337087570599540087096000070050589006672002098900900401098008775498850500300060970806970010080030086939217909058003075467510862806695970009898900027808096471657500917009207000090809040009386607704000080008665068080080806870906069400082899090008938089600090170957431500730099806009835000482064980096401800069769443388676398917079861824050092004930090600477099690907978007000816080042807043000809700709000400037700060080704002869080016780400018990072008798570302000929994680580673080873989070023670040075809009998908500509400070501373600861079957739050908078033007430006850000462070027978700460087267080095006993006007819083079821600600005901749518268905053000590077500502048070020919049009730672799016080369070200706610082005690670709038003093083938958801033700910450074500979400900006068000900074070302784079979500967009000000066104460067020020038400499207779697909802995077054980097507188057843300824296050900719980001956588000655907077006809538970018003800884090080755000068757000080500709004030606660021860300557492000730909259086600460609860706585790806590000795655685500583405700970208468960780728300650927009005400008009070000808007590631852058400060057590079080570007770668090570490080804300500750107500368708600070607009388040090045009080308060300649707000943008008080300960116306060011900533950605473901086392508438920100062978010301025199480000200087084009804086889600996096496209880934805827500474090009808637780977829807020206801004000081779859959800060055622709021000600040660599690909207038045770329368977016000487870548100030170560809970000095032807098879270908089970757008816170407633808901597004950900608005019700080047070380000800658009662803600004307570097000889950077079586847607808689460708973700000081980706830097221325009780044788050057400600987710040709000968074658007750560934000190466000909015006999780709703500700340045530845600000704100900870030800426307000625900970037072049000804405996040804057056300803850708906529690501087060395190000300360702909053900460080070069060979070050800667000902640809600050082070040207443048363694803070447019556070580620982099079623016000076006549586960000080063090599977058070558910005057000490606336956467877009909407875007490480549343971488500214066200071782950700793904051090049909709800920360053308065436809095090844770728950860062455037889957600773950600040094880010490050506964109546040004709098465808063008909336309505322950952300567128850500549640804039660964148058069661806009909000059060508090968000031060901900460086040068386843740780428120706213990007601187000039590804300505900106090072148758830600084090083978930950206198630090584400034850370008773570001809409077948009004004900963965759083500609995050760899943769080907106995037700779006090904073700057020140000440804407094206398998097656000790770069080083080600500760032598550099072030007560673824820068014060066870970058790055090007090854000050513027524605089909407900096847000506018003042600099758088098700054105309002570636679003716530020009067183606960984704240860408570067499168968920089062077005007908700203008800065590000807585843940608500085948500601708308518707107005544040030078000070200044019300100880850707075200780070808506492238508179300759800380577009876910326500462531106070000026084750974986203780046970308709808650266008440067860643050093080389009600472070549098398035000505579359060700608090022746954100880800806906000900007077400793050090085189204005500099009009080000309700026099727280000355670062000260660000030497516099946022737410700857079090868777280820040860290082108380909060779559908086182004140709277950787086097080040508707401800468080002093079790706037808060000628068080509000040445676009608006878099200056097902760000000070700380294007700000800806005402025960097200890000000099098990007068020885055007006053800989037007790010036780000875089803002860050890180003900800996750808650804620773886390030680007567007154072929077000608770368670078109640290905221000006486663080050166000000079197869090360502777123404700508820909059000002469549009009650000800000698030656507868009377409007848037578540890700807080000990500207809654493505870060200370264009591206070805009099679400050090063080600977869108980006000876087080360095276806056901000606065240799950004005871668000676583900900000697008802048160805105408490000000390630457856865099800800086000000575704006020900470058689000350003987898842809945500800020068055000379750764708215403694850003840960386909775800005060559000060006011000001044592263045006005990089607086206003155603587950004700960577980809800004002070070800690010400487099940720306887019067002790200130907864869006007030919076003649080004209000259807070628760085000206380000590747939243900006587648036077099740948418520008860407200047154484887086076790000470098705290030740043078000067806020300277082307576707007097006600000038507472106006402090805005000870908900986007007558000209670058130000630960000031508000909500009301870959530404062058560060700710163007507086909090586717403057370090637304008003086504854776067042008664047029000019575290950090874800080809080708728099002608906960849000001988500778004680508996590430100389813037780890639690790953000102909870878208089501660878027829077809060697600088048089051279706307868002607008973098880520599390036070655006797573568000490600007909340490859496823196206630320879909009900099000003208917060700008847844070008090400088000007978039805398971045576700005090825080997900671012400700007005207064044080834957000453004697772788977700800609780330480401076602938579950880990000060577000808460006800800006078002006330590801090960370084759500790868088068660944509779800690900076780185305040869801089000800280905707009082997000057036059866300200079725006000699977240966009000000636090000485800300357897040490403290005000038690428700400007770397002819004123801570958600509620870260689150840092000834608807000870995903008000900070609008760113506002500887050009050056902709070067370098689300077070709757000086460050002318086137966708243000960008600270575590400007086098594066804802060970087793660800004097065604004450403775077900897005080940120590604900078303707230065860040500940585630144005479663099408657803066408376233509809695018189752594806009200700259840967811000910408398398726290093040904000580060828905200868404050400700515700040909605388309700650776085663909848607048405700090098020030707630605900600000900970079059950800678763400004027000990020800529790846000006905136000998497970704010006900502004860830003900800080045895803500090020802186000100080860988707897600050000080500095010070609681406179672307826840089705880800809608000000791730180094552570002255237700048040027746008907900400000200190887974047926085000640805981670845909080980049386019492026308997682797607200000490209807700040199090709678195009684900021896676599000479738733637690890005003709967000090088979477703580044056304909900389806719040009617819287503289096688088554092507704000090584088399800512470580481790071820964790087885385008360709530089020970770090459090062567100210050717050320990907850084872280476160070050070987700005789703080884066004577056000001603080909806705630100400800608000206670053890502017730585090209005598008208670900087888990761607537840339708888708605365000895060000080020037607802006001760660088000030960004032000387903640066000478867652030800073085980000909390694080679891804917700087700100985040495839909000677798065060055199510000790387078272505983746096050967800210073095400659049083097790956600708708684100006952001000067800035787808910596600300000700627090790000605050552745917708485605600040027057197060420005040486787905080588708128080060690002080394483909050500199099007273006440026390770998673704932795790476945000330504037048280060609608477063500127007857580570500088094845512009969000406450994020677840166070700496400075379007683747364404030000787600500236009010900517065201823600070900620780489080807736538007570008006807974567279776000000678300300053020066043809046597210996700845186037000890870309070116305734005707308576400990075903409837000529206600640805709030060908090689090480080804059000060006064706003043002470079900706002063650697400093170086219079007400000004902640064730069090076054089717500605084060480000816704426675000987493980070037023857080850088590097094865040083007000238000507160713670001892058003905770608364800600561702077776050032585226999460000699208069800605659398909209900700371006009854786580500370676101894060100800009459020087906602068200708800795854076551074896006858070900940297370600702864907000383898197903707070173480664611002230890800076989889071392170407200960656040454700960908680220695279400600905909002960408710017060386844007192036303600189895602795790704323606406080070009100900598051800047007407108071004378019060990573030605050880028908058001800940000900780039877091008644003705035080903008797590330709578507092709704918796099000697779409384700996066004099657586790810048705090039985905205000969790900350209068977019690390609660755099490560070470655600347709095897280500080004884109670828905000088020080080054919020747664000039970609039898038540306400869890076197540007080792046963000809322088563900908095644000042923207022084800910600078860068063583690600040980801966307805158890000005000580702078009000001447600090000580079566000697798868119609309900605098290540605740608708606000492008330706770069430806990570040570800890000050600052850060902107094000000790494705000200508069008035794660736009068760054030005750090016051570800407091003097770003009060043885558000700298090050325000668101029106068525350000848220080000606800807888780380168560000595900969700090600606409800088008907022655069000708097008343900170088800080890809172709827628170038060077098800804905930399994148009087045610030080595670705080817762066300000207028003903080806670605200000909900630950750988063406900652200328750020013308092308878640310309600830339709480000788950638888871282958044307760059787076057687341840094091900680935040429390300605003980230090507006500300694069900970007809700880030000986905900005997674982069684554208050840760050824600797097807060960849780497444000003670019282465060700507070300794904600304938004379568505477000006786070000036859052007700987600907004785085006807600890895353216000900991000569006600990490206406006891090807105928873007409800899808607556588000704079058900600708980508080708808000938457003370708866030777089998496806779568090994707803056528970006688552570690054294892280007843956009068789600770530607309806800000950268060054694806800009700535674040930000051989100890070978360066040796007000489062100800890045008770088800040070684827000800700078090013747080079403848805090076279960019806071000820900060909881899295249890000900906909580550015820155924790974094998873010000750870000682608280605967009930007505751775006517886080001070903094969760097047050200600209986100087037808043036000000400868700035777078905080903093940808500756000789077795708870900044808808990420990587898360647097005046879700509909585006017000170500409893400063000006833960004700604085788002066086689879000500015080080350000050132909600368615775790900003902003698508678805701058009906090640609009580503789670841007055056858560094108070790608500500509006948080177606906022908838500003358700508604097720077090071010900069667076875474209067380060637000835370070580301950043760889700006081903000750398407990005150090551009579426906250004900920500500879955967804980260057004987000072709007003006830003085500594020213764060600010003708009089007800654900080000908867480073085809000079152000000006804500858005943800881400870060608602060508030078530908036909280727928440030400300007430909760016029404006803099743080706907440796000804008080675020890770540786000899302093008078200900576500004198097080620930900830009866886560604020675001490000651859800898802761699201078983779400776780000090002090030000985578903086360923004040095640000960084567000950010030308076087594003626900670008584960030074400900660890060803435000406708863900794085002900099589505480133600288080389960845300785706050014600989809699390588259766705030880705910662606998050350977081579008299890090090867080840800020038686007077407000446080760377460000998860012033470890090180000089587820369790448008000106050497200004040967080009308498588044500800660995020878900000046060001217039800037568084800379006730946735684005504030386007080673976008703705580500612790004800350450880901009170009030707000408390505045060618060083860499309525050088600459000780775300008802607890700980050129050065751249080808090300600550880601003830030678000910839816904056938098005730090480770094455080080071465900275609706007980667070700706903906006876008995090078600068753603640008069050693800329588570490070050002070097078900500946602188780080845930624006000800000808540060500701519489009002707646037978757509259971082987000968013054300007078570099972900670679908690580338700902805078070751908878083898704040090070979709000439850909201990057970990680585808050900001477501900030584499030074588067805000405000901084698650020080607186605699997501673070060308056080850599005803470609097008826588091008034007201844790506344057545003900000827680076804506990271900790480709706754981068709800800105983774800860001050006270000027080906008712005704039080842050080660904128871400009007000078498006906070000070468046030004772748900207000609907090777515049040258984900030903040005813850748513000020280070885040590806036590059474909995093383093000959000090060000757969410002757098550070005088000073508579870462080700000002925407000350302247098090009360078095079605965080583093088840680090902870000004306939780050000790079000959754002089443708749089053605802564700000009055097000980035462059975005758900990400709870069407200319067047000090050094800205390402902985606950000705202580005078000607900738790206700553820099600792080980795004151954100400071009039476878593050029609000040999835007800079690023005660030060903075819395291754017037700909570676476640075089000005908905590460060004377981007030700966900090940750907037200500600608800000662003006072589390000000458807600098093080000899998500909690087506750909100538978920986001204670006999040098046060009069200698790930409049048483980035739396005500608084303077058000492083797188590006007057005600004080700440743018099001708048778900272480018940270509997606401001975261080629247995060618500897060080002400090000830800960000867800000306007468908606500600660098094081704906000050340796004008790900780741570209567609591806750037990900130001400680900388895090085675760094020600185997007000330000073000899700890005995608908040650208053709009001809009800496788058985044505698040607074057350892997027090005069980000120095966595570381502077073750805193606688680607958068000028080887885800354304280070000000106230567608026200362907830490006701805660080065800809166651632420498058009086877090700001589378998336090073838500010097100089482796080908100055049533090030099010056490477074090008099018210000140710049389865880679796272303038950600060940657709084000008360830460800458900304050008712029507605504000718507749000473565100804576070092581009109790589550379168969705397636890500242109107006909863058403879620692596809593600767908082006068518070207800009760868640099935010359700009070916329350049041500868240686840627008926000000087928500070009965260454509859750870065408070650007370907906579400432896009089066206647406899019808128078866590400000305748904190950438048964060088001077607088078090007093800704038882339000699006680699000077038008778900009501188900497878540999705450500047000509050980626000870486052469160857451935194090058608099438086000754007729008820558087020425870057010739999254608074084009680909790089054070567809933006009840000004938309960650790599048004899085548078997948509001508907000100651040709968540030170020076077850049008930492503377209086089960540689080680098390870006590706706017906600900236040400030036008080944379700045399078067095009554700307007980098990931000064070053088666070002870680899546030005700040608080207600608047828504954078090800005800866200967780369987427405408879280300780552970050050550029892890987961490094609897773650850921308094142521509508995080039078900802060000010400000078397004097069560765587879429401056049660089909000700805945078709078668909090808006976080809000820085076070492900000004939050050054309900306400755770809702960763776404000352640097890005044807909850007909006990095743608000060709800809309100025523804809771000008093700092080054030806031609000540318680874790060900000002046360000050009607609404640967000660055000060947009720300069847790066055200706032004000609070580980719687167400027779778070500390755700009882600247008507040055720400000967430050860009769559890090880893001470007490806053000007052511802200705810039666142607000790278969090980070700109914000806704600008067700505018307443050570659259046002570092004604834540660804701893805490279630100045800460999079000408807876650370050503003659800800040850307894568307029003006097940808600775708106010360005004940034067048576000704600800380346065475000063487689080896733570006450040100509076607806480000960402609396905669956028590866800600829078023950508930500778709595086803009608085920800807390008490070070367758000934680690440300050080100374950007472157059080590155975403780006340050074900976000003860005905090656609000930690024986946009002049066089762200016070760463099000060040904080209077509894358400910957076990971090700017550027009099100603089077601906747886076703378805319008769000976086098490920900609064049975707265907006700100287700754830858930409100000853928710300709046002687066996085939058769050900960800706289656627700597070790594030425703888892040900600570800717980035020677688906000968088038020930902803080099009880893630007599796900408900000705401009700700187007070708800000090408506003067987098090800040485003470700300007719034060077887000400000730058470000800062107095084942209474037798400097004887671160074801905237997898032900005841668100090567389804074803060707189030666900697949080040009305539156001588067060870699000007968906500098096600009000006800157560059069800418740400098070808998057895677960159868120000000570080049060467090970000904067820059694875900749995690602405009089347010999395040985610796786000530405547048967799029000002093090020000850600005457183550800009600146030090049700001097007057677436200557004088080083020798509094010000670477503300698751276000065885000906030505600000409700377197908570684680500776700076017560844504900602886608039877097007750099608390906976040030776008066000098070068630060007005803557632690000405605089626078700770002579474612842007770482005021000058903609086003078408606060010300085506900093605950005490194074040258880909002003842104909085300940350900040400930640805667090081000712906005060995305871577805020808707052906500099060600000903937066070000074760800005803908999061579504500788299000369750894598010548004440060090008069000506708078074582064759700460906884393653860000084810709300000903908900407480000803667000086100260460370758208685240806008060980729009914798801009701010690650600005406490000047002400640009600000057396848340095570603099380864060670000069032083980758009090007686098090768007050540800070092002060128086496010904384768706826704890587008310600880807007693040550005507544789209000048008787500079506970006057996370368000986704597720801725279300580938240000888240607508000352670670740886002940344850676594700008080199975098370050345000500603766600609000033074584464555760058876270959000040305000048604003695998962806495700978780307009700980712704004008494000992408370008684057095046009788020700097000389309630770085006860760709007340063673054985819000949005812205488710024400040084100556360399100089790059900690935507930800807000700600807057269461533080088870618900000346060617903000887049038085940057900090607005487001998670269757663806560033524339003006859715806899430893900900760677707838083979040000490020910585596079009890750500770901888630000480874900900079076179580001069659850903715840605239099203470068589360760003070050353690259093008040476078950904409046000610509500000037080900402039398642040885066640080080012099008080008605005480046080470208204607977702979030003901008001860460301705700780060478132707788300660809005000849405807700609663000950605780606300000960230264001000997460989660850809657097703896008582137401700098958760099005710542978826469570580054070648992070030070388042963009662655707600108000980011588902058590044460062855680679900700246669161080408845089190499706080006008005450970806024978206002012050002994908260188206895060510090730072556410030098243183040963947487708882009860040404009579716830170847900066677705067304200090080008096900050000070190743000040748287001123550000793847515073583000408547110488300362950009000046080809707498060506567670040500098054997307400000700076032000090590009907600571700049903800080806833654712899622770403847803608040536998092007354887700379400760097460000290050010040474762863011600878799080870351728506960059000030793004909050660679700388900679882479694598740004799050002900009806030650889009790389000091676943008400670506400025007004807075503701499089900273508000087090408080070088640489600040050889096067070500300080899069205009466080060079005180098700908070908003050000025149901083745400961080060008703549168695807767970270379877000700909060930035093850800360980650030202040298700056005047877008508900060990080338916063092007003883344050009505508739290909053717072300800309095097001988490950807607077000446920050801070669729818400990900085770589690741090606776740038690000807005003930005876509063448039999004300530008003900201007094880606000026056796048776758800990760000962000549265097040515070660020900530968019968067405007000770504489600310070944808804206021307609760752099097920497558708089602406807690009097046056067467597065037000600095570620032004000500104000006000003073892006008700000407100002900855050000599086850750869704642030094446008990979000088060901906206066820700070549800650070000600060084200641089649908604026056082008006767058099809890024800080804048040840000707055671050200351880430008904940350805050772070009090901574510610000079800256098049200703580794124079300601767620770804050770864004009309531700407177870066802071006816808800507300569003240947640266499840970500100000090035786047100060670077099009099002909500637738060804530554040486508500009077884000478601907679598760095380000299385185806698890006338868008876787779953770000820098080052008274409070091703107516008058190690008509557300067780000900577909368883290566603290064291457089808639798070009069585986091013080880807510408500990016079607500091800829064149600070706299098000006025059070794300001477406054600971048700965068090587500700500564061738030009789060427452600470080080136008670784536907052787192481200090803860074850049069705789008600605120900624926950700000175804060079
