Guest User

Untitled

a guest
Oct 23rd, 2013
41
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 7672219116077819964285293032928536897206485687638118541636456619830291314132543075538150367719864577034488297634755331426399347476192251713928131455603673749304004613389739054674145192900064375890991353766693767032249282419034271922099156385590068096388869216427911115087697086150468750871702423699684638043977269211004282980378930131212057439744181597203527525764098712256931680662031850479257579676515176779787132746107485112029913906404331482411224791914666500056361994942500450664868902383478453138314307174270161374570190511866148456432615706988614356305273834209287378378955497869662590046919575053896534110070748041514787842082586419608789145848930282259848966554586856896335708186162249313621877104038279536191878323608233257366478847672448423832215684600461880779499576140577150347771358721727866943339304147971814940296651909250644113664336240507653967303603026912346190768581758487590772834988990812207543831715680906285928885029853491774755142620456819096564439515674706615229753337598234628223262406843253540300425548673428620936746850737831775172660936059364171322814920040126867468285023643370172521671286153390185956856025232264061286344962720500087445851618518792671894090254929889617905514261910580296999479178601491318658859615941945815692538949453537381800510761196767525185607775974936451944418020416612623874024069496555430920502056324235706829462400041593546879009867429459758982568014839890251635678480982524494244627935978026892729172039403415013965205792993422419318521032148253605008692005533321806320879757628140463147714747295259669077841169458753917986847152502941310912411963109536887002324659652990809184122469987314278091759494823275935672746726605946700731194856610706943824015770577466985080376866549346064780277882574598811701383447105675028374067413655563271181407109463617753464850605371480767163456600384681015884125806953078070804065773513067502143596796392492444806572199133704507518221335289977419137939002703263627262785862605198664656864531344223112733836374637623053403504035387745616897457226786984546395502054395999963366427347773622293569122549694471137854734644995137332842932994606113083029010709958891617675328711688912027093075231475885571325529300336375632603391108976925533731143648418199088838116768483526190779719988942516190511257645116900252337835488011298425288694434714731856489453587256095938545451823263323217610835155837512752422852576034928167539602538445195296137584096877292340845469760300258324138919885197337322208583759627273717551344327835426868070401275023388254368504068800339133421290478069118865168070320557783349869915751523620725047001635412990213172665317194962572865214044479385450912407346434433149075958066162116575428114530738373782134944484145524970355973351586662421649222150482226463413104903499757383909431761515333901097705259769275687437275168647234550839420642915036384568814767705627452903487645116367897713499664973351006867402966024816500483782321870584079356215013715222602551600831655207188408430843527257316363378488796655992667436087359630506477985196112625302523769975192705639262483935909097910311927479111721101727956594193536699009779127817527708459147507582456688492513383857204569438788742456414713788299328109862558510406101331536810650021713178895744035264568742515190060551575555588426350687782086815501494036652757292233201025299012794053227320561320522500062917302779985464350833475222002747895081359359547198123161254726752172296237779192054036062278595821799293977664912296505847769471125705713367532095427690135189070703946404121390790621643278725520665121479160170189781410066345096841799498600338419661778316637948488917236312304168098106134262208224346535869536629151255359724435654132377596184542915556616630903966784075633199263927509238842980486456460092537211470242239879857701320800084362540065162035597108632779436600081224630707879654123810854390229892150085057846640830740494431158914414102268635485933132040508616946078252134797042383224286712824451132008350818553187719531950304036103017519392302249477746650534349713585320408933718491144723361208712521416109440868264266808384241309183210195691539141251315964241924644393544216950262539220019339032230620064396210602804797007208482456872430412111439528675239175803229367016673466778562742619514177685611222194725870159117100608203092351002472245190702921473975520953200741476313377627744337330972650041277567140126415612844147527819721009346324887363465589383231727384823644708041849820194426244224503514574741151716387451480795952172386960639258936878026302490304146295736674093623085651792793829182880242577911598474054261757456366714235324927848333549564350445733209060390800802745445433467110690521289509790691176130820749629312134389135124375634245060475521700499674057620025216398906466485928852485630633429995395895929272305492105485064947846825318521645612999830851877549639232889296032245340732059854962363021341079935101910135962852647248963572909486934317806962937789945033982164751267326498634199871678097086241986681112849859209337775458679870426949784254793371026212771251587343702490436691192748996294427299207565373567544809203290442807807393350245068510916830205525865800034346803714349916961212045567042382522477232903944223558095072753116327096220857513997939968990692244557453502159668499848900653244849444238041390350835894253073015866350257721314796224664112025956328044821049874961748044937034115208334741640926725958319321788731177169710495974859059851389517910998079065188411890660751204836671991418839110229882202349065414585266614639766283321602965571987572311236178177385591571794888017528310464835415876170851272360448926383467566150321825600776031304773419987151271473145869082089505213436793992848071340974621123171224614812413630316301078354780554415242605072910110544998935132701299276858475995409305007734167698904411768239794560531637739043289594231524446483887418330000087478337064230810298447681671303148232854627475937442445018274680440710786408246938863506143644013621626164010975540315951640000288151670912508301541894052338445245586639983547807682146159431424306447831582006305893713676642536076255150003804233929691524946975590947493912473602349115572816129210856179306470802398603836186410181086546335889595518074806360339708071060632525620468145860444888332638780825259245517381202669098273094599082361524508513508666844809695350641086089934811798873412651380050285276391055086130676198479704456534286627173049969616079047784473463376449188226412403799065754668843508654864271558471740277757706574127447419584476610643726841682130651456098506346839496419824326560366701392131401955605413198837340454473315018450385192248683314709157652529598125844546336944501433296320820293050674354244508291554834518992795360185195617952029498952599689456456226331430036411039965597845740633152615433773675444093203952837210032670808606146936889978409206016954505424386500361739342611148720589240039207902138372666629854552047952828232670251852488334954956365060817676302030017143565173648771705338178837137541687167706961653588568026275944908990793642038692181671834836926594109537284856705675627649004978549223550422740571826564278465915774254154482343599238467015526958797182393546079561560191829729535873019876155189880908655982566888555902951275033278251490077838307660657839782797824010250522478764171349324201992566623465207603471658034217315361662837968578242139684793714599344489642602170022260645589298500556923402663230642650199548713872947886240322981100615996283601934293949121057226279678433428685615586212431718151763447578764185116986186926445855867947290876318899838534919875428537448379219037316686339438908440506995746807636992803601198139676921027190069212040461425581591361809049972669371144718249129804310277838089473186331163236725860636378204377298533957768032841037857176999218112084446378348025730590620221922688894595795368257757773488005580066617634857422252697143275799301297921831530980615066490784598293517127805156579923317063382490972646620914113723591127845046074124251333060825473645665327411615270745266954388705238543275466837015131502697012322218283107512299110737195754316718527449062120110842712750234487958657898419597026829891939944097161698963896807596991102008599014512198440030058978401735023342053249607380897931195577340288794773173636733225528838184241530421578129125863955660473425691852354426727217614839236244272964777952741221609974571190929241499537922190550816344871079328377312797693052710497153159387706211840721840202007447592919240055144421887874271404683322546443773270080545134895268926183595981659945389096949525912358567166067959966437778546404797259912230466115349771962448108552391324437742927473754939181970053655394510278402138690453575191630152039806267864613683890119307839559500037479710669146273186895152266367002513039373559460312865461785900031863374133422939314340375554477470976626926412099913182302424208564601857637260360779197393358865397701239866021852438370015081128031010328758257726709603041392170385514539950768019459428309202534912326095628216849236845656084933932564254422144365190262858221103859153123661693102314262952226016734271634102463844599151486176513446736577749698377651277370663068010855780509480240943279949284874939790646918612719734612764109134737875742033757292312921666904142461447901379000425758409599457549485444352828547188894268497722984811785980753260417997350622993874607978758184312683753430009525763395466784986459135686128393771388638164603847390543001056850488276950914370778263025328718529014724549418764083117476164412204016761034526384686708714502557728822274746745553092140117976649030764262135757535978951232174659181919858730225846390024194704072890863448491810501654966084450033147418892384975570908695936838567919798501075713587893509107558112489850515538797929963089068166363824996563079024775011506396954222546131670746781553845430038551148709843015973212726575967661448887263936488277729746068855088234084072669158768206963387495169446989453391994248876842275627345230171588067924667671040215821579481351743159536009125419964568412498187136016440126650573962756301732491677879475936137823772259372514599196848135639706556677567944271562283175856061499374595307083643594598783985277737691032844788883179921600915588649802416357580400386409402543962850658900798726074126275311105373779831734814726210304630574906491465987591654079889341775656960644492057810080541135766140120279715686838899507038813477238857813390773630272512226733154959059892737181283037618419153417393315950090804068617439450000746763433515929975509685436746206210970195405713394444754567165450801946139048017399122338371920606075212003627128280851238887453008689275058418544286806097629016044368688252075290696510987171466409425480138414456418302825877366278499847109704077346778164753410985085063783238312365906027364643005060923388611137488699157076361302414800339453379838496490145834403286273304811528988512108407642714842546260072256775703588481247061206535692784563976041192818859068680824339963292515470083029040632584008672707891055455970291428912010208800490015552380448950047228087816123503978818990821993887352533383325652066896104209991714283094993059195970178192599279062765029983374094133162409666094481029647427069632413196694067260335105794612130380670004465830705283067269862624019071848337745321483392047822126022962400188388711989818480752928150108196329515961704109207932088607588128790894565189855777122902051217026837161900931162540671353306613965266943487233568562169330003763132271186550291423771444393397563402383953502402552716314619920642835307072923701901181361327023692137122244900956056393689176335002369717220929064133447740329502245125499560754994454982257957250091964483355982963452858599160381187851051635003189323749449454683625920015671340154548495786738603144632770612810388502986272426943614595991491400433818781453309846451676203533642390056762415755148326810719443002412889807264096365410633205089664863956543871104078502152008219495958407244880963163259551214378100553777248746844454615831023837623376976354766432074273717872645565139741021328950970926824921194737163552398638578211697635151429260388427022474993326716331266067452246104168547473617170508544195689777553919113686379779312821074906529654276850055658234469249570647460646388703489230641584406882736950648256195822872153764052824983706786880057803799476816471523060797756370999603701368255162782972290583131051219473303294479358143006085660015761841784485409994104150117707261172017468656672693912645420280387289777959414945869559974069710869489541554742192899233537333005218203003334483005084938662816166849756737581365989763418267025676510581274602504622068385623408110681102293204119855199886880154508101771397197291690390199313922933245763591195221604906649620798845840451525698624387450985890841141131605255766914142847675997349947401779150582240745071001413008206254043745368622062853277938330289076271011258540762477846341181409286948767101216132263631075450872902985828594128749055636265414851606553623683467443341273017766995928214873716031599993870867846279627346232432980959212376005010447257474034839571388298472602190934683438966341015670747475567704285826125386858139632047496651543344905903839882923423875936767274306584495073033559485014927590570190629417477410876625255677567435637764540425847851554305817191835507634120428943877120618509731792042756671426767573878446822747457128862163433484837393224353758967179202978469129836888082518659424765244143545583115737940964032369165450885652188606917187541854452469513088215884068850054656211907002364903192468586937587333955568223506849703918285376871837001187368447224520438082133894372736545946971635495158674672755373999435086664713642004392696602363446343100168854783284052798173484928423099929778329228792377552648989503107683007942244210643890427299087285823145183251688163895653375133649620284034643039728387076777964920123197383111070658381759370406393169398191325364207702323342441632138260915998888403682863821145708180314204686072955491246523695192535242650689608505656666624373316803511371160611146640678462938790589040615542170573951529812615954459278262087015699904569662655514904995470142296240487783890532993085176899332587536377638810350485528195005004285012037372900954245096964503693472920450781070770476882728220654957004146380046279671506127075423245175327998248370994217911360639471147867378679244714730044335562778625327801612841748833411596493097837122598737241656856592697391554862253444169961229019656590944046286022064883992369246144668299573037166511519416912971049113325551811606598235625497917671906357477322633994022196214817321383545246379847668229643961601954249379689401829478545590131612574327455207370550066746150069821547900565791276439737313618558860893325016621000701549755205358074357086541172027006610839845729601143784927735239183760132493276988909623597548389655041297527636440666605404042849333801613937011557149939114058714066581455379805218631282493365935980756085490370212033943573074530742122262068309382033387674864022211655023319917408908925687797026028286751287952771592192705774879077797537080506442590491499747010606680640306861995722703305448295030804089803296890828425490139719147048249620316939468635936431075729777742424165168896019670671766993984440298415216077094623388116946691075742021941438703437467695333423753910819721265039078237600417270975386956768069346242705842580096827108938792553638618048087965771409933264914273661542426137910533274465507600684447109235685397418973088961844355845037627187501307746837822636067779968853079098665926699768992641168732086268964893518095326918292728674371503468535675325036963807222717568315073085346254126852227756401718521128180921789864596943331357958741859482680251353648148527402369769802090104461078754563131241013938134275295123056752816248531169821059120904739897747740238682228263634481497802680198538600876078991272666239331062589125365840359368360138616715776296774879234096761161566039492725612006648335412912392916021693960153239165747008306202536511101323193463800001831779553351542620273974045717141373665449174646302727445239488962023464819029737806538790437545006005357900479048704859454628759312462292051206648905037572773033529955704298140838848146563371807160092086319675096319025839084725178873348592640664681184773389222384866351701951807133727729250930839546080991380074022134264633616330552691991387482147381889722440962887086643965116506902453273104785123299926200833263814687004663028613015409047332697887783604722470893119547299445911417348808372159609212778639832962923458858785457314864705614870376990254785302846948737789245544180149281175981411474630808752008594142884734715632252619049011877951110185441563263693084371156113483464230035684383119382271572288958928729246049839176777941583340150943299129927229581963854972727914507773165111639496636082540545415813867195616263428155483084440011229803383189350247684845441805868467281539145085564900508597952745132512090549835497309500153711710913268139137794924493858918420260394442190698493317610676870399225619029174075085946472490400660300348330674225245650532576321183583591517229654709815934847079305446204706167842153994620500148903491657546414366641304767698433127921368549364790895470573143235288443154198721567892035894538861623121590006182783343424956342812435668011865439544170022278228750470943880254890502396509647075635473579594345724352120157464736259651470351415162685554080585500726786239632071042620196953198961940310275664794847643070575318342999271158843884727987044347284338235115105913757210433530978562033806994568600748993278002183963142453093649467890548727818633801051775452044525292209395927282708286380049871940182825363924338002331513007367927996061957718086906440769222538849025078376544631178054527666733455139678098498111499892135438182477546829185987035785125770289042127565005557657851975924352585275314855179711839271290439803251172481856675220008789173895999095459159305256747607450366149846757845324239301356943568938862070622501705585794048951075601394224700123239250699011444692738771158285530800727781508068316380659337887718250101394891347693509514060572180052141654341686376257851212184244912612889747661162467003088584318950971597151398203036312392021744453788834765252584580726286200689391383340018193946388798124683623989167027372253469269695683655959603870612128718081248264754273564354946988081096739669475391838336007214322172036335030486562765194104155363826211879445749188994953058709807622737434092579947588462484450721626784176971031067589769916913184168125701323265463114480298156132996099354053729651399245728765615971561099423790339512482276240050105439267187361281845038323404939982475078374429311190033696955959253840295066411841086480237717408817410707117278588731667516564747104184057960062197445533559727537994371184874404145526758650803917010749385344670057940080386377853631900183653022859932388530725266832578029256873439646242186489619712180858309956989068693908792680123945824705015308951036675100127365954618229838320233840082744474172225220766805182607831117861633770657709977889288830501315961805280226530105988905014494025396826846597359419286082747926700338199777198898633776548240302599702789875363014349725085605291712978453683709152985054728262571541786357241362419664342584459910538898167296725927812614738757221885059180090237681673369656716617284793388271215844224327230859086324180057256800488775572559141410591625107806323180761299909718444495732946814685936319375372862699184309365206354944744931590133679397330064910460851665209396666562170247154723942664917447695919622122420288432457007815383020746188890171622679767834402694734165201798606849326789040899834399718025631234327880214600653518302303921556898000435251393895037291001131809103344309975933887748723607841278745002542064655199773213769199264201790953107933430634664799858431737765306563120494266760235550131846256345861258986780060788310573366264383224918168145422459322610221804587739966598801987476260605968390490976605571889159873278347978374527068082360943604825768350293620843729726476002281343551470577205912523829104721595150394836168483804888792340589142550519688558724727056539296650043403477188633399130023386692356933264607789669792841793091596874126137994923099075583388548597285909605183704754005703705061217134561958483935794448082059372383161731646312300457315280137605320090508982256043108204594233918047326644209767533857191240342326143117582761884966837453658036565083981046348578499059700502034322874902925768459461192614382910026020407800393730219150602740930045383345253599624933277398353650504342037751758969918362809935721943906797399671310923050899336518586745669584743532491681764922393841699514335317741599365344917764035621621503709884149648748729205549555097382470440806256400482339773527802473304953976677623444758558066260764973043917264865804638075478216900660546752898235711868475524948765447643279803766664675494827544844005874847391555287142818888603658950962797418049775649408717647645523844959637255566891768187058158681213151323184103895336613087763696611123801019185306151741894716940106433718276754884964561254882144736217738753945931427801891953573212039174092358872081166055987337307681960777971051773134016461051212894756389532148837869462720999449618176622705318002092864700349594427612614693189332024283228371329090674916292821713131582557671584015292780155552669763559008767031588567044539861856271427349508963570239157996788687901203669095435475953739551064188835782455556495526082590044089695373043759718419054419019883632823086345266040236232917522543678970405039249269560664259675392987058648015313698309226800784643775241172576055219726325807817083105591608022133813161000703894700811335276745282194726546712478944255111676438084916992624064847145257237176264949488279818500107135318770997831538627488352797582398175787487972525501622635176214754404361772423221494162015039363677789369210651833402756634171113839950330415326473640566836922708746393996914661046257748467179138785004164620505991484777475756676972239804857069316945877729903520351691853846961400068668740534351565398688376966461703731400830148821927952330317780305180207616731964920049426573842917110207612100305082548431421952007456605500401722064765208808343563031334308207119851590596126393623244516294362468206576543272681920650357409244140629192362700622304988956956730038708457040441126731078468851368686458316141507040575990847370284265068777684435196674894891176950237161497159140477815782738717782771313081939513408852836736563430199699587606055395459402442782109835714994802433444023948001927684233787123403404395384576377228212600420969806345442482094231777461829005025592798574425870395401391605136646911330213463172903914104500653553013015303996129516866909514584461241307978730734871916134664804398709896267204661696222034332644097864096595185298702270239237778228674411947595068120006021246590335860831279625819719232485498316676753008450883578336733775091225091646065392690859710621072116634986240529846065833553485522097572461378569732914234823451036984173260124638843613482074052173926595001363007507266296107150109580027799925041472761403523170655770281700254238672570695613110520437611640985905433315758784878364305183901606830300930573810587554332942473647558032093618753767324500495756031665875960516703864249147087053650685237337435901439586668063376752360142348838524942629126481774017311489318570080092045368895134800355761495852754448925661064764017457374786965574552176255305648911752036981072064005725958341813418488560269259998873840531657361193408963105588809992325092769441492265335784320066048235502311677633001669641961407727602215358480087221203162795020947172870541676133866724973841012489278296333365764606286908182700906114402095555690385905954100654404840326133462370519913922106286698042072425302081317169157975168855914394714890498894559208629313140708177024439963405128659639121439102009966520586833353602941875054084210804016148878226221092530002183733717530923576935481778510617736633042849471293702476748999767400985914923259808457407728235366846930629626340224381896003117343390914881401006769663569367860593899121583102037993754258464519045495046834231803237892821892987175371306917614644920658380281966674847521914190019013509432707598421554839192625008376206999685870333124181245943119259194699555050340763997572384074503358354860181501097411969239063181959044732399893949779731100484342459709926503761126652975032376690059711292139362372012445218009759598565193282317428231061487331091355831917814011022801190071594083315513832271145780658402557776554597205947031725654220555404282712631555711146318251104578588285567566021831102793214024463655076677636873626263967531454731388030118934117717129069043878902828070128734876283536528415178338883574728176983086884179213860175937475947966073159061944544231921101913364106811931255427532383869058179825317270188867850148210923696177086262000501398889300199084836661580751998011675928809749539302189772847860099712392333464642901502460769894021240363275673367790513619292744425465246753782423759252574137668602459431530738760923182716044566498908472701198724630517700760307622049764399442000793917653411217226672307654652182953867404104161648401914321418352261566938456203497424497484179689570955197662474315693805290968124050850118302422991316138813459163808372832832967804467407382900042431783898054871347647934976609202221399079639211478675027263432229241095733357482973342367547369969904905593572558315987711660034161853909654465025466209476379683931384413603384317558448421817989033888413416312868704335316302642947032140514202024202747515541518027161628439303489469071111185155567428732069579478745872952450623210162768963695933818912257974143894736160787353447208682720163085712038794904883058307193638919341315072587279918684631444648518891740198384667586313853868770095910221768992559120433375549643636016802954674487125307856896370708233762613184891401763510648081189825049455439172299497742243191734754616412220309387878716933016797590982257097526295194706366908705837008826959245602505978572254529804642706339253234164120465877180619402939185324968516884881315036962226348957515482310057437647164914764909400410246184211181567736604705195372186265608077698975299509130547117606056601814108639115743274836137260043757735116204398926557465523124325383296444676086336655408839755059297470117597136272435636387304716217304989249065523626959541580437639198737811170058664046564099939414281479516608495847638738071594241372339336149861064266584809852601313374038863181966228209865076850547664565179717026138265828925584653973138573516190125589962288098007813750600307582395942807684843822250135130862822865416001619650716750249371432153979546017713533047253621529127991467934033604057305315034802967322764145861226072688289268930494854666300054256154874844442804618313994862706970163361164508002926789179826208683447294318334418384700217015924174487297780576175829885781284600577021060314520274954372238224209880478039345867988636463988391045176330896516025030450086465352955828005812586876752061526449908738852882085750405081924443110056355383166633516257820610337619011003493032030904147041069905562701770468518278301515890967088108061391795132865187547552611786997622617493137271505777396815775097118391245876573496438928228543855957517185689374156127069483871250487152005859736330430926907153573596861605894446989476644956286729373731026304341268197927217375561455807671614041971774348881665319214482129243660723253051591594721882989951529403240658959442326773922441800718834608237641309412373195473477751649218107798661038236802722375324206926326575780646110614351641975515610925822605239904956505188657971810278758213355530634904304059378632792712632616090952793623746486364365781431773711634268342436266077087807975014693511601985157694185014000712200924310714740588337842694347371783724207928518440468763430964350372634748624267438410285279041599125698776136955275421495907983463506603663502316925094150460848574382453219818018282395022473410012480332689723695397569994359117862983039994976852051632599771840570159498776369656290440274975823770521307522063481033247627304921739400916991777369146599014901130090920475059716690164814053561102924791981339263272624227535530335339173362606153417103259284354684722109987370073533629060837645979856791926010268237339076738162122808250664112047085240951715186780429729308401354488606261925875232766620460835158373028588416136734471580942793712845939639874432101717499744211035907702131643777314954353318860399843235877973210241890997149322116422918022674070000056521652856830980787705818329002175294729473625687313047261504952167488703851939353988494496599187629008737185388498631706562151622846128452032512078504996155653178331402058841441309880509403719849872399033479138062714143735312048748807589020246591910525401191467335232822545571116481366468329610990977830328965448462655743916363770590898372400287771997088331973104748280654053357812860371713182449599929852500675947120492736533707627927522901905315316267970144620660771339542045850711692932348205027761975633830109668476580982886586764834508310037676287375975364377006645346782550376732148917275393811053649171533441893786195594397745387487509173554174224447785821734629168852674089363570655067508522528414529730051106712983064662138493786785267528333159284877363614349814202664302864903279738779467993041890985173441439064055201050100824698916953428554561691635078051735712435309769067086333894089490791233481223429721176661767263190028582279043586311140920511913725219621956133081607278746844154792592726717802407472444765572375711666256800271235795233857998839941225454118241645072513159301125901833611412329791120481965526960928599259943459857616141446339417412804450062501251687504152208140235529912330297621396612822135006401743066622976830597355640734337776087986298764689462109286086703984753236736396134568026024533109626091441867673824930024056358141036843727757025419896707535144918293262320166141563421504647056453007962664073989181178556150107253652967510804962236831774885043303360301582787554905793879944738965076008292721926344719191465802690089451913952949862495526927459354701443893646219385168202758153936440883254364245782584161341743314733696360283710260423915481822405971453017404923171953292377979974693861496667092100171643202366996985896409970049373977766868919541730494923041531586709934316841315807550775699866624593952893944876354848067027495023829314625646367803208662120054712513232410041738658231264904718031125980575841068212779264040393712073515578135580122126336762607840467031478700654798529735948363277758387143940086999587028977341970626943612153566355512285001294337478194537979845538205005559687107398428538846062467832882019137484604909839218636563654756102593665038850834804266548970758211343847716692211960720411610284020493244668276975969924077375791102815974235651854950272121804291885480561110119769970121679667783761422140320985899015418120649820886629627150727170211812844984266295434248942139262786840638690849349872455275843426611495643348050725265649451904033477277541883292256689568861484788742403769152174896347655133673533781532574687269169852266895659616093077470977856186091692221259649927853369652109163963849762361612310559109856261069244004500387488936554273597524391781530257885394094922057199515708664721772565222339325443473188787985883426639314895990129191965849072286310228231111647685302170902744905320836408967686718637711145861280089225950920152331302000712400953947888301988749491118432204287622561337522025408332402747683535388113747599376144530407578812979578311747002108211200712981460301904688379072422755906014435802147319111086696040784029971082349159906440439704477856691716672659316894509540943139497389588660303630398993730070135639681188656473634794171053628481573970183881573770400146584964510049947008347920975442121618620599217697225279320823926354458264717909911041247949645571033397172392116281954094206030964801168777358034116183778749961072968771445598729116311118569159820531834566873117412240749450081435114696027200266868617592310501608210816462675094303116470788535830350173429049299991705700054854897379524157817895018922475991698459150276774711549196699684167277218771905672493677150175757489950253440432212291759287854934991598289592000079924233723662354707674480063129376097978367701582797821252545676975615356561540664785157641196191709881424050592013233631544580557375294369778619955129367772669838080437439877072577552731998422237204814114309611896774023107246796120687130901546749386719636155857690888624682908388406271962109856382710250420193882389800474427050988833469299957622501918485142781682841675597126423367550899796422106279539032217674213998593167420412393845991277170165758683454343092940120949881345161973239535798416256355083761187105115239414973575576739728063258941917270054045910089972164263949882307730725662217451459745799439772179199319165273507039949026811674740341586940741090747270267925511982506562831233894234146717840723064205731701261409669854860734340032123678230790529672266587917045186986599804861324956140798711358834260902359116758230345469599665591895710899324901231122303857118371202978534692791273650068151364333174290788004795913981860204070670447553264429898338165210831590133725088028346781478252419829357403256381177246196831433006304609407599131121130623874170962043140451543500084117691449163133371749494396990576963037628294425414167595208892939785463471604326402862191900544486760513975060471677960253165855298822577113104589596196175517710192109023076042636897168572189445136540026022643358276064545270253598708566690929007930346445320145821899114744744819612566415091974692704371113000136996897179595658162190860979340022769139954822614018316411885190912003931990463744856187084025600643845652328915987027303540565841571309195312683338904673549483803091995587439200075554446922568374551685524425207757892057453820516804199255900782404112343337944477784464918960763327300293478425612569717109951052766566129155971512632312598858263263917206708879337864251970209184096702598052953668934763707484958252697554184852419186909534274904116301751526037154770869528049812548466340582507051421631006537876335164586619361952897576556480576534771812745866852721395856131688311772485012824147011286594892998763957089340443711130189070564887243556659864160319865163191274625598468371330731635706192819460268219129972275448695221908018509261817916070461111873444065685297344614150727446015313776555768119122532142605049644348380701578737280542497922101803207367761189028218985380137112957282282782875731097765339402499710452009076844721150233674540521196845837849639631543721434980620369250638778568528901520229868010209847169919014903610788205990328775344871803949993870662617759725095849973899670809505754385214609091095582845394991667378291934721157234829312949358995040677124584165849345653093757771845803181626068551431398855920629790736149029432886691485454563067397400237313638408136533018250536037389981746981047689849882026856513271297855792197223311340600530413314075077844239962314600850714571702136987308864633011933509498750453583513745561382843556452550428687782187830567574045524921934317459635877791636223205518437928392394645924261579621723275881100616832984254715629962970371568513283221899410081029020445216839794430228841498263242812794712623389325995336769441963365844234306581833336021867898444516142234930748365854519763642955937468677057949494705503463350585379861738725926479295181783166893438235679694544963402914034644072077352528873290690031060379191275705797241977339282965939544960511979071052632553747776469814422490143263812770138604213409197868417720023941478723799082213835964774604965585278783744714092073036177030968110040535570357088630081378764313574531530623107753208364395975720721153335681426306488056684322294170315107728702164316915563001004342654854813198796662231707866348308300534958837453366903295285355233905562216476260368220175648332985723543370902118764377341586946418070254113245697942476891381409201993673646251540592858515600408439213217886085250150479332469218082207317479489452978333976573418843712130461698717805737545590057853836126611183781486904560071814244738285205324690333326551217902316080383351995016867126377935382065141774698949116734176189981824862027951116037124976389727307236432587813439747621514326239318539840122080695988227070829084830799344985804936549491513874798328692443256866246637162782797025235673468563148667973301334161420435928919557206959313767798497076333180445295289189127032351426538897008445457466472564324817576650668555770580229487868622192994932837215952963807233126459995590394714012000652160994822868655499412367224942178630748088171423111472092394723017387582604483076956004568402009590567073309186265632591304416799241452129046063297649586198633639713125064292520086083791104683660831056874191257453388736678853387186757717931682069974232232596477822939828276696438696541387166319805612843643722594385290894747164039087700325222646121514760267011952907220169545387086913389510758963068986310247357022638563553397768650886072411134536516008254211626907750971117429969328372273450884148129511331711260190008673161973716730670761406138073101038225670748962840777511232506872847607870300017613114563990467967202322557714147495243423767836280937351578289471677775572927245293940681396488746839993398669858017237089070724971652195109858746031879618805057683384818679480792023195680962072238435203737433852768381356154662164753594609238446965478693732406521721355839325682710067151196554063908450081081927987207239438980036186243737258053712124377486117223198484186896030215815492059955904732336612898844749262829729209662924766371895563006156535779900577265092264643409538612277910674585543349001252590370774150106292680325799854004936317558929830164446242591039432838833490994181142046610625219586454205918083053349882012361412134559911433260062744436940705894607144873826966846157979766244573140321218836212590566093349181602344938894351105360665873132856100757904042952889688119803208741283230421275504447995507812940269470631758631729586570165211139487820885503532594476152675687906744128983171113483959232157127722789804994153925250126026295674388155039576196495082171383424448710423270146745362823888431635085416718108837402675403603681197485605360752085078408239939576438152324288004650711762060715181476628938669229785645528555041905065191601078938067915703626572794176017894824072662418717540790186831265808932250510831349199176325285714608168668583367185981403846570906447034567962214077426382286524906569516622398909843289485858294700716668532664549755099059248940606898792613418635135536670784174651126586885693691092130674337552365247700660447259546117961812632644659487928791175037480307530608313951766330391608267189728693416130495191652170016325957187355500654171156879396881634290098305660989497157809323809132845542592439830867918206844659791356538738025581131049743760601689558636981423002510230588498711296991809318514689331769775066774581382549252276482911780917812911244543204279101145762006318361446071377846379245685322505827423220223532482946373716455059667690217159438079760930936694672606408266897490846624904655998906023251282951978618792050874302798796489462685026196216767215265624053516510544666484213568931904890899632297155092619590913488458967102557001077505498604070731475311579505945391358724259823936653354020408653518359715382756651067093107620731994923961792766292217974983819816966709492894568402207113837548473465011259572148808045380460428001701780556670969345103679418904769551972644766767754706616280519393176094026354268555103630464961341219049635773673065562895980480943299780579649334719193288296178325609172038757130935700407979559375074153516440878290425669632837827098173579616130162215122618342990887892317961465703942712067213481686191889938547556479454050078337227182291928767178041786135487584169078906181650698419235971914432295615431143601263527315247549822979528754123784756968538197559661017168915302782044371638358049858723830660242602611450495523191524275588692419223688130587257760084237562788958564616953648839017355052581913527378200722840345078869293751777639606083578793974408517424383348668516080851909930924928571696458864428812376802742118514380769826015806033743691412399335043221310875551385029808843598607511650085837180043835261418014133835045153893995437556735120213937502462030374062323188250001451795231439471752883631080111662099741248816113754792890697241898327178826304663733807494003356047795444486345300609597446649911431569424275338993095257132075953790136388364316857957935724840855378232729870338371644760527804969530119483507316082645441065308429616172469694732741426243976974813926885855985857257685444233723151131723781145255684636270348833870349681600321761683451560330109299893057277515377732035982571692719765033447019920033699243796396036699273400732139229506538892341657134011937573228318142573961492664427995550205624578316198073125557566149099715744429736793095832703509907218934604649370958346822455669976780920988229131220077109203355692818389600092909054415771733772489837096394127058187158904095024014269054425507219540817266989274410042668984492733383538080971535908170864454738492998844700752833977000047169351988262184709438460027224516339991161866127903577064568057779214134113014677755480475128305886616198977516129950815995659022311758457769615952382571181038532615294866824722792246055650256071855943749487553180393467294970487299126431366004763926447625402025460226915621779913063025055341461089597467006082703231390581704130466855947927841637174736524085430114293220552077195436343167555464230383610483541562901915741378100312029764081717037635376447665312847404261498584490098969397289784772703348216353732237164810843716483485831944061118270397484230733581179129716233804770784022054188024721074274178378961471209655244109690531231816945834482699654100753584721599045110635790235933053654122171968744961536707328823855227507831516908616571827698336509021023493464193173670463159720689942461255982720580768101879064854139833493729826315104065116893940708509460119397173345986879853743140191708068903826918082071565192759350204693389660707343852075059161942814186245767048442308045058158955845708796231494747158858370165954023501169027380202634567264623793750011270730223983708498358304907488351680788499607920061863710242831128908298183313484167830597007651318285187084550169691816154067918865496902045276904895420900873013258133890982654872734273594954312186223670769331768782065213539549047973634682409679195504606290679096921660357531373342500165383542691205781152728470935791968762756330273731792878761891197671731466823432969750731119499665030751032179249104822915856339566216601629858292233018909282943001281124568405417372876865214515010981874866566237845397085433863124767474894170943236463489064949494330526511554774372480078900199659655227562661867435073926304107825480427886778350236820510747018774704658876290515600876549028134229541695681602438829433902317380948514009147335553083827891918050892476990360765801675151005549314379130475376785415170722163420028153114175705787324342070907313841318095572517011204607249957902533422053494700776150416572433401569024303599008869256653300393584950982418703745684686265907763073531412829738189595608163585526979564593444298124589548825168754770391979743364998151363238865389680784077857372588228313912010908960220918454008082989792029597425466407531082330816259719076633817399593887755764705843506479096201686410625612469204225043541263532367933509313810062369030759133631796262800350413553707041397675580938105620035006972445504225832242049551878705342433614166014254024236383731288137362095755456328130376157380486120594403126494867921787657261922411102903754214667423501623682453356929456690619845394529043231967990129556565385540734573210821033059541500384020756122463321204094154913713387764375727571502871839565317239606228030016268193029251101875923470595435669320892979755243978531136833006282900295314810795803281515089529963459085735675773552974638837464209918445081619941307028302588558701232346314250064273559865433633794031777113840984431652798445750355514976735758378665796868018663350485487929545947759810774888294016370547859113945584294721210736637516072426385222788324220952057784710188037715045051913539767004127591909741224261217099871146646973403697587818213955276078578419717855641307715802448588738363743594203369038688287723024444097450530831978458929487104570131313827073728754906697567119921254396794741980783313463818573403927516074642733991103303424520148231886063693531714701180326877537367473102836100496247193533511304343822905980576110487325601292951413950844034830949388763973368462286280811434936529101850666633844715344650842731667181954286351810304726941474754046148083499970730882993664428324794580639537565642806077153719267912071797287609039292077692644880170027530435028418937407903195294923526878266098467789604829834805242267295759408084873687686157163098163252005690783777467533663317089678784510895414436250112228496582314536586572009051376577200559495715323437130514400747866425641102540587846660533031633007263949697433688842532608975755211745349218530964802384131003696956902524036661697374428145307564425644140077774519400261339889459373558766281026666119373264204470531554979421466913968374179225348791336912454300589973209886417874821336629082791124109885242931953425599385109322460775162766696221878789573701440224779936946246305344776032870149774159882355286734996378734318309283495149756837120140177414196680032254910583616767152214700403236036420338746471854784099176601564174938346230637995266856898434291490116673833289113762181046910974777389958603478162649512168381847371093930185852994435686886545118920041365259201477138416543145264053857505548287235575974197272762789518335680751055122292684350146060160080525182283317869464883898414193037890199376105062047535497117398610226177119951555830153778400851916617337757544259488092701776411515852599748236111947160319892037871411128029426302284091321174949349247655206639194841355257329681990213643827017618137747079393626049091948003318555055390019623429138461022067376893098307515330202035297351602250080835652782737439657818339979021048759071861482696532126363055966180999463803555597417663260767644329970013847358350901082497546461676069560050288947470689470476862340075008914513712580205261119898217248731724190754725236294468687879732469036171097290884364939724668321062035258449188463671984205930131455306012464786152724996542317787113629115783709347148947420999482091703305749650645825230543818257980993144879047318112798895474324740159488741866889711334537607901082607436167392290163933219694897523118957634939264339041269036861063201848387839348969969968203507233417303652855070832090330123855307351061228033939056847943519625793151673421482964847309210337578395545453325932700522593831715888263437573484119992440456512445242088003389703429040999247726245538925039630306995078724569329263614719141418380577364747842682894571043326561192828483088210036695889572064357266500281027356470129493488004554202352093904949294661426351818002055082985540345345170453147716252349905369326477254900413859758343069161487553157152724753038535071594481247237593861207353859447506755289864872551542359135140643580562691573785135233266324441221303221888537577791529848902484493298800368014247944088751375989628752745889514362939532520860227394672308989725242845199215105948109716478752400259213766894888902684959302196360395736493151031918965955508854992672595349601462101919133982585009231392858967141635757836205014900492690447507460548123038687310211917153829064615885860351320027683294389709587187611156480238648800035991232771474486555665178867190735859774765591377840771462666724166127729665404001782119511439273130215812770362134308951805338267101137003705164827177720513445786706606015800685665621370835862968207115880273630020493568408859313852750574533270651471748205766029832500178675446509975297287317719249204082922938117839378522372661601128857925936052972097964934586266788229201961341119295543863679384810732460214763170437355094802343999158150441270604600948132260836012381822162274091100060371809395174651362971491104867044042347422129751295799371403865981095922906008888661352375950873142886872049283477684322129293768586753535552077446883778122036706323578545065017882562582504142378877750847473624830046569715895742691423576133233124602615431574653356304243739696898344617680714834260398710339321893998529949481710589471628722497155522688241629248162765930110519131401027057750373321222401554965133356349275690869208435934964692541426299789083705961327460696380958127233529267166898998561953997626514664370362260329497074130814165240828969413100511672578664594685387522627018802212302711175910451141722680628710631217389803614912419026095602716228348339769437705617864469527474825344358854906702824500338692526884525075726462121585615330349099167782627368752648220472810493521429713920389827343201852167066138378074242631330109612584173126907080758611958082399830329250229109701329219969065325410982111634082567352787955732048735734266112049195022965433056002231169708226358554540708204946946576843975816041235137182148682162721321901291174650605653716567103395616886252505379402954364126967628138449224642319155313536804546874910670805209798410379391361525720995869527605451075808406620071967217011770084781329971510347652664782803792380688462549528684162978213414428784518113278381848625310819676483166568357667631417928177471821580195163506432433826030745543711328906240916418787983717064454148645478418238556028177278468824594888703904338263865121479563201652804346702913650297421406806173229023325483352862174272431604567577845846256065042516461290948554735379453784259013716594551012582935045505398066992934177845381177633205447218436936598526494630875517337621904445853537310166220629516908322549615418201349234417246822822553854983352888212770415473447787863129316652312104111679199771416408757805224550909522602867664708983792246192344552477673799346564397370949637252499380526932641081467349013963333863055820606527162191972278946302994214432060122494490148418437286761105851768212735339037647105738385257997106325669055241184806147772187290372428131448759473273713633342839004764499184191511601822362919679000855101944739131453807605796682000749845577508332383577817369836982398001851284989932441209407410272816047372662637496671145718103303353287550714360080411991074339659037001439304407728266739699347923772267609087171666465254629201484655472460792523071546565458796117015027422653985701836481510712327802316391245697645112540626435615789975616582875111486316819213983577721983149549618626926207912497434850175315780996249408868545191067652854783757756555403894213958142197922660991116750831880718311376246183952260940919851197131232998387126445856491511496975656422182017919462348286517189615864661880532801370744889582873035839150176678370882814303362926508436327257097777722807410601708617519596037712631813611511017077436276870084018144229460261708918037899318025837173952042902162262561308783283970712561508048581035764347356971822364912491944406388065194609355540070543909912814513224703519620493482860709994634278343060470315389691688688648369393137963358017629509496941637643208495060326169775699967681718426555892213360393493278874602006521947407259489498233234510806037152131199247684497700599390562484624863828233072759338351640230973490677784807255908085898572390770768287728311185538497809335309029322959227281700794229017062967454837818259752848970298968353544485347304762664959277645561333192212070033465230288219064006071078820783909080125717262974668554084391798588928410520765720889958249183472010060926427351660541723407428286785454278081592220752458174745136667332420414987852354964748128435159848739488329955266371925698230398318813144752540817403739658980712712315243392876701834537287140056641168357793591390920431414237012426673128742899241421242590112435096084133452778242432651022776330707774192015484714111711368959339604683969088590317930087765475199517974896272477121281149972620326118273612978784895366811077199601222903622603475353396623112972063940829905592899863173440535907664871798888236486963446861141628250652539858085013899113210103214514221395510299454369753107246441064013120354960815489383208035666298770128736406544352098160905149700559525758879217926176208016380874177857527934629635709041848765964293537318013525616366984526677837427917211477024938302317003977742570570142200926446140999831876363501121592173852488391546624300680219110166245362063708452871950497645104488617850614425782095230028692068703530637370600675406704905614499028345034145553552778359234892619717884341768207300864735968499213347564309069261206520527791605205567512631169938896246812028234122498956366793503173688693674507071603932706714139498052475845194749282907364209510472859871491911384428848799984584754492765089452131045771021089229630604121337800089226544915363442389510661776360423804224646615035923652557168990465249618019477167298120856025046878783586619263211388652043240536686366824054132413225565759684699328540760598145866081954482579726304697300194390151368189206037701304525698121436535170912157003039051752915869830394263515418756629852581498314633579633989932085980365900190433381180488149534265770789813552987752419364925399353252148910736102276546833128229172403207953850902121447380763299846199709462699664180632973896713746350426641476719836780039656695621345607389530140203200753131321219399039699764847144565645580819775383761333541236098682306317144011442353250818110518054479160358371830827717625549309832155413634940273844796691160684253069926855326295002655052402659295688810717332984054923976527894775220645993036868004185895816690424112566214351152305283322844621631172017609790862301658195265556851450660799369383684972133360574647227038000338802962971193669602765581191786743378542627679613785731814326322018545250048034430796786457403239676476734796412127738462288982885583482367507905714547403444182406166084502931161257960855000340810933084929150189151154593771214605523257867442345414512144002450919384423078838702411626258204994324053394207883433976659140102730723505837659840527601529674001607036260233127858304555979511909206603036843058071324994719923740496548630252785550954861921303562395983850006646984429197430338174299737605663722934109659438636580158400809577931266976951532039327836846120949484201853159711659326486514767354659097702722607874341228624965019733259819577780348871643171699979868682978332059347166377787782533399013751223550960843419035467067458136951680724706888354503099205631582923212327876254396996696063789605385691853814692249562554935766082238695118517014072296098205714855870897950249185918598364706767589371795686717170314276688631548844733256849513614719714576451788795626173291737973384996225327405410875404318437302518459440392991821600684972756178533401293673751581383633162182954673802807528653104469714472829551779004909415095396788803039432224103042174356506209233208459415844888605245787256359761641876772502868159744005012000512441986586441167361222669107027928424308761503537744216318333739592516447553066960260420711521874048581925128226861076076703103339479036208919766000513963057303306575381392564919435606806936923739521873380398706529326295632309532194278625378321268244429369561410079488833978451058219767069383211923243798018750428545019661399636815387258216489610907626043297887643306871662296596567612241099295738653716442047074656641882382101918695004948538386852674625180864626286805782279763168856427803765405914384350758084397808956361846340528922057743261017145098739702949511233049049078537105502060138506832747380653869545290958027946099203944823043521498524554670258765353463828705242726150648833914603463624870321096468388804658321662518155262168623918466627162917315322930781832532384606082888515947588308629849026195312101918637387868653631242105578468325202167636355440889329048071526924337497195085299327295239809546027150208581221490491788419240186527213316929421633344995551271522432918817579627131376133637677345173954414749319198281779902106729373395722277398573958873324277143285953614707137058924912507268554175504951938527351899872158776593439816391414225304479598666655265325588701076916334783125699370963397998137358527230416499091881082780764701964249455505469055497553249522823009844390047339402609896247803483283994721965098412590253714014997246140755318798097359405798020219906786525886034638308898260234937862239649499009710035424314720598668993115369996735660423299553601993662814684369859391678176230894457362460889283400583594429546950380771041516339555246982796040710354759581259938226023639011255862165397818747382810680787752404218512539434191148858355442715205159404385486087508125368128993498867544512523293127392019933367389859168150794190786508438507254658501621860688786924537843669376245651118926508703911697212878944717153041318078083947614167771403835236032320278162954514545133244073185267182132281685233293026527627971292153839798735780325982259498494353689405213526609491739374918633794408842180021405170612834590770489830577671319632343247917451109628373697051857328841759568787201402982710171864994966094793349205557299075352810756815577636079332266286666310714263340501226822184739381613260454018277481006502689101402500588395906543651967878136410917094008882212054153411627017389625961319872720399339522178744881127355001579788219053788294034493056040765973448723802907320697112315724970944109617743464719669708278812259588698532332610427606680707089080811734304038523309073111133673575963622060629022679072408423116802238289631617058317862388293017707211206969932021516348430904430209536333911682030131303837114260007827635390503416471501713572585279608792138727633182213983593497704101587073865393728527702192052717439694742066843289922144785000102672630302242260976003758334026270056127570353569036063728888946032467300824583761990453969069493004970157193661882935462435886658420679347922130139016644107249801308677302746350464843137255260303584190379880349530082523785887937581253721593186230159736530933867316969140108435570676213140834966808483816841482123905579682877507559135974351855234565306615869924480078034593772863684696033054433529141697020246222237597459196804736512476473451222219507030985979060552727768736708245477823753694393040358182428252091655696889014345852047648244007965872010419819962520053117540335351889465115088611524554799399694548647791225215229243349435048747954985887421862561908241899939807089228022066578270397364855247421211449412876705640934472078315078293679247619171015770657699645876211822397724528726477174475985061802601170798023604635854861924272056508333205797087829491001184728866017245032189111193910201799507066622092647478445530407911473985941073244130849722890856346570052111219407639863869388874810496727342047677707718477029448602129705500179556442018583917993819102766538133873299055244304898463551996119375134834681820341231810211887646739898329161039680338630068193121355247349831154122713314221474384212692793872404689894997047757478642289554843409486855377411674499052424263967864001856450617274895950276288626855221218786429498838994226908491171065068161748552669823193491880426602901700755136099797094789844029903200519877784693196629127369607273019538507230246441161976539360611514589097785595963626652782200355558970428301960829382822061961108110941143087242302298512367041728376549095840859430198693485736330130311892668392150124694346823607007002914865747833506775431795515179495567978995092178345870386123185804438215696491605186841583877168950252641836576993013391391000857772558780063445130413848039129645086340008566315078695998697321064682540858851039413239837239859335806171044515460819865873729406691585724400618167479070663748413511526384203466568233214374393794404851858221649847260332040771446963029067367360231182664597419961721041396030171972434534259541157467296984774768171595777683820695022423748994088495864841105723235932895382496649584009508303615705693568152605443640247039490917645749720349229168127825096369638786787490924260206839969685403489161124919636193574070333957644614652167084705206152678462557181035482327443510112406400960222742642562181115988002417294669727384320742271438490499869440264875404328587860227198576459828475328374583618523318265306900646376154965902176841240574466948757809668336037038836013256279103072478143738397124253381511731215071719372646954371586255267177532094660677850356648186266590489391394944356371678564033310397857543196373825949128128142135294647561702252499988639465801668904474882435240524735337516803141213335418828838066677300647065621761167974100549971967448890799627226799125092110267785754510487914144323237703512044096603116313361055253907655535029135239074302628199186717951438909175755040753920458514328758342143596359426982311792707740976128366666788995880299906161394918090375757964886028281493400271408471060858785651376844215709726866606374425435328758449023249882253449153366169093116206822512026063766509754551281358464200797476208577756023022146126361242723227481060092615256951849478203085298843987190163047837568141698275300976848127461310853137054875665944079066617594026944576405852215744806574109402784116613975668446569486506193981571285676592404477815731486373472294794578676939100596151431115398409266925962593854368389031169272681984070283338482114045828881339697776105108540720651082041444947628171673177901254217036694043396942349882450411512358431860873428596353065343516849451888187966222677620425677266578940358807524708966633627851484983037916934028601370449872613938735648306035042500994054085626389453491378670423048166638452883953429157929947423881154609583783515509082886430646941344009508193244516965019327222890334100120911665498899992935923348310251949085872442518244954577228856812947575288739187714457766746798124394709287596893446634165401870541377538466961572054558297738446037080350773643895049059574856671606471490288435646739502273682756030974342632102720987488577781197592746257947012087660844727593148899830027689160082351080902057148318140592182645419188038323985488302172040384852336716559416012693037046819839081979677919229632856663367299684031787111667087566971634691059272762372306033551590038049747379284032547239741992781499624597646523230873897560113076618792959974004399725190125360311914025130960756391148884578501152268348945168430911902421207886782526824413410798870900706081802600276082650649851543163762950715779005191390159417015071721157958964243926796417103649216928120485327553150306820207771662590690649455133102528016390536216126384656364520806367096496038036509090467499939431181837063729164076087832069481949770718713822703359940633900698084340210290116555720299791909634613339895493383288706794014916176321727572510471214437921816605587276908290148763088403270593527098415695812117976131597160199070643828503244267549816556874284240222449295530762398098480757163143720350858321960536826701380596488608026772757234478202981396207321293849644509748012457744749128545202393451457541243359107558425096945926359866739178379300577276248559022126176405832479697641900993292647383449803682656960216310099594137755666868602250084818566740800771946175868701506476603772948988669952955370329095962403482861192790555953929773382274484084416547499635580789405959605476248159081318339677351866822127231664645382761959188656497706987251179514122798731180818200898489842005359927340008217033362928331873673002846057964116846525064235116569453887687785945728754064937095296440028939361539200446854361696603287136930534181197662387400910986932687487019753999391202381811728020018609542313663300291699850556115787547098689966662593479033284542528141083305311058115392673896722801982250406703304944577564241875903056453566982934677312614391494685542468212661854636766195466302615585954060694075021526431974156378762177006254358376504085314438207975182261910481559910680006940575470130415126258850630420551500747982867763333308557339685188159614530496277140739157891238214757206542405547102811001679876461824722847239698776074392329688373917343581445245325465529968563963528545322842499307868099953463026587721250130411757063498514974541609227786532873226456042794835778319499640244012945821831249951417766619019014988825588358435325391502753599921326018014245981850924740371756403835165573905891658354631400300046302593401383545641061318725985150390100362117695775375765694896408267718482366458612577876710723383082082374477637741153621524152038255001004523304521172604543200279440451926981625130656335151064487829345038063293028471902873360246157277806371322902607715259028634898147701782030792269571525171326345972266453677476150267515241179149797831133996542706359440154775329739465921585256584258419803390246151215554158050549626034808119414835445111604387666324968290108523787298299949846486479150955562570023461112132455535565825535267719243097125133253365763708792529079583402597628414266859507419798335058511887054970251905187067750669850727706162906222623188695527178682159813529704315869438646520540582027858648670605569089393777552906841586951861247956434318666044128207628491029439899841844958233641006369903224472283018490724624723843679321927365376171441118861152258535797045557933343886643423705338437745447948985033790079203966752028152308516380250119644455023268862707760380767770750365267306096841951109633461089828532344875928363196056671857281433754953786541377891263981736589445288714290952978738116551555823642088348848277555158745140004678585184832303718298341440332851157927491501556686613779399030043073985599597050174250882290408575041225307657250580826780354409753890198226832143370677375415183369340801409010583407744247609204428358890077586329303071641484956932203032402410148350778856819352648143993844189044035565292032097840250896933123796106113850607300732748750744705781440697594213453087100795216326969150091104543375522656461907371251946427162066488882097879000177890436468317960160459029229989874494638946334297080494818015932109032019711615339994812670398268624673108105985540092880761472817536760008370605376641748278216433235615511862959773601034629628068501094551141814645946603176297296084241206072537084021200250307719822238447921686124994850796917308046405789422091947237157215486192912127776821151604428878237498212182120765923200794366000968067507822981713507522007544164524068438627390311942069850116876340021664242124389395035130264727857200370331323043848117631221026097390462670865448702395300969488461705302376010527101397206287979283045118600787221475239545717638483364885337220047323876532377405996269445924275963223322652152559501215423951829996259104030592688978957876664497753545825405693103773571403954015213963227741719989911094836547673757549188230489896266782328160749513631656932853292494500188794135167833218964761898727151100579650021802682336979814518486772171380818451539458450268022790338548776193304911756128991308857560248507602472644783790276759185375972985068619909990090866563822518664203519284132789187167582585897021883931535910957204642310531123835098917964080404441527604509916686195649352477461913490683216813865742833655460105804790889217501529253747337336527320970394224325955801422277482006532440417426468389795314535216667537195991649996895789693585189017424426848452793491080982528389632849288276004670100619270658349583224554269656168700183918617141366863437033868049620216571344276671695645320340834734153089267907637908031119698417523293327252656399981933343155941930215024745781287513939575727008341481252477991205423892614986069154389200588262427432717090415111150768716160608024432403534705853151803418387523757603738889523402203839224422418144176925301359142469504307823379099331856114129765173888381518308549475853191401214903008397729909225159865866572358041731521433436894780770672210361661249486076212176638074425498480884721289198429389393921894564323174393207390765153564495711769028814517499236781668143670618611085945975678636968931112157517150988956889463768281820536945689542365750570080065527869716501916293983902355701090970766457426084713948114332661035512090644103205375446835542958736732626254464282404264875151698477075562545152858696832699945828196456765086060121767947918632306662532492218683886322383496821144975390475464650799242945026704173175291635821033590833533932481073092114539761402783260014769159805350068371395905063258201249260206374501300118110423415001748686272221823389277442022253666728226165830176457465108822311536729973994342396436050264709014012570711877741047445548691600500052737615499519781981850932955787151071764155284175293544334971633561856960949980094223052443494983833152531626626808661072712566493547974495586461006517814040860303336889804080685325470489650986558847189135198410139714133840548989543659192540311474159032688035852680298454489694214313640158210945657890654592865286302168644900359468425497113243950931109109374747565150848124741200248609512535631283029999144728454922249718740662890016924823540094521985004191876508121458568723224286144557903244412042859103000182007312114352953078532149862380400282255740470806831315132586323038896209454834945152836403524855577211168681757776498730389897740102304428162211444014509679372133558232447583609407954010218531439607149207958063580802010158649270901597861029344287400465757229527285034841361047592387003818006638353480404087189263649670094359396603873612637042512180665943960443436176495239207964394787349339538644426868717254119814124844208411465277258125926469277186333549583630969772972892094037581977494097289537552060787749034096355253032365257466368409320643284483101945217993384988284281433572743485529659507259529453344990829971713972543573889659351327998925335402330175584561158607390027959826901191769817279904758667383319173470980719533540571786095777973687041621183749116784143363091578892156721448688812991145213983041687650588253150527839992620592989452813948362407600178719664010845916327470964068233337612680093297977159430431244502243902507621267561862885094897323648288407133828201748175558735275542690810975469941088317349410782867542242538899758757649229621667371933543553621469293284348650846949340954006347158778888810893221144469773517763113726071841811456369334036274812960871222354035738218914548892064737399632791457321353773814202051955497031332811187897081219013527100851235615463031947136740595120558091615545603460583603663868693911088073398398049431751632073585776100697932725172859139100741537925777019144226379839664341973057759310985464539307652320546641791160795893197289885712180075552761925755671626015315578017239244782804008740132904928068471528453053600876317669971623257069505809715188880097675568178601438862257339100555238041381693605647478507487662446191663137375412005257334010065366236690181565059007316743997256336448871001879380367794418421297675143280291972649707349071821497551848735451771870798074536216821115006387054464583449662833786841907678691355611723334664084050099965196595142664158291322821228962909174425657092699098029613882706410100126631003511981983990493686069908292871524873944566419954949736876840864510377091849489285318008488438993349885563582872281277984773212439754043829529669760048922547383967208654056045885303832623692102172593974380451227654274915134684849010227204887953741215805440259344910253307326938735688150950630463195706257176985373286609589301758629911476362046022184421965086269718799965187616580231475827062603375964859768818097651524833947163516343996457323479270112119346622329330183305199135812206470163124057869865936720812376082326135358711440555894878573590224693215769270880790821060731054454715035374265433820884820150247442296410728987314803758176795152637629860637521309678967345787230857384393059077019622616466961306890793972169264865287835419905090225494987693761235685207576827979845221123037277368887220839418328107407743360311156456707426677021787972762074399417595099864179207941041299802601592572039090190222207183110518467023948209505804053373955669597013724921133410557774832134824514430297798328967550750181961748739338307955795149253729815951592706393714954478572139140413230349458397715121963220747893465558428175563274071573062756166124833984703107046473841837019276637395759561086765904834048318377234091684245201328518168308787341012355466155523865801225434612676524613703842432067249926618755667903374845816203080854037278420340171242009612563100909319414212298347915468264950444830914945717602623105687332345056996440409786032647758838634654180097926647925763784826760482961232204274782242338531926917042499140656370651381370921936605766484872827629615039729549671401082165258003675777243972417211389335562273940328014644102419529279345019930018681555623794341199116062976140592385220176580549028798989049943353226515661191298429626535547302238231121970021505053904724814848584858803933722867295806281242300822011147871346059752580577116246462952711956211665484262715131073043867518703048196703341721395635021636712029549413514762180271646357307043136454265608086898923711752068957957156998414552484489860123435639111296971777107173482455457279078040163876924855099993321253231746850473132972036559087477656150566171434865610565141056847306258283978073144875371500177891355938281849951964774983350475330893124305724003417838353751567006738682228004053607229115959516556847697268722906561902972723328696456531766629854238012063600414109086578270335184394075874183836366015453694355948084016786635003161235802578995801930784532006684596182545358905388117670849428770668614584872891908034648637999402626596721154410627172869701500273490421909930418218680334915307022457993200123970573565551137200826444791238161952160911836763702346591300020396553796240626350782312015951293385914386420078289674696130171281100030805731226649108739910074066640144981705688811238500739987005973611898993135817610975000015805986358170198839716726444986510143833560928777510174353851458653682056330089044681727165200318518452671659233022655245915129104494710347012599710233907941469987834899410247884143289704930142302446286552316764855966036025418966140204192507185136722278977416913977373762819382186559483172228794925664315436054613404326106375568250860573176604246461774235496867837344883930229304880655431375493592906340038558230473942600595966659401333572832059910953156870677959702464211425177614231396125817402216799554539961643891744968994126983795535389876921257543813082281989644886036402479013112753406368759716368751487493698006328500277261388551324310163815082918356923036800535509169860871788402080328477749130920522747007307100348979168990161696994346999556103290611865775212533563309540847445878615612643151966074879715531091370593669916423676237028726830054200462748544912496586337282836485807530298630957198387872322159461545359746177334784685179626239902857587852058020068159838048091221852031189084518735846092100965290129546590545039108630270105743834340111524546741672634268309507114421531922743532127064407127935860789693819304156432139895046599323674643741422518827084951271682471254546766596956021876423793767572176785418748859528493901555460384517692922852304111150285743130331325323518790440940066564927005163772099933579832933760688857662739912706753220490067143778975735047895020444869627437523485283952905156181154720181457035599172309950528031435829657973126592103331772322705599854364524217022668116408840388089989183916512561211367779856251576077544454095932802125723376199098877924944720623102065954159793634708828497421699572889113285364596135185386426325988904979144277372474743937229380221399378251288346759335418740408124835536046155254860635057852392340170919178611498050895291046944494401357303702490202377802246153741923484939253053710226565419876425172626913848834351632601372865694535981877763567283787156980740106718291646901423368486040550402606579764656419557118012999424019953018406871780160981738394898712692427819665043765173695519814402850997321168398886385322526436395674695921214558118415000711398132404369085885642605922671293517131691845399432391828505626624319570215753661763422041331337266831920697761814652920521737110366212255749645930503684082250335548690965484253966217553405278444004274954403234077966217548230316858368157391478040318251548098805886840387025801851965241821034546792629262752070650842899176265399600309554936957188475207497584127094206902494873393469237375199709953689737121671061183030154829971097353625543948098867242071880412762855367364215559408360365365324047397724066447564822528355086366014428164389049094602521031153018874241040228535572656186395129373138995422865843987771364842253848170985545053919051418840966460474114302779898514879572703355418321937177482631400779805003012728015078594498862397678619998864418607354031763001145396079667286463028572036020967896197814418529528422903521913544565639146953968670659810072546946960122801545985942697812223810466930945394502745906302208515260259951492374513606736040900431250637261299927489240211717150693810012602317013182315609008306182091985775522277414223368901037974463176727509397639809523512649897105845609817910604762833653191263087335229988082715549307579507034254904656357200760692330031969895963420768274989679196628574508383484419961778959366818176872233615914173325689632434525505634844428912485273266279311940940309754405727697401195388661073925238210402835936924025968753883083058546918920607265863562786423994765294596447180015151845606771291910598831687562449289576104888012230974108750691637329155944756094112412920444710841514930496471159136500029884752845438760904038689075876417160459008252176140069005716290855496471775562822918884044628464418519126695982067227867664399425254696358782280432002923033819992125706996759494793540217242270569000124443814159963740895441284260310442152849103640587203477572368822566393213389337691115955683184610333717215864999943939915926799771071357464290673100656439016638043166136190859285335710915089570574624631141423772125295615419718297508922297264861337206633094815189464272503093593673000728555236924262619996541527135931261210888880286875742300591811884178158745174653469029832409606900672700572286906482720512174994131381782786298841575983555138179197215045928353677767677436437301130556315802993770497235689055198354214482069489525672253050823893395910297761733000179927190695156938459507845351957838677440855730234386926231115807273445560112506582166893809038508850848299045806402982513691709261837303045887565606289833911354971500269706510694916250494527419412273764103343067160682272853762898799776694100155411829079500027981030246057144170233598183650462573648518571104067121198360345473525825902832174061207775593623751038985671918002973982080827028391765514713296541024553509347432869900099857889146280650287784433426165713929296632200872887093434370569786089331587211611290804713094186853068393729671451441927994334292155304170750508172706714611060324530288243255851450205354738067293934183833680955739142139872901306215394116529571376431871656773927995694737731569945636708925814317394450901331480097297462011800805473917154324290376278393968393240403299754397988397864486406098188517409650805945391735199371280717757637974665990626392174576406738533373082164287864474935680778897584927242660412872852120932003571328515275272198275520821314633845135729429793229630811488150123101462581334588150859548073086517534434625566085316696395192636916568099117886801353022181879536018906538525404842483895431725485643596050685001290759927315299694794487528863192238860166042644003818389371527821886062223757298331573432486825135660124546195536141940401573025882008494982593794797214360752033777922925679340109023975284772593873634889238516380564577914464223424530460932635985644037407121981195195063339001459861976560732941517090368516969167994620302893361538427032553582233968459358037153938874555031086082816316451590256761162552996410851325588137071537559938499209169612033423289685708017006636793155929946110081627784291658688876511995562270697439045217973961307917659352951784418937357777643855933230542688191434918896938642487710039252924158925347145715731274993455598962424527740355327847163764110542707901025432568428290543553898350150886260589385519949211266906181915901625587027475648963904408138505605547386109899677757449424343097139461677750083400858994505623293945938965073555182970169937980706061437229564030982648128075903788566186418887953126084438059371107419633027139614569293752792725619341513400512977828116621156825958930037341898721733818129668893597332336398298168052026005899177321892678798873696973943174758513998492832164878238365010629529741115848689191124789143805780255079769639950318759561105442084540062705790569601989664554919958286586857787084515444985312182826339028461871910092249349317345856317668619974421781948258453036913327154178702411221636453107630861659035723545500792734570668662234918818341108335768091487434979310084504673907030090022505317549230979383222870086803944977168572516078253630391943544022625301362934533758562932810460525424336470283885432806486040033813229745699140677353322385341926748274211217144391855061388903105505947006164338386994690664098307116275464564959652773497712234761130675037697761723230624052993387472227920969499367855708279993751796117920510780310781076610616756372981169237468604948416288525908303821474207458472222298387681009105412958891706742449344266161212475014110968529142530473615700354409654583998892079282959077065140852371152682822175938650874196439711887626041834035176216673223869190439094102946951464803041067208432633060085508329600712818750640306511402954010097038438162533998784488390271435678852259723826603225152078598674039955675570991445732835502580641555166568884887027036148624792224092700573319514905552874297697163212392517947501580101578038991281075239298138581001536286288832867359926789167104617001460233429002877820045488799062225314484427901578858240186379557462974030997785725770098985196162527674246920076344482989422058820320509310160415453531659361489265758050585383962207501214208924788768514903396560335883161643121319240225880058898087989000207316483189602924353339800739043080098799819385779990732206011461502479684589982870718296590734356245562094362510335876652064659002891753016269721243194151431928991126062585102024293408179624319785130952064645369151229963843878646503479795740008841232892782002453309813880789678536488679750818176673942835834392645357421483761831727303090152740728379356814134146153419007846585443589262077065286368732273156798863143936306410957572522009150484900827519231046029108083301564033175908547834023392535122541712835493386596346120008960191305797071353838661922754713797278618960143429413423779209509770956461368339688340329042225099711049060410932439466465580818571756317216732143935272068970301998851821704147230085107452026650989890314523244838297273688053377831103344253226473818025995281795303546122494842903001949629713620669021444022181391895244530111249903238239536601270139129388271746016626054682396512966439497009880417115933947668178521419113619838401121710454141253132527945529201254445592592320923598515274733636896875203415626993968446783827294169413932482483048001793936555051551318283210429769196876092893850697693700250868520728807961285720202939307311418353725268625656396316916057426980216621900055255019278535019663458532129142582013173825892960689471139970107125181822164470245105526952472919509048731933418761114291090289563638053774875971740937484371666190842235825044018955115255557043027842401012607140935895709937162515589184778632623693654264734515750640286469780100632667051289584950736894053828143693783821832931099087022660659864090801247049283543796680581695562584512173458214958785359036459837069862384788955490682394358670779583774557794422438551754756215954652108692153200445940861717258306454881602586223917620250676704284510037125929578584918551588047644490072896544368258494067844292751905650999785540674628484966437331512108497220190596213068021642439285802661125662186009234318227678470633058839447015413793248001990792077562849291023973486306555731569891914371547526041354654953431443536806844563682977237978415360001612415727294766741248736424415109812220017058797984466178261791673279707691353946061084808307612489716409210350328310917917650166960343325038895391931281904447760737322101984895155549917064837803637297241392329171360533547533068953512886887010915367862595285643946064477999175921094377260283557126064803274753155343328334492550617366933262525201763040473802632599385415201303367959089735126669364801801744799580528282277041602703866185686478978370818471147241451064318020412727817794720108530744238521088451082276814264839633592228820572024163512641412493842428382240648536260784619833618540526001496504206086019750231561801088473871558542004524271939371340936396752173694275628858198458535013396938082268888969157222743706376257540502428224124768696980079922274793696438064335982446349555324975900062170917908136547463475120118018920722886730465825972835969162790599536212202117400162649809138618988720139891702526775682898182155795077800586554686384705049283582392579234952698283744349424301829288706863247291904073552103606248772977160639957573142974896084852360182110977901231143010833727218062588893662222359656904773086624401401752298400159475473364577185626939206130141843213591840027883490558527747218429389095829889921278710367553731789138255410532934313220076516702222513497789317057258361691533167035916968182882892891504195486602472326093772941943465513744504468074842032515433519295288300218374304776647532269531945099800230058947481076057389307085005743268510547596080313248924959499217658796509878488732764200812901498428185417757348316402936890821588952371263537130759758355013369153156692272398133731686596145250418979886169785385205944335528493326362691223149112019950542104900902988103670095363739980661932758416839911013675677549334653750188844032064392609051340215530498855030864554768583452357088649313429814608450148282585091949009649349970449762961166583926296607426151572892703208605829100353640586792796247010341526705914866637042995038663050318268730543464930161092861756900696847048869338526387716347523630657795973704833541288119413156111332625202490527977372052600415389280014003317820750571905181135813557875947955200134422057995608349967999494192698592563015695084678797066676814334248535493881433518597445412398821898912153990359278994596914738665529393573042055326226413386127695388525286225901009896757545586949480718172338476455912254128386304746126553095927618756362392654043802323730333541613123696437324216807818373534287547080089918041604924568943438733340498797446121149227339600415514369702493056162351219811113197184444972060553834759382060643407901551447790018506330623242093543791284249634818967886407477930264105141233473758098560591967197203349067746169482222821281201434816311381004179030659263856344694155413581428607471356353900425679375419340462754565621546861690436424807994803337992274561234588706623531323843026177934265824680970192004672405895908508448193557955444107119526386942257283234170637044373570202933008495748583682164150003772857160125616767858345522892530940051537064633690998302621531337613763276653917415406628445737947124845467680207059941967081898623871974016564816156060230876492199975921692023201306560939853161806144781709932046164021598498883742404616631680058388718456883365806203237937440917243427054852102665248422209373648696402964345770704122144688021487387179867184372986269040727754362736338514539060505437744293512782956072800655000274211301268287201138559608933724957834382091023145985998476274118200839717177454766415790816140390649539550908518196747935868157369599932188699923738566088041446117817857830600375128722902377556127218491858737696540712125738472658889712661087144813326420829996820216704310610756078417329352543405241735448335880507030430495902607405939861426500007219121202855727715445104967351825508452508889632049401327517670430717301859105932098154582731938774161155174520183043233476618171185560804450174332338087302130590740824275975426351243779391770440868300827134970884144646250314227942966731017077189357005120296212348278682452307426019556831416511564835826386511393940612799082491957055367726768764261668883818103432112239449633071356713029803550450700395683357978349208553460572083498150725079876454965821847924076301241623939967647453500306673094576510853289420158457353898433723078648880491464499510089724015286908865488643488027122996487854844822193962235015105780659590012573654548855994210254427859220633291267606078795654298378588015760599383488889226678218753740278837448007305759674469683308532808974945799608007951142942835658573052635704562548980441996032149528574076367569348542743372326429936362029687404096939325764831599459238496562064445394683922556317177976907037416935709502062589583959187997070990631096216871496968059045983167238732935353889305308675337701417710049354066270366534190325846594109238342640857576422189925764679135666878158680522426705877439155369396192480016053479903825182458312242173995049139486966299543510125751576298780135859696501506031663380855789658425873688713995817139089382143261360869039178874174814508495862494906443192410628489025748947635186577153610418370464663310374179372195803545110383957816480026876988800072705329749408691196641929753483917069763661679584386636473863557309113066903543841573681999175744948839632014687968989347547877615540761396369111924423548659920763596303647893048599642461379767373564390226093127257863691841204516995492623147906322905567911125248358888265578017693733804906819994809413907722722773339571475038754177343814010831707309519174643404668520630444571928895637040288367784282258251779593970346743160890553301358182360462548843646142264724895160400726228706748638809319745606855576635562406915090227543476797364023233837329102037547153240318661325334254843095012649087484968814798426374737565762452449448860407074572671742633777215357862012022928659598790715851724249921347654751605448878279191956922205428138047039285434091151518037454215003510262753312884333893151042661630416369097027367318073511121372182110748819214335918754142041279087884262792327369451113431956850116224741690005898336753976294155053881904614451668652557169595332410681264712237522444158226648357146419497869219362821881992578654425454204886799923149877504341195269589258406852648061627415645630152297112085945686284081044731296112965488841928804296282802553682275371465561255480926653147706755161240606791096526614161895942583281540222555104721253649863809434303923158370491577650437783342878877895167919228732544109857223873668333342687271968175822749773190082493700476549949826512419601165351247291398416683583461996736677805930101001966545885549706568201662028577526628006244292700613872417986051991879861542206059495752174414988009018936076017936233062750489700964801719476088050551400580021536585848211129597016831944815486090326787448491759131113602887856100844029193278195351329800317735603209054179435587937721886291290903250687019356238195546000558879555231772596468073486663048696389735365002888800485531018594526785466842239044105160999518465791967487570894360746685181772191740684895570450576085769123225047097074073209254235876150830651580225642946367192061427276913798799023685194096063431956250104244537797335162935765452454043815026245526094663877704338824920486234351115736554594963443130588790726271075023477510714318098280237383299446550775857668316145008470722198274177788699770452674275599932542273500186032529900314408190998312951134151119377557920460005807094878267059504711561301640497871732074833689689866623227922630270372117574375338128128223477803069705505964447766766985215198508553192292796759542761853759482557824555370887701281619148199723221051542065286241129393136540726053659337021551429413516569789329055138951709338180190694116045939947379504512206053183557548212698908306244894177964687214406999707955236567664390303252581707492009329670133130747165989937435066578517137270823166185939140198389818487928396567135085234830480438338503973356158360137265099956859457526411300786498172912633494881623879047511831916240215799160626481003519572998767827419146587231435734454284633036782690046054991748274225554069434622109085783592585879388705732552501465058444801284442307705281909730942295164047621814363294972012044733936559709765663537044175352553421181337553643608967369649548279035354334215789385976757335993039475936670256717380268265666517870797030767937074195786613382847477712526774192966966229052606086169948243107724336466724093912742102032085139492288405079213132111647693696938153034307391848143467223448539192503096866154535286540825858461365907807690506308760802171124321696572226599189783770390429531232496649561506398138032063338603433548088721390954228345869997984827682609624568613715517476003947042056851243869448385320636529054684690345989337029671088933555100064816257161832986025671676212237123756641027026462970347646844520670208613963496662257447220263634988098335468472632387963217783103621604386679334363303373772064190403997945331078521864411881146759912858831789991900385777397972119762834503827133653162102981864645182156134024805850643135881380586677191017503973811436289455676039549917025679552168477000126468922403382773167548940005379363877019708427205810013489476504175270114719846502665769661501056657100205417480438403486420758235977256114317154534302399953255512171273005021296903706442038109117383500874565733943918146498339576179896506228143778462384786908993133796661218212692812341748312722176993208336699864609448491526257366258765093320094990246133008536443409889019498471583730575252494817456851954367863853370075993057221945765904358161897143038015728137097824402983195842470941981765126693035873241676771096581291076158824700183707057503171455980222165342812122137302180220773162903754013201734145650371799209219776992265127837451959520813264859100812964417522154843271657304552586816337938371441400743127882507317613042949302999880412677347451274205211847012057572291731075481654882030731998813930033903692435567884836777456889911079081189386187505891368981653356906898520016688279276294581457345333692481889486264890511204480772337498952346673194886031354446579005879866433320453950797602719654756833986831031968392907529458612127987137852000170936133283123161829054348965802524690840781449282817341586128125202810776779837804429419801816445029466564688838753999522124945050956688813790785918297439026987287688469667401174752273363829543376268724654449488504136926782370458650426094240838852300279575189285447243547454335835107857185521558216354706386454591746564628525266283878633884388119553899464007285542483434747466496072823189056891221577661246108346441301101827861826429656077487803825971977050098083230560868290614410097404746677668389405735192245850385799402066869411815171821452075778483071783805446919628104047852905364853154833754931995039619726944515214267519873493914352026683818831533750459851299648823076696195674911820983951101312916254417803190315315435779950453656372622952144197579933448454873886105672636304451145714511358327065242892623242429686143942927594740266538513420264170876104270581960372690245243704268300108230264424618643579672491768056084747575439016610319369376200033786558753945334783219666460275469944847263911201459003688229058753871523397470847487636352785529273316609576703448226610526975421586740709511614682439062788285256139631129183916154480377121642196647763116893086329698319140373903364337766817673292265284793921520293632121801554836844180426737941737223622496366634000392896475237626770890636211898097756203068838369369387414420679074290721579048705586135803101470125121469080552913169157860612258972725452017455418397440895291396312484446970216047739397977768506182010430575975749000574457244526300837967499110647832055407606540998493167786830556315064266021273869976781728582480780031533519014854730961560752709388911142053661426789053885342097661533668722706567757348416122118475557657579705548013143794727787510877933511587942880360641077327813720700044185782985515233741862566136440403670212021941939076011026285093315840412982905898304822819289923932588825198887073855034356824773249024744952304415393220326647137081521445259247843609832006072795615959787494788009935435435703883112935614964602068992854335386573359716248141684414371308744536740872987694556944744461077864924390967120925087528890307123249236765672858135431967293562374724826801232194045922421760760159305255339415618380499003378745298455418528336751526866231198950265987897180932063818433111243065683554446507858664579826168009166480537189780075506374803438666916579451840677851560378072952873536655033740242515955058642365164805077118432983857554664748059688814915040657975615796452088372435913721407184061758504762534805142468691934580248020386477683388960648032418646942541253252270211541740773594468409276857104476251943052773568661133090238352441918538487440352838077215658787618404653945439809925534898117424813601879867300926917213163681703742827325607128503302314659343680416582314747527301459669970289683606172708674574097092541517258994247173681348984659243185260082337497288305085876271278505993424744821659499115060336222384674270437939076036666054095532066734779844408647728591009053375317702716627001341737661919311333168359952979249444786035917448816326281456797984517171608820313252478226617250588908369347275687762919674766573420731680284528342345776710521285511023358219564894456683758674199622366887185390767024122730312909548009054517752645953535874941859144614866590771361559691627839653642185546952798720965075083886316832978512464448324216156217051517466116904787656176155131783654379474238882876843652230271458206438895930079955678894190358305230278458487020998527243692557597701415306567497112523057717596189638553081061291439755290794331114635228518834213018150456030788155967060865977942182397985169447439207210124449523132595358492901539166792161096322795603232928559587013166542607168307535433297821741158605994051004137191162249396028611678705611194877607312201809245165076476696532730290324342177341956726238501269946907820199030613011967190092926881552860182241125042463536151841817472996827564882158376514780795837460794570615105374001636001145106217753344557192618035887842187430685989976309975724007698880286279056245145327141231949306651715910360328407134663448803721855564766568184141095860479531830262988125283130953488064491125435929999973306702876027096129808195374676633128283589918694811951466887849885985268027898970662624783615665743864510867769946663515477807841911901112955262447482424912081254099155605499310749458413842958486087913431943198855153872686281890523271853203959502119118339070044982564531809018539199707101420545368421957904680923824150177012586334824936485984026895563809833331862781126570191184839507488966836720051055654667570176263338036182785511109457983915307292314562300416987697317493925798118179719565147897426893445449004873147969523864498731683280846761052689135197714856725501548481497321147765814153058820648977593000980385840182488184706529893642771492822673052394056001496020922292677505873428728018874893176026583917540780859014788678466730134931094949653962579957026791307439580292165314533131251202085175700197345770163254742814626892394167446555242538432663129612574897913915019525227854133282091146255733957178490295144123894172955618664298204469527508267094851598406553927456861536453657687130813067526027293558573850343501469880395605800846277341939959456984007664990752973100912092875198360787504508829093607590578475312890820118792904325390871228401262398748484907023175651907555169212047213369201466174128391767051117901320528615308515585401734804461852982954063984897224593118126350915704143351850481182107423726021627414375156230402402064067065736855750053344981103787044653385352194374530044929530670973178999666898574867716470753776072002281121484567981866242936124803854527080019333155806770965117001221800830822817689563947240592683852293845239006091071635256104372106130625327829403810466946725582443997177146539053656187331701483476989925410077912857771149589802580959227311445393552011922518478850269986679126018650587390365923162674699536130878645891486095056775321457141987764125668720716776255745343500253337390803752002552372298325089550109072120214708163016156519573262884870022913418575912443577158075775564635125025829293780319708555445434067839021617515410508069118710704428884094523002893386400440674987365385096523669316752894088879831294758968062679240077733699122155174565858901410284136509754516369474405706415131257071772041462841468285548619244252123660687739761516335507892033556035791371792629100237682598738962094476369972059049452967441587235634931674339622473574280821288168320446695679536039427053255909563977956500647500412691563755880886167774411122846515042057934210324478787281919538790000999616163222123020708764047374316493711188552949294878761965336956393647858527684320631232701555116292227575140464720491283762688439233984347879300562313950958674740106476704211178477509147003836984296147755270995029269684109343202879183739584798683715241551429647234717808588582623277297576686008949743753409688387939096222728882689374022112371252012273120606174751574751537381989074240665252066611148827637678947177773960015235903946894098140630385847547907319150251760258945788659491966429549908540773478285449868640866567399269578082162283572603026954569487924380165488488051064862760620827164159132523609790500938385405426324719893931802209823600162545177681029159396504506657809033052772198385286341879645511424748536307235457049044509125214234275955491843973984458712528694819826927029255264834903206526851272202961318699947776535481291519857640422968183091773445277723200737603825883172729279563657419014445235954319103063572496178988203175787761062137708080967811374931911766563031490205784352509572880668464121069252802275061298511616206384006778979402449023875111258689534549514888200678667702341002839549282970286447273625217535443197911855068157264858804852673871684804002188529473022223344541221328464844153593793663133604458940328723478401947357560361346212008675373346913314338717350880212600285752985386643931022326553454776845029957025561658143370236502074744856814787872902092412582905301249124668868351587677499891768678715728134940879276894529797097772305403356618828198702210630557967239806611190197744642421025136748701117131278125400133690086034889084364023875765936821979626181917833520492704199324875237825867148278905344897440142612317035699548419499444610608146207254036559998271588356035049327795540741961849280952093753026852390937562839148571612367351970609224242398777007574955787271559767413458997537695515862718887941516307569668816352155048898271704378508028434084412644126821848514157729916034497017892335796684991447389566001932545827678000618329854426232827257556110733160697015864984222291255485729879337147866323172405515756102352543994999345608083801190741530060056055744818709692785099775918050075416428527708162011350246806058163276171676765260937528056844214486193960499834472806721906670417240094234466197812426690787535944616698508064636137166384049029219341881909581659524477861846140912878298438431703248173428886572737663146519104988029447960814673760503957196893714671801375619055462996814764263903953007319108169802938509890062166509580863811000557423423230896109004106619977392256259918212890625 ^2 =
  2. 58862946165109925091198180916633240772503144210219280002709558095464789786187647735978731256669813992801689423572678053316384490420582594850168250654861043829399041333663584247289436182023455168978476984272078965807829463297274850287810989556425793019955854395068583995181202654693129289941024722559273883555318519724569338780323807935214484768045457991597593831605023087925579406630853252605673761442254556021858763178247733900588372016969456979437452594784260915131021353949015305298485620376466018661439975000835389218675925462198179318567988817923637699677521682022060786476004765946616769040106592512064494863105612717755999750552647606265666509791221148780897133284088087544795397697140613411517585738857032133329624725835350047924249387091711893565820776907363700443278426489062834707502023702669792767313100851777450166485000767335776168747777306516374888649084900436148284798652046468033232012071158604184207836246692263363730371785831239103176033519733228988280963888116185423577790060727869808685841563173090232972366612511467343313427105140853946869146259848976232385824671894626630739356476872844568269973353949317393292460705749524547219541449525651662990788330106926903220802384770874810286386708006870257069528333012688087165978934190282310157586868974690177105703387254969335825871261898404828507863460479356708771934339938676186037764285608829750121280312939645417579928262084249485938279016687300670766952795727442049411144292878969979071337549172856050965660986356170573577446086900648970440967762488357130841572563851998551307133790868053953772970482271151800878660051376911597873262816741605170519178199710055609616804558607082398115114965400004614138691695976522304221355939689570755622923989589508300161204362520963726124779791304121931940820409492149575834062097526936453800079021376207703834662977544315143407892072300811862680530382766305164101237742579470958849470457630697188759189820831769590410077055578663480792280994857454270521538724848088407549431847886940522547497621861474566360906013771968200989314699191891572898024887833777721746908523135151492747241373374066655781696173779081480318269923983477630118954192309855114767881409603743062191374326510294706993308049136758287551032029685274464023610267012702015724471822049109279959342665149242523313093654214094410015727718620403304831512744054506319585284310838591909647327312002917437637768798760484169468757776243844629516647012072499674836685106247752249966443031627762603368677452517570765461521890629905185424648495727149558597334165910971169819517846377136125988926123351699750873373675939525747334637377040353228185158915804949303357466101348576902009239807847028404090373516883040167636156371028341528281029755708952327427212857128392279037971154326833958591028612181513450340724680457433182970912208649763259696059930795746356142455783266242185962009642224941570034529227745742278382201128734947326342562299056713154101202086869949716982251296327039164120957391353171105694863284732881705718581729218046269338707747866674363741685078783792098395160617611421711950724580869719481389727641368780246042928512352723312926845230546640101581171769181403194823995057849017060613448523332789377773827855486778784122439343739396679926935562966292851863010239677861034567489392280727685653667418152085586065124744630870026166817358687270477068578977706872295026692039461535976258391135871869076309558803211350519951250019380284760852949915164027627737318107128343327952699219179922314640460420086469355920537727643548828531754575746437470337865283758889791422638635614779593804389790366997252816166819981763463995027549176132286262642330602177005009667731069017131719767235298775811531665054917641697539120856450369942785233257377172888913653991317708019503366571768902606974948042140592974736916804789721588313191205813850770448200239048790569045337153260530941679727681330908708746550888612445004132962194259286884288337081325507685796635325719656853103494685602434662340023294779767723984465968789175051057108386202065407502520831215455283184699430181516114454828886564290926663910756007600914651542699105376057901213922472702170535334845145583052692793786322997737401443480797423551156230217093312286019468203161962642238284227191162277266893955469370555308364139243303928555954457507349943819737449062954483480122582476283033652460791619708482678999098414007831748582506691605503672542805425331165365659747265081223774972543650803151169049914027054659329596510650352675212212347397681691430684791750838540576468505763652198758339396626383164797784484488261403775413561740962368012554879658650486131497392427393604353442407348242033378142793101191061206854603149575834397721044075484241710505675535781254178705619932404668470638842791426989018254959117012420343278949238526075701436519203086185322212437691442640086782053845528680619896427639752213222012281795080631329380339764336601272650759627936538984883301698470835532574056929837195837646696191204452494302494395280216114104002533922543313244290890896772651881487920886843007506900096802531514378733345194501038349927230363197760908257098148785351090725091456111036706365687002250173398153426716405601976166748305379693066691653003864733876327020921322799833947605730853315654948313165056418223345141293190119591843692510146143002026874322011847211135765882392801901179567874954883348963824100171818732515453114411862114925704479448035676311912663340694534543644841540474556276373267066051699764541000541474934675736588038041093273122825922087431551462691693267236700112521467708575339450011572160432734175118737737496315360808429302781249858044769138434910604611384670154597050872329347180830136268058808407309494601672329170549781024100999975436859560126716397124292768314203232024573604937865630472497045661544391047698695538819638634842392892999284730091911508223153339225298063834147788172574263329494352849153099657122272128074369559084406360431679165195579253775224297769806620385716879082078761852630979195763925313876558630344733749989656023115077539094275879264522092546119496290910243067132714193207555747321976344124169686397113187191183561479760090169640184596992747408559261920761530906586299875803650311828497741235909459442846869869520501205704979237009974027350036851914738496001429687224786563323935217582327220559310279641462750992935020176936044414966216812517803392705384763041084620528263178223624903356421240772397986444522391193307651695120342949150185436382744708734983317582042961703495874780997858131178230082873129098069069922702804626197594004907917241016075388863861893834078532904487003190369355203312176464316231373036961227006342092055646669725251115095903635662889283945012592265664008309080900032557302660249088871628635316850017748515117078103334551520075392905511648026554508968946502245764562242722962565873745722822847161044972653399343354422567135206622832479033553635586189158595926407277191633414637728815327099026869892402043805015561205669395101498323129064325472693586898383387482921124587794098390078968096951119961015223287238062581922753156574748164616795058669699395648298077925452623916798968709745057549304359582918281850828114867637280235147926316392437359448584271578414866333268263356391672992667628723439435801031318378395449646666148095619878602832281557845049197849106642221576121790865780452621897955900961122970850125779907739523555202339296648585794882639475495619877542487115948300057671864906479616984736706308774137715274040382418057082596869721409841755343411374382871315787321347986807575880176706926945238283421909630383603979053247138398568948526313458162701859636565106018778860997750627308308306510443795703636711985405963413146699512155058920081120481364928486625187141351998406781512578475851760510643455242680632267612367615081965774378058607132645600169709860499769386004305356839844868620424692586419592393523569936662523242308975298253712381060266333697631075951844361802575352849809502277069212807022975767336127602102105942949814564139940573337144054860223363941252679531966665718877838208594544070286934621248811422994724499912759963031417903059826080607749383914636230641637502395124875117524742537830543706239583348585590010145407745241103841191265547951067786198178705052353073919579588233214074047596236544420696304971380877201726929064217062648661535562370465062840571859372041781777028678420436684881829649096245177464404875720031109304957398999581503880706283111745979114643585719997662715740995422923614698565851107824538834132939974495576738973742138507645073997161022251469388663239465971933276718450949454122008551684710291782144486790121745972110008186604020909613583812182707333664554180464234089152919577152543846971616974570299582750050742422697929920838964033658604129982489888634090596430831576811164146749112550199882697699881786873599346500471565902201559408691314577351749984071001603525564614099141874142419153802034289507028846355816496412142884781802428715537435336763121612441091776418473995632467943148774421704380662861118296467334885001337894085320453708902396440465841689103244642384601499440075219588497723053026442919764283898997944542092322836030434606248948060668855381876986756302243716868959766844968037601377156288641951551959642983247709427704281334969163559880079204479220497566531806899108821015607648318449828718718331171071220301934623474442400359329428685317168153563760922279666683267245126997961663116916621347669788109099968978361996015770991589490137927371298830766154598870433549717325528441687527377315520995786930138536303658126316520608725785243218457474483299763786648205130633456321360089039104749737771496678841084633811370395967634840540099095149576090659339386467163154992587364363509308336786888726040518329480200885862077120196234395385611259596352948688663220591299869472786264075168746141241736860964832409666688495194350645976781776630931431488233420738458283989496249051355104098969493423824931630478353839747276783886823886843926587815717488445479636621146111091274294665919111262607643558120032714714544619676709796805029927505002207207117372313821224751919407566496168834571470663572851441097373102690928306825649825390619123300529724364944536776242416387961240230588793067805300379920600114025552913496324460329635778063444176876020831646886162192790082601888562134758866756267501646623148416888337057781006797580652185564334422409581093970539518845761712913759479934738590242934029774589527052125822777511749487759409437838336397858689165695902581652256330520271833809845986913793792061669463941437035020598870236768498358766285714760288758737976936201406029134670676206259543754303236382618361079315995178323868059956322489528088594249008199139216276102788334631649696306196292229030924242274907138795532640729190129165741219036693850721240840267936805482768458076179018250734461073386519354865483943509811233549331582390300721163415619342845165855738624975337070701167512696489650204854215367854788577169558796916259187193931793284688147507398706884705470710342483078366987972042360929591612371138679976771870156966522445701587030011162149880559845082244157569188082475952504027876868319100975193343725173394769584958730611321323006418389345628593565713077310202283223091582541368559447116744537519889120725855109194109392803906522826117843630432561058505455672472053773032911006734782862796355246998298754569509897852899623111597706913223937562791514369373294183240470496528307791211153135005233045827509930103294139959912239069993889386456359305666673404222699280068448783471480591724611204116193039041581819653921682210498321191575797500768828346184787694106018931055745863460254167436002085875530138922981418977840910271466873785543862519061797804652172371810819950596509975523198701696795970824672667951273820295359780275084804840668359307001727652645136189959471410300310403570705987809422302214118504989046255614233517882377516875770900768370875084316068173085446947795176570865047114140936178084135300283267793353306353393371112222175963676363938197773824832042642621007937409979230524685243625698033349211354962505196792251468497117286845071683532431684959360716447811837501551545059537981759325225482835191003856901540525526135259971154653171149112335174849287623936592697477618372236822365464132065144539436360077015415560784779927350869709613771902021636462693626500999989393805640732815340439636949769269787364559029193285619979484981800009739364963690419227835676210142514790559909142625787484086595458887140033191023546660393614192548947864616070251889403119717800528192202451158349461485750998962042132910878308458408759631732044923164417953341111735637573714922880829458094639539304475856208034645618262794455169937117273133372910622297257686897562287080286731487603491995040785842012184442887235674901735400418834237102704305732431726891367553325296386877772592169585340587241357378640832798037559232111130505594890906174512882226401699599251829056400999175041414276926172173188756384364920978478189085821519374263987682370529084682478977578720259135334265094286072443273671871282379718384042613880982975053984594887907466945671854341900217578559415153339899132508574703531111799727435544178329267068737409371450745866168919336002754047246542247138549043723080711776033663374944065307941662066810542934296242188988639687173595143400690213188462928164717192725872106963054999850516062892870520735282541842867881957374852338990419765352260992744229899616978729113739967322568733546895255905814067615720626747569850588701682789814432949556513546440878917627106368312016904551514667260078527496557943412545631308005699680064497315428407372667580462379746264068879977956456690429351621646818343441984724738475814936319723787179567514803756979021994949591971922368670180230951720120924524928157353270590227542571625773489921849276205543680579570255651324065649042278903198031641743315567662776686778084007687578207842685124096624810550735753262441825850477663437131879388888672035993300311029881642153304177935429708912370632787808122559889934220845955624268632811172269035981270196175600964549415912138793318267953312747997815332185418474000920557319272244228810109914200777264245937712118695425308774993699753105309789133387160591174734571585486068402163044554710781776802456079384486865356035161392689975852868243111181645433404080653596956529282148991599615272753318229431779984640973950443781614379875568728956071928177267485143137303054927063520648674458713902501054519261178062115091553708234793500561625787547681383543859083551803037692666555854427048465888631890014964433793429492450808388996791767518901434476638461398831479119562562257417689764917521877443205041939894989376307629855300485102783067468397691581023710022073109707311899372077664684272328013455974590955619390279895022197053577895942173607867625809071481305672332542822367597081675913258023985477967178087268890034353015288444123475038324887761457935668743731566561970574549381515768040127589798849527361275162474541677132542445896641030629900119268593928368782474481311097516592923896312632838537749263317902725063661190105991415448867286119633539534038628445216308733475324917061521980331376444649358626031184937522275081055473092378710254525779137209188580972277770771241451489243525048366263316381963826352329055949848656739544989113684812553410995972735652191113559739846262082934411951075993611642421483979865755051099430352192461795308247909722318805767640910279725099748719797871392596975208129942930120412095317244234937258801067349243887334014017248555335593352843020079045513331905376862217921935339146058793556786294454483334350609496867411535970053569134535687895265887849127002747928353478702394601534711288326894429544164260339629524892924222601060472711198793052150559422831770175530477846697876123842421069883841910825928052521683142672078706956458980988889610753372770195769712696716055924892171214135270951381640846380085569227493604017718140730836224545162677788837359746526466554831636553629230820208536432905245747494233666940248035515867278810968837755441171602854126664650882125291522927594268067901542519089892505973427495610920277911235626038510541049749142207501169533305336143832707267936058821544868904803480036954224261642205374639702301107368309959032316938232684829562610199971817326920375783652444578550880695302332544992256739865987242677501908356659988988983210213282912777876358794213368751403928606604382087726877460594824096934504159961187021883440483105940679054420008255754562620899254536265995125476024246404410133846326514946046430509407793393784846962470013703568326206552156193787551516241210772859760617457923821864786022525833287324280201729464344354002805966288700473079774233001557159049803520196830828240911949342556855512552312303738733346248694230172411143775841308117933997827551358604177420485894869858229265050632529518722740935888586169408801048677531663987730835653859862276654785674550010220345122518908410468976949478874293598484270587549436972646013256561686153574352635775287497073749156735195217971355310870580874292157467173507349643304053263569436586691131078230462135784747668838626194761352826714569467937255765124063345999959725912022014754724405254313296616688996851982028501668885684446733130184222376274187287892773930417441417372666503015634155200850684610110738422128381892345612568341789001333168264003090168834976397435489717369800803894299057699787672342522765352327589378163723750362743706376698020255880997935111927639520639703420011931695681533849264057827094688010150436186021033171662582989486328618783047086946735904173480984114115901115018246800824776944067013699506985613960630984581516021603081961659628819902975890618433126115623822261604306308704346357182468861443235623186354094882553872095893787394767492355085032647022021124626728199633647474654660922087842837660589913843365351831561231861113269722782583923289960557689111703374180550919842229750878661770739461029548661347036822044116135753347271367459489000512193013686522456257276206192440394080383797312298647654430115213793450064210573333454253338255244939246925460949664705425414198248351953231956182750152671926376026012728690997414651822998259044720729913525699824982538736022146767804747013589397621247254226291277100019414021522616360433877011115360485168139801249305402518406035336233123016873997796296123002670194305590466227325837327097915858289395637135078224158258121170063514710367093017526173723148065297585702551839963546019156407490335334969044333357713498145099734802935369186599306589547892134031842993861093356811368905477409550813057475254752727522008465258696403890657555311827743303773164651328395757184024345311325845430310439515244156166300086152420054877521480223134312025456223863095459612183805081896216341853938301601824571365400981055710363955209397278262931763622491289259715730309350939341996556977650393341766505684399396261081141452270796562390615615022774281492306454724966769250222885683450701729212107516450302915837465808948333919725659287592156996803623892038954276428911045087986206583335132349747818258010457921238448950664827832320707342142258340015405626304477752375277629850607685080438126808700328363501678677151640794354223050002083692811460597466039872180186228090554793050127941594861390690071345029217363132401999545816308625469767813538148367552707155765484277654413426460709705499615290335900764039001048633084336851016978850050733052782085113645264872606294718820470192781488947650626957841409977683764103989881302634589056668674083321331648084949355873867912074219871196231255834635084933896761854924616117831160715220971968244789769943010040657248364567407503514582269519874750581293580278407834301587187157391866545365772622138870433703856777103376111532135064784855972733924710241353918631970207582057511792276909494139815043354038053090631373615446109325960141297643822781157017391028829078925358516777137317374214455212700657610637645493856570473928266590664181260659897776303681526752070402426840881560048621062978074691821782607801111697374353186074323572492836939115150518415376638947142118421755654567658509738548492588823603737025332091863414121227320186473072199335906410364670046334010247991061894407069930878096173493086525942944382199032207986224961160449159445233556957208271211031759221534278528726509443038697183963884827164656018640438928640109505749165499123452927369664596739864202514365164675999807240296933411073570480746073475930223611672937196119472997195586881442841011126535117462790777521404298648890667580682789316217388009178652941348580059634091204982427389021977616734881346818215758994956885588076332839274128530517371202052694396023265758340699584565108700164226045416650875234889180444378264790426099880715522460098787839912748770111311559269952142360777252707520778940299627438252690453141622943711326390276167678942868116308203722011145740877964428228735218202494958653893968118705780750921215928653151273281486037467661978225164304841933518928819349068906297829840291204446310575429040652466835223617187057278826201377374484579181519244545680603546351274326622703044857488588531130630226285804097277648554029616827957697133999040165725855473988034568556202351037913791621051076507280729075113027256660987249065193903753418750586028177930792701421903345440976148044907899297196366503285480226889845285445310744590086149789987763069094281531452118221718625162334117192263698627750058990548516244720971022121849847212565163489931097116251992338541572271059859517299769021806527382738069836859523183292294235771234533235105803543565969603392818816194626558920827531898102360159925649062701080068201334058311601214715701470910169550563213136436656402762959926408074544704159434653344988019568551957258226237229093280354403442177535233722324806056255886895400715092776795876915400183573042199059558539201190307105361234779622573680645671188145053880625155960743927083037182331664873700299413099432369454861150500102355884889206474989419290189801210221288556817995669121685156579125487084547369485910635186857821819388090439987756497084348392345865314716699933464182434524265508319814261101943998781808124850379405019864859230446659441490591210681346476815476265499391249196984681775199547822028611547728405534236808166029090354321985419925789844937311885826133146051693071354434887356949134246247507537509241960978825532661390623052772793671857600911528806307192135925182722289190178908492461039120532087159169421648106661233950370587382596989369810839437889757040653732592122215346326556420171410856934260859919474356981297411563569616754042203060251541469379017527031750730377220600313416828245513177745023833058290149890266608624164255010793054986920384672893762890319433178835604032931771769978363795332659294347312625430262318258446185092957175794891872954000177339264846060585103946269266385883125229230086236913377986216481408436196142260615742358568011168109797734291660127049220570369122852096865392850483050681439280868243527360034942469237356274451128014621954548188687129123370951304860316980366500356890177259351320131404093861486477949234032573853466048363391705779947693715881417552184132703426567275285839891126573342792758720115425690497664262819564967768782839089993283030211610786092785770133381472841252609843200852910272623367567464701086965254389923628981694848160398271714091118545130933364979200408468815152718783444276386494069001581412718998731835372763881632885997587237018713626342377337556472453767384083283175136865582521027273038282579069418281266696216100361928634953379282826202277790594444190757109110956279684420007254300202501523429965671041269617751790782262045495307093221359394066430491616155463057050546006121131095068910850616085737749052554866464850401938278054515810448976229610014635794661041867702755633841624226537830836552918319878986576821667286874054713874343787665691073676229612017437863704726787181357980284930620883533758438960136544774675126440225768208634539133987674132912542873482064070149245726881501342860946593637231527503385124409208242595760209079637391507025940063984961453708773170994366556954092195483753890812679880665138839453936804462789689137573887939433979736470258505400911187877627755608383770975706052787251964929514465540375421141362907649366450872263499743015600061815943561592555558621185363179970640897437854519397750657947126760216351822268700522233258571909885190257404866324781262920195015648734936340603641782436808028489763895871502894464133533513404794895885596169272366925832075296701853216791382215140278992496908222356049238067684772652694284256836496341013575765633040936827480687724659082671752628231560125956859873970017529387652395938947622294622367931451756566776885420430952759808651500525244266352461813242374330531445485545436318755614774699431002438602283280686080169404276157729156045252196847990693101124363461795517641975121472289145950368670593546215885337930791010601375617275273821402828056943118506720478582630005066970026084943811633955420173149718037373209984443054843007492861080368812234648801338648506736561184986519051977432248013736006486187782535102815411868862360212385389096314612912427353948715885050673452028429087366597029691866162791467610152207015605043757150888438025864721288997003157367362033340170372259932577512956091839754187659814586734930399611314949711142617764046452340641575497203076404230193348830744457559408247400050298116371901278608154894139313413867634883523492194075038560450666783460705415899350718492223208559111669913738476178369904021205873890213220525986630642017861697028687220571987192965095165309288944463402510816284060752996354967462629518434799812468786253024769091096344098640936075087018533798406812524085082518071830346541349879224003472674457238517060777062173999196322125341076171188714481751292768138582192403732718238633091510717264428213095588990734177046182479352187425849002430883364982079201083468995539354479958231644585671577639772975362450777583410167261204888302373171178445191921676712213877089243952213933213972668668276538827344243622903148600456676169291755959638452919253236922770154274115665267576330046165393449052664445543392685368118077079309996860701789657905079114378751172551264248483076608522024543745318426547938921892651686438991625768278689221277827918993827245825002687721401107646715765832897878802318830719311079078586563909586594313722022401568315155101188371061149793691660046465892994294912073560325192250141277866575388504043303806926241195888024835881510863046072118988107464143807499936503399415562004722476881709033453689054722991238857458249683465537552185915295834234099516496897600631057852379356021263690200482204362719574266855487188147342589608532593237573253423694471898303620379854158169251319500411267705146482211411868856385630123606507865395555963198123441901377806691665687507634853297452343382055856203104029479789106807665184556294709865325268081705749985386087451569418209095393870165679473100375030703066238265000843903484488155740995686164771733489580364252536661490565796164810929276369795055489494341826660819587948712049184050681613987751044748609993044499937655902374768915881780558935382745395370656493925607075240631570876067824294284389830864543491543824316368495806011659951721497366493977895062331946676672726828200662801991471673957398640842311430248216602083427697246020753006704431533030106868876699757926541052576233222186618961839102002877846471397865568589433578629590038118317768484816898289975499304576952379276654896943009738037036905850573201915692332651259879438577835966643270637479539602590543467702777123507124098959681165222878958389635138138502939050387456607086689070486727920244400085578766229004758723609383850239623778616988801976613179918117379266451727256250939113409241017783526706515303842038572141555898887307779764576245182764241165950554145565805556848507183415519604877872550878278552169191296087146108553285337608528278722009777269300560428920989775069584154950988305630787134593775039877826190185633625505270877670392120608830530661392472798903774116837017522677139536395140641091181702013788095893498066214993821598885643215879000264295421797504073350690672471588233240270255480587971561136473759615486055767272950237365801252850492356037690192244302213875362883536467363805371536690730617375001446868076483415922558566719895809671057621083607289768166881445116573265152763744053623325751816074070084283915290076965741255800585523336630376188032377896112545624197967179650621305927932758475867298516329827492689300626004271702943166785987945519810163831562932454173056083410263665174003574886362496130462050189461384585464257154407553578713613144826989783362432810527483108003359426826576882532768922271092608320756784859330758382305110916589286696315633771007866930101362726317817076342214800863071364218885446136217926848981555876427498500760025791257214009391351008508877216372969665471577874564089666159433637717356238142321917626182463423006749497866646182888613470577249815161742342653053201424705009787032763464706830756684572636084223832901980560434729129868429733624422580213637923675547496395750112191791994705297179003098228123257883436083678352147537459073423120862668511898333232027960355205186865473044108387176651153478901508892752742194548171123736131374778661038072339097642833132068221333893506373213199149588719688495380641639569540680881560126757087864586688483879681605172752906658355612377237428494687228430031445110584571644972928396597119642616594853773910094246344915484882737221655886033911065367691235839011517841575731489875959352622897356582518565427184403485457920536339739704031557814307519299494127716804804766280968839156749247018878600536264749211661761717334488217801466780345819968186006695185876761504818992124987631011329545079122020319245167106307951258059985653076154824991415547637899419619855024260114585929831290828459569912638880202527652082122116874883995067602154024780027002716300791021660070265827078482203376476328580705566104477502908491262237026702985175636914788172867069999463873128965685821921220581924043774421301484925543389551362357383581456587391198228019585176380995789845366051043304050979094379760541959491277585351074402717726102146035082353616608612653986825191858901239521859987474446149910351939133755256602357324545013965148376582604830878812065854566880246730898364435475379144738803523492992131772684034111924762720098236599599983980101824195394962671896516866686865024842168911532625796175720971689745804720218436781674538823499653970193947173708507228983810249672310437020765756169222361585564187484015912081440162852941513386251150063881264383677792117972055221705854576589243619317029607803340379350216421835329693090941221484212776986919090441024467744945755969782454959862586716061524978158768043148148389683404374231855022068115876791666247949264578284031816006964682027855288097340751330168648793069790039953224455978808240893908163810553778305580603609290236057442884000404766220425096936415746559433072083590343593319506385698135663384046581842162679848383363112770338236374815409244006551634823266692525357685656783291174919514545840573632134044112379711349877359462654871581749830927015851926736252397074716512380919820811405421337120672639543522157740396337409355161767145033388943193907238991607698039054998476418122488837601492437891362721785833868841970091720769041983164204229308175596652424272845563462247308816649750292171540136508445914196572097719335070734850109232157261254122988515901699960636781850785501088057675854272883915560911827947547278299404072535456787767047442423254932486300141696638528821017821592434880000110430267649656767402406413307138778158000673785068038539996907063300455902876445772640612589975566823840558251602233375496391222825239121444815760549313046351347379190680117769339718961892012469067021616623758566110931667817953944523382525452699573782861501722570208721566597618173561203574241741670181237914534773227299983807507590881780346840288126598988595622937693281464907406936355914680803387493463193048173628463338601282179606542010696702406072562879518472279760334473280959702352357465526260614745519981721482734579800717209002836504355858987732159202279755977700511894434822576432672168467359137170987989274467313835759673760028283224465134880197123777949777156296718933930305453656656931796256532573335850212549877858829069997628451551371860808858671068570861630999033719903270114542436183254237444224669674864888748305266357715849067682932055195836812865605564500508768520856389946707950439142365836365206087951483923471094333758703272696385694215692191190086964652916922068988461243791600439741827324033262013797856937262076521438887930923872244287555497311523013957489958072325800768656183528369594339804075485722299435835479244995260036930762891943473845145417225252094239558855838917416690327054011608724429802663277327659676884333563614079136834218276582820311898788765361486202140917757329778779325141739814220867482827565987105591327059732096193457730168085165238011399477313302094403843509465476617036297371256942379713425903782438052693192480958681524776244183128115479386641919019598469152926116913078461699945879546464976527989139187377027337608159237389558179907258204372468118384433966266253806320678761750896008603790690798225658857036637756407198847587901579446269365980301534180908736913134109750241705925517421304520543940574205890230111524753376478841637150235218821044253219352191080989992733178320332787121633542770856194710089142788947531325898994635739728396332371343465454621475578851473791997202792677027750714975825888086499025530031449480102933773316811560613795914330176643037325018660842542058364629632026930715875180044000683580823734895677817489369790912711328595419813292740482604896493167110120766529704045078279168127641703601302690695962026350335081297668453576118184956249236315525178117893375431764027031940214387866915086027807706514869227817770364063738797176684618606693384007713719291597930666546497316340457801092616803733790634173166833114986624289361894984866331036693904117931287135477854148657128594940885199217883456408117773162561391372334776093963183723168515740071492955796234166165007108695210966478487316502353259974393152513199020476490422381537120184784894579591309625396503810174637580853023012136589495687396948782730238633488417311318365258603440627615011929362049273051980755602602674943943086407790609649328662654335707105189657532812352118663679121242300874958458840206938176487620286601310668625805739962241538386860813004188193712253456392424037598353040555298164716749298680145604580783341490915050354805876004729466783797694503437018704259848169181723333919592991496576768549397582590471717130981301572211322679307816073650597419257881765037343861253588700338761924853124209253151900282606286200907918734408240876803754973448952911655255735667631077200977713229679156935808326634308835558333840553624895175358993271315980445695129516311684965165806712137609103804502876787313982134338436074954877526314308664711812106019564445585101971431559822693364304129347257006026761948238689510177541676600825270430611228246097963687131838167678303552521252655804234541651153797562095250151013394745619185406976891516063802983326260986623564198767348993137290455457647806440203813993810265493532694687922376262382437724786435367320045646390575712753671077840096760541231253161800449149853847573571363605521109547885917228814555464246239989805752705913862418992925383410916752286411538735192415194247213633562840034816545378760980553550292063145052330149022513868661705844616683284554075790975251709002902559894480281275739305081891579214177148931708817458051801283144096096066842307788319657987103018336730210213862130779862879640832998481748916220643091455661942286768472117486816600061826374233774385420976652759692184144026579329773581576725381301302014753787348749912492409389765912838417746021724034630588091163621749655066166344297246428504019781722615205884716857051830581319746110693118606268114954996220784540005726502680461302359263035453694184470429968008935318544476895654200247387542922282119968468415929128898697459027331043602579378580174682111491001487086137559297811694110956444209935288864329894458600487264030897434805298026656467138649555903905353036048986306943897795243640694814790852437623085908169320468124433078234944902387035772980828941212876632777166604484523253005756119385126969745776470026254246335020470235561803595644874480459802853696736716804075696897928539670702642671514913941657342633007677180326345283999497052933391628413102220612026043915682523646060808746828443173692916833148684328969761126933441332886739356786030579012098915612863376636006869543010740355229341205814155573647836250341578259982905626947828592076895331732147092569702220278675143909840503719021300915849656316304443766733744798726400584589169180223009479031388947546718586015060594923303569294558163197631956612931991673679055592582063626231905580548522415745261218919873159448134723982772786509083585040067294413900247901112070079946931995006504135360418604611622692152304630143903552903855533890203021225903000594683996238394316448369405601024059183116993718612333678362510630389943329806528673512426669550947288369784854844283483528193938031794574323329640942014701862892894776435582342535607136075080888578697165536245802728462998071551792852434473082226700610712586738391851843983218210318549239662880923036725744717328081237904904753217379854577953584170348308289669859472925857196393171762075071559371379510024015427797200787471755588159580425415192154977136728690201298719000158544374920296638490180811596949784403569184547138456853860178290391072011221268758736200742196851731567966943397183768470336948029668713548812821931101532804401127688342380153534335065182214821921608652258424677295493699614361434378068243122265003952549930556775372260449144060709321208981704652570992088678739574419389485838491692703236913870193406548334856222357292850863414479781699732050334287457478481639050811949283761323989547750562863476112236632233531989202871692527474466158374766038430188945434626461159853756046694707901455848731405120017851888939402005944150688201174734577219345696973087836615555123011304323259756902371666012349353794984523324697025076997944813265501558431900309829489447172373404055514060747443704659864496333061764524218291163112773566286020158792227640935058874627239511449983770086303798213206830146617977205714774041252263254943286340901370012117645491754692574828074314041258983507714823884206823534782644606216757338620696194111347044037249595417305369497976707996569190028025100189686522248312093859982199879697946859663730149362559675288867569913189523223164262382982570751020313731894695008167510732687849941054679541387994386262665942835562248974671046944425190983624872060211396409673690246381104145730917997502216563869098273684981725870342124538662917348889368075577275916574022517757414856950999205807763631564644528674497575989141467142915452683537794517207095530281043751471220862938820192947206628003119433862513978510797944455909337802027672691944562299393097637857352266917429697378925721549297659131879322929372839489270517677291636086252223147941652971540466479840104729560177542558940946836093707983179176831456773854046175849503311097540245067485622445579654066495126083371739119491584210988391589402622276333869566047558495850035802533787480963580077368204801342648011421504406077116791397011207739330470744480898877008068549486357297403718789302623770414198543799468203188255314297647033094053728130805762374842028846463503856598002316617203232888545896169551706437011588253035755567720297993618446363588263793241176502406285633443150936386987295344852891665496581797488156286591021162760434601450175521365032099460554753705778871602762323476152992161525700454299457841475512665007317753340739083685350140791306146688222848125084734160434476569207191598649210621520527382355632884088968763022132032652586533690873820729530597134146054491340073705706820594456228720334576231724282288996713091622831442390566833442724129476307489786153704690889191353944856063128539563668148670655438851063923133559028573401510297139377614193424064121502008051987443734724555026056910151847912683810953597737708116482174354842948046774079541166705210870721663229740385648417498857503916592813937346825364200726839719077018157374520588278802755118104291268598185984417573133660454539071332613058407168536095263460669456603495144688807974693257120106918540729017458349704919071056378272986142249075953298633602030200561902322572083057113392376325403279886591615483597449454593604439331774121772520522561260488532556266128090347759560077529652841461742532573308321415796557409370102675847537118595293881070387719814008004031075742492016116330340321798698879132131175228565450243090479404034264223903240023608417212727007532614801906539249509723586089600648190045589161864526379725835565903259981429083034288096093052233495963697876206485565183965794976033820104523941766023297110303152762132369657608393433018150824091232464354452517164348026244208677796999401725821479730525937725056382054144572553729706575977156231642159696217451021123878442256655984701135812140334447726856836489722915702442149252229125447766257992393379441585551135758687131191022794633128246644161595659502058263527266519862911529413032383682611736035795460709471102507528731602691727668460051860731811660847787213061112691104720461179658711843837267172066045066865146063674046541852423991586947247775346570813104551951208700225115345698583535121207282262486816621796592192021673720481989034345936576508905848721024747650362865177839126425787164002354997030270917131034788260356263536530430273722752656340274549590867459536439794682453682541064783424840080172933193774097189348599196684297886170062021055897922286159526353454961080588687801830692753289180377906729143769164267072945893467494579041365905093959823873889493039882237531903900459546596587272267731700350754386498063828727207106916065135761610916723582464374989509700219755923236585609994649910153418735238427535525959887452790924534491147621097928383200692398905519787097288353485815207237405294451582850490851843519572719853822787535538557855841805321073910199079451827671976219856380199357461231674150315493397858262000067024307218984817780113768245492860067154170023161420004641058407620094235636948363460542438713140957786642922415261128448025115824873307602406938430660008414052923225685872876110421003669283525988070975111778424476331219969813032020555162067722545394645987895671796650875283236525789523317837263844625331271799796161248972150383190860546208897400984813200868358933406409225675131770489405527771752430475157156785556338639198596527044071933724758912311500059796203049008430668540581445275725057063019490756688227656925298681248143805019534639290203826114183053429591886230494740463783794557441825537119356281613798769464730477040650033993321383966677348204282987474262863812305071816219750225436035919737395510968581064870874448283314107970346700809576206593661346229949000679045761680326662710720216566561074057867872915659190039282307305253740673206368516072835063436087781797350073030396833306454902470048606258202516504329187290079117254407804558623274582492668338204319455049034620067962655017856166626097522871578527099838698865861960603275303878249396389211215117375969121454690939101035850023966834860858015081316114253254307491800960316478797622157080432332131012914443033163766713997285097593368000111462853988189687356661339340196151102397930278010274748309817268556975584421628701527883779969727208035916191740246014402166316692690294905617636247877775199838433928981849966441754177149425400587530686269342276971785393609606316100183981639757662507289906664260254244015657761587559539296100502318476384574950731447556753122255202956239429709452685538216980516874450731413592003869609201117795857132377341291705033826231694229384339490412475762560502868487087315046234570885793575461899862400035515801201527212300140945691533764809295072407241446967714657994400447877730694014130249413653359249431607278449224272548997973771667017031336054198333527002335572140081729314123099356965348916583905429221873071346247083197688410978315341882593842840950654624725263604305925128318615756246550381258997893153879710417135259952756585953664335797378865700173970273627066885740458878224226495850655456777874746980752134819019559294530415642387550801152353793624010743887973646480682968971126401590191792396916552787038694265045200819456074239467490377673888709347632827686837453058115417045159693343955713391290277597186519151295732671401150771891104002435454671500004384519125358705992770611282724227128260354054351692625064554812711307429721441254056865210209783417052055305381896482398958193950566328111383467652668279518856703876969232903852567851122782373469904746748689262105644246412861471614441809549771525921317192908344545580076130645737448735389535111303276205877663812159174105984910923004216970528236744834325489977599800952482848348753605715392856423388346508444929986933544671717446681658698884521267951762335539735209782067630633499443788387630396143573805364630144662545695027166073638156336312616383199573425014797129487105012053140204891398025404037808158511025264842537322578492323561170500085628922943636848346791483864883759249054240319366429582318932982812076786674680515710702686909503861408972888819635632550561428409519139585984264810513960745727780007739463010011646174480607700553166012275001448485721148692656401646444752374146213289005678475239957014495444699519132546784313543464695964202168240134934748377597245251512272903015717052683293040562118374973562051754431012300937933905596211346747272486441479978727875958647946792974826505594608268453717397379360260129633867363911611292094959461182017938347602157572920624768157742101615703882928441851694263453163277539424540777346205384571879928906003326320157476818650996160645464614735181451646793133075933945024603007445980287358206996223385022555013964711685959672811839378428628685591380477888762103721965024102727183991666702151834681361140494372035938123560640446199016785150737594787233080210575676353075893602787194525064316780339514543442818988050604137453529391287957901073462527179968293589402209007314848333635271991960039369672954006486356180739013285108870426814117648684174135172233758050844179391910281638175000273191956967867012835513025203134378133699651014363473358805063085067464697308258920087358297849953917374652953404710784595850910510447479828498136534413963465090293007962522221434320794297876178201726324915157715483071810294938733172328152888457893186656133541512696823727860873007225504195325884139534092225924251642740893092717789615995292902792607117586976410156591066954783648027160067652021167907966830491466350666508726206413877077777245550225218732453165058651660290510598881284776387307323811399322321356297606356170142742112613897376377999322660960127767367436025762448386250936716409365969302101224514668146710514694215506795858836054993512371760757425263281053400484625744055580406179071327597902154637580988111803474038697245360877728804768719144919557324868503435089239845379324928157516603638715115270612965430776123345880797086250680218445849537530131111400671963957149072355131382068159912699202012143397190012423698656773883736984593853347520820426701332910167445795874291202060719703422081208202027825202344062923420832850015027482309922615352023962203730239505204256777525723074836674281828696067415701669660548388082881099393345068039275976063099886214821387319895848975057485721139955421547721908719271612494220247494892223461895990276729286045023909021370312779441337418849929009957274144460256883668349994048974159304577906316539070397540107086612545217931695793630423751113665399864557248089443367404302630423333508215350689667449255671189000580229326179193568442162620710890867044284767321505773570069176585558198299515910586925230517154915673841798181316836434251808075009317619469363369213989181588717252561165672803605752175831284010421508255185824398778576875655711301830687238711600119077315014440882403281141813755045670920933845223067051987285608728238585590401587845405745185896971935611094353004479642535383908246539470630705690244475287039891060777160142027914238140442092425153430233659998042360394934227101019997235474082904817705938517721765688155190959259933475672999351274165095011834882321751524878147733097019422113027839141963484494815152168432246974252260172550266068592661874492087000881423988662034188424155370815496081759657253473064488303499846020994178483365075384637468814254443320949051082215582915860293017692804832662944954732885633065368397180638975575744466773393805588034864390942347159271158967898578962310978045420211855518117311742630701906915206766271812208520643068318444345796700736579838958750606916752712570905972691289954710714436574985644467034451582368592733137143191611874246266402175753003424995185743099319398350889683420265338715501376796318522715100130168381255000550179889949329784357255605271822860186191951018402345294162911168705785791612354083930605004554891410206556132876049280453792452945453550429120766203613722475409046139481009911785260339320742330446589198404676685330308149910784984402556483975188375627033417649694371298921236842168654291563695312893006325843065757221663723306353186453789150826029791296215557987438960503181271590993305349168894215366768529325598259262272820767229368214941560635858440736883566532605406978689408256492075030045481088535930885482908186623882594753000533985557097661327329455611831096655208223622883753688187609657838980651132589576695592725661702418831862107120456821229530775315516233754352751376983145026473513392532742891197131168945823088821050378356853553028040607122525289906102631109284681212481820353966384219581110604449417144205994028783775915669073577130546350024659135348127966553319109496627720860360342399586534949153587829282518811104567294017389741546023191368154669325582654327690533231805059724310072355593257734230737484517463184147833151318076024766957277712255610419804759180505903102728310087314105319361451840195178160758680241807312040532501037969746594774623974382805074621686690540934690350933656597861676287500198374816944685671159809432021659617749882625370064486839045654330741886370925074179876427616164595527261765065275972961428102100646896648077860802257018364762977216761464625164024759084357038745136089855122899976751740431033530512613260804098831328293019649288729717655946515239712366165736837533546735610538004803491736197761331372180953813712399733643112679297683756247692706261745417832930866306243533038473058153898333194241023032364298628108786996663973707973904565538591625789657948589188124727652697352264967406588407013233867788038805385561624315419238798090799124062500002375090251552858464919950100873060161659207773799677407939559362049449102898084831611387174179214592778310094883705720465106668540707388906770689724124630416102027843751696450924995538989120413085841428456941827210567550479514359277653007457200141491153621401359163153321104624556020991921502319707160655643726532840022941315965489672154954719949627722074682941257912084376535958810327733769565085680572028290468715025556829895600526146952347731349225923731435652626398308491986185009352916216217883965131866932016264058160838895538345136430943497189034063688738168644742474563917974187310713240480911054366818261969701193578471020043332684518858046587176418021818633952383710862553531172391407669126864207051936659252277635941224398819626292411799820514610986827105710558799674880273026775942972541210529269642537340149914820708299642980915423332576921172668495347282400395426949678658909400017616691561396225110479775059567829515266638012785083754722274550098345090651793233348810794416384259673173828142458188002980063579375729009170832670818771595339015468554871589642582795638909505724903154081221898486482771566779351479980637734165396777330670516321305717729730660583603174954171739863286043245417624470163240013697191177286020732221686947997550155687951345860516338167429341655805245556558814994613550725187209623868605480515747166343469616006454581189532894099832634966515151191401846178212743698967157272912134346242359625166209612993596561059854167572903231483931084900359385386395028089072622481493665437875433060566768223480966699850792428556849071444377004294395373939309838023746086265661586153666758349241159202661934097910565879185823029058200426147029611591750668381593808358887075483871069973008341872350395011792659748350321035629327956891495104170130918562711748643267467820506033351358393126029035425356221567363112760542398595170709323448590481201416306007343697693527187254132067906368957927524103370020447890808954469968053103097697541091961351510587968089891544238555222937334854009708623519776868388669328786498404955425357293210000769594646099081222100232864968309680303706801997246233521731865861916411885929702854814261767571090479933916231903171042422387657525570281410358874350426416407874174067323226858892098543192057436548686464000227765373054196730790686462911344244409099265633028885431211597496672690659609857844599587591685675724038396907772123515706994306971315438311377573644157376416219865925358952253094590198893097881141453891458707528203190971864667820952393561027426431622732425748109861205090961151584399584216696356112614973255336286163980956659079542754649606231230537011710455134422086386197952174530286276015062815583817271162595902851211091946526113457505224985242865979278131403579950602714791980862201363675470411239397615995427176957908278530654058771271750433254776994878514043964416508451336981096856780640193012712301746739261602684183851705548648591928768194728957540083782182525831189916797312377520179051751275810247953712605352868544134569729385710884265688396006839857371923956516376543790941005893053222048714569873480385240815101446944676687161805738754764801967678181122937071152444964267287558372232585845784771710962397135769660796863980034340878291953286599378265292209138235595266184830754948406564144466198424509671618313186663684185731938775064619231441633878164077200004859248318066200540694813902424587444975948816841880355253858452999176021399338717927844225925694954892872252978477347464055687578332371290068752502006988853502393157816941659921856965006913280829603549545497731663481078347612143253980945603447071057281840984117390392852534305571676454543972947396836451677311432824580635876781305841773517014363322617918934016345853492496045377300470674090429235227515477214800698832359862561065076265610346974179661318163819208779925335078985305614347683528731768312432524750427767830214647581733337359827069436887249192863675717325986468897987026257088284840502799519518531903229868776075288578284278930140305884413937285305964219996377907012226473581690662071644048939737679896279595643987672297906452606736783752180990452144756293069570736979536780074702195694456637709649012475476428548463253181543212856949709804246277414364948904959631295931059968486367636751172098203434220651905606293589554639533976421852115480110201807299170093576898673275909842324603381370833917446514042077162244419225722437288265966832016145809467954927075355778861635973736042505694550024906502979700939134606783008416290480414165014324051962004773891117309894544695652643458208649367872823135342135481959764681449457784590643371046806439290574699844701856246144976132609956625426739827363099231633962222167622651687669545481711224684327351793343085711636576181915321883351248401148960338165057761551608524963697832644109865135345460052901709453821084640664353390382197487380421438266327783204117016865650011304592845381376959918304247932997508992697014363212825324228157054678501553615423702130915634325494652559802139330853636495240142632536809000989835462339481585554732588695506490138995360759856248492470380581199675685111818986718361671952101020250274143245069444822657693368755285024050665479064638955088292788593272852834238360643457995767704637786022158844692987633797541780182957036724713452112031889589118577896971342359228562541904116258254821370189996809163090354902282463861287678102675312721148793376635939712011360228189423752778920639909028863293425896965115534555329673363504503120240380764473718637507365110665129195037982887608864062519913621917304558168403823094297260234640896753501500925199245543500985099551100888953872348194993290840341367972873301124220818686412386331268417777841116547844017545827407015332101297916642910707440610809872615637974953951916973277167433655068942698564136385464661838378514111130309458318278328960682945117589794837479459168540808307299796724422938175442527520479460527464151601129884424328743124709707895421496156326691859025556925834355846712363839084047408024927616929206134983009802340018435017078216328104877796224099901795828862941570240565831192237033140382119963699228085532497057711390554899006198669297343872524118913604122356343753788722819429174092900048732960329872807841699194939892134645256192161060291384447675613330970972251633930012277076382096367111701050877473304234433608436594566115171575281588697655357004662543920938019633934556431152656665521726759165448315039580199250094420289404282752606059629462622212680424525612992752408998831699066381896253229969535498608192084927652397252039036987364670766678558868094381773001231676504128747827108386474649967436460918107552292778386531004451398508408838429723371971596974238619744638122630709086057659189159263566048283867924314941260155826389723001580877654581751157951113731211795540234785445341374364621966665507232647841033592943102966854560578886704105980839041165191260943233429637070124743843820755812027336687100235138402003384038591150396497654712877294082369858093900496214510524334413492697883160755728998378524909416070901035930022618198671208539776658257825130992884147284131087941746452162412330089722401767035391581612831538149839507946401102697629245556954939950739797880914977264551807660271984005885300464713646329745619871494141431278784627977481241192217515669423476945944174572916110540478509239206987087650539615542852796867505495531645154044201860000435153129957584827957691004850362761872897471198576874351087803533404815101572021583396372987815788080396776991311810691349447196565978881974446906620467681549753319846393993603145398057834903901000549966295483413789876030804013332113482190099988293452690878004224648173831182703303296985587194538975644323501445518598982982547981800573793479886935564524821805416062595206356991651143020634825007195464986385609405678384051363063507369253781449918828585868039934345215247307175572983439288572992475340794818891442355535656698891362295678965573600499070961655552789328484849393606159339549729159775757525720974945300653793103932391417767434486555280298895908688775524028168036258113995539937905006000915675519017214880343347490392633729929281880153162210603296210944118130306553296343028999195764238700113554729913404973040387359080194213765785120276656817092331368573353124029288448670915226962887111997932769552153665930628611752936784973152191882770388832130943495507115933416894706543609487875435226268100332413005347413313009947825326236909494122463309675722494752286128327996912231783266415741865312917913255403497374468820655015935353479185630375367861007291682670531757099650085796163218139942049751327669915950072987488655227962634506943866494093111310062269585621038227462960564036461697861535542661311011331738237680586281392159762171857252452350115104172839868226950355193598906319680491917090257470646144920280230822087105381865536426016343327553019581257025051867760514100693507102086334288244330521138777831198458569278279145845872590745411340979689525709908257197837498830258353445843907500652426719024212721131547593475823693250412694452145606701217009779405127891208286904996044574583969415037743455907051109629030525812473170708024979889484906573632594484845007983198972562828984606942088710546418117594515209404412426192318130150574849613738201346691118332062865855897149347072677409047303364996330959622082491244690417532355598138710498298806292444430928571029062802176359718026424439407499704014789819814509302177641135256245603832064818932494835372602752301322398343910777060506340060434819325485297791571402143603800921933221798077299283042999280354664687177422306958927027013730257224147958720421101575949052103420219573211953752011432710359760911848074470071282770037862351945955616603921887091541439051777890566535057517014535166164665612921540085751201532270952135955564476710674917630881063855934989212149886279085921802470359021205765753470231783799085686857207383537597983572531082330319319285014555348971111624122196220738086188388361173064560383739829208205176735030253258044749361349975653338288868606384396574619471852053326117204489126611215351511836162259414127722953113889710727799486482016106061443354605707956941230823487013016675282533466696783011052383449628280410552424654199636554334243062073571542854456946724772107918644144560190162827923061185474517204109101198236906858467663665102840278401480363458965011633096318124965742040862437162485284662074343653611362823694352255694025924485450922272337048167083830864060171474569791789421584523798968292089735695495035122040905585717092401404185491798970751409005769528533665962250303493350137999684121151083235028552382536812007063156778668269138743457162229312739853075514891617224481341902008347786604138329580669351581203969031209811017216074244666119905012207838451904046488516159030695215945946507688266626764694573301462391058078318595325938118762758342204059320593648923257063416745451541194184711392555287401464864507021256860156510948686982781406921714630384653586979120726991851464197106484769166928730073788018038916397793160211379089547844288268602332289052556307053058022155317943468052928231900436415308068353914130442984429205610814626931456824916990006272646910048116226952071838728265990062528106530030699082852867376746978552444305425816494562967897662504868531271642318612032248439460056552560637248353231534097645128373259741505904184206127575114289344515722027062600826798969208418689946930047278191807282828218704035605176962095549729603747537337794514634620041741588144399631855048820845187183864148994710899995249950239578891126950119340203564412442190890841321819691012187405221455708958292957105097713315109054449543402509490761539418273842074541344494557305564653894176802315374134232978582494026330749867207149415544229717787575270285069417090070101275991825669859042445029400296249678108224284686818362577036457263233818080511335626299140702402215316517112556904392602658536866622677450107125316173020943211987316971723817823142525770653719949307832321884618827987094063067629103718722972543456066094406351217897715393194604779496684814443413197817179717163329656400556832384568047145687683343060168639905600324604992370135797638960924248188088355532978122125719841459384745457145180907915231821120537931566301093828981660047906977209206653220967690634650832771741520142837559261318498184200281556227293476496324397926775610191242971228782064164443024569408828154321877878659164002188988477973832809445179075447422597596288473869703954416407119263577233685437469358168274146524038395203861902142231050326271047547040583296192825042117832187006919782515021499435377512843747091279859324874719871645406253551080308365605450899351082415069166465878424640117967746695745046344198050776487975036206568496363966573308559601006227330248727695538330609426231382978319529951015969576890796505417305833709497589872205480046494821121689243540594315791633798343121751129378814461364175591145583859994060829549123598496395353736037370848317826076315406169712006625275629175459052012153577973407884769329595900668117862689856952416046241237859971637481293441206124821713699492801785942336898323430725253507891485847935320204392269585270420097473136621257851013333104999301744666832129911514333290273688187764883139135047662487847159736063564600520653571834622768814488000461025269118240195521879068718560843610954445267568179703292070134559882949321353450325985217786149094889705011457745127935442496248633963988132884774311463710998528867251319977055204775853907850548533361264015379598703458261453899892636374693365483073644144096358196473774616569844679131373000915988019831134710211706599779023760353503977993468575604283095243119271254063061962496030628701971500769854909928008017351405710771816024971353407647911423107892720269391011932562831614674220275027546604830051405281110734686587235807185376455172237509866283929027788307483448729572550346722680869657550408951501400995147192271723815715898246819960010766808028553690926933231464041923695275323943235656261740578895889256673310884912008081665049538618086783784963473720696102006312604960659573163941812167963962211711931586469936784154040604577428512937004875476597175568556697103538323020298230309388721790863468479177618040165063980062199436641524974014297029123475314012821276577934952937491275978034862573589358355473924116086701660220956736455028447066483553529567903520174513553466576432237291668209977151703185973783763682733834357911027233049868774219822159834272014452662704111947296523363203871311938784783287007653838572481366534528622581483032453408377782549367296105468966229604498245184436366632859939460362711298253954972832084250042073377991671895270220102057481657992479156912761436341691805931684075876129098301554003541400827920673918335833660731286702496797095403175860239292767681475203424093854508157242855478134685903125761167565189584169375931999473596091203396661540500449325385958460907962583331058340974353715919226896381771957608381422740239115393413472695127408492474164152411369133622751599531118422628372009910022143723532756651648525440573435697157894810936703803701289240376572899546088032969852490277435534924608645233617957439970817593493997407755040718887826344871958117927986939483415990945731031620150330810203885215523511955161020205412803393735029685205690937678837869975717784592375809855538007197145916291228163988112261684102282037601137263405071631748490470192845396589828224086531022977164944850380043993819135408295465691467264910432251354109750184892612302523940855194683935404333836884940084962133669075935812221895108677875502217742530312366186011499410458496356567825794940079886338929860398586857290471435948887641131643448207572673698098678947415939324854573289103604609547080903507445432120920202903554078505660063449666468576585512515839934372707749649950062670195533597440450364119329729263970556400953080249465578223217290395415332067074128093109224515971540368597981233788818337346278696982446756989134884307536429977046111927645280556517623427436489351676117819711636128550557624473422226261088639743304033678680095629825441553649843751225711169648485392732686670162480692579957242058832949485446575958225166704108027045212818482412219287976308550065089194740125385567201304082971836048881762875175241724525019262495255089602358189424296295096990702159423794150462053260576107341156036425849043269772035703545856841662729188083613642064019611811004174366358086031302217808261627023351149474458592006125828315535842859556186712448022619062040445562102110806315451668291490505851760402365432438344651370728930890860570535767123355602157220206638340113409532673094913767479249502005319186514117867455890433526209699724703759584719789756759222226055112353264083604874108270033655874087932336444899877720366078736330506920082312129519038543191282122349193324228065205638006513627446645750150798471636642038324867911921539573887877351822769150335521764089975749611119130304056434512970273655126472397719085608434205008425619429562996564859690463888283323752487000435869871683371410188944277201126383090766286560863320626600905476199175460654753730521511384561146250243762811862393814279166006380840647092597064866380356887752113838007849368873384641130329788165423630271083403316111082324350559307956076656107021618549190352681119880613847719120598555086812913512121149097024363687375693643827283879844868389362559544871598315887614032009985389355900103007795480017718965177058530794706457070886521464003122416881840494003580014557494487379209974203954252426408168340806060503963474059810222817995815090657651218362584477898833287312958283016028652308794859427725571943276645188222725804452482504677326173603435094324126067753106559368851704429863764132248362289310629160449376391201184749013492772973326413018467691873080189050660753776656193371393258842167074979875506000023190307590739087668974703203426239910537589249025945144517092701995270583151261897173334110340732444713787833578322207575883742532526797218879941947489736494423736828781663052873536309832895722183276429455007243915542664773427642269484700177568721904855759340019740828960085582416468481695713465298170682277857011136212932590502105436675543196936909214522760767064538642425715181667046266308548127425770564681107918160033757777801562220850595254552559797734123402384665262423962481620616846500663606058466257798719980726531025021986066394116874048656565282828543491610502808747989396921875956459652724853778090031048304840136756598514121634164552286702859733324337868679721403990321859529534181102679942994346530956243074714436146430083843595357449309421409430779816815302122884981636940829926748301872574694320141621276316695771546633493538657689174041823395199586335224994998838967536737796247252813505531696287664874865121562838047857460637101866143055344561177633537795027072727900431362855996493836053400769279695062862116150780584542012051677373501593572370359838070268654377233013470615627581546881872060319697092595020846715355276319043262354096330495938029142413675607024322312873077239705238725278442203852931443850398900706932903918281742784905806807960487174890299108212320650536576189260867963996993220503724616424945754099361342016141809535955064142728967489197481305879753903278744712783221870038539834540245737375552828655465905458688608172608706379388407322341208642164117049789285433129783719987823575404467165640308095099449253994755141681684713378952990161239514729619372105343198443412118947374984921686635175542691462493891614186787049375977785143574993763139419865199426244731166477571255486428369098912242146381094360294991804778481574476672888543696680877913434576028160406431809204290794206337905489679110576434796368168359497400047853354760808589890569398380091307132703705427540845129975368503950285517625842055812391518611211140859117548284385905474679938738216302015493790756630163916494962060448380422527753768796188794408985654579476366162114363022599538761504324511187626551267204853285985247937010105206982988072311438708598377052435681632559440007330587258073310333179674757886009121571783250556448633076188894277925466627012576995052933819873396437760328155506264166882945828686215276107205445189169037774963761709345245703069089115209648564840065145566380040584504879981653239593907077599200365223796320054340360010255474623000629342690566906304834076354704741155330337167997925372414060503752384592393061727150176613471801708108048708719403787852821765540262139518709823940609555028015296323701508042609823771287609385873724556270145802737881706310792598606781844702947248528240908659976152558956969603403623475099959829114935884451267365082892574251488178122770977212710249266018805777505160485158772022328124372713555606539964880509273164071693164954624422806041377619101519446432940003035266252568060674683962938487746778280930655819881336032695603678505587535812243806335789380679414787054557005306683299913114515188468145254964031248188598868868651932159409474071693328623337974162361531615622474657937246542574731477525214512806709918724091294686818851321321636218312678034188598905335616964197532838483296163166454973418938144828203474175552960579640981760106743214616700848903837958340070573298834771276324024636818878463131936252941392467775426274372537805184721473743051472702007546092614140745088432093321393945123800794716372568058846491502839008557559956851119522322377280418491261700849259836340941014369756042043413416762086120676005194728253433718067987444344167395206550320623053265006685502327493487099192411814736176270540712246767643750081198467403436006017508254506331633963110341879829471267340320335408395444478759978704554130794289076968535825396912604159223376853747302361003062429178493307008887695669749305578846162430384683329519483898283730264529750652350880291592743677739326737877567993945262304933289596469390677950427723292424773484754458796053636861316086919459555098052179779434325543805119514194793271778047997870937909921028864953201673491137330948707808884704929198811490527365494292774652000037425722558200975591908615601827160885401836868883768717772345674200553144128029784711000772696932004761285749231219306702667977803097104853694881258758591596026081626300221665506413740710683596747395465016615627542612473360129669697109305782687909739081042323217387262271619982718402859005622140134462045937824199415949396262437890708642562732498113269907307729075117167341055906549787503689385662284705193496457041631016398669087599138961938136719940697608803686987930112360187325466861767813944888261448120976393515205946234527666599889338231930297665288370220953747275848383462876434663001904740220664803367131208466697595745427063379350571049299847244312320797585761474684724745687033397682375990439802207233252467843001285395353663009098068608274528420377752131179252974992871610264579112136289356658530929287810662265418305076935485429044342946743342941138521713519989839658197227920666061454564687324658810134561031114171396554126946137611559152565227722426967642398172646972317793811333436262716135132055218714605412697835926856074113138697986015051733286366977463310983416838743117409506245998243563908163245517930956243596450684366307682726774734256322316317283758376789097408459096416751265556764306751858042657395631458102190209016694455956307143365081959720965226795593489112834717118414593377727352914738445566565866917414284343735770523882784223338120209042854398741129851232296973769387497505127108839576777531154813401555158211157768697784041438775411056650618674631515040619330196736042869102784498856400425339652435068448885203955166547160373377235124100632092779458180761579111589941145684787574068017105603963090228570345871735163962281416604175808397255939253191010079147552897159353075424635332359086278103575328376966032083103745714139062335587745916647584180231969923040658317134314516744306652915174851800489814179900708337712649138449846907330623015058961231426819711810328986244180777637876361180093109975077429189332609116304086296505839776756616866086770487303176925909620747519920378115949902531438092979139079421704362610560425519402404494884478756609143100026903476755260045232909184818723347399056550954324678770052394139953147267050634018173056335114563415512197524107718218535101790005084902398565176317179457607056715736626081778571201210782547141951587276708821133132511756514103937330968524251958384762327755036179642100639669187952736683547745646234983482387992791707246462566860303507582107116031793658995216319441561544581424926476714365431751103127341576173438803118831885771784639874305996388803353403508339149700298145154103787888380768606849478950645456358752342297409591958212868159441237849789901659656988365366922088633040797729811845209597915615338686666937387430805110008522781199596285755851999546180291845744145265950044064171246868245106604582349600067516756306792053424656100407069133557548154246711590025867274200686017920730480616203995467248571417690568021036637608529347054521981699745368583170863231094803752425045901028273450379565161979853643388527806954726918729118290154736624348392025017409589790727384546498057391810132117846145250730361487891856608778904170820504526443870993240334750504858328243935204734110367047586318710502247805700579561297798553131209666643284252163100799394190964986917382126352320344295244971955167429053550680931775493266490847338359426101520274763186816594041634067385606601104360078965427695587627663956108891756282184432940224010039799434427271019707213657704194930041108688792619320987535723465642119601503112087128692723419909622826536180837790306331554213001809626570577239561017169476762625611795169474451358089575767049383517324255391763940545182500423602847844568002698600713925849577525942747370087367445701504592057286860167089151240241792981164690227119731363596560904018706163724860012915968503647326259202016800895416092798092670965068899791877544725146595846671693578359529633214260350894390857300422025001835845046697672950076629570990948507243653646167465637878673583927672574955774396186300818793846159470503110383227954618773904485491285337475848663051843912358948090828650148140112028739576759310440606980769729272640126476550165965197753900945058283412074957334203336666290819940627902516252138717755767359461001121513362408264065026804799166944424957701151220682457985647215123879595101289116252158617756189135578080256323539138624044105987163644594014466838888231082915500764226923205371397981935364730782402521461366017869741541795205662420281351833636378145454942502120778178632719899931808494111367000807920262847907247190224173919388195061517960773762619887786199903824565133157566807961554431162988619117974470880191596669122648557215963740037114084115453341041618077981008842989478079820632825823212295062838178843817433275926654733334445047928526717961139216687215069524177010117296614096225295759074565665979034826148021522166809593513114045012847824220305241565042387554754448250986275769660008579296480738428492352299497133352316800291054093157253425647511220275041662172028989001134965426095842147362679369384784557010244735453776341386452642833102625538578832787732048397087045705811960039880786005742623066716669936859767288665146949017007065787394091624876933724003718183438253118990258611806579961717397724895849814662062062203743276752234366061708404569946862220492056179539301916499341065874314752053291053555080881672646409316571366207217330921554697508441576659645918341732624244563684310931517483617523159399904454307470488822630680924800295739393935425159112953915608485781962709453809150428879703194202381400490668196845657162702682530574944795413832985939612102805000851351016968443244595119067946747423657576816873651452289551422539952115128840182390726660977857183147691447180126097220569548719499330586388111781028884962935868200700022857770705059930941336686015150942588321925514757776233934750530920189790434971755633622084208854131072604150988746080104165821497038334634959093575436379606249884962501013887748499059408290747342755943950867893573601814693396833256843853830675782984737410662846099231564865384144377962181706406346661142066251054494760649560585999033144005115914270029628291031805491830232813647558755216714387608940164350776270780771486613933550891021653390960015630642140475590746224458147274845656487221581022667349338762545208549680521399623633261019479234345400170359264242141645172971847281379413421204752794722713033134732075974314970981069067289339163602641280140641400522986910962995484304435948317847334396696846993627739629781858761339641655661303142365058758442221146709881316703933395332591391039936716032046896824228213005763113692745317695819096965396728051634637719439991304962139598460960902167886273135056570124003095652364833023743059708699545861077619587007582389450585448333973292854485991067418532851035199521989129197688693681714490808155249464653770588502771221183807890892705729720493113652841672409215481182216434135416406057674438238531407717263636797128739025710033548749523821426835763114740132313888427091182610907555123587768417512873479525694244055665446901915460201012231621154125537891243473539730595059127937666609878575384523090993694049446736840252384404859833220103401434085508373536716622523908767006635398788632110311090171901512204837507428769466272819236854253280956601019123069182175698745555009491267404617400816277527766408572686505752448989488884075766643594709721167842862672581627520868514072736909446156560397277388299419275606075097715439740242145166246508105637085381137041311729060358746134137951805377265389318514582998353684634582029753593567295771876785434539174137745464060697741926040286582797304505514704308540302149397387090970719271111777575781916564651933710327222743628795295730588152728353676800921873441203608605320604951967344623311145366611626296994326233656207382349454121859033064302019264667671600374105594452914868620987014397608363355939132470655770218796395564449091401078817836943158819371340460264551358765196624333545310298987253147133830777050583178395743202976276915002906787869559175118209593500571499155219106900937938909337816082810088891308360732554732706297805128374412481213100955089450357154737108838893765633382532147845777188219962309349661288050795238128810256560145276907518608691701637813042396752640205919259632579738704263059415736017637496950753951703947258105045516323351940743761903935379881774873630853427236137376579213473645815914908127996710067956721334660878108991357067532875691973972034852437321252492998737044704542175653138584284224000406386613034504832809437440067735768541664548268612562699123198837773812863171333363906414738780312656223217667317965038902872635979195983300966675123617698233318662067884321150005911996581760768611219149491270439272978963468671019022239083990060015504183828815307108029401308242945280786220348395056681943288022497963285650161146834203168310171967345808146596112999554931862479665889918953530529504185260663120586545386552128440055012929411936966780406922225574737491047578165101727758395092917602353294161948479275157430158789560889544310873400451889568270459963843630323725782504385792356000536366553476224381650074085576364323648150105525330275556016661684577331699287990484051165973036978662060838956419706833118077191670550383946101356824167550401581446374910515363968132571145043530683844507504982791222021400267424085918940946939689902101557237784368750077344089903340018404195195150686834834312429818815903296474930232301819386003888273696031761715693301362640270987920838317175159334355699924429930655089395920115905238203239219147829084751892930328619561376167414481463455139646525850353869014968931942909382740312876528283294345464112726703543951207507938466483908945960693796025393843383521135826664920961426192372389114944634752818778066776340959896008229004822694036524215437189368229637770096572446926212396630305222785842628623178820358120002213492893796167706205970048037846369853742059882076628199424067610993938215854911657307729208975852104308673359677188244568866233672859032708917042980117476608351002477933085142669382874369354692404574407913739757667243585383624032512217693438327865129084809819285158564372601428019854456397792100819435144360906344842717026927008071921032955534519756583273620462962813057578126177447752088672399412232307669474092516125081880634226769860162406491075702215332848747691476518514550100021745366246964524505466915758451723917721071501975553639396371929275115924422694374872030106385111105283488499125797891611199427734066233972305507949991381536075655523349976563468806563698069645128217317298404238836975441796947729183932203704202168931070783206631455130176901162047738451139507220319234185454449465676331004320841543206306372579643632188134855865883499880746615016729219104056221225033759214988783062798489042467005477881552441406930050774612268138313248306589131638716926996187713704555805274654441671046945185881504908774518706985903585478983963790437232371098143770028449970881238000000909292213674279553891261692075664334129545095403671953063009160530514994824871341860148292579459977587174003600436100318552160267741693996445930985972588894570513823273103405337468200759027401954557632618472012337741027409244814720243115303427618521856251903159528326563100387069516640655150937394018979018909834865940932118531777932159998427313370402006187828806880989773601900651906450658396505027527800788748016521964495129728753193602348254963480357527589112473527640147520490669232267946859735680557647240191444007660883133179566124009047708967336364504940821000696670959436642778191746674247734298300455536915548251336245048092646022221931908589285689335684980792356602185298085006915674688874543574229069894357308073359462437596380057317465141650044494772616030115856854644381876776584563202016045569938610620782237861450747492439691519892695016365893886424057559676893966759622466654534083687756536710848163023295527986522718580499206842394792209697590711833013439669191782092902045452763464002846993124719181169710314246943534027529282678503416901463232684657009207544774443697119514726230486067116519037350041270445860973852274229284924338984043027607666176193930839409325104653663406242357559742840800424634032085008457289025141861074761142649944941070533570049442457983613653154668475712865297007397037027324477238711619595455074994065224091800970753327453582521162043387069557519676587607781173961405598343591601940695186810189299918248700191820463382456774631742767976486164153665817963296200908426651209947493934116080101588445501378798050910297363599271171157999925996883382921777889776106536715173824273952062893819386347098183433442188307138154741899058719596053796294179708570662450997534825661257177016970701941941482236032152514718450571669619916837500405434793906827362339218198791793614166052746195180482819753810757919142417724385060047245498536003144385859567674151368840011314595178355081268754480721820919187217446000091040131688488850423442566837681894805112377123611456871172549543789752527300515080220234414206524648699809762470206396469618164721576122864082667956167849729440887502726694124390633378721665563600233014928541875121144915739340058624368152304315933253887031454465867774036006121108295844483728314586952119873126204459086875250767745438176774544699413574784648183437129362234835302968609243479996572059357024797034799819178953972763922318353300131148788703495580995885198775588644804436782735743740973378147032765284762632883217308051942377562716829499605955473657457468901383784093666823809752904326459769504140389297645490980715848214014297585435306916546205517758446027241255892437492143440951023402245767299872397069037295191795236868595108117352762964654779240137649535813389575305159910731557426662027236889848153302392762480336401572568323535721906140550934624583196998482629070961305282042390969567928240254876200325161839480343883577961423693476268231478902515656604164100194439187938274459604030264097051950040795747962850481881772723990516351666896622069762685580915691149820625043266149152681679367495862484878986330597712694272145312879645671355832995205769530064087005577628350404270089265144120211607421761429576795814025200797914586927923095638249356369986231655490076363470520005589645246345847072910804075530978544706765059721264745610609616078857161654736687472891016838087238277778686352469377242873174020627709361672411404665291460003368759016915585020762022186988924947030720632345432631159542335479607809524408623515707291583680928501936143373185803918361787460426555397087171576872705776908783423945192369311885327683880634172272540449126340662901668881999295110295140750039925183544928760934662152592122121396675440751388383231956202556338040237249815466678574350394602705131419277263367966958560226630994514102125694508539577275853905063260954176167571544130550510864241974284894333530562748597965207277779810600271815446929431118330943451526498136183998804959457095884746430777872573955946612599912807941396719002592510620933699867459268212394591364217495401144638370744047291023889222914665282841331425492223079551319486569741412416270526521919896632702522993012000357037075262617787839560056104323306728593066193910575569462260394005453087942390167496379421683714897290270042946417636516998163339831168810680527352486843310012815758367831414656104238828347982462867908689622598148445098566866058008746713992101909590996295036659476494605042706000622271161400431086339710417940409828347778729875304232986457345379161797965555302676091073593823365613748214568751283228221274348611261703059204500235881952354526573088201992797843146070504631334657041371283791572811807319496529639323203002846711835515384232147106843650366042319280001824747006971365816988029194343934915467233078049532793506078997100460495464890056133257841178932585337280072817392092619515320433635650561325618120918800492769664959604755424549150042623592930766133726510605329295891029573571083885749709378277594355326230803287794704509977603994234415747235837935304130981898575839410689249694443880945118495330957555613459145266660715478480288310579081598762257646862468916485077612322980379886505283285243031525105619587718330405367964545489692945756812537676119490232120077153400092127187981510468372378067254461747816234186620236201377610713894659324154085431609931990502364606903413265669949060754387508843783424408202775169951789572023784039793025571063238343995876136771289338821858715925165680517772540059495732800443467915768712888426398732688345298704886654999966831140445635053151477330157313830053966497886886299425381156207844068315019134953852040135321721158896210354297163206420425682339546416561454901981731919521437099237817516345083169392920802284870211317865695182422179225718815742571509583703546270667949136273481730574694554147858902618836342579322782195166429705512451323257880511479141013881614764648529475335378937014055982016534355440604927953431582349560274287159172262799792295545896880061239437776533282043435728502904304622593631127279760034387765793442283386984767126435737963879379327170439211295317000006130979954206059333647870728118669524974927306697094209697982350951012291370404310820810928468036600100576447507089199272272553400894713434002217699147492748776575597813425830156800233016395877982550990925473023305899155638819610037003306793088077152735050762206516211335553021533542382614809375774620262063082863995525479967763044757595159563855608724723443074101543384691520172226554644682759166598032400329986173860842358221069221860993528600529957056323498920718548335246109421568608915220338208901851053463083733884695490226394079807092731655077000128426001310229231205124324751411589655561054063159103867376988616015374971426318759060135502729117109700710355879856709656859834931969018691095335618400347090794452565548654771185843669822971134697809285071200069016258200174911649238437330058330806859597346145989421664747359408187445700721160513473758647685373962361593629514368506193336259407427883916210820138024939884455240902478121819213369789094084778147680397483771812901221997000871228538758425240498503127517144271665509845675218395750183333634437970506213993563084467171868183811898098116973416034543843939233772590367227184944893144355133517223838188539419521530196499807987825176591457655519450173165495250762952460310540514744003461017719729738403029397252822075214313539046824784802561217610390653046523696720346848263175958804871470698996470338647338673968804941977798505912833266620828553074337730114611549387934294828368200608489016317418136829540002736289955968044299880738926946176246070215406206733044477338050898062631356327288844089596298916578019903540134431875872360985262319134688355812623023356570538041746029709829917066761477576819227372674342989935971327792241033449001958159829541115268078978288254310562974017875321932377414111882448284302578752498027868894528375941281747806959448036999356268146848373080580571893716862841155237548694773168741079570732316788765595878227163758379322041536570191654611563764360901502909622222640832714276236435544406183518916639815125165856873219768340759612813516839730187379669226726586139508700267020196939262877667391751801788814950827545638611392206338790547137017283436384697678745643743232520179724500859234404070832015692505713493017131476883489800549483419127359626704850650555650727190129379853567843515672304415115466164474912734710148327628929659384914156541379400741121756736077354828282768704653915486650051357561708088578728959148149065088140178780075112960604013393879542711333546564750793983289691814291864741647412982865248418636614098541822411691888577116847128439564506309571702927811078044210024467372577576264018917897675782715637878805733180251567203203168126879640558567987150324924019621178422369437112493950077915597679156415142038527834463032780130500530791300814652335405451285192868189627018426291303945793385371152993198742197959176732795009320169384270492682065718441446403000630583460499242418334042644862490644638284042971649038191785247531286117013537898360147903955585550266335932776796875074575793020106914662428409481011673089030973030834452537683403135439619508536774856972966704171811315344643257607133688500251045511535245558139288670034782000145438589685095915777840198093855155615979775903817114809703964093657508952157337999159453396256622754860077176615999643219788409033712144243335498506579674221728224821607905365742329404084246397031462742557095455354969529444706004140963798637489333132628425241711316197408902980197564234446422920363250343563765396998420997352549892627170729075829616498638208087231177173191019369639624458373925429760063654915006791164058605403338943778589044624371544665203790954811673179927662213284197445791050997448437995148602657291933520988941474355971357375670176354735381364749974626034668468447146587380490387076943554615228959570936036570200702731299474726659564310160245137110001598767372802582553212477667290645627998470185651454627738242054657956098272710052840608286568772238959100685300624946545353102744626795748245770748521542234668139719537265002474082520121718641646712548717123245980400297524533792043962721231803759099460408242780001121335406806742513123221703386562283908097685961256971876540599103971159907593004128001420487528658390475781060557404154430449015083287687770867250439262165550374267856881612312337117639361666265193726527020428014069631380032350332573176041636334170680661480418741727531051104762031149875797108522860321843761724079727178225541291210810562912084205970391408501622065319186069922148063255333030882526090967570893908505885806411922965665951967937738516117329094225279388748653224232917889549550787995003787912653302752138634526762721799263447829651544744692716774242381956055206596317075797848846752292097638802873169236636901272740292802730469534493798199333276874673808509020084011419219165105676684583624036735286387726423171850950124240127183746223194225597351136656828529521455304254011354119055133853047897736643964678070911066984187442729987104585007605217061822911270068591133475268581906548482152127837459824385060801361651390687777289926368207550084318639888758976357988030023879394281187171702661291168167638212102124660420352051726080669790988213560001660404998390823383347560304708277494771803777466588268347331251680542570904386238577229578535853591206409941589457514520378456585664195142835031871701479185224705297026589628890033483122485332224785195817181641802666572029602855725014144871570479089861057647238442866258678176084138579095094248459374560550300665238391962318304244306341217370156600354972774925334898054828337913590576600848022747814618611195983103519858908589374000533235073760249782650517168333556056917194781541331463772428756411862130040090968133843913339469793957787693180820182577816292482016028950634254896127475838706055626112338352712086901457840400763065908231901967284852956792759725918222712405201919812118212352028615443802379716898291003781591153981976628155629673171946259342800774304730495579737953215124851480629503907936480811593953194349415245881060409206609718812685442183973348099852176044171936628306631759566864339918329325740993851114717607800225586357377532628029187093582020594010545558198667976519755730844187533863500904621715829035023980081861294260678383426680945305516735130696506789180285151392644162864993844150588685958076828867501284850009211235556991311719692350620153499411062687089689139712883419399744590643552546435415128652345857323700905527224174532177619256395883144633246566147149045378894322738007276759935183376601199571608860504195971256228463675905479704201131375688884412867274816616395467040058964204383098328790945819234987254344003598417851873001894476472917491681759557333564165010432454804628365232912227505296146086067346107557348253522894753186042480255958827543879237419884872788211618072063933226261337387485103294898995580654983650651174580120494667609783373284668497750561643994634956868096496127370593722090917866248960527669866213413574404803738919730713813497128001782262135232383544669956181544715316866867015645402484887487865089832961741573563861565208068281650193161538555648206303092792038748274253161937255446405157211951027702255764160423694114598867112185648073994284742200340262522767051539636766543672570506831841947134377273823844024069780153361024170432019192322976776411821195301510668627607413474181037071999957203542128046628314622061770915682853652066666380176284310114957345842984608388620676871065529165150000209525260937165682875124216559833695902023432087643059722670207084105797426347448185308401715157465380891577601132745427547299238559024622609558033738965068696103598890698605389840765249259703302900706711064027520726183755676771123392649046941846689989315194734187875646633899130447665966130355587210529359039210611227588160411355415005011093180165331842642078389968025475571133842984693523670511170392407410891692603001550444784250060336059489416791082457140030659454374351513247401818092758707986297296411859327865236484913167710452506592518173307655620601322956740488544758473002607636328571518939643719870331771605898346917444862886142449411360795177551075281043583002741120230812842080917418787751947477135719702322420522788314169905574978024457039567548622399942268161244049037849630946326433829674142793230047867779502380754403915317080618870257208638945101371499526771601062514311260283231599449814765649561203105933627293044517038480029476030021238323896475226131598447264486399154000408334701691385903250497852464092374437826771840167773329405356960335247766694283735203705238645624200736364168978939673076677672205315112674437751319622496724314890629795285534597923943469446151508387479186937806925916871275646044673857684078632227137228124980155487221322541921375185428247028468076087922309507170758987011395571870135939057804055833337930691766613056456744110517492130465416635542699617209728809573272928909328220283496159682744450193546238376236971439934232210365989036862336582963175178300822055251288580012889137313763763855187020247479714352786986042752353756449261465704580655519927595487916197760822065123404761160705256529270439142764914283477624653105068538879608231480359824184334319752051329379368027401443119625258088818297700441832731827151460857936478623235645102942233664907176538430841257323023774747763111646624637512079743276500207153960641862735650041029749439070390044247802679280341919056958513432007024278219391531719136388794382895554866029742516016738008932452838978643032530430241270214723165209948804624472978599039006153121576596062367597289822722792872765894953789856464407264016738250814809059305824008104724943956353310238499536802173979697310812262208993995766136367513085654373781273658612836757232393951492348326266997809624430613342816758529921015704839990820329226613256889573872440749794774458348546434992708329014715150825375615408103790567649150208500344683218396023022457470835359381560653555469548027097243440656015815863653389618774847001409354339743528895891099775102342792129499139053486591351881994300112602607396597799767939260913791921358539410515107908688020206034709126109826383976232981128246924060291967788821756331430133165677594834265268123878177837215258271990429666563613555144671493269681928030110403824370916299531414477934808081447107401305380690777237373659564356167414513390540553912519642624455225618744239462977773950345367367020511065449692020458827152490432931236792140889297645142273557068284834564146413688265747492872694674798400216610460108670352030083411688888683430495691393469844349001611450992709226805779115532464513110122233305045500699905007592078212905450447940156513991165848272692000010117470805432829180216355459816889477863084628700257067222210027439901866756498645176747918401130298901267791697308028736093269829239557583487003229891065343165506889949970903897186361280531760835536318102251966337816785253643058642371765020646732982844375341227855352216873138411035189629779161488727764063202173780157154270091047627705272186808309487245743564713082408480240561549356707944898596265193959596017274225087729393876331504174667131853165444575627980643479847291316670724437173195240004929435084262159533325962122451672872760382969354117238365026690566944492968629770879477873991622055288471328456312349049262951456223827321289896251133461977940573320691195360596435158559062988662069180971862622131228712296480254101979734925505471179511263170656563481164979592173620291325132218128094528749837333111787175092891442691490996914601179672927005221077183325051633486017224197525659041050383959829847131958225940162231394733673612092011331969164116204896500036863885379453585298862231427105939465080814184444855058551440985634192525445921421591719423682983600226402446581267606266927274120522805907672637707393031370403875108234908701407249566512862137860366799069025631317972898598206429182877900476311670253099391959581342958061493078267896353707237531338837725138329542054001238814364623074742941448708308890653686347870698734442919099068215809552053785217192339454146363142160068752096821391783729329242459962122180391172596343064272353344003810688693156176163808455604771318443213922624741076249774234590676145399554297153868473621789466575962010641215474518990426492622847795337144805551076226116622833681792922454912838575676168932101364736360288138933149209069833723356874359635974742530346453005553699575605111115250607003784031061096881897400612220201015228199287158220890902251355034476894274818120429801186202835469582171029518719703241324011206473273456636907971312018195864314104791547986282106644277767903907301397625031675843436609159986399590163717165737674946855942804990547178738960952988504584500091814549777779101819514695393356111024420234933184823477438986242279848799860138435843252980565258333133513288940000959396852458280996965303902863619218257287007618639809867873679395811780678611972421395126048471793948316103144898272026654488248402458465507478971774073882670520875296687503217059279024199390500764319029089412396513947942716315722272792805772694924547435624725994858500439462126441171264402130245209476347101431582816661169397571032983837216685506382442398668533943368574210651484625713417459339812301167566819416973511291543767852106530557324488794666782314716140098601305179312623055074622709702194353121087563065138502721270720545578803131077367308931735304940413406547299891002120164270935281723492434250496557504717431356498668881648605583434868261082476922265263912587999048474691299219159679886253847318342591932008774859853623752175924777552644915430582721029022774697781804819282205631281617552513298232375871679450221412404031010183118323953758314228617302261193969576734851473689908227736198653739674803371799745129646285529190464145021488404637952887150021893647040276006708952782905285547268205726155478113143164248093252605894257684920831004495279152261635861610066157589267947433723172959155121802570310775186873346576621559018142453274829199645669774703969605267256130280449710067076426490936513389891399590781635946106873574674128838816441347867327007222294345389672440155705656971270511417772853732972172139408772059158075961644889232833577672219116077819964285293032928536897206485687638118541636456619830291314132543075538150367719864577034488297634755331426399347476192251713928131455603673749304004613389739054674145192900064375890991353766693767032249282419034271922099156385590068096388869216427911115087697086150468750871702423699684638043977269211004282980378930131212057439744181597203527525764098712256931680662031850479257579676515176779787132746107485112029913906404331482411224791914666500056361994942500450664868902383478453138314307174270161374570190511866148456432615706988614356305273834209287378378955497869662590046919575053896534110070748041514787842082586419608789145848930282259848966554586856896335708186162249313621877104038279536191878323608233257366478847672448423832215684600461880779499576140577150347771358721727866943339304147971814940296651909250644113664336240507653967303603026912346190768581758487590772834988990812207543831715680906285928885029853491774755142620456819096564439515674706615229753337598234628223262406843253540300425548673428620936746850737831775172660936059364171322814920040126867468285023643370172521671286153390185956856025232264061286344962720500087445851618518792671894090254929889617905514261910580296999479178601491318658859615941945815692538949453537381800510761196767525185607775974936451944418020416612623874024069496555430920502056324235706829462400041593546879009867429459758982568014839890251635678480982524494244627935978026892729172039403415013965205792993422419318521032148253605008692005533321806320879757628140463147714747295259669077841169458753917986847152502941310912411963109536887002324659652990809184122469987314278091759494823275935672746726605946700731194856610706943824015770577466985080376866549346064780277882574598811701383447105675028374067413655563271181407109463617753464850605371480767163456600384681015884125806953078070804065773513067502143596796392492444806572199133704507518221335289977419137939002703263627262785862605198664656864531344223112733836374637623053403504035387745616897457226786984546395502054395999963366427347773622293569122549694471137854734644995137332842932994606113083029010709958891617675328711688912027093075231475885571325529300336375632603391108976925533731143648418199088838116768483526190779719988942516190511257645116900252337835488011298425288694434714731856489453587256095938545451823263323217610835155837512752422852576034928167539602538445195296137584096877292340845469760300258324138919885197337322208583759627273717551344327835426868070401275023388254368504068800339133421290478069118865168070320557783349869915751523620725047001635412990213172665317194962572865214044479385450912407346434433149075958066162116575428114530738373782134944484145524970355973351586662421649222150482226463413104903499757383909431761515333901097705259769275687437275168647234550839420642915036384568814767705627452903487645116367897713499664973351006867402966024816500483782321870584079356215013715222602551600831655207188408430843527257316363378488796655992667436087359630506477985196112625302523769975192705639262483935909097910311927479111721101727956594193536699009779127817527708459147507582456688492513383857204569438788742456414713788299328109862558510406101331536810650021713178895744035264568742515190060551575555588426350687782086815501494036652757292233201025299012794053227320561320522500062917302779985464350833475222002747895081359359547198123161254726752172296237779192054036062278595821799293977664912296505847769471125705713367532095427690135189070703946404121390790621643278725520665121479160170189781410066345096841799498600338419661778316637948488917236312304168098106134262208224346535869536629151255359724435654132377596184542915556616630903966784075633199263927509238842980486456460092537211470242239879857701320800084362540065162035597108632779436600081224630707879654123810854390229892150085057846640830740494431158914414102268635485933132040508616946078252134797042383224286712824451132008350818553187719531950304036103017519392302249477746650534349713585320408933718491144723361208712521416109440868264266808384241309183210195691539141251315964241924644393544216950262539220019339032230620064396210602804797007208482456872430412111439528675239175803229367016673466778562742619514177685611222194725870159117100608203092351002472245190702921473975520953200741476313377627744337330972650041277567140126415612844147527819721009346324887363465589383231727384823644708041849820194426244224503514574741151716387451480795952172386960639258936878026302490304146295736674093623085651792793829182880242577911598474054261757456366714235324927848333549564350445733209060390800802745445433467110690521289509790691176130820749629312134389135124375634245060475521700499674057620025216398906466485928852485630633429995395895929272305492105485064947846825318521645612999830851877549639232889296032245340732059854962363021341079935101910135962852647248963572909486934317806962937789945033982164751267326498634199871678097086241986681112849859209337775458679870426949784254793371026212771251587343702490436691192748996294427299207565373567544809203290442807807393350245068510916830205525865800034346803714349916961212045567042382522477232903944223558095072753116327096220857513997939968990692244557453502159668499848900653244849444238041390350835894253073015866350257721314796224664112025956328044821049874961748044937034115208334741640926725958319321788731177169710495974859059851389517910998079065188411890660751204836671991418839110229882202349065414585266614639766283321602965571987572311236178177385591571794888017528310464835415876170851272360448926383467566150321825600776031304773419987151271473145869082089505213436793992848071340974621123171224614812413630316301078354780554415242605072910110544998935132701299276858475995409305007734167698904411768239794560531637739043289594231524446483887418330000087478337064230810298447681671303148232854627475937442445018274680440710786408246938863506143644013621626164010975540315951640000288151670912508301541894052338445245586639983547807682146159431424306447831582006305893713676642536076255150003804233929691524946975590947493912473602349115572816129210856179306470802398603836186410181086546335889595518074806360339708071060632525620468145860444888332638780825259245517381202669098273094599082361524508513508666844809695350641086089934811798873412651380050285276391055086130676198479704456534286627173049969616079047784473463376449188226412403799065754668843508654864271558471740277757706574127447419584476610643726841682130651456098506346839496419824326560366701392131401955605413198837340454473315018450385192248683314709157652529598125844546336944501433296320820293050674354244508291554834518992795360185195617952029498952599689456456226331430036411039965597845740633152615433773675444093203952837210032670808606146936889978409206016954505424386500361739342611148720589240039207902138372666629854552047952828232670251852488334954956365060817676302030017143565173648771705338178837137541687167706961653588568026275944908990793642038692181671834836926594109537284856705675627649004978549223550422740571826564278465915774254154482343599238467015526958797182393546079561560191829729535873019876155189880908655982566888555902951275033278251490077838307660657839782797824010250522478764171349324201992566623465207603471658034217315361662837968578242139684793714599344489642602170022260645589298500556923402663230642650199548713872947886240322981100615996283601934293949121057226279678433428685615586212431718151763447578764185116986186926445855867947290876318899838534919875428537448379219037316686339438908440506995746807636992803601198139676921027190069212040461425581591361809049972669371144718249129804310277838089473186331163236725860636378204377298533957768032841037857176999218112084446378348025730590620221922688894595795368257757773488005580066617634857422252697143275799301297921831530980615066490784598293517127805156579923317063382490972646620914113723591127845046074124251333060825473645665327411615270745266954388705238543275466837015131502697012322218283107512299110737195754316718527449062120110842712750234487958657898419597026829891939944097161698963896807596991102008599014512198440030058978401735023342053249607380897931195577340288794773173636733225528838184241530421578129125863955660473425691852354426727217614839236244272964777952741221609974571190929241499537922190550816344871079328377312797693052710497153159387706211840721840202007447592919240055144421887874271404683322546443773270080545134895268926183595981659945389096949525912358567166067959966437778546404797259912230466115349771962448108552391324437742927473754939181970053655394510278402138690453575191630152039806267864613683890119307839559500037479710669146273186895152266367002513039373559460312865461785900031863374133422939314340375554477470976626926412099913182302424208564601857637260360779197393358865397701239866021852438370015081128031010328758257726709603041392170385514539950768019459428309202534912326095628216849236845656084933932564254422144365190262858221103859153123661693102314262952226016734271634102463844599151486176513446736577749698377651277370663068010855780509480240943279949284874939790646918612719734612764109134737875742033757292312921666904142461447901379000425758409599457549485444352828547188894268497722984811785980753260417997350622993874607978758184312683753430009525763395466784986459135686128393771388638164603847390543001056850488276950914370778263025328718529014724549418764083117476164412204016761034526384686708714502557728822274746745553092140117976649030764262135757535978951232174659181919858730225846390024194704072890863448491810501654966084450033147418892384975570908695936838567919798501075713587893509107558112489850515538797929963089068166363824996563079024775011506396954222546131670746781553845430038551148709843015973212726575967661448887263936488277729746068855088234084072669158768206963387495169446989453391994248876842275627345230171588067924667671040215821579481351743159536009125419964568412498187136016440126650573962756301732491677879475936137823772259372514599196848135639706556677567944271562283175856061499374595307083643594598783985277737691032844788883179921600915588649802416357580400386409402543962850658900798726074126275311105373779831734814726210304630574906491465987591654079889341775656960644492057810080541135766140120279715686838899507038813477238857813390773630272512226733154959059892737181283037618419153417393315950090804068617439450000746763433515929975509685436746206210970195405713394444754567165450801946139048017399122338371920606075212003627128280851238887453008689275058418544286806097629016044368688252075290696510987171466409425480138414456418302825877366278499847109704077346778164753410985085063783238312365906027364643005060923388611137488699157076361302414800339453379838496490145834403286273304811528988512108407642714842546260072256775703588481247061206535692784563976041192818859068680824339963292515470083029040632584008672707891055455970291428912010208800490015552380448950047228087816123503978818990821993887352533383325652066896104209991714283094993059195970178192599279062765029983374094133162409666094481029647427069632413196694067260335105794612130380670004465830705283067269862624019071848337745321483392047822126022962400188388711989818480752928150108196329515961704109207932088607588128790894565189855777122902051217026837161900931162540671353306613965266943487233568562169330003763132271186550291423771444393397563402383953502402552716314619920642835307072923701901181361327023692137122244900956056393689176335002369717220929064133447740329502245125499560754994454982257957250091964483355982963452858599160381187851051635003189323749449454683625920015671340154548495786738603144632770612810388502986272426943614595991491400433818781453309846451676203533642390056762415755148326810719443002412889807264096365410633205089664863956543871104078502152008219495958407244880963163259551214378100553777248746844454615831023837623376976354766432074273717872645565139741021328950970926824921194737163552398638578211697635151429260388427022474993326716331266067452246104168547473617170508544195689777553919113686379779312821074906529654276850055658234469249570647460646388703489230641584406882736950648256195822872153764052824983706786880057803799476816471523060797756370999603701368255162782972290583131051219473303294479358143006085660015761841784485409994104150117707261172017468656672693912645420280387289777959414945869559974069710869489541554742192899233537333005218203003334483005084938662816166849756737581365989763418267025676510581274602504622068385623408110681102293204119855199886880154508101771397197291690390199313922933245763591195221604906649620798845840451525698624387450985890841141131605255766914142847675997349947401779150582240745071001413008206254043745368622062853277938330289076271011258540762477846341181409286948767101216132263631075450872902985828594128749055636265414851606553623683467443341273017766995928214873716031599993870867846279627346232432980959212376005010447257474034839571388298472602190934683438966341015670747475567704285826125386858139632047496651543344905903839882923423875936767274306584495073033559485014927590570190629417477410876625255677567435637764540425847851554305817191835507634120428943877120618509731792042756671426767573878446822747457128862163433484837393224353758967179202978469129836888082518659424765244143545583115737940964032369165450885652188606917187541854452469513088215884068850054656211907002364903192468586937587333955568223506849703918285376871837001187368447224520438082133894372736545946971635495158674672755373999435086664713642004392696602363446343100168854783284052798173484928423099929778329228792377552648989503107683007942244210643890427299087285823145183251688163895653375133649620284034643039728387076777964920123197383111070658381759370406393169398191325364207702323342441632138260915998888403682863821145708180314204686072955491246523695192535242650689608505656666624373316803511371160611146640678462938790589040615542170573951529812615954459278262087015699904569662655514904995470142296240487783890532993085176899332587536377638810350485528195005004285012037372900954245096964503693472920450781070770476882728220654957004146380046279671506127075423245175327998248370994217911360639471147867378679244714730044335562778625327801612841748833411596493097837122598737241656856592697391554862253444169961229019656590944046286022064883992369246144668299573037166511519416912971049113325551811606598235625497917671906357477322633994022196214817321383545246379847668229643961601954249379689401829478545590131612574327455207370550066746150069821547900565791276439737313618558860893325016621000701549755205358074357086541172027006610839845729601143784927735239183760132493276988909623597548389655041297527636440666605404042849333801613937011557149939114058714066581455379805218631282493365935980756085490370212033943573074530742122262068309382033387674864022211655023319917408908925687797026028286751287952771592192705774879077797537080506442590491499747010606680640306861995722703305448295030804089803296890828425490139719147048249620316939468635936431075729777742424165168896019670671766993984440298415216077094623388116946691075742021941438703437467695333423753910819721265039078237600417270975386956768069346242705842580096827108938792553638618048087965771409933264914273661542426137910533274465507600684447109235685397418973088961844355845037627187501307746837822636067779968853079098665926699768992641168732086268964893518095326918292728674371503468535675325036963807222717568315073085346254126852227756401718521128180921789864596943331357958741859482680251353648148527402369769802090104461078754563131241013938134275295123056752816248531169821059120904739897747740238682228263634481497802680198538600876078991272666239331062589125365840359368360138616715776296774879234096761161566039492725612006648335412912392916021693960153239165747008306202536511101323193463800001831779553351542620273974045717141373665449174646302727445239488962023464819029737806538790437545006005357900479048704859454628759312462292051206648905037572773033529955704298140838848146563371807160092086319675096319025839084725178873348592640664681184773389222384866351701951807133727729250930839546080991380074022134264633616330552691991387482147381889722440962887086643965116506902453273104785123299926200833263814687004663028613015409047332697887783604722470893119547299445911417348808372159609212778639832962923458858785457314864705614870376990254785302846948737789245544180149281175981411474630808752008594142884734715632252619049011877951110185441563263693084371156113483464230035684383119382271572288958928729246049839176777941583340150943299129927229581963854972727914507773165111639496636082540545415813867195616263428155483084440011229803383189350247684845441805868467281539145085564900508597952745132512090549835497309500153711710913268139137794924493858918420260394442190698493317610676870399225619029174075085946472490400660300348330674225245650532576321183583591517229654709815934847079305446204706167842153994620500148903491657546414366641304767698433127921368549364790895470573143235288443154198721567892035894538861623121590006182783343424956342812435668011865439544170022278228750470943880254890502396509647075635473579594345724352120157464736259651470351415162685554080585500726786239632071042620196953198961940310275664794847643070575318342999271158843884727987044347284338235115105913757210433530978562033806994568600748993278002183963142453093649467890548727818633801051775452044525292209395927282708286380049871940182825363924338002331513007367927996061957718086906440769222538849025078376544631178054527666733455139678098498111499892135438182477546829185987035785125770289042127565005557657851975924352585275314855179711839271290439803251172481856675220008789173895999095459159305256747607450366149846757845324239301356943568938862070622501705585794048951075601394224700123239250699011444692738771158285530800727781508068316380659337887718250101394891347693509514060572180052141654341686376257851212184244912612889747661162467003088584318950971597151398203036312392021744453788834765252584580726286200689391383340018193946388798124683623989167027372253469269695683655959603870612128718081248264754273564354946988081096739669475391838336007214322172036335030486562765194104155363826211879445749188994953058709807622737434092579947588462484450721626784176971031067589769916913184168125701323265463114480298156132996099354053729651399245728765615971561099423790339512482276240050105439267187361281845038323404939982475078374429311190033696955959253840295066411841086480237717408817410707117278588731667516564747104184057960062197445533559727537994371184874404145526758650803917010749385344670057940080386377853631900183653022859932388530725266832578029256873439646242186489619712180858309956989068693908792680123945824705015308951036675100127365954618229838320233840082744474172225220766805182607831117861633770657709977889288830501315961805280226530105988905014494025396826846597359419286082747926700338199777198898633776548240302599702789875363014349725085605291712978453683709152985054728262571541786357241362419664342584459910538898167296725927812614738757221885059180090237681673369656716617284793388271215844224327230859086324180057256800488775572559141410591625107806323180761299909718444495732946814685936319375372862699184309365206354944744931590133679397330064910460851665209396666562170247154723942664917447695919622122420288432457007815383020746188890171622679767834402694734165201798606849326789040899834399718025631234327880214600653518302303921556898000435251393895037291001131809103344309975933887748723607841278745002542064655199773213769199264201790953107933430634664799858431737765306563120494266760235550131846256345861258986780060788310573366264383224918168145422459322610221804587739966598801987476260605968390490976605571889159873278347978374527068082360943604825768350293620843729726476002281343551470577205912523829104721595150394836168483804888792340589142550519688558724727056539296650043403477188633399130023386692356933264607789669792841793091596874126137994923099075583388548597285909605183704754005703705061217134561958483935794448082059372383161731646312300457315280137605320090508982256043108204594233918047326644209767533857191240342326143117582761884966837453658036565083981046348578499059700502034322874902925768459461192614382910026020407800393730219150602740930045383345253599624933277398353650504342037751758969918362809935721943906797399671310923050899336518586745669584743532491681764922393841699514335317741599365344917764035621621503709884149648748729205549555097382470440806256400482339773527802473304953976677623444758558066260764973043917264865804638075478216900660546752898235711868475524948765447643279803766664675494827544844005874847391555287142818888603658950962797418049775649408717647645523844959637255566891768187058158681213151323184103895336613087763696611123801019185306151741894716940106433718276754884964561254882144736217738753945931427801891953573212039174092358872081166055987337307681960777971051773134016461051212894756389532148837869462720999449618176622705318002092864700349594427612614693189332024283228371329090674916292821713131582557671584015292780155552669763559008767031588567044539861856271427349508963570239157996788687901203669095435475953739551064188835782455556495526082590044089695373043759718419054419019883632823086345266040236232917522543678970405039249269560664259675392987058648015313698309226800784643775241172576055219726325807817083105591608022133813161000703894700811335276745282194726546712478944255111676438084916992624064847145257237176264949488279818500107135318770997831538627488352797582398175787487972525501622635176214754404361772423221494162015039363677789369210651833402756634171113839950330415326473640566836922708746393996914661046257748467179138785004164620505991484777475756676972239804857069316945877729903520351691853846961400068668740534351565398688376966461703731400830148821927952330317780305180207616731964920049426573842917110207612100305082548431421952007456605500401722064765208808343563031334308207119851590596126393623244516294362468206576543272681920650357409244140629192362700622304988956956730038708457040441126731078468851368686458316141507040575990847370284265068777684435196674894891176950237161497159140477815782738717782771313081939513408852836736563430199699587606055395459402442782109835714994802433444023948001927684233787123403404395384576377228212600420969806345442482094231777461829005025592798574425870395401391605136646911330213463172903914104500653553013015303996129516866909514584461241307978730734871916134664804398709896267204661696222034332644097864096595185298702270239237778228674411947595068120006021246590335860831279625819719232485498316676753008450883578336733775091225091646065392690859710621072116634986240529846065833553485522097572461378569732914234823451036984173260124638843613482074052173926595001363007507266296107150109580027799925041472761403523170655770281700254238672570695613110520437611640985905433315758784878364305183901606830300930573810587554332942473647558032093618753767324500495756031665875960516703864249147087053650685237337435901439586668063376752360142348838524942629126481774017311489318570080092045368895134800355761495852754448925661064764017457374786965574552176255305648911752036981072064005725958341813418488560269259998873840531657361193408963105588809992325092769441492265335784320066048235502311677633001669641961407727602215358480087221203162795020947172870541676133866724973841012489278296333365764606286908182700906114402095555690385905954100654404840326133462370519913922106286698042072425302081317169157975168855914394714890498894559208629313140708177024439963405128659639121439102009966520586833353602941875054084210804016148878226221092530002183733717530923576935481778510617736633042849471293702476748999767400985914923259808457407728235366846930629626340224381896003117343390914881401006769663569367860593899121583102037993754258464519045495046834231803237892821892987175371306917614644920658380281966674847521914190019013509432707598421554839192625008376206999685870333124181245943119259194699555050340763997572384074503358354860181501097411969239063181959044732399893949779731100484342459709926503761126652975032376690059711292139362372012445218009759598565193282317428231061487331091355831917814011022801190071594083315513832271145780658402557776554597205947031725654220555404282712631555711146318251104578588285567566021831102793214024463655076677636873626263967531454731388030118934117717129069043878902828070128734876283536528415178338883574728176983086884179213860175937475947966073159061944544231921101913364106811931255427532383869058179825317270188867850148210923696177086262000501398889300199084836661580751998011675928809749539302189772847860099712392333464642901502460769894021240363275673367790513619292744425465246753782423759252574137668602459431530738760923182716044566498908472701198724630517700760307622049764399442000793917653411217226672307654652182953867404104161648401914321418352261566938456203497424497484179689570955197662474315693805290968124050850118302422991316138813459163808372832832967804467407382900042431783898054871347647934976609202221399079639211478675027263432229241095733357482973342367547369969904905593572558315987711660034161853909654465025466209476379683931384413603384317558448421817989033888413416312868704335316302642947032140514202024202747515541518027161628439303489469071111185155567428732069579478745872952450623210162768963695933818912257974143894736160787353447208682720163085712038794904883058307193638919341315072587279918684631444648518891740198384667586313853868770095910221768992559120433375549643636016802954674487125307856896370708233762613184891401763510648081189825049455439172299497742243191734754616412220309387878716933016797590982257097526295194706366908705837008826959245602505978572254529804642706339253234164120465877180619402939185324968516884881315036962226348957515482310057437647164914764909400410246184211181567736604705195372186265608077698975299509130547117606056601814108639115743274836137260043757735116204398926557465523124325383296444676086336655408839755059297470117597136272435636387304716217304989249065523626959541580437639198737811170058664046564099939414281479516608495847638738071594241372339336149861064266584809852601313374038863181966228209865076850547664565179717026138265828925584653973138573516190125589962288098007813750600307582395942807684843822250135130862822865416001619650716750249371432153979546017713533047253621529127991467934033604057305315034802967322764145861226072688289268930494854666300054256154874844442804618313994862706970163361164508002926789179826208683447294318334418384700217015924174487297780576175829885781284600577021060314520274954372238224209880478039345867988636463988391045176330896516025030450086465352955828005812586876752061526449908738852882085750405081924443110056355383166633516257820610337619011003493032030904147041069905562701770468518278301515890967088108061391795132865187547552611786997622617493137271505777396815775097118391245876573496438928228543855957517185689374156127069483871250487152005859736330430926907153573596861605894446989476644956286729373731026304341268197927217375561455807671614041971774348881665319214482129243660723253051591594721882989951529403240658959442326773922441800718834608237641309412373195473477751649218107798661038236802722375324206926326575780646110614351641975515610925822605239904956505188657971810278758213355530634904304059378632792712632616090952793623746486364365781431773711634268342436266077087807975014693511601985157694185014000712200924310714740588337842694347371783724207928518440468763430964350372634748624267438410285279041599125698776136955275421495907983463506603663502316925094150460848574382453219818018282395022473410012480332689723695397569994359117862983039994976852051632599771840570159498776369656290440274975823770521307522063481033247627304921739400916991777369146599014901130090920475059716690164814053561102924791981339263272624227535530335339173362606153417103259284354684722109987370073533629060837645979856791926010268237339076738162122808250664112047085240951715186780429729308401354488606261925875232766620460835158373028588416136734471580942793712845939639874432101717499744211035907702131643777314954353318860399843235877973210241890997149322116422918022674070000056521652856830980787705818329002175294729473625687313047261504952167488703851939353988494496599187629008737185388498631706562151622846128452032512078504996155653178331402058841441309880509403719849872399033479138062714143735312048748807589020246591910525401191467335232822545571116481366468329610990977830328965448462655743916363770590898372400287771997088331973104748280654053357812860371713182449599929852500675947120492736533707627927522901905315316267970144620660771339542045850711692932348205027761975633830109668476580982886586764834508310037676287375975364377006645346782550376732148917275393811053649171533441893786195594397745387487509173554174224447785821734629168852674089363570655067508522528414529730051106712983064662138493786785267528333159284877363614349814202664302864903279738779467993041890985173441439064055201050100824698916953428554561691635078051735712435309769067086333894089490791233481223429721176661767263190028582279043586311140920511913725219621956133081607278746844154792592726717802407472444765572375711666256800271235795233857998839941225454118241645072513159301125901833611412329791120481965526960928599259943459857616141446339417412804450062501251687504152208140235529912330297621396612822135006401743066622976830597355640734337776087986298764689462109286086703984753236736396134568026024533109626091441867673824930024056358141036843727757025419896707535144918293262320166141563421504647056453007962664073989181178556150107253652967510804962236831774885043303360301582787554905793879944738965076008292721926344719191465802690089451913952949862495526927459354701443893646219385168202758153936440883254364245782584161341743314733696360283710260423915481822405971453017404923171953292377979974693861496667092100171643202366996985896409970049373977766868919541730494923041531586709934316841315807550775699866624593952893944876354848067027495023829314625646367803208662120054712513232410041738658231264904718031125980575841068212779264040393712073515578135580122126336762607840467031478700654798529735948363277758387143940086999587028977341970626943612153566355512285001294337478194537979845538205005559687107398428538846062467832882019137484604909839218636563654756102593665038850834804266548970758211343847716692211960720411610284020493244668276975969924077375791102815974235651854950272121804291885480561110119769970121679667783761422140320985899015418120649820886629627150727170211812844984266295434248942139262786840638690849349872455275843426611495643348050725265649451904033477277541883292256689568861484788742403769152174896347655133673533781532574687269169852266895659616093077470977856186091692221259649927853369652109163963849762361612310559109856261069244004500387488936554273597524391781530257885394094922057199515708664721772565222339325443473188787985883426639314895990129191965849072286310228231111647685302170902744905320836408967686718637711145861280089225950920152331302000712400953947888301988749491118432204287622561337522025408332402747683535388113747599376144530407578812979578311747002108211200712981460301904688379072422755906014435802147319111086696040784029971082349159906440439704477856691716672659316894509540943139497389588660303630398993730070135639681188656473634794171053628481573970183881573770400146584964510049947008347920975442121618620599217697225279320823926354458264717909911041247949645571033397172392116281954094206030964801168777358034116183778749961072968771445598729116311118569159820531834566873117412240749450081435114696027200266868617592310501608210816462675094303116470788535830350173429049299991705700054854897379524157817895018922475991698459150276774711549196699684167277218771905672493677150175757489950253440432212291759287854934991598289592000079924233723662354707674480063129376097978367701582797821252545676975615356561540664785157641196191709881424050592013233631544580557375294369778619955129367772669838080437439877072577552731998422237204814114309611896774023107246796120687130901546749386719636155857690888624682908388406271962109856382710250420193882389800474427050988833469299957622501918485142781682841675597126423367550899796422106279539032217674213998593167420412393845991277170165758683454343092940120949881345161973239535798416256355083761187105115239414973575576739728063258941917270054045910089972164263949882307730725662217451459745799439772179199319165273507039949026811674740341586940741090747270267925511982506562831233894234146717840723064205731701261409669854860734340032123678230790529672266587917045186986599804861324956140798711358834260902359116758230345469599665591895710899324901231122303857118371202978534692791273650068151364333174290788004795913981860204070670447553264429898338165210831590133725088028346781478252419829357403256381177246196831433006304609407599131121130623874170962043140451543500084117691449163133371749494396990576963037628294425414167595208892939785463471604326402862191900544486760513975060471677960253165855298822577113104589596196175517710192109023076042636897168572189445136540026022643358276064545270253598708566690929007930346445320145821899114744744819612566415091974692704371113000136996897179595658162190860979340022769139954822614018316411885190912003931990463744856187084025600643845652328915987027303540565841571309195312683338904673549483803091995587439200075554446922568374551685524425207757892057453820516804199255900782404112343337944477784464918960763327300293478425612569717109951052766566129155971512632312598858263263917206708879337864251970209184096702598052953668934763707484958252697554184852419186909534274904116301751526037154770869528049812548466340582507051421631006537876335164586619361952897576556480576534771812745866852721395856131688311772485012824147011286594892998763957089340443711130189070564887243556659864160319865163191274625598468371330731635706192819460268219129972275448695221908018509261817916070461111873444065685297344614150727446015313776555768119122532142605049644348380701578737280542497922101803207367761189028218985380137112957282282782875731097765339402499710452009076844721150233674540521196845837849639631543721434980620369250638778568528901520229868010209847169919014903610788205990328775344871803949993870662617759725095849973899670809505754385214609091095582845394991667378291934721157234829312949358995040677124584165849345653093757771845803181626068551431398855920629790736149029432886691485454563067397400237313638408136533018250536037389981746981047689849882026856513271297855792197223311340600530413314075077844239962314600850714571702136987308864633011933509498750453583513745561382843556452550428687782187830567574045524921934317459635877791636223205518437928392394645924261579621723275881100616832984254715629962970371568513283221899410081029020445216839794430228841498263242812794712623389325995336769441963365844234306581833336021867898444516142234930748365854519763642955937468677057949494705503463350585379861738725926479295181783166893438235679694544963402914034644072077352528873290690031060379191275705797241977339282965939544960511979071052632553747776469814422490143263812770138604213409197868417720023941478723799082213835964774604965585278783744714092073036177030968110040535570357088630081378764313574531530623107753208364395975720721153335681426306488056684322294170315107728702164316915563001004342654854813198796662231707866348308300534958837453366903295285355233905562216476260368220175648332985723543370902118764377341586946418070254113245697942476891381409201993673646251540592858515600408439213217886085250150479332469218082207317479489452978333976573418843712130461698717805737545590057853836126611183781486904560071814244738285205324690333326551217902316080383351995016867126377935382065141774698949116734176189981824862027951116037124976389727307236432587813439747621514326239318539840122080695988227070829084830799344985804936549491513874798328692443256866246637162782797025235673468563148667973301334161420435928919557206959313767798497076333180445295289189127032351426538897008445457466472564324817576650668555770580229487868622192994932837215952963807233126459995590394714012000652160994822868655499412367224942178630748088171423111472092394723017387582604483076956004568402009590567073309186265632591304416799241452129046063297649586198633639713125064292520086083791104683660831056874191257453388736678853387186757717931682069974232232596477822939828276696438696541387166319805612843643722594385290894747164039087700325222646121514760267011952907220169545387086913389510758963068986310247357022638563553397768650886072411134536516008254211626907750971117429969328372273450884148129511331711260190008673161973716730670761406138073101038225670748962840777511232506872847607870300017613114563990467967202322557714147495243423767836280937351578289471677775572927245293940681396488746839993398669858017237089070724971652195109858746031879618805057683384818679480792023195680962072238435203737433852768381356154662164753594609238446965478693732406521721355839325682710067151196554063908450081081927987207239438980036186243737258053712124377486117223198484186896030215815492059955904732336612898844749262829729209662924766371895563006156535779900577265092264643409538612277910674585543349001252590370774150106292680325799854004936317558929830164446242591039432838833490994181142046610625219586454205918083053349882012361412134559911433260062744436940705894607144873826966846157979766244573140321218836212590566093349181602344938894351105360665873132856100757904042952889688119803208741283230421275504447995507812940269470631758631729586570165211139487820885503532594476152675687906744128983171113483959232157127722789804994153925250126026295674388155039576196495082171383424448710423270146745362823888431635085416718108837402675403603681197485605360752085078408239939576438152324288004650711762060715181476628938669229785645528555041905065191601078938067915703626572794176017894824072662418717540790186831265808932250510831349199176325285714608168668583367185981403846570906447034567962214077426382286524906569516622398909843289485858294700716668532664549755099059248940606898792613418635135536670784174651126586885693691092130674337552365247700660447259546117961812632644659487928791175037480307530608313951766330391608267189728693416130495191652170016325957187355500654171156879396881634290098305660989497157809323809132845542592439830867918206844659791356538738025581131049743760601689558636981423002510230588498711296991809318514689331769775066774581382549252276482911780917812911244543204279101145762006318361446071377846379245685322505827423220223532482946373716455059667690217159438079760930936694672606408266897490846624904655998906023251282951978618792050874302798796489462685026196216767215265624053516510544666484213568931904890899632297155092619590913488458967102557001077505498604070731475311579505945391358724259823936653354020408653518359715382756651067093107620731994923961792766292217974983819816966709492894568402207113837548473465011259572148808045380460428001701780556670969345103679418904769551972644766767754706616280519393176094026354268555103630464961341219049635773673065562895980480943299780579649334719193288296178325609172038757130935700407979559375074153516440878290425669632837827098173579616130162215122618342990887892317961465703942712067213481686191889938547556479454050078337227182291928767178041786135487584169078906181650698419235971914432295615431143601263527315247549822979528754123784756968538197559661017168915302782044371638358049858723830660242602611450495523191524275588692419223688130587257760084237562788958564616953648839017355052581913527378200722840345078869293751777639606083578793974408517424383348668516080851909930924928571696458864428812376802742118514380769826015806033743691412399335043221310875551385029808843598607511650085837180043835261418014133835045153893995437556735120213937502462030374062323188250001451795231439471752883631080111662099741248816113754792890697241898327178826304663733807494003356047795444486345300609597446649911431569424275338993095257132075953790136388364316857957935724840855378232729870338371644760527804969530119483507316082645441065308429616172469694732741426243976974813926885855985857257685444233723151131723781145255684636270348833870349681600321761683451560330109299893057277515377732035982571692719765033447019920033699243796396036699273400732139229506538892341657134011937573228318142573961492664427995550205624578316198073125557566149099715744429736793095832703509907218934604649370958346822455669976780920988229131220077109203355692818389600092909054415771733772489837096394127058187158904095024014269054425507219540817266989274410042668984492733383538080971535908170864454738492998844700752833977000047169351988262184709438460027224516339991161866127903577064568057779214134113014677755480475128305886616198977516129950815995659022311758457769615952382571181038532615294866824722792246055650256071855943749487553180393467294970487299126431366004763926447625402025460226915621779913063025055341461089597467006082703231390581704130466855947927841637174736524085430114293220552077195436343167555464230383610483541562901915741378100312029764081717037635376447665312847404261498584490098969397289784772703348216353732237164810843716483485831944061118270397484230733581179129716233804770784022054188024721074274178378961471209655244109690531231816945834482699654100753584721599045110635790235933053654122171968744961536707328823855227507831516908616571827698336509021023493464193173670463159720689942461255982720580768101879064854139833493729826315104065116893940708509460119397173345986879853743140191708068903826918082071565192759350204693389660707343852075059161942814186245767048442308045058158955845708796231494747158858370165954023501169027380202634567264623793750011270730223983708498358304907488351680788499607920061863710242831128908298183313484167830597007651318285187084550169691816154067918865496902045276904895420900873013258133890982654872734273594954312186223670769331768782065213539549047973634682409679195504606290679096921660357531373342500165383542691205781152728470935791968762756330273731792878761891197671731466823432969750731119499665030751032179249104822915856339566216601629858292233018909282943001281124568405417372876865214515010981874866566237845397085433863124767474894170943236463489064949494330526511554774372480078900199659655227562661867435073926304107825480427886778350236820510747018774704658876290515600876549028134229541695681602438829433902317380948514009147335553083827891918050892476990360765801675151005549314379130475376785415170722163420028153114175705787324342070907313841318095572517011204607249957902533422053494700776150416572433401569024303599008869256653300393584950982418703745684686265907763073531412829738189595608163585526979564593444298124589548825168754770391979743364998151363238865389680784077857372588228313912010908960220918454008082989792029597425466407531082330816259719076633817399593887755764705843506479096201686410625612469204225043541263532367933509313810062369030759133631796262800350413553707041397675580938105620035006972445504225832242049551878705342433614166014254024236383731288137362095755456328130376157380486120594403126494867921787657261922411102903754214667423501623682453356929456690619845394529043231967990129556565385540734573210821033059541500384020756122463321204094154913713387764375727571502871839565317239606228030016268193029251101875923470595435669320892979755243978531136833006282900295314810795803281515089529963459085735675773552974638837464209918445081619941307028302588558701232346314250064273559865433633794031777113840984431652798445750355514976735758378665796868018663350485487929545947759810774888294016370547859113945584294721210736637516072426385222788324220952057784710188037715045051913539767004127591909741224261217099871146646973403697587818213955276078578419717855641307715802448588738363743594203369038688287723024444097450530831978458929487104570131313827073728754906697567119921254396794741980783313463818573403927516074642733991103303424520148231886063693531714701180326877537367473102836100496247193533511304343822905980576110487325601292951413950844034830949388763973368462286280811434936529101850666633844715344650842731667181954286351810304726941474754046148083499970730882993664428324794580639537565642806077153719267912071797287609039292077692644880170027530435028418937407903195294923526878266098467789604829834805242267295759408084873687686157163098163252005690783777467533663317089678784510895414436250112228496582314536586572009051376577200559495715323437130514400747866425641102540587846660533031633007263949697433688842532608975755211745349218530964802384131003696956902524036661697374428145307564425644140077774519400261339889459373558766281026666119373264204470531554979421466913968374179225348791336912454300589973209886417874821336629082791124109885242931953425599385109322460775162766696221878789573701440224779936946246305344776032870149774159882355286734996378734318309283495149756837120140177414196680032254910583616767152214700403236036420338746471854784099176601564174938346230637995266856898434291490116673833289113762181046910974777389958603478162649512168381847371093930185852994435686886545118920041365259201477138416543145264053857505548287235575974197272762789518335680751055122292684350146060160080525182283317869464883898414193037890199376105062047535497117398610226177119951555830153778400851916617337757544259488092701776411515852599748236111947160319892037871411128029426302284091321174949349247655206639194841355257329681990213643827017618137747079393626049091948003318555055390019623429138461022067376893098307515330202035297351602250080835652782737439657818339979021048759071861482696532126363055966180999463803555597417663260767644329970013847358350901082497546461676069560050288947470689470476862340075008914513712580205261119898217248731724190754725236294468687879732469036171097290884364939724668321062035258449188463671984205930131455306012464786152724996542317787113629115783709347148947420999482091703305749650645825230543818257980993144879047318112798895474324740159488741866889711334537607901082607436167392290163933219694897523118957634939264339041269036861063201848387839348969969968203507233417303652855070832090330123855307351061228033939056847943519625793151673421482964847309210337578395545453325932700522593831715888263437573484119992440456512445242088003389703429040999247726245538925039630306995078724569329263614719141418380577364747842682894571043326561192828483088210036695889572064357266500281027356470129493488004554202352093904949294661426351818002055082985540345345170453147716252349905369326477254900413859758343069161487553157152724753038535071594481247237593861207353859447506755289864872551542359135140643580562691573785135233266324441221303221888537577791529848902484493298800368014247944088751375989628752745889514362939532520860227394672308989725242845199215105948109716478752400259213766894888902684959302196360395736493151031918965955508854992672595349601462101919133982585009231392858967141635757836205014900492690447507460548123038687310211917153829064615885860351320027683294389709587187611156480238648800035991232771474486555665178867190735859774765591377840771462666724166127729665404001782119511439273130215812770362134308951805338267101137003705164827177720513445786706606015800685665621370835862968207115880273630020493568408859313852750574533270651471748205766029832500178675446509975297287317719249204082922938117839378522372661601128857925936052972097964934586266788229201961341119295543863679384810732460214763170437355094802343999158150441270604600948132260836012381822162274091100060371809395174651362971491104867044042347422129751295799371403865981095922906008888661352375950873142886872049283477684322129293768586753535552077446883778122036706323578545065017882562582504142378877750847473624830046569715895742691423576133233124602615431574653356304243739696898344617680714834260398710339321893998529949481710589471628722497155522688241629248162765930110519131401027057750373321222401554965133356349275690869208435934964692541426299789083705961327460696380958127233529267166898998561953997626514664370362260329497074130814165240828969413100511672578664594685387522627018802212302711175910451141722680628710631217389803614912419026095602716228348339769437705617864469527474825344358854906702824500338692526884525075726462121585615330349099167782627368752648220472810493521429713920389827343201852167066138378074242631330109612584173126907080758611958082399830329250229109701329219969065325410982111634082567352787955732048735734266112049195022965433056002231169708226358554540708204946946576843975816041235137182148682162721321901291174650605653716567103395616886252505379402954364126967628138449224642319155313536804546874910670805209798410379391361525720995869527605451075808406620071967217011770084781329971510347652664782803792380688462549528684162978213414428784518113278381848625310819676483166568357667631417928177471821580195163506432433826030745543711328906240916418787983717064454148645478418238556028177278468824594888703904338263865121479563201652804346702913650297421406806173229023325483352862174272431604567577845846256065042516461290948554735379453784259013716594551012582935045505398066992934177845381177633205447218436936598526494630875517337621904445853537310166220629516908322549615418201349234417246822822553854983352888212770415473447787863129316652312104111679199771416408757805224550909522602867664708983792246192344552477673799346564397370949637252499380526932641081467349013963333863055820606527162191972278946302994214432060122494490148418437286761105851768212735339037647105738385257997106325669055241184806147772187290372428131448759473273713633342839004764499184191511601822362919679000855101944739131453807605796682000749845577508332383577817369836982398001851284989932441209407410272816047372662637496671145718103303353287550714360080411991074339659037001439304407728266739699347923772267609087171666465254629201484655472460792523071546565458796117015027422653985701836481510712327802316391245697645112540626435615789975616582875111486316819213983577721983149549618626926207912497434850175315780996249408868545191067652854783757756555403894213958142197922660991116750831880718311376246183952260940919851197131232998387126445856491511496975656422182017919462348286517189615864661880532801370744889582873035839150176678370882814303362926508436327257097777722807410601708617519596037712631813611511017077436276870084018144229460261708918037899318025837173952042902162262561308783283970712561508048581035764347356971822364912491944406388065194609355540070543909912814513224703519620493482860709994634278343060470315389691688688648369393137963358017629509496941637643208495060326169775699967681718426555892213360393493278874602006521947407259489498233234510806037152131199247684497700599390562484624863828233072759338351640230973490677784807255908085898572390770768287728311185538497809335309029322959227281700794229017062967454837818259752848970298968353544485347304762664959277645561333192212070033465230288219064006071078820783909080125717262974668554084391798588928410520765720889958249183472010060926427351660541723407428286785454278081592220752458174745136667332420414987852354964748128435159848739488329955266371925698230398318813144752540817403739658980712712315243392876701834537287140056641168357793591390920431414237012426673128742899241421242590112435096084133452778242432651022776330707774192015484714111711368959339604683969088590317930087765475199517974896272477121281149972620326118273612978784895366811077199601222903622603475353396623112972063940829905592899863173440535907664871798888236486963446861141628250652539858085013899113210103214514221395510299454369753107246441064013120354960815489383208035666298770128736406544352098160905149700559525758879217926176208016380874177857527934629635709041848765964293537318013525616366984526677837427917211477024938302317003977742570570142200926446140999831876363501121592173852488391546624300680219110166245362063708452871950497645104488617850614425782095230028692068703530637370600675406704905614499028345034145553552778359234892619717884341768207300864735968499213347564309069261206520527791605205567512631169938896246812028234122498956366793503173688693674507071603932706714139498052475845194749282907364209510472859871491911384428848799984584754492765089452131045771021089229630604121337800089226544915363442389510661776360423804224646615035923652557168990465249618019477167298120856025046878783586619263211388652043240536686366824054132413225565759684699328540760598145866081954482579726304697300194390151368189206037701304525698121436535170912157003039051752915869830394263515418756629852581498314633579633989932085980365900190433381180488149534265770789813552987752419364925399353252148910736102276546833128229172403207953850902121447380763299846199709462699664180632973896713746350426641476719836780039656695621345607389530140203200753131321219399039699764847144565645580819775383761333541236098682306317144011442353250818110518054479160358371830827717625549309832155413634940273844796691160684253069926855326295002655052402659295688810717332984054923976527894775220645993036868004185895816690424112566214351152305283322844621631172017609790862301658195265556851450660799369383684972133360574647227038000338802962971193669602765581191786743378542627679613785731814326322018545250048034430796786457403239676476734796412127738462288982885583482367507905714547403444182406166084502931161257960855000340810933084929150189151154593771214605523257867442345414512144002450919384423078838702411626258204994324053394207883433976659140102730723505837659840527601529674001607036260233127858304555979511909206603036843058071324994719923740496548630252785550954861921303562395983850006646984429197430338174299737605663722934109659438636580158400809577931266976951532039327836846120949484201853159711659326486514767354659097702722607874341228624965019733259819577780348871643171699979868682978332059347166377787782533399013751223550960843419035467067458136951680724706888354503099205631582923212327876254396996696063789605385691853814692249562554935766082238695118517014072296098205714855870897950249185918598364706767589371795686717170314276688631548844733256849513614719714576451788795626173291737973384996225327405410875404318437302518459440392991821600684972756178533401293673751581383633162182954673802807528653104469714472829551779004909415095396788803039432224103042174356506209233208459415844888605245787256359761641876772502868159744005012000512441986586441167361222669107027928424308761503537744216318333739592516447553066960260420711521874048581925128226861076076703103339479036208919766000513963057303306575381392564919435606806936923739521873380398706529326295632309532194278625378321268244429369561410079488833978451058219767069383211923243798018750428545019661399636815387258216489610907626043297887643306871662296596567612241099295738653716442047074656641882382101918695004948538386852674625180864626286805782279763168856427803765405914384350758084397808956361846340528922057743261017145098739702949511233049049078537105502060138506832747380653869545290958027946099203944823043521498524554670258765353463828705242726150648833914603463624870321096468388804658321662518155262168623918466627162917315322930781832532384606082888515947588308629849026195312101918637387868653631242105578468325202167636355440889329048071526924337497195085299327295239809546027150208581221490491788419240186527213316929421633344995551271522432918817579627131376133637677345173954414749319198281779902106729373395722277398573958873324277143285953614707137058924912507268554175504951938527351899872158776593439816391414225304479598666655265325588701076916334783125699370963397998137358527230416499091881082780764701964249455505469055497553249522823009844390047339402609896247803483283994721965098412590253714014997246140755318798097359405798020219906786525886034638308898260234937862239649499009710035424314720598668993115369996735660423299553601993662814684369859391678176230894457362460889283400583594429546950380771041516339555246982796040710354759581259938226023639011255862165397818747382810680787752404218512539434191148858355442715205159404385486087508125368128993498867544512523293127392019933367389859168150794190786508438507254658501621860688786924537843669376245651118926508703911697212878944717153041318078083947614167771403835236032320278162954514545133244073185267182132281685233293026527627971292153839798735780325982259498494353689405213526609491739374918633794408842180021405170612834590770489830577671319632343247917451109628373697051857328841759568787201402982710171864994966094793349205557299075352810756815577636079332266286666310714263340501226822184739381613260454018277481006502689101402500588395906543651967878136410917094008882212054153411627017389625961319872720399339522178744881127355001579788219053788294034493056040765973448723802907320697112315724970944109617743464719669708278812259588698532332610427606680707089080811734304038523309073111133673575963622060629022679072408423116802238289631617058317862388293017707211206969932021516348430904430209536333911682030131303837114260007827635390503416471501713572585279608792138727633182213983593497704101587073865393728527702192052717439694742066843289922144785000102672630302242260976003758334026270056127570353569036063728888946032467300824583761990453969069493004970157193661882935462435886658420679347922130139016644107249801308677302746350464843137255260303584190379880349530082523785887937581253721593186230159736530933867316969140108435570676213140834966808483816841482123905579682877507559135974351855234565306615869924480078034593772863684696033054433529141697020246222237597459196804736512476473451222219507030985979060552727768736708245477823753694393040358182428252091655696889014345852047648244007965872010419819962520053117540335351889465115088611524554799399694548647791225215229243349435048747954985887421862561908241899939807089228022066578270397364855247421211449412876705640934472078315078293679247619171015770657699645876211822397724528726477174475985061802601170798023604635854861924272056508333205797087829491001184728866017245032189111193910201799507066622092647478445530407911473985941073244130849722890856346570052111219407639863869388874810496727342047677707718477029448602129705500179556442018583917993819102766538133873299055244304898463551996119375134834681820341231810211887646739898329161039680338630068193121355247349831154122713314221474384212692793872404689894997047757478642289554843409486855377411674499052424263967864001856450617274895950276288626855221218786429498838994226908491171065068161748552669823193491880426602901700755136099797094789844029903200519877784693196629127369607273019538507230246441161976539360611514589097785595963626652782200355558970428301960829382822061961108110941143087242302298512367041728376549095840859430198693485736330130311892668392150124694346823607007002914865747833506775431795515179495567978995092178345870386123185804438215696491605186841583877168950252641836576993013391391000857772558780063445130413848039129645086340008566315078695998697321064682540858851039413239837239859335806171044515460819865873729406691585724400618167479070663748413511526384203466568233214374393794404851858221649847260332040771446963029067367360231182664597419961721041396030171972434534259541157467296984774768171595777683820695022423748994088495864841105723235932895382496649584009508303615705693568152605443640247039490917645749720349229168127825096369638786787490924260206839969685403489161124919636193574070333957644614652167084705206152678462557181035482327443510112406400960222742642562181115988002417294669727384320742271438490499869440264875404328587860227198576459828475328374583618523318265306900646376154965902176841240574466948757809668336037038836013256279103072478143738397124253381511731215071719372646954371586255267177532094660677850356648186266590489391394944356371678564033310397857543196373825949128128142135294647561702252499988639465801668904474882435240524735337516803141213335418828838066677300647065621761167974100549971967448890799627226799125092110267785754510487914144323237703512044096603116313361055253907655535029135239074302628199186717951438909175755040753920458514328758342143596359426982311792707740976128366666788995880299906161394918090375757964886028281493400271408471060858785651376844215709726866606374425435328758449023249882253449153366169093116206822512026063766509754551281358464200797476208577756023022146126361242723227481060092615256951849478203085298843987190163047837568141698275300976848127461310853137054875665944079066617594026944576405852215744806574109402784116613975668446569486506193981571285676592404477815731486373472294794578676939100596151431115398409266925962593854368389031169272681984070283338482114045828881339697776105108540720651082041444947628171673177901254217036694043396942349882450411512358431860873428596353065343516849451888187966222677620425677266578940358807524708966633627851484983037916934028601370449872613938735648306035042500994054085626389453491378670423048166638452883953429157929947423881154609583783515509082886430646941344009508193244516965019327222890334100120911665498899992935923348310251949085872442518244954577228856812947575288739187714457766746798124394709287596893446634165401870541377538466961572054558297738446037080350773643895049059574856671606471490288435646739502273682756030974342632102720987488577781197592746257947012087660844727593148899830027689160082351080902057148318140592182645419188038323985488302172040384852336716559416012693037046819839081979677919229632856663367299684031787111667087566971634691059272762372306033551590038049747379284032547239741992781499624597646523230873897560113076618792959974004399725190125360311914025130960756391148884578501152268348945168430911902421207886782526824413410798870900706081802600276082650649851543163762950715779005191390159417015071721157958964243926796417103649216928120485327553150306820207771662590690649455133102528016390536216126384656364520806367096496038036509090467499939431181837063729164076087832069481949770718713822703359940633900698084340210290116555720299791909634613339895493383288706794014916176321727572510471214437921816605587276908290148763088403270593527098415695812117976131597160199070643828503244267549816556874284240222449295530762398098480757163143720350858321960536826701380596488608026772757234478202981396207321293849644509748012457744749128545202393451457541243359107558425096945926359866739178379300577276248559022126176405832479697641900993292647383449803682656960216310099594137755666868602250084818566740800771946175868701506476603772948988669952955370329095962403482861192790555953929773382274484084416547499635580789405959605476248159081318339677351866822127231664645382761959188656497706987251179514122798731180818200898489842005359927340008217033362928331873673002846057964116846525064235116569453887687785945728754064937095296440028939361539200446854361696603287136930534181197662387400910986932687487019753999391202381811728020018609542313663300291699850556115787547098689966662593479033284542528141083305311058115392673896722801982250406703304944577564241875903056453566982934677312614391494685542468212661854636766195466302615585954060694075021526431974156378762177006254358376504085314438207975182261910481559910680006940575470130415126258850630420551500747982867763333308557339685188159614530496277140739157891238214757206542405547102811001679876461824722847239698776074392329688373917343581445245325465529968563963528545322842499307868099953463026587721250130411757063498514974541609227786532873226456042794835778319499640244012945821831249951417766619019014988825588358435325391502753599921326018014245981850924740371756403835165573905891658354631400300046302593401383545641061318725985150390100362117695775375765694896408267718482366458612577876710723383082082374477637741153621524152038255001004523304521172604543200279440451926981625130656335151064487829345038063293028471902873360246157277806371322902607715259028634898147701782030792269571525171326345972266453677476150267515241179149797831133996542706359440154775329739465921585256584258419803390246151215554158050549626034808119414835445111604387666324968290108523787298299949846486479150955562570023461112132455535565825535267719243097125133253365763708792529079583402597628414266859507419798335058511887054970251905187067750669850727706162906222623188695527178682159813529704315869438646520540582027858648670605569089393777552906841586951861247956434318666044128207628491029439899841844958233641006369903224472283018490724624723843679321927365376171441118861152258535797045557933343886643423705338437745447948985033790079203966752028152308516380250119644455023268862707760380767770750365267306096841951109633461089828532344875928363196056671857281433754953786541377891263981736589445288714290952978738116551555823642088348848277555158745140004678585184832303718298341440332851157927491501556686613779399030043073985599597050174250882290408575041225307657250580826780354409753890198226832143370677375415183369340801409010583407744247609204428358890077586329303071641484956932203032402410148350778856819352648143993844189044035565292032097840250896933123796106113850607300732748750744705781440697594213453087100795216326969150091104543375522656461907371251946427162066488882097879000177890436468317960160459029229989874494638946334297080494818015932109032019711615339994812670398268624673108105985540092880761472817536760008370605376641748278216433235615511862959773601034629628068501094551141814645946603176297296084241206072537084021200250307719822238447921686124994850796917308046405789422091947237157215486192912127776821151604428878237498212182120765923200794366000968067507822981713507522007544164524068438627390311942069850116876340021664242124389395035130264727857200370331323043848117631221026097390462670865448702395300969488461705302376010527101397206287979283045118600787221475239545717638483364885337220047323876532377405996269445924275963223322652152559501215423951829996259104030592688978957876664497753545825405693103773571403954015213963227741719989911094836547673757549188230489896266782328160749513631656932853292494500188794135167833218964761898727151100579650021802682336979814518486772171380818451539458450268022790338548776193304911756128991308857560248507602472644783790276759185375972985068619909990090866563822518664203519284132789187167582585897021883931535910957204642310531123835098917964080404441527604509916686195649352477461913490683216813865742833655460105804790889217501529253747337336527320970394224325955801422277482006532440417426468389795314535216667537195991649996895789693585189017424426848452793491080982528389632849288276004670100619270658349583224554269656168700183918617141366863437033868049620216571344276671695645320340834734153089267907637908031119698417523293327252656399981933343155941930215024745781287513939575727008341481252477991205423892614986069154389200588262427432717090415111150768716160608024432403534705853151803418387523757603738889523402203839224422418144176925301359142469504307823379099331856114129765173888381518308549475853191401214903008397729909225159865866572358041731521433436894780770672210361661249486076212176638074425498480884721289198429389393921894564323174393207390765153564495711769028814517499236781668143670618611085945975678636968931112157517150988956889463768281820536945689542365750570080065527869716501916293983902355701090970766457426084713948114332661035512090644103205375446835542958736732626254464282404264875151698477075562545152858696832699945828196456765086060121767947918632306662532492218683886322383496821144975390475464650799242945026704173175291635821033590833533932481073092114539761402783260014769159805350068371395905063258201249260206374501300118110423415001748686272221823389277442022253666728226165830176457465108822311536729973994342396436050264709014012570711877741047445548691600500052737615499519781981850932955787151071764155284175293544334971633561856960949980094223052443494983833152531626626808661072712566493547974495586461006517814040860303336889804080685325470489650986558847189135198410139714133840548989543659192540311474159032688035852680298454489694214313640158210945657890654592865286302168644900359468425497113243950931109109374747565150848124741200248609512535631283029999144728454922249718740662890016924823540094521985004191876508121458568723224286144557903244412042859103000182007312114352953078532149862380400282255740470806831315132586323038896209454834945152836403524855577211168681757776498730389897740102304428162211444014509679372133558232447583609407954010218531439607149207958063580802010158649270901597861029344287400465757229527285034841361047592387003818006638353480404087189263649670094359396603873612637042512180665943960443436176495239207964394787349339538644426868717254119814124844208411465277258125926469277186333549583630969772972892094037581977494097289537552060787749034096355253032365257466368409320643284483101945217993384988284281433572743485529659507259529453344990829971713972543573889659351327998925335402330175584561158607390027959826901191769817279904758667383319173470980719533540571786095777973687041621183749116784143363091578892156721448688812991145213983041687650588253150527839992620592989452813948362407600178719664010845916327470964068233337612680093297977159430431244502243902507621267561862885094897323648288407133828201748175558735275542690810975469941088317349410782867542242538899758757649229621667371933543553621469293284348650846949340954006347158778888810893221144469773517763113726071841811456369334036274812960871222354035738218914548892064737399632791457321353773814202051955497031332811187897081219013527100851235615463031947136740595120558091615545603460583603663868693911088073398398049431751632073585776100697932725172859139100741537925777019144226379839664341973057759310985464539307652320546641791160795893197289885712180075552761925755671626015315578017239244782804008740132904928068471528453053600876317669971623257069505809715188880097675568178601438862257339100555238041381693605647478507487662446191663137375412005257334010065366236690181565059007316743997256336448871001879380367794418421297675143280291972649707349071821497551848735451771870798074536216821115006387054464583449662833786841907678691355611723334664084050099965196595142664158291322821228962909174425657092699098029613882706410100126631003511981983990493686069908292871524873944566419954949736876840864510377091849489285318008488438993349885563582872281277984773212439754043829529669760048922547383967208654056045885303832623692102172593974380451227654274915134684849010227204887953741215805440259344910253307326938735688150950630463195706257176985373286609589301758629911476362046022184421965086269718799965187616580231475827062603375964859768818097651524833947163516343996457323479270112119346622329330183305199135812206470163124057869865936720812376082326135358711440555894878573590224693215769270880790821060731054454715035374265433820884820150247442296410728987314803758176795152637629860637521309678967345787230857384393059077019622616466961306890793972169264865287835419905090225494987693761235685207576827979845221123037277368887220839418328107407743360311156456707426677021787972762074399417595099864179207941041299802601592572039090190222207183110518467023948209505804053373955669597013724921133410557774832134824514430297798328967550750181961748739338307955795149253729815951592706393714954478572139140413230349458397715121963220747893465558428175563274071573062756166124833984703107046473841837019276637395759561086765904834048318377234091684245201328518168308787341012355466155523865801225434612676524613703842432067249926618755667903374845816203080854037278420340171242009612563100909319414212298347915468264950444830914945717602623105687332345056996440409786032647758838634654180097926647925763784826760482961232204274782242338531926917042499140656370651381370921936605766484872827629615039729549671401082165258003675777243972417211389335562273940328014644102419529279345019930018681555623794341199116062976140592385220176580549028798989049943353226515661191298429626535547302238231121970021505053904724814848584858803933722867295806281242300822011147871346059752580577116246462952711956211665484262715131073043867518703048196703341721395635021636712029549413514762180271646357307043136454265608086898923711752068957957156998414552484489860123435639111296971777107173482455457279078040163876924855099993321253231746850473132972036559087477656150566171434865610565141056847306258283978073144875371500177891355938281849951964774983350475330893124305724003417838353751567006738682228004053607229115959516556847697268722906561902972723328696456531766629854238012063600414109086578270335184394075874183836366015453694355948084016786635003161235802578995801930784532006684596182545358905388117670849428770668614584872891908034648637999402626596721154410627172869701500273490421909930418218680334915307022457993200123970573565551137200826444791238161952160911836763702346591300020396553796240626350782312015951293385914386420078289674696130171281100030805731226649108739910074066640144981705688811238500739987005973611898993135817610975000015805986358170198839716726444986510143833560928777510174353851458653682056330089044681727165200318518452671659233022655245915129104494710347012599710233907941469987834899410247884143289704930142302446286552316764855966036025418966140204192507185136722278977416913977373762819382186559483172228794925664315436054613404326106375568250860573176604246461774235496867837344883930229304880655431375493592906340038558230473942600595966659401333572832059910953156870677959702464211425177614231396125817402216799554539961643891744968994126983795535389876921257543813082281989644886036402479013112753406368759716368751487493698006328500277261388551324310163815082918356923036800535509169860871788402080328477749130920522747007307100348979168990161696994346999556103290611865775212533563309540847445878615612643151966074879715531091370593669916423676237028726830054200462748544912496586337282836485807530298630957198387872322159461545359746177334784685179626239902857587852058020068159838048091221852031189084518735846092100965290129546590545039108630270105743834340111524546741672634268309507114421531922743532127064407127935860789693819304156432139895046599323674643741422518827084951271682471254546766596956021876423793767572176785418748859528493901555460384517692922852304111150285743130331325323518790440940066564927005163772099933579832933760688857662739912706753220490067143778975735047895020444869627437523485283952905156181154720181457035599172309950528031435829657973126592103331772322705599854364524217022668116408840388089989183916512561211367779856251576077544454095932802125723376199098877924944720623102065954159793634708828497421699572889113285364596135185386426325988904979144277372474743937229380221399378251288346759335418740408124835536046155254860635057852392340170919178611498050895291046944494401357303702490202377802246153741923484939253053710226565419876425172626913848834351632601372865694535981877763567283787156980740106718291646901423368486040550402606579764656419557118012999424019953018406871780160981738394898712692427819665043765173695519814402850997321168398886385322526436395674695921214558118415000711398132404369085885642605922671293517131691845399432391828505626624319570215753661763422041331337266831920697761814652920521737110366212255749645930503684082250335548690965484253966217553405278444004274954403234077966217548230316858368157391478040318251548098805886840387025801851965241821034546792629262752070650842899176265399600309554936957188475207497584127094206902494873393469237375199709953689737121671061183030154829971097353625543948098867242071880412762855367364215559408360365365324047397724066447564822528355086366014428164389049094602521031153018874241040228535572656186395129373138995422865843987771364842253848170985545053919051418840966460474114302779898514879572703355418321937177482631400779805003012728015078594498862397678619998864418607354031763001145396079667286463028572036020967896197814418529528422903521913544565639146953968670659810072546946960122801545985942697812223810466930945394502745906302208515260259951492374513606736040900431250637261299927489240211717150693810012602317013182315609008306182091985775522277414223368901037974463176727509397639809523512649897105845609817910604762833653191263087335229988082715549307579507034254904656357200760692330031969895963420768274989679196628574508383484419961778959366818176872233615914173325689632434525505634844428912485273266279311940940309754405727697401195388661073925238210402835936924025968753883083058546918920607265863562786423994765294596447180015151845606771291910598831687562449289576104888012230974108750691637329155944756094112412920444710841514930496471159136500029884752845438760904038689075876417160459008252176140069005716290855496471775562822918884044628464418519126695982067227867664399425254696358782280432002923033819992125706996759494793540217242270569000124443814159963740895441284260310442152849103640587203477572368822566393213389337691115955683184610333717215864999943939915926799771071357464290673100656439016638043166136190859285335710915089570574624631141423772125295615419718297508922297264861337206633094815189464272503093593673000728555236924262619996541527135931261210888880286875742300591811884178158745174653469029832409606900672700572286906482720512174994131381782786298841575983555138179197215045928353677767677436437301130556315802993770497235689055198354214482069489525672253050823893395910297761733000179927190695156938459507845351957838677440855730234386926231115807273445560112506582166893809038508850848299045806402982513691709261837303045887565606289833911354971500269706510694916250494527419412273764103343067160682272853762898799776694100155411829079500027981030246057144170233598183650462573648518571104067121198360345473525825902832174061207775593623751038985671918002973982080827028391765514713296541024553509347432869900099857889146280650287784433426165713929296632200872887093434370569786089331587211611290804713094186853068393729671451441927994334292155304170750508172706714611060324530288243255851450205354738067293934183833680955739142139872901306215394116529571376431871656773927995694737731569945636708925814317394450901331480097297462011800805473917154324290376278393968393240403299754397988397864486406098188517409650805945391735199371280717757637974665990626392174576406738533373082164287864474935680778897584927242660412872852120932003571328515275272198275520821314633845135729429793229630811488150123101462581334588150859548073086517534434625566085316696395192636916568099117886801353022181879536018906538525404842483895431725485643596050685001290759927315299694794487528863192238860166042644003818389371527821886062223757298331573432486825135660124546195536141940401573025882008494982593794797214360752033777922925679340109023975284772593873634889238516380564577914464223424530460932635985644037407121981195195063339001459861976560732941517090368516969167994620302893361538427032553582233968459358037153938874555031086082816316451590256761162552996410851325588137071537559938499209169612033423289685708017006636793155929946110081627784291658688876511995562270697439045217973961307917659352951784418937357777643855933230542688191434918896938642487710039252924158925347145715731274993455598962424527740355327847163764110542707901025432568428290543553898350150886260589385519949211266906181915901625587027475648963904408138505605547386109899677757449424343097139461677750083400858994505623293945938965073555182970169937980706061437229564030982648128075903788566186418887953126084438059371107419633027139614569293752792725619341513400512977828116621156825958930037341898721733818129668893597332336398298168052026005899177321892678798873696973943174758513998492832164878238365010629529741115848689191124789143805780255079769639950318759561105442084540062705790569601989664554919958286586857787084515444985312182826339028461871910092249349317345856317668619974421781948258453036913327154178702411221636453107630861659035723545500792734570668662234918818341108335768091487434979310084504673907030090022505317549230979383222870086803944977168572516078253630391943544022625301362934533758562932810460525424336470283885432806486040033813229745699140677353322385341926748274211217144391855061388903105505947006164338386994690664098307116275464564959652773497712234761130675037697761723230624052993387472227920969499367855708279993751796117920510780310781076610616756372981169237468604948416288525908303821474207458472222298387681009105412958891706742449344266161212475014110968529142530473615700354409654583998892079282959077065140852371152682822175938650874196439711887626041834035176216673223869190439094102946951464803041067208432633060085508329600712818750640306511402954010097038438162533998784488390271435678852259723826603225152078598674039955675570991445732835502580641555166568884887027036148624792224092700573319514905552874297697163212392517947501580101578038991281075239298138581001536286288832867359926789167104617001460233429002877820045488799062225314484427901578858240186379557462974030997785725770098985196162527674246920076344482989422058820320509310160415453531659361489265758050585383962207501214208924788768514903396560335883161643121319240225880058898087989000207316483189602924353339800739043080098799819385779990732206011461502479684589982870718296590734356245562094362510335876652064659002891753016269721243194151431928991126062585102024293408179624319785130952064645369151229963843878646503479795740008841232892782002453309813880789678536488679750818176673942835834392645357421483761831727303090152740728379356814134146153419007846585443589262077065286368732273156798863143936306410957572522009150484900827519231046029108083301564033175908547834023392535122541712835493386596346120008960191305797071353838661922754713797278618960143429413423779209509770956461368339688340329042225099711049060410932439466465580818571756317216732143935272068970301998851821704147230085107452026650989890314523244838297273688053377831103344253226473818025995281795303546122494842903001949629713620669021444022181391895244530111249903238239536601270139129388271746016626054682396512966439497009880417115933947668178521419113619838401121710454141253132527945529201254445592592320923598515274733636896875203415626993968446783827294169413932482483048001793936555051551318283210429769196876092893850697693700250868520728807961285720202939307311418353725268625656396316916057426980216621900055255019278535019663458532129142582013173825892960689471139970107125181822164470245105526952472919509048731933418761114291090289563638053774875971740937484371666190842235825044018955115255557043027842401012607140935895709937162515589184778632623693654264734515750640286469780100632667051289584950736894053828143693783821832931099087022660659864090801247049283543796680581695562584512173458214958785359036459837069862384788955490682394358670779583774557794422438551754756215954652108692153200445940861717258306454881602586223917620250676704284510037125929578584918551588047644490072896544368258494067844292751905650999785540674628484966437331512108497220190596213068021642439285802661125662186009234318227678470633058839447015413793248001990792077562849291023973486306555731569891914371547526041354654953431443536806844563682977237978415360001612415727294766741248736424415109812220017058797984466178261791673279707691353946061084808307612489716409210350328310917917650166960343325038895391931281904447760737322101984895155549917064837803637297241392329171360533547533068953512886887010915367862595285643946064477999175921094377260283557126064803274753155343328334492550617366933262525201763040473802632599385415201303367959089735126669364801801744799580528282277041602703866185686478978370818471147241451064318020412727817794720108530744238521088451082276814264839633592228820572024163512641412493842428382240648536260784619833618540526001496504206086019750231561801088473871558542004524271939371340936396752173694275628858198458535013396938082268888969157222743706376257540502428224124768696980079922274793696438064335982446349555324975900062170917908136547463475120118018920722886730465825972835969162790599536212202117400162649809138618988720139891702526775682898182155795077800586554686384705049283582392579234952698283744349424301829288706863247291904073552103606248772977160639957573142974896084852360182110977901231143010833727218062588893662222359656904773086624401401752298400159475473364577185626939206130141843213591840027883490558527747218429389095829889921278710367553731789138255410532934313220076516702222513497789317057258361691533167035916968182882892891504195486602472326093772941943465513744504468074842032515433519295288300218374304776647532269531945099800230058947481076057389307085005743268510547596080313248924959499217658796509878488732764200812901498428185417757348316402936890821588952371263537130759758355013369153156692272398133731686596145250418979886169785385205944335528493326362691223149112019950542104900902988103670095363739980661932758416839911013675677549334653750188844032064392609051340215530498855030864554768583452357088649313429814608450148282585091949009649349970449762961166583926296607426151572892703208605829100353640586792796247010341526705914866637042995038663050318268730543464930161092861756900696847048869338526387716347523630657795973704833541288119413156111332625202490527977372052600415389280014003317820750571905181135813557875947955200134422057995608349967999494192698592563015695084678797066676814334248535493881433518597445412398821898912153990359278994596914738665529393573042055326226413386127695388525286225901009896757545586949480718172338476455912254128386304746126553095927618756362392654043802323730333541613123696437324216807818373534287547080089918041604924568943438733340498797446121149227339600415514369702493056162351219811113197184444972060553834759382060643407901551447790018506330623242093543791284249634818967886407477930264105141233473758098560591967197203349067746169482222821281201434816311381004179030659263856344694155413581428607471356353900425679375419340462754565621546861690436424807994803337992274561234588706623531323843026177934265824680970192004672405895908508448193557955444107119526386942257283234170637044373570202933008495748583682164150003772857160125616767858345522892530940051537064633690998302621531337613763276653917415406628445737947124845467680207059941967081898623871974016564816156060230876492199975921692023201306560939853161806144781709932046164021598498883742404616631680058388718456883365806203237937440917243427054852102665248422209373648696402964345770704122144688021487387179867184372986269040727754362736338514539060505437744293512782956072800655000274211301268287201138559608933724957834382091023145985998476274118200839717177454766415790816140390649539550908518196747935868157369599932188699923738566088041446117817857830600375128722902377556127218491858737696540712125738472658889712661087144813326420829996820216704310610756078417329352543405241735448335880507030430495902607405939861426500007219121202855727715445104967351825508452508889632049401327517670430717301859105932098154582731938774161155174520183043233476618171185560804450174332338087302130590740824275975426351243779391770440868300827134970884144646250314227942966731017077189357005120296212348278682452307426019556831416511564835826386511393940612799082491957055367726768764261668883818103432112239449633071356713029803550450700395683357978349208553460572083498150725079876454965821847924076301241623939967647453500306673094576510853289420158457353898433723078648880491464499510089724015286908865488643488027122996487854844822193962235015105780659590012573654548855994210254427859220633291267606078795654298378588015760599383488889226678218753740278837448007305759674469683308532808974945799608007951142942835658573052635704562548980441996032149528574076367569348542743372326429936362029687404096939325764831599459238496562064445394683922556317177976907037416935709502062589583959187997070990631096216871496968059045983167238732935353889305308675337701417710049354066270366534190325846594109238342640857576422189925764679135666878158680522426705877439155369396192480016053479903825182458312242173995049139486966299543510125751576298780135859696501506031663380855789658425873688713995817139089382143261360869039178874174814508495862494906443192410628489025748947635186577153610418370464663310374179372195803545110383957816480026876988800072705329749408691196641929753483917069763661679584386636473863557309113066903543841573681999175744948839632014687968989347547877615540761396369111924423548659920763596303647893048599642461379767373564390226093127257863691841204516995492623147906322905567911125248358888265578017693733804906819994809413907722722773339571475038754177343814010831707309519174643404668520630444571928895637040288367784282258251779593970346743160890553301358182360462548843646142264724895160400726228706748638809319745606855576635562406915090227543476797364023233837329102037547153240318661325334254843095012649087484968814798426374737565762452449448860407074572671742633777215357862012022928659598790715851724249921347654751605448878279191956922205428138047039285434091151518037454215003510262753312884333893151042661630416369097027367318073511121372182110748819214335918754142041279087884262792327369451113431956850116224741690005898336753976294155053881904614451668652557169595332410681264712237522444158226648357146419497869219362821881992578654425454204886799923149877504341195269589258406852648061627415645630152297112085945686284081044731296112965488841928804296282802553682275371465561255480926653147706755161240606791096526614161895942583281540222555104721253649863809434303923158370491577650437783342878877895167919228732544109857223873668333342687271968175822749773190082493700476549949826512419601165351247291398416683583461996736677805930101001966545885549706568201662028577526628006244292700613872417986051991879861542206059495752174414988009018936076017936233062750489700964801719476088050551400580021536585848211129597016831944815486090326787448491759131113602887856100844029193278195351329800317735603209054179435587937721886291290903250687019356238195546000558879555231772596468073486663048696389735365002888800485531018594526785466842239044105160999518465791967487570894360746685181772191740684895570450576085769123225047097074073209254235876150830651580225642946367192061427276913798799023685194096063431956250104244537797335162935765452454043815026245526094663877704338824920486234351115736554594963443130588790726271075023477510714318098280237383299446550775857668316145008470722198274177788699770452674275599932542273500186032529900314408190998312951134151119377557920460005807094878267059504711561301640497871732074833689689866623227922630270372117574375338128128223477803069705505964447766766985215198508553192292796759542761853759482557824555370887701281619148199723221051542065286241129393136540726053659337021551429413516569789329055138951709338180190694116045939947379504512206053183557548212698908306244894177964687214406999707955236567664390303252581707492009329670133130747165989937435066578517137270823166185939140198389818487928396567135085234830480438338503973356158360137265099956859457526411300786498172912633494881623879047511831916240215799160626481003519572998767827419146587231435734454284633036782690046054991748274225554069434622109085783592585879388705732552501465058444801284442307705281909730942295164047621814363294972012044733936559709765663537044175352553421181337553643608967369649548279035354334215789385976757335993039475936670256717380268265666517870797030767937074195786613382847477712526774192966966229052606086169948243107724336466724093912742102032085139492288405079213132111647693696938153034307391848143467223448539192503096866154535286540825858461365907807690506308760802171124321696572226599189783770390429531232496649561506398138032063338603433548088721390954228345869997984827682609624568613715517476003947042056851243869448385320636529054684690345989337029671088933555100064816257161832986025671676212237123756641027026462970347646844520670208613963496662257447220263634988098335468472632387963217783103621604386679334363303373772064190403997945331078521864411881146759912858831789991900385777397972119762834503827133653162102981864645182156134024805850643135881380586677191017503973811436289455676039549917025679552168477000126468922403382773167548940005379363877019708427205810013489476504175270114719846502665769661501056657100205417480438403486420758235977256114317154534302399953255512171273005021296903706442038109117383500874565733943918146498339576179896506228143778462384786908993133796661218212692812341748312722176993208336699864609448491526257366258765093320094990246133008536443409889019498471583730575252494817456851954367863853370075993057221945765904358161897143038015728137097824402983195842470941981765126693035873241676771096581291076158824700183707057503171455980222165342812122137302180220773162903754013201734145650371799209219776992265127837451959520813264859100812964417522154843271657304552586816337938371441400743127882507317613042949302999880412677347451274205211847012057572291731075481654882030731998813930033903692435567884836777456889911079081189386187505891368981653356906898520016688279276294581457345333692481889486264890511204480772337498952346673194886031354446579005879866433320453950797602719654756833986831031968392907529458612127987137852000170936133283123161829054348965802524690840781449282817341586128125202810776779837804429419801816445029466564688838753999522124945050956688813790785918297439026987287688469667401174752273363829543376268724654449488504136926782370458650426094240838852300279575189285447243547454335835107857185521558216354706386454591746564628525266283878633884388119553899464007285542483434747466496072823189056891221577661246108346441301101827861826429656077487803825971977050098083230560868290614410097404746677668389405735192245850385799402066869411815171821452075778483071783805446919628104047852905364853154833754931995039619726944515214267519873493914352026683818831533750459851299648823076696195674911820983951101312916254417803190315315435779950453656372622952144197579933448454873886105672636304451145714511358327065242892623242429686143942927594740266538513420264170876104270581960372690245243704268300108230264424618643579672491768056084747575439016610319369376200033786558753945334783219666460275469944847263911201459003688229058753871523397470847487636352785529273316609576703448226610526975421586740709511614682439062788285256139631129183916154480377121642196647763116893086329698319140373903364337766817673292265284793921520293632121801554836844180426737941737223622496366634000392896475237626770890636211898097756203068838369369387414420679074290721579048705586135803101470125121469080552913169157860612258972725452017455418397440895291396312484446970216047739397977768506182010430575975749000574457244526300837967499110647832055407606540998493167786830556315064266021273869976781728582480780031533519014854730961560752709388911142053661426789053885342097661533668722706567757348416122118475557657579705548013143794727787510877933511587942880360641077327813720700044185782985515233741862566136440403670212021941939076011026285093315840412982905898304822819289923932588825198887073855034356824773249024744952304415393220326647137081521445259247843609832006072795615959787494788009935435435703883112935614964602068992854335386573359716248141684414371308744536740872987694556944744461077864924390967120925087528890307123249236765672858135431967293562374724826801232194045922421760760159305255339415618380499003378745298455418528336751526866231198950265987897180932063818433111243065683554446507858664579826168009166480537189780075506374803438666916579451840677851560378072952873536655033740242515955058642365164805077118432983857554664748059688814915040657975615796452088372435913721407184061758504762534805142468691934580248020386477683388960648032418646942541253252270211541740773594468409276857104476251943052773568661133090238352441918538487440352838077215658787618404653945439809925534898117424813601879867300926917213163681703742827325607128503302314659343680416582314747527301459669970289683606172708674574097092541517258994247173681348984659243185260082337497288305085876271278505993424744821659499115060336222384674270437939076036666054095532066734779844408647728591009053375317702716627001341737661919311333168359952979249444786035917448816326281456797984517171608820313252478226617250588908369347275687762919674766573420731680284528342345776710521285511023358219564894456683758674199622366887185390767024122730312909548009054517752645953535874941859144614866590771361559691627839653642185546952798720965075083886316832978512464448324216156217051517466116904787656176155131783654379474238882876843652230271458206438895930079955678894190358305230278458487020998527243692557597701415306567497112523057717596189638553081061291439755290794331114635228518834213018150456030788155967060865977942182397985169447439207210124449523132595358492901539166792161096322795603232928559587013166542607168307535433297821741158605994051004137191162249396028611678705611194877607312201809245165076476696532730290324342177341956726238501269946907820199030613011967190092926881552860182241125042463536151841817472996827564882158376514780795837460794570615105374001636001145106217753344557192618035887842187430685989976309975724007698880286279056245145327141231949306651715910360328407134663448803721855564766568184141095860479531830262988125283130953488064491125435929999973306702876027096129808195374676633128283589918694811951466887849885985268027898970662624783615665743864510867769946663515477807841911901112955262447482424912081254099155605499310749458413842958486087913431943198855153872686281890523271853203959502119118339070044982564531809018539199707101420545368421957904680923824150177012586334824936485984026895563809833331862781126570191184839507488966836720051055654667570176263338036182785511109457983915307292314562300416987697317493925798118179719565147897426893445449004873147969523864498731683280846761052689135197714856725501548481497321147765814153058820648977593000980385840182488184706529893642771492822673052394056001496020922292677505873428728018874893176026583917540780859014788678466730134931094949653962579957026791307439580292165314533131251202085175700197345770163254742814626892394167446555242538432663129612574897913915019525227854133282091146255733957178490295144123894172955618664298204469527508267094851598406553927456861536453657687130813067526027293558573850343501469880395605800846277341939959456984007664990752973100912092875198360787504508829093607590578475312890820118792904325390871228401262398748484907023175651907555169212047213369201466174128391767051117901320528615308515585401734804461852982954063984897224593118126350915704143351850481182107423726021627414375156230402402064067065736855750053344981103787044653385352194374530044929530670973178999666898574867716470753776072002281121484567981866242936124803854527080019333155806770965117001221800830822817689563947240592683852293845239006091071635256104372106130625327829403810466946725582443997177146539053656187331701483476989925410077912857771149589802580959227311445393552011922518478850269986679126018650587390365923162674699536130878645891486095056775321457141987764125668720716776255745343500253337390803752002552372298325089550109072120214708163016156519573262884870022913418575912443577158075775564635125025829293780319708555445434067839021617515410508069118710704428884094523002893386400440674987365385096523669316752894088879831294758968062679240077733699122155174565858901410284136509754516369474405706415131257071772041462841468285548619244252123660687739761516335507892033556035791371792629100237682598738962094476369972059049452967441587235634931674339622473574280821288168320446695679536039427053255909563977956500647500412691563755880886167774411122846515042057934210324478787281919538790000999616163222123020708764047374316493711188552949294878761965336956393647858527684320631232701555116292227575140464720491283762688439233984347879300562313950958674740106476704211178477509147003836984296147755270995029269684109343202879183739584798683715241551429647234717808588582623277297576686008949743753409688387939096222728882689374022112371252012273120606174751574751537381989074240665252066611148827637678947177773960015235903946894098140630385847547907319150251760258945788659491966429549908540773478285449868640866567399269578082162283572603026954569487924380165488488051064862760620827164159132523609790500938385405426324719893931802209823600162545177681029159396504506657809033052772198385286341879645511424748536307235457049044509125214234275955491843973984458712528694819826927029255264834903206526851272202961318699947776535481291519857640422968183091773445277723200737603825883172729279563657419014445235954319103063572496178988203175787761062137708080967811374931911766563031490205784352509572880668464121069252802275061298511616206384006778979402449023875111258689534549514888200678667702341002839549282970286447273625217535443197911855068157264858804852673871684804002188529473022223344541221328464844153593793663133604458940328723478401947357560361346212008675373346913314338717350880212600285752985386643931022326553454776845029957025561658143370236502074744856814787872902092412582905301249124668868351587677499891768678715728134940879276894529797097772305403356618828198702210630557967239806611190197744642421025136748701117131278125400133690086034889084364023875765936821979626181917833520492704199324875237825867148278905344897440142612317035699548419499444610608146207254036559998271588356035049327795540741961849280952093753026852390937562839148571612367351970609224242398777007574955787271559767413458997537695515862718887941516307569668816352155048898271704378508028434084412644126821848514157729916034497017892335796684991447389566001932545827678000618329854426232827257556110733160697015864984222291255485729879337147866323172405515756102352543994999345608083801190741530060056055744818709692785099775918050075416428527708162011350246806058163276171676765260937528056844214486193960499834472806721906670417240094234466197812426690787535944616698508064636137166384049029219341881909581659524477861846140912878298438431703248173428886572737663146519104988029447960814673760503957196893714671801375619055462996814764263903953007319108169802938509890062166509580863811000557423423230896109004106619977392256259918212890625
RAW Paste Data