Pastebin launched a little side project called HostCabi.net, check it out ;-)Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 15th, 2010  |  syntax: None  |  size: 171.96 KB  |  hits: 161  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. 1963756763510341824428664983281289710897789480225820461305359441241690726647542463434017469220466592747841880673958449120765869561721382803335420212270095119089551497793880100877943057071646287581410974052799741073197179132978163836638089329963840449586601549787620149276683731174059542943369710519252096527551016069855013974494330954906645940155261454522962555262062381714742059142688551769331045012844235140245960518044255029092668477344482276349283905976914291782964487839441306435246343079246855177224583461240443847672363713860780219638463029221967522900268018338533495508636358108845825478874274604806380583337152212430418165397938574803325450960099983200362072526777477015699713744032673637801925906355795355568056941094978520916356275123347548896474938926379305190360033233235082712718739184471042242096992563631916810975748621117828014183754996163919394751678690400353317369146041032135776377693115816226259931955516232040092244142022408679912523660722069731187362768906199901899190987704675806345384099206468461199321479679643479240181581011872668573210567373923790758300647522797489954757461672958122615014214881593039679810392228502643096528863314779460099293605298161813416474758571338554477768157516927949186149927814077199298635732590204172505536507544899727939346893609196298612082595993125378753506056507196524080882248176556065564374348753714026818179226026958484203584385283437531241141175120263541153070070096803887472069059641507883606902309760045370898450922098262500922203957506113225267110371332448690709914859806312278474361503715603539685717577872078465362364094533822038363534719117970177308169389762674710247333979975927640503478940195798578103580905048236477851080194901466663645360328982916895678740744978829632409796271095278537876234675102975317557278112611103703928003029070995362678510379617544551880221810579756462419096117357474687792413091710247008766065777619801185873875916511062064759097874177499488998207573570866073591386173527672815468385980809789532973006229953521677434457455881300080930886218693846215280511324163477974117578540964824852042743534312531145888368974757929424716756796424446915944128993774097579803072995277548450526429960665037465217637035696672589064780758509846093733646266623013910028293041070683567146519008921789973713870462372204202398137617463310833917751941084086165180993707031311951233826942547295845475095401132089562351966358896503100813132832175656677919749585112465738973820219679413412491137158842669668082601268624919970030660028238700527076941816800895365646980838082861160472298224122998505973944121554632078744794505350321317543721095388261507903535021799913505850146620321709289407340904914477764113291066019872474218349534046322317867016537798405323782830755718978217987645921498855785644900582058993865139120170662702744103988085315387679196436124249412574980049035979115441275723183742935760308819859857562854794624047318879731072429674644795418544238672768395787915316424337694000707659417615532221452634504014969046929189195612200366344202251348992029275830604371032458998581809971828236442830995476322421264433614968477215799276624630425724227935641019838844338928820118436841287693588353279500103813875119304820598494982939186078033215021526647652648679523558940629449577470459266236676066816565786227081280180804750215940868665867831329323869744276561083991441069713348089207656633416137386968104330257891272044280808849747848700631578396168563001213629576438371966296687533673867746106311953497049363972966736984855548266085320837353624055639122267457964583357250046495427059388530952562326552885084998270443164329630361437613959195095868661871891370137369997545180789704260351779898173728266458985668499453596116589464715676682960715158180645182052588444818695950784864622528334397597574739287131415757344615476352656024700011435249105275192307834184303080859466964635258578301171619761131770962550117214159707104267115753141696373478834809999455922801599000646667772744688740880520458169805190291294154712306838073153766363251123533561216894921153128823665733532665715835758769919983036860527146657847128308877616944156440281549985445900823628827732097516631958236188464661146812296141036992138618142283319190458890028848195036341125276642682091785462324774620176232331689094569558976313848700332913277408758994974136661234939976325561596971914664690588997679584564456441795081399751919472067859064268698154477868392144279973572649942334200802827029249899467301754885401435122786482167894767396122381014845545288895553891472745561463779220418830805064894533922285955253947836415437099408197024099446357942774647079266955198638534853671288776805902653664045337693758483882447514527796343772147436938583193888112596960502066036849219219983150171751012474862845553971334760780685460148939848620248389842070343014984958746134656017177619938319623197944191904254928795538411098790688760526807849269693154310215894799414599225679783008421359302444250480390455191507643685389532550645273024841366559754154897266582059933102056587482974845045012610522326246160341270270168993366838397727073473886199269482621249091991076236168815888272656545199657079562171448031474279681886564407664459250985499435978506600636914436825723685668591981493984595492198474901073880045736756506276621908229079437368474690847029248535353823485970008913092826895260591082098746354143114306888178432270848149807305443461168725129021574855510417337833969019064741158705454151888649887972564703406563108571085712751651995139886582023907124971703547287744646973161887794705689602065777512698485148810582896080434673482007457862220507191315215011941814794559281945524963699941250047768986298363610651332915458022440662991455619551216467894797573119822057335050480738164637487176555912240347401782697241441745695717373818839742756203065043423579197352876227601374490377606025842146697758518790633840449771703595822393209315457668175378803380243560895910165560910398916984529560231751455446409623395428890696861868403111785874391291079671976229687740870789347439406194379958883387229474876829223468467194653529164243674837105132644727468076441463321756370068496311313214322842644524754511348856102631761755492568870729822188627077047708218247745597092058947662379793892858159481739318321357189622693649716396309821803560437261079322554139754230608090490555888541997166889694545596712898824030560052028691556611907036108693202086452261077783677724159866230483927653033945484672774305539738306966297201094894462350974161810902866990428460114069669803727894851593137217399078273243788487764878632216950194288946198758712051977793912745553573871688066633849010423427698676428745810762431854498381624255295702888576123866185274209159163899059161717385636487714110592033757625838459071280937315444864361528479354577213513266293531248780995100758692429166005558147162133810858219949666236087705089421103576345172728154751566467980950285448111777411508550232623195333679264629840147535250136181646734144453296907571672311772765288572674764468028756343599208673043894819060278098813878792364549418854113011479882016055183673752986105129706298518289970919037357076222523801454079850818768832447795636680766078089302221940422743811349039759520553305358024942265726315195328412771047174515385717282449377484207297103769746710226327941929838065219648481975401002142203566924407648195035814780947477771282477559730410427455361806381535286109918467936239511921469678700617697498013491675729322718225776698967835225182306562213721935898685297515793234923411642429994613356685741128783432594597062260283665705220014661444938241038899560109677287331376792526356974079806604965085643391596879303035117983447346508395205072021247929738998421607574929698009499269843371577994280448018636841619363973876923207745985187191479247328209581489878334749621009740963830229099601022296627757540160357559076115652182874322085204880498213144137891457988552897403356039974544374112654093731327433090001819871213040635392429098918408122801409464453398037034139523742476143013465812456185385176120436415663384458523799224053544620595788348630534302430703292517284772187300069406991459761289075735096464536714176276031728115133014887344851198516590448248311153938629761434601182409977250442396826640443099840501578600144527017848006229496013652921127552699262733251216657621323341517165666039845223329465727089926650217835475654738501878426631275765511615447410617828718940417992687176617409692788266724000455302204935302350531383868844619063874241308570138823553914027233216730486970257670638673121704411228792448312712716277784583636073510221303522469316114214643592062831869976527543401790630195818233878940102607284890197063988890465718098226897677062407860594937445660390938298001684449268584962163703446915443649899370598270255248753513526494561526096017352530475353109010865703564925171763178267019593706224189639971754811472463648398684227662538566742127277975081905162358606338597312242022498916767688297941570107312586616001655719009593284448607976702682703584285917668091531765743065515420855219229780316791764121043026588868498076531538318354618547457185655067243428264483645252827436301732354758384196100564978086608891453224630978592272741407374371147345780042035222567342033831173210046873312994823854422382662655365547606075049450404042736810303110571656188529370439721451197328305790543406591603054427932979307706962159279315841572841541614649914575086403173759824894436694747657955306554949446845764297159232397585165999205655873380261561290888684263280838606653248013696095214525197937493281241465109779733083547118597675921166182732142431780018907310462700238263486470591354262062736481536824671697660364286054552315224090303999448197404715639025553251895754333937131370298374057713175192116089256620153378259893119496958758692762087266961957062789493685763055832359406519037434493875785582635121652370143025665659739042495166528938349629383442163257783501143297194801072121873720068572856516410677683798076864291495232217265418922207635998982368344745087093415350085633121871565264340699428995162077762934658266521815562470444719539649407823087741060162506865506685531429146248023211662243976558344663354718025017275863439033748794427941391294667242831839165149283933657690395951663678719794705002784402631058204979269433153170971332958443609429183200003942713566183098890289346202965313163846081031299302490464031968466402862032738646946429600738486973632396731153918429187879087871649168650528337707299517058842444838201637851188977734471620009857087979591132919469631934344309861631745365007420366615926631860409422039611679409725458195312928182690072849808204048436900600035211275474841996805941177548493123286357362920430574217458373978534412102623981532125700204688708564788300533953389738176609140773212569543078947301314560906084103606446180313067818518152030397871237375196100142855575334603157596617129883884554204476436811170304623921251508636010177808287591615690694575801466799396013565471372544631087611068784147990446810802009266050509591184970479315481202513310951413618369468347045886417639032893821678727648422201809637218033164253147224763373417531999401945009076327605002242226484219057554598299194350923562054886130693001959404935682482019055052646234066446732917580394596194908633048910713775077751375556420754535718368151504175021684871073550868032533161915663708038852861426963108743273070154949776434364631914282764395177415812484785471922108729875068262871412288910226064366891753055633751760204666199249452881199227623303926489784580549703521566043417648792721851962974272712271449631146555728665265792692281514696172885547343730860371065443379793089188156104405728673514883118714018342164525842856572293547246297542735419577439900462145272691184838046272709485525042928794344991630184647501655791587753838328005773774669849596511331549242957542929431741144490573205095409865462566711256980604977938910414054321435546449823903455030243191660745103404531572392575498089701710485072501293895281824999859479423039146448567104816481080672526212776922512320950229403961176218836573523023235288589203019398124268722713083919228775087488398715645896146322165546144912835650676693583334006497333625708061258621828419372605455609105926421860140969963620522188034996553100021907722247829773985881427918017684593340510132983606132847861839162078665029805124675797521458321577595311910377029658915867304860317849692194936623683490519274399199749393012589800027766193201650068424314699084096420492666256601351894921474796589001676871001279626600253872437948280392466836567671594917407694060892993163404456503032781811581901464635382453322426850130399193265707893888575477491367283675392106667333809698147147206695947251457826329559455634089049170052002634730589316206605081108316628065946079275595662225920693410979083607482055749488199624651870900836656034528685043677261497892586091335916134419755023229771243272191107206800320145073848679920074108816088265330751386113738860121518036485748773294486364686896935799927723178063265802935841615671013329237016134872944582951580862067652485297521489284486165128774850563527892110164794013458442433924002668533451614954838530411400478797287190174022753975009111015015120498729999534250902386223197443444122610954643084014115883230414957733690426087781195813113972378144738368494625162453835584152672457646987304340534784594577262809445240749492412776353352117360763135198514544405132189635864003278624609968347623061754150792884260427952655872116349072516515404204952103911836323699120261721092494817166770656369397168728794795486628755942794893401474692008746927700062013689714181601169280413447181941398248717249281162712650322206854612486691104232210015034201799887705379402374655322587626013301420676768015264303703260327097733514086278491061639156251224214870793278940827246042396436057368303298567544021878513313929638133899693219626510047312807465247378549254068889744055923372044816684826137889654379975228832366830887361575393404889243461110130520833076416116624762081210316360127274594559155464919668730297919638946513076958123657420575353093721510889784429027811971508732509484374847683469085958426403817781016875952938705912429079020884873463942454117441919282594733030640228299483281614170939262338800371470746826137302825637702358960823246483716627651470777114110586827594839800055833593628421948622218496201877290143301978443814898302068101568020942853606155703349252048652005524475651222441896695821961193286410712084106538086603989933537101389067598510525236424557489734153902662554582257608488112903726978593537723064300595435192392194388581360965949002693460231239888700103006108030759402761846166966849997017408922858111129664341690554887209384842407786690066565744496949150150785301137414930540677383530265682359777981124245685606465343948881329348120362836232790980083300383157523321255214508224775725228887956807299661637316059358197177851063710703741911901780848165219836719665853791178315735295653878846662747479913225735773905710706320660589651778783801191352561227453033015239960739827859912245425079607144872424786174437291827345236441475673826742664332019402212078669905009823163456533038441595032156013982828150533373504400498547586248487588819449703588932132637056579596322362911295094834375517819690427665656523780478201116553922079267644538515235787214963376195938413653196224054590590655131057197155306685758152251459768093375289011570452481191140649279346204318192889748426724552982308295565219564199566415947304275734329824938341441862125741295106208869228667244057841115141506062998336730004729850466502229986409151155081712571740067321307148742314926664606549373389280356454249022368172454040432901144406218781985510660425785174996166695049678937924789241217081330291735823668180594119533542850110475918557546273837559349279708146148081204610667548584307626020458403974714691764505956373497593378185053118627728276079026149232920817285780531990394811480575280038515421781444988544670936412816815582239617400799736978099666852146654867869281677959885712020967494540728997314052560832815066260014003202517056466372639618054163032927436066697897769247313543151236161942079459138369987466874303115822088324525637456925392394742517320875808368525760761715073988363724724914532871431930049626628126243301739937590727991603913830772432978105250912886435199761951959476607994615596156725544312909664088606134482739745355802047135026286701943634488473030516611034338521740101908712415239755017791924142139800749264747728387418524201015855969535191745092194010581430399565190762546771606306089692512016007262702004142707383683850442809047160516294033766392801527518745387917431731423395028815112016677905869720201123578267125476824792508046541549695630323270282167699735526327863675086173908107118236827121525349236987273950109223843814182574969780987382001741838638385674327769672654575394505646759157005158632381489980930087331531223761026933099976606620391487380378041609891561330532880724050522081309842575062787721254480977639631359515906963125797177377253060004042935783352264291983946152780279014979939741109015790485786075063431115641479147927758552205399635454209381408326171230583984447772028718251818663236507239575023628957161589896582412258704871409977150724620022470963042124185106414374649132396900413688149781772944628662296088483338942429785320886943076191820714241589001812037355517075362717396950439590454970913692358152258284580708655486013313730620136679040036974415416078739235003674480020640487793717697619627973737939311153109758677578299373665844907922816459090840099744985740142812689303871054249046753346832433914017375109943437484832988100589648041232819692421058805506974347379354546803789840872250855606877324650369417112829340656002218842299257126013298523545749905003506668857307114698800425607981579574503901650308887706992780444208819553317659117128076078137349375659532370802862216499801755217587770309675985267702295521331611281476939199969924851228593507514431151922355376158562006683095793755838556508317019681089909115470954108080560097917113560084529396195752750209110062880535708234363549431553093583136000558814176841597232519248876244207955023299008172167521188023990275013910498925252269060126799158290932306080231784963945404291322883036912186646031222460891909131822349978632999012662628808041427072048574736303411151061645484363511113621332127917120934602268745296784903530357919973000483925091768391359966930391382113201705232524807899976698980728476149847087012892768000350656218861281176902869305801243009427745202008541091699425915436258001436488620875033313231570569895592169649667287703613949751033805252217707940545319057853742512125297450543348320959584353520729353127732879925896302000365906338233488166724907637181755734365136215444596708603324293126749521439369364736679292598616402377993376736810917785421276676376239669942661175712506218025226145715660164657676242251930713290622528850539682609818242957385499725634599254471224113933192601338435266337871007105298950910379059393014921357738798123228761856397658811382095274067764536359982003704986123576624328729570372327681252528075317940966309809546021909846663534859459402257807431829518377114729814694276682770665971946553369641585535573892417650966589885724290757406820880956497900524122760922450451036460470628194971392108064080116971902382602385248176066069151576928358644255953325173593186778678077422696457918800808202672205571025980656694241367711432317142160852643829197063425509882144073328300968601891452758504663298855075724440754525422557870785342520646272569207804637605130835213541066740431619060938621021118629361606319128756903417927174925935656341701512304956236523854222986180541525638857025869602096704019435216134715759063730609650695687949193999979479809594578386063659176752753088870091057294436559552468914821808465604318683415236374388231047314960048312934510013037956095419760807834307027950299132396850970346330818648841592340820118965764367423085762407785497506729948638527187647422168963299267050072558555083781948313632544773317464801444450285096856595062170069484538582937129193885840857823004926507720221716347594487867271170136925834258882406435426693097644504855251623485188265312837073381319052272830532734908983289155216832093526774812743072192126230082931144906393390576571775222484217337201788376721189673704817803177878992992533321035337578639934955687262587797680632784066941663978597425797881123852592915411232024305951818026838532640296394743006295873762303940987158587870197436603005186748184921415132326601034066946277910043040196015764146161059691830720050880237329652317418405194282147362090676959573255719543642837016547069504720966823179002110675296248000910287665497699922734746233145691076770355682036534593665316560175094878241120799816320184124787255726526958128423950950173460777495806038245272528660956273601370630382238663895545046338618027187418062123628089172092299145079849850186041153640935299618779720648033266632386530766055124424306210858791712265237728250128578404988725546058715364934620213612693113129443705607518398705930992118064998806753642099201487234684059828815031759951050330284362775022810631704599697756476056103132893031944172844161225953814123049185162947688542606294496474085650154794472139429496226361778733929769813368744758532244896554809973729649743136843813667591684045992229502003309984148845945106341424449209731740137132579548088663646572081898021734508290550153506520781177408121282054652611785009399976393053081484690954684415923625770501340377209060560957290698136681951949364007145073842148765478130582397991481570407165833110843677841484230525992293156226569693436616638759739886724209043718679548959406940454584223210408676543718443462512132622378482040081611866997284417974299495351376171224415719442866623549472645491070367237241323893430695157859775055001996162512536021908320861364248281000352779803884941436672161410227076371568618568741460148804793080943915468641288480550875654010628603567915429410002573065443789462342186280482020848406281195622881741702139670810018873062868103739252804602667627181061763409681421487679123840318795321886734462014696570926238073702607454576031906295630998455212503158232029517321514167615446122097699167874183989368205460066312711329732214283161537682771633626059547393611001724547626893048559083099315166125186465595876509660228089981945496414538524265601019183790024400886298515589688842747921824328956738012244000051355705446778282346637271091101743145614707204008972658317699723966619914694195652138747675444836676242573109937828140363611392884105407351115072698949741372456812928514065186621642190902537290525140840461774307840363952684725153039606358600817713025825410406882360802903131381157118391212249626440509589578673796667764493681420621583619924440515433300756745270133324532021874567403882315152365453029558832148012604782673652825195717004552585761830482035619457316654753392251524135339529157722769156578330081853638281146790858781243765012159159940211923816774183981456727206044838211218361506943098206736466324467611116108528567091164511063792348267484323949582281702566510435065430183223434059793874366324085454392568473209493268272169765660778241282772321293385726151816138998924864094019997633251052271242308889232499024617554016514505473670232308257502662034765517026796537990823092292045326491009194471709377062509172953425968623586599821992564331592891309513996629617434451122157070069370185144309298871440788002286763694603519185106980970768189261459237599410198173010173509792447579160867615876999441890623931392254064750567083945318949259773342756718231500559924994560015183028751503861714389577426538719049130307286980578413640281993655757159442153864762667419221343721738669884411442508960387100767143226079421848865739520536529641684258433180814363232946432251645490681588241321158511963413172150904208202897849427450996081821385863806351773956136753056208927486331040398508885215952208723726241168630298252937493102159498266855805259599150361403617304179825558849561472686210857737506095890604825349196674474127127639181276343861380284516648427815106387586317834707195069288626314395155006889894995742406150113247127821840669848133347001251329264589246494636035898135744003208996526637998500987640656129923047222763151781017759046448790557879623068841487319504300508226722190526514477467709100305236790030619933953954582968237389451600867760588584352430717298384816201587573345172226425181272174381762477671499256750748245434508160692395711875438258744940930828017164878259105213209120817053325554822677543068761585062048420742351543342364598759106830078500022222185849751716589652046556921100343072555985752780123680984802297571568382672991776112480718022339058804398180474306046576041404448266422589497191319306627553621525078853742154766372948853084362092706238972809115974009380774808961519340651819116397967159108251191785947689797535750275837938646422526335697853346970031467926872733002686371129115772707556178731843758929024149174301305136377423876880563737141525128727580114837467186110546884590578116621695125088499346113425969957217459568294165675068953998827735726967703485553023347720983697996177237145636238378419182568057455481675598170938918673293040331039434839419587933092978539761787547576236982842487350712893038258282492113724414251212885458167525376613710154042145711335924057908398512071330375051266488137015559633550646274076274009543665405726178738761164159999907357361533003002860071684715726916471675261437253329424844737495568459731463296865111908917892722022794672750224058458999556612663143258152691533480969365538225158951868586750621714979726315984804014454751334892964837152791508492618516072909049650364283290470804717454486761440754354817166564253294689846065215503175674099475481035586023371304747329245374681967979149656541716822350331686924120738681933051094187740304105538461592288805731577405457883946961967320151712342134002114249037277383807211638555820816079717257621662716828281259242915142214553388634228527595870285173907407537306709226158630712125624661281943898401213022566003874293193004690032747587636986871996650300856648255501795117118197968543038221532550236732070124246687519554940063551346212032976287338255325751663854685309221670034378884436749605088606508773396138411272112413251306384084965566903972082558208258390006703773622488928070028308102092831918932903305822094071795489734340998090526826149664235827670249887186793892828326843775934870798228192480657122084397442294450526034874616709002039833609319750178738133708736731314806861838708326225562308068079724031757240094717359974137942911375431841081706626979657795914024957413846191774381422022123217200949173459577844326030023391800597200909336697686387659571254956041476053728380894692462413353267500341037054862480458812865047120190849381192741603754388286984491284566927665205601967538373537867472994718776972986229613787696369716214965760763705667044145602615741788959826034496876832083832500620769618327953840116757055896014684337792104266073372573737479300046866747768868002723481963466595057737348839579903010260797935285982160740226911410363000345113664997898805367249759306839572134924706947797347955114033635636763235380844366685680395923200105443857423539692967786008076161298057156526020454306697613282757579400835659108713157988726928090209881996551944811874927039336176151177036459340014181806422092755744653922104210356859181669890174909874166173423278866657393783791619803951318020313502450368580836263855634621184861163859160655329439896768137964892824992590576511560696894537912561693860767344278946490088787031389460997574038563294559331244221655842999398400337734383455300257180930709090443209288812068058281658205179668294904552649110163899483000859608757981747492332484224539584069775977205740927685909137991885336744243669396397188547047454332620509063088795748693424680555225838975319594375449962463309843381923487893037935383491496347450564218376848162747411838683904370465502630116933683470654212653025868315874666407507620225097646545572177198676613349677615174854607494657355528562948908479503339438573271040386810200935693812176683622738349568929927417632571324209546359253104170135477671331513580497064807923727750250969703972920865902588113874475106898848196206097155772704677725994354084035759156548438270952296914463237940458542014517028420286164140900639247086160855218998931867174170876510082474675268857988172257301657207239497732818708833650660979431209558909022143497554717047456034145261622289770493413408678953934784597757046540054098140983649246817215561655396421893095159183458821264525915859064148704239114009856225220781008015465051391519407788475198785271882929063952346764077631093875758285393988840204043239588369639328983310695292767756757797768808071547458859265655348749558669418486038747901042646577217919440381806801167907507107103725632993415453709464916576994074990866357682971113215486883579334056664040775823878855530504278896837352157522342493968342003250442403383948293109726197088094741422776697567522323755971190147447411497514236307597622400758555583407634116821024888326030760224725444079235367798131938940322852414574359962176542138035782448495460447993910944288312837072336649060306626077179313225230622719759712707761533163996735950193277169525655922259869760804634912956966184768914905550802409971532853342599906741293743313197270531701529653838296685738043017150392852638267905316850597483010179792253496069051145867137192436347197426880259567596099941975440251858386769985906492618085650378961225595364208896224520206675586114606437933531350579871778591575609467113128163388848867060076821420290685270087595772391603375112948174786202696622787202958747600298409301532553589568061658779529311396653539628231692643117864143200388276087013118121894115859357080785453834966766125206372738576376467911689360911818105053030106976112123509929209887248575819958585680345180474263154772199501915706296568234849268371299534587292119329381597894346294680438275262957406954532124335296600179074628540081820277102879098157629246908025727313762180196402625473927335687325490754165873733097692649010832641396617443095034973106864336169118789893952160193301221584194125787943874885679508322310877579901914164248282838035909469991777976558667288475733958524745139943785527134638818188138871510294505798786302385636695376519618695846840153995011106420823864223885251081233300188497130692011348597359895690532891401670106980966456233062428680438355726807317808826487608774961345034053606705638251349245880373312869118408381955471122573727279017937660041179147313605707644764403443863310276981350876653313105852022575582484668172468203455682067583801174716601710121164454157387032985232039296398516204874485012880667003930423818497049021303477232125183406963895211436179124520348410151454770446454500851477001879352277996301697232439704710696382651830956473775713056138504262547153781820662927810389371450408478193105785633153375905104587537175709152659203651415925924900070455107603252661442767241370068476769648394737833471672937241224249128338662647848491576431200964538462572720137404701477207032622857305598620972776156775195681500376192426308830063531131302311617762821817867649321899654495180112343582453198847482699504292288604459958139746193551631449309429160645827372888996665960599065457063894944446032339625698533602093339837123516970219026159742488626771614682513937498586900651322439122234259130397753351089431253543461080083193080703579816311717509531406420838399214694910926139081228296834584791038911750752274584121829313794579019527305285582448824811004255467221501037796163728846852188837231055314751114252763927721157776973019122700581906611772325289028556412502238602546362469000130570236764594030329877049161668782576425657187228981889945966349195591010340997961778177802323982434198335253338518604912772560718771329834081736374373640802878611581898059054512891439069542055791571172273409248212968155572449865729633281741220488369087219009225979933520156347601543901208244468985927784494762453370131185574472320966620325386898815957654159474735953548990166502678252199259105489208442094768827529207631509895040916210084833572984668909759477396250593658124880788772346883647073319207589747808257793922176217450816746405271936047172152104248330692422978611373573748293416182260515135402814209373996364779040007262633504845890757242170178090539963434301453172539898380266603934166816370007113442546105100114417151516502266174892322806066597954880473681601045868761568843257617787901389318099758512420732789714346486207990057330322655488657204876623275338959359213734881127164755224758491332306022360263251896042900108149564912587991736230442048110462180168038389654643364860245779708138083340308444884123237839102181352351882021150086427554470877789477474000813779899785418022102027012067399490794242672718432050871372367140572068538409116268135776211556940307266202419214940194755579558110203398357042623810489820007080760185376089682863884597483628510927967054253998282291978445300086352240339889814833100527713602767407410838749152376038153384612563062807592965995215560156653312985543024837155754653227025670790294694302351283811524323613141944220184619708035445306098242462431630609810848292675234087883706854075821580079959978315791626027665388514098944779375280180654525428715343415756698955697354483224633825742966176872186928952758735250105444166128470054568257248020752233724630939913327282116820085741316766154618439373818416252490786028821293677664794636177103835526900580720236962172635627210357244048868097025887672369858992700054677558627595135428947359257846276386200011223793857967832985949019467632626306388965706804931172254731776190726245629035219744954789213127573824813607388905358763947877049634543205882311793637416532828960882321350000548397092388700978756003936224312210423926275085920044539878740153712546335904865761982880299882754086904857462036274243512168518975238521672724472017333295586271322681543715354161218836985586881568762335545384036466215257377790102114639580700951970730943375059011929269919037585096431726993207033182253614042662110298348745472661093761879970375068267316758414662786401572377790244353305732320640808732838024025680963201810514524837759143603703645161686428678929712574668171078799248894282178859531348783884196651541917239319248109450755116621330695205326210752612966782671505549652524850610440302603395883545181888303921735424686849997898037469450339630923674335784274743149279351877648174050403534483144930851098358919602403064015051560771242571487165335585885874601111975693019530077711485754666988598244102408030754547083722762168830608402965500179394973095994163963468214751748163390286892896540886288025985900028224250887696486023990620108783109989704481431511108014316489672745215691019206164404444340646616698615962507690907451400638122691134287970860421395088816633481930383692835336617162017459401207894089606471107486061432711545328935947727396682939594232667744382126270596307136444238066413217955295638281947937823618874500882425358758122646368116639604997354122241808395637341096015856618064319482137238872406447575297855737426471022461837403906264471977591230050404437794369561096051110318087524229043756446830889918153540995705672346223090003709464970593682330094164801205019568728132172130408230054551699465774226477754496844717456583565876205116882008259132224861556322534593662442683414170648723963924160908280712609408248340082308038615859235737773887518776882407969169090916953419320637359146651215420951476623514331390773647129130262629631331773623743507144597963574984415800985355112688701522538814433769964093284804878353975905496953156460557699531274430692283424219567340365676307518685538669733939059468932777973205188026957677510457811882300066055947461054067883597633549990861131195144939007911248626543151298521732262753958853099841669798136547727105044803463953830702084044654612087385209759267785556312083864351939968465459514430349369755732883086455350427615532817656975539810856975461046274254969957609089135063549820252694426052597164674604692526239065347210022555292983675401435854686878347263766292340480706531527672465374607922321029317036410801291328380663170421416857759896826575950248404374661032165841433817673285185041112515098952998315733517706167149223919225115801798216791203542871060806060859019246486474717543611938731936850342997575702363434815014360233996903118834583078568989523092182377292257861122632350396986047854389778828106964446685101761190206964566056459476672130222420032969921794829876340306480365610982189319732675982735173198490439197454769999702615008711298041630046060265061275506344482097370368576542141053022039814717876924063874984955566448445349021283856956666418309579849237703368821807834386618358376829738837865931807312339801138732816419718954671942523407348884691213680919825637445458972658623387675421084164839381837307111418200574671604627128082148121786427284092874105091213466823110164099731191854555192319327513118494407844753455939674527502567590538382509566492944952960543765011929509155668203353469842800367962954144623029235153734012930300687629580721736536099754380139593751445647470118944077512384416723600367909867653447884994290237342533283574858613386989357250175089560760323761488685303522198707414431515147794633428747364328872458571089046391551636913599476176443489016348613642469328369557072452966838838990092432419395128579080004923576701454059883778398520280025945594898989818758423381183021778412663776470797049142626989512424084278734024308473287758338755938678086640911841829964130614427021678824541586001974437117959774848984041969766891217109010880678902816505314286914583597264021221900228468726856681798871742227502857106337231792291575390860809578130207844281669430235141633239807561284956559213202048785887936842148591332805091357919185682471379798574523657388258627164709791986311610234733852550925326413685544585880039547280034075607606156581088190803709479368914727709574535415000581235758272427632459103465016774953592269087548828648450864002380773427566866301093676243073998470664449418583285461834920084806869665747243517610422674545164320366814831060227365730227574718464921653993412348319838524256293185238421249848679885062864842096020527594210135742412732439057741275846936041534587255143871449184290691631051096651140217563268192442075840678729476567567667492604388942303814627717872796918640827553399469271639128208362367370623301927691851580372983915606815744067643677655387434440321383213695437693962090232507526112986415993465772069092176104166440782059273561362099410796211576696228807952381099384439757495178050787621520298682299147533112459651934311689478945477014661352549382812504323944812774119876255467224261354955400769800738492298336392082683385708000526864695871961293353922784289336541327385532283625646118471150581653020100415740744998374632432074030550419885409697461948838164969009928728987486530237277802851000774808432610232293152590048920496152826279892939830655820421545762805981417021896567728749010857429599095707526485618662678852572479146908054528332380920678024290657342793542509910840113442369818600724833446541170028837816462413754117634522914876609409987119767316295014318151279470945245915726738909166049354579839668015199070304930155902433876056426598191270743701317394605688486942531550938854640848233271950349108270264226422839952855960258749951119162056528247835986346414915361192713179798032188629065704503475401056775622545068678910881094217975292154158941215465153223749079736905861473824440463468813303550543631807713375963743538881628587594914398443023175508793327613423556456952160346398716916931233406173243710514988169026103929778481014835165599363561911303804464116909683653588020235652723164852407615326924541710150471041626887348785299656357314008446305619367766431054846926712139427614301077712119408922598594154967479126727716196792424535430806258387422618944821132671074761652888594883074471411168915211636517836059111712029284660369409752442025044643329752755675402160896470691018876634967729661861578084448876791003280907086421052462399026887203964614988430211196340445170983765520893294789351145316353261479109723532202344341720148641685906706335245527791570656518035768217684706808521592863564570985688618281240987295198100367763326420954206350692398685931577052425513494656214410124343608559527764745485879572824745948404487611191263982369660969702680116670913747873048971940338362662792018711503542831683559073987334632645774141759225594382758766080449804872423371749257780851241854686849274546553776236599330367731349311723756176988206880442056956604313536509508110669117260156859161053642222209960838227586164212812518819237401951328680263328967872231668354549229538631296058837391589297324626459556991916007426506203372653403381617840142636775227092641583211562436656789460961017516438665640792580057984327496135988184471472902146766662155248191323534476344092074332137362917612037089429098353269313837287964702981768721462006474439375386511044515314269003047736296445535732397082078480324917094088049243463217889327528182460651030459693251353134522083547272342179449379060852653051294010514129148027743522112521503365212729686234527432047167604828725031816892312876752588248464614476022030641307684955578277875380655795467342939854131007920616161218438773478864152177483994399363418663648545255121307255788487824424646790865111339272374858492866308091159868349922232780838894784620325055423602937907492639493268527884709887875188485070741275575501161314072787433355813649813151699692124438056262064205206458979293153671536781157010174097046215590853427295192015746276826417449517913930395414419819389146103424830370038345122772136849112420607558011612396903444807662835952349920323717698902032821868576083500938890309625980000261056888765044328231612550238998290000299739078008813989101310754548305855505866810127880197181167205884324759524413102801044981181294330849317676157308400689365801991766435260542752700996023553139960852084266543599070950669572728786115325326402482107813740321849973210137571473149655855972571656506386331403455274350709321290979212602023590160395870452937629479609702376018764372276527473154500540947089300572677784812280045127988654070148082810153078928288727844609131075342939717239027294837946421173402795310519984810196564171196807389676004601685789696560000380945957904880592103686887847534691815353716865411213679269251486690113076688547107633182247008743700802928189962735962931763237756827600246731534890562383996567755527236658194857142764916639834447989284957718830515749382759942774589238387443830270335273227076819589147658554601377325355537781508605018971433108735658807865860700261349075904827216076629885408081238768355448381363021497063936892078891091667531924219234937041530888623948568995758392521628636469365462368081525374622215411486778529191905228984012682349481739859834151948893465464544465747668900559053714110132245240371215721496953485417510029086914758006156438055538707312917015559716200877840886062363982565903218875650248809224059292155270900231330150814602697225071250890468573549360123138154385858435440091289284998044719885155053320380064540684100748215924745717036556031625927408967054165581432289895056590790812593051953437679764595292653573102365724675768609044548884802441253969353271651872250539149586280321408292070183507705297587965331335387583655477619120273494296089658638549934160672211544343796714041390755188156178869906648248805076294066337222222269906515396520157768762150803372408764692184680108262974358730045978634030947402103132112252761190560859388558288488118108879631142249802836862632557182173896242402842964891852504825226153839152956021424291868115937357036847373423498919355356506909078096170862381872723894829302559491503330822359641914700424436673890057167073683149097556483864162182206290764909021113702263448503168081217111377043688279222907198622706495139710188234235847205142997573320314915120202214994341598211446786995865102819099499903711859961477075710875429149980719638090838129640049585515329604087660434289053596075576277073096620312244839348517846621632792412405764347398422960061568418803421016365421751237800131629352857681891908075728611575170886664630766071254693907836406220831685364960886672005538587398920335766500943332976921413000839276985012588492908383643607082169358427304856613894003421330071013100658931984987115399002382871508231639438754463551793246891217075710043546748671621487788259094145078349203065945648484805283774836372186868739369225017466543141028422062233933021070839983685152347362637353789712501972396711493100312660184192794524036744379703065314669831132365371465553298271959237866262160867454912389518972629717499948011499054564039757181228145955882730563442848259936530968263422388066782762175540986685483025074100238819005002036815336531544468344665133293844387449822307641270529141588826306694532206782867137614245567725787913790427263009318856113754282465287463678429902613756407981135008133738474112226583514021210145388698503862364176702165446046427964729638095318225901592605255217383567005594724942634337061757680451250734291851113480751678583709426057925152100636203926662313117026672438223479565595869879000966836212986828090933641935554093072682211178594660673690781351513550735441574831662193481092397392771934804202157191297868044565971382713543706854887172340233511979251814917041463791691393887970369393266989000955177498654416690297786327766941480326214583942130509623262069180756154106300505970360067130072136049820582959488897071757139159498170878382072908050269494210287476061897581829442748533124688423928321418504260639247158932186128072548982008094836322434110012164178113690863567796441545566623093365321886973815620973525799707560990431575850938057132275786671259159111642350608066163872746662221523288160380889015307680335129712674173674838874955154627045938794247930232246770147217604117597086448475114141581182394958297981815991328957701001400807835376855805133688646415522355262930949896461308430687373286452378687231586621919752419237866611288578526891803166675664582745108397836386846337237356549395813109266026229156734910931921908814421300800961042738445133182704441791958137639604662191414223878045730446786692447623437934672247482840170345085093886574919183435238373883619928072035897218768027589094363293607620412108197576723940393327700046026793240367999837834192404592893632082884645647859234430915392816224951513143964071826476031434993011518579277999089386455683874590250174267709582540992740162647958467513018994611818638287743269450435392179931494101472151146211214515800719198047542009894531613313850727067216263460139808504145003888778279983142178059360619118977919102733155754740504379798840493043896120520504287250786154898948935506819355479163200187722244998712297309146947360382689704834259013731192375960857265248589656556514434535577348884667219743902248480225379736996837051081750981630172065719459671825880450168619942540978461257833944742307231689826112440885987226257575994301014108630375722751003407871639221498938243704001652743868050613867378850647131600438414636573518816679269040525650536775345417489525813790926800892587957201692170358801999933206991862406202621298757480738241551812577747271708142108740893546226481545348098900335344106321413458154656324453303587764844190601307968583480193452894933208701837943136414589824709415623414817112202024094307576243928687101348500047741113814431906683850180153839286565781640226979052949219958716769451724989248671481309390887482453407653577432328227993609378719346415709582091501647256969274603341977176424072039943771980953959610217970668792070837584681360330905988757463070197320344267230981650834157606400768956127791302244865978849874213381202020529619755274622997570138592889056723239211742493998995370997701213204907468895068892483577941572384509744531869396563299438957114813194966686938587380622284712039029929031635031645025980093349651591037844212209436625492679011459800642249442450217468810298021292532743653022271665908624806755159437606967610347482974506550310484364513764739311379401240427596235039006007501058048432635345748742853624399328576243217455638674589717348240107370283488165154131087399627807188942943538652698029926330642187041079098479603811143893814255408622848148047979439345886343260261409133170286205613845092530692954579179597147160944266106772223102610463816950270329626886305501931752778706228895365775174558065361583161570354419118760147496918054213473747354718501057400455085672838810401635611681578793448556335836722717248430462657925198136129936716949985592102199847405037561452078523567822837974740225995535802104103126454228344066313640739358987439663641972128783582376995079702148716413247736411456548130364028311037340808834990015665144870839681665812748559936969932235812980419860578035934642069964481170104506934281959560133938805982184485874978396446067017662291039712603001230833542748028244649896207914089016749935574067977542872611400913527148810339559974856685672693699958376031273259698184999581530077333112518850215023843092435409656941385523709825427437779224586720338221821205348973174692136410186840510067837327409423943615206432645990031876040796781265506017585385483786333688599401151273885529418926599545067291436667710941760713042966684140841417739192437168688963576128221667734136609761453886059680536975028680541955564415976324994816717435325748612522079106574807689446978557131464536084908452143992828528872380865656278170259038550754064569157411219997736524734129548152951462825443478364984353887578483462359246755672562882199162939479311317950477511500191227674496845489688663174095721814890532905511618015595308536450739402126595676228023988019228085866938785984516060452637362116073569706190064515413805621286293965775355952363696139233464157869106723747112419445328949507258440012365400162741248519229618129739441114907297860594727269508314505437687398914876642662686453461377801499996359637988457542857729334519212201459014124795292814485702534328952192196705774100850797895096925211540316205255885862830849709627901268404113320053853675366199989853046054360435345898123048334636039199988722320398487148838019515245030302262108321019139308874394834131812195099416469412618305014173305088928805433564528709185834944545427014329801814366743802452975530833685691221187943735532535422356450962718989258296320577589108259566849600923945116373722693926179433116911589432186527479830182949560867383150905817872581820459917385378310153039383740951764711283595360007162595459608261092374985621276832937374162430947493792485294533672324165760126018833708201151657719198494774748047950789848168529038823571600032142281682698852788064668403026968872768706541641693080242108839790326899764276737262002600560410287093990128361669750089206982062936586981775879377458823065681262377393011254805338619678498574193178848115363910481126024758355077129345093749558532587441875337649404918443740562472557756498901974934521789699110828187473214841692496178373086276522828196007593817306262788892973405589379211212748571627444780813876848705769995128814818190077310376919582826235461114683277900122378004490244755510461714341222020353154425767499706591042832693107648962056570865846419481269699007309019994705581458602906263638469235714894783632991080550954324448172291240029342893420221121202441296728720771221762732980037754848354829291961679444190715847448766872792389246828464051146763225496951645872737021630504290953561143763822230680202302204149883983444865069947681077712284790297571057640049322377714711481180265803221394144153406572815854977191454906088308663480791517197973403446693611036398961573684161015066183656267185120414533082537237558777853321980209517839187715554100043817773335932832103002292033822523178013152937181791054051189487787093615032975277190858046469576485203028363138808565830650988709842403471282586370617070678336342552838549943342699011218293701155997051897653472780693702386745942518557512414106391112370227755939922894796075591012589363627743283051532320303723187572935397298798991994466098016828195242593278170105332239249753320224014597588045888019698700332624893181320072140585047955922727444513616342601018329881570968250832759845735022160418660746539272255385261794265052552704345067068591363435507256985950005151875748623065925324409122605884934748512769702527852382923429402007748363989573408346119017994304084942714379297851144711037908881892666666602519478475472114867470803722552960917042126423480200431342080696820100481609240406692037877571670493523154609918805640707783334333462272062039697957028621652436221204282165557467175210434019607693124248659111006227057946720424400070583526417090661881328498125499131530763190416923699655038551817898187254669611821443494786513147551067858163553424166210702613050387943943748056473221814386705261446370078311931820427011308501679385716215854226446737417322549607235633733448659855667458296214082634264994011372542996669231027547351542336237621606584194577554171073162343571979388972600666488853901777459162400220088606491090585174494574969244951711218863863430938489716618062897117149316546291003705843829019256944338137124322114553641058042490157558495288152144318413339565345910747894964159662688961839910420266565985552122631904609693723537676831978986394361644993160675658286465381623572256622321410590619883023216608360926216214119048323797592409300045562443480500969036434112644832665896943827527071803132960492674411920451577750691336166988393434748848503761804627286085792824986107176801274103540013796305304364378503143052519028043162759451570780902775171573305020179571950625060341273564234288211284610616947975006493783562795041073174495965896755058148195448197980990292487635611889797014796769393184698855899852128270790852314645177358829381148854132227395330704696207509416518906986371548120285950120385823789806633826270384702974735398886999260484407774710434540489536001976390723279853204037658196876098109344517816502423468955458610301585627805296871925436676374789685230688500736162683498509460264579894988206910024624714359280263609518805060341819438259019334080282812801222652506632258431097807231874207587010035040491301244515592229795936471875327704056784844801772569475242296346351416269334399920170153871901853517944815749777372272708344899355767606671313029730438865723116994352192872654189716858426734042093312366548605390407942343620564635416256872417225428138575115904720616205388256063840366636585742753071212779129519598302739592245635828341951951972453497128936330876468452484373244603787041100279363054955106366126817841658076781631775526955756321822771120465754816611929795951709293585257495578106072497875720870490701040114330767395280604819232253219762519548700228013594865263804550255324656230521319900362284888594923110425572212071745064773308733855784952768065667447695868981177918116361569651866482549580425363484240078710146902760841546692292500493450370256573219538850102695738182771094111603127210493711016900483278959578965380912050644107604580685943016832649345750867457456099004289074263246214529808398709974766478176477809262030002765685300830881118517934424917135142676341217829658993517038783177488140397489422462503840797685254289352913258088757329607176268122603090997823913025694434945830891140618672395099602974484040687983667470501666032505529361855351275963545105527504896075613434000889097129484128549807027105205607440943798149505537900439257713926105964543765024115399190267143824538366158933131401249488070458045442501219332302360631998553423607462176879746952463063826032851043032383635621604192727731865262836904325800186121622471435016208284850696339283545447648443141474502810585140744184505695540560173534665839793377656905868756568880090765821686036837251554898228342879920445906958692265909433631516126547901234720862353980191151609248978882496490685778447028119835406000477941733350149211383314571177249227816040022035792546102276268681988569018946668111352367660824685479926627199832986234707588452914908737105126116528637245310368629288123848773135206278329393311775244248308944852548513404865325911545649467630241581066799648560049196168669269207410711704625859939793756638272270804053085497281261239075163698334093831075612076574299521613145050015652045311155130582937354940861602923422061560078262276984792801141828184424632720086601091495195630424344408035586329545618451690523614066576769678366942100014883901684144190250100570400458950067409902779588754943685979514520304527968692175452599412834656664052268381738038997412694967187994683924923243591698023089262469920342329883509614826108967424784529695184284171267380683261624189211434766455589091678201141704955103417609205477401093470163556838067631501462896258970371412520174784909848716258889252906471736558476042033988199920334319670769082200207059820557218090514391892961283599977854435920553064621882144190519339183891755933922624569050906302854169228775309852147063906706586136138251140265495098657751119916574074634717482375276967415686926489929634296432697204285328360708026243861744396156468843354928123803770791201100406425691596396880575715453214950226697665106240869467159713378640328597987216656166971023793120729954151521410373296618164874790086956944157745753323935103004575585753212241645339467610816315023911341580706254456716241273567926471191410407833721597845947433489267499369271370407248207360095557536248649982777503390668215152511983721546564108120503521386943388182673331530323680741355519250258064472851240274761240014083343547660887772850570730941397976655033294345746467454552508800474917327357996018351503036505895127942743780326780750623939353156527344542759200862673427861728476395095898348873609267508215658068707728317793812297982979547106353724739577851430901200075225147018003299443670299650580581688087447259878365459508658422823414155140641156511017971141395417973214335904619676738468715805716163746024948654271579985226803398771307329288977550082093897787391631953864338009515140127396289202848625590555895751705048076259005825745730927627364989585658175469096337520138189491971598658901533876864688229574511206742009193506550866896137298245316969110050605517086431646248037864323617721571278388930022999456862434854573444119761809387593087911426237385069278103892002655612583560027164900804418645093519907570607426356206659672038520534620255739167814797924823937989357527230984081028437791667677347704866546544761517735256113402344165329599201147270565290822624518067260521510307971663144781496872196104601836443783424331191470300939820342135481345336985691504922012302583282108884301721176111521873616915784822273926836355810966909531360804395676687445015794318950018438454538429152368677269694423701675938311554520197406971473058125970820868469209571158488867062224158120662471322856008385131608902406962781741232466768771798388365011377554286600805134612745495513503593638380517105957136699594772533398264293930730943530378942416600731279242837436076692140178659306350216988223838998895745891693815340406942017474879986025310262769899765751853710559505221279541091183023402935271216643729484533420721794413096103825402635057513591374340706000630049211741749944130849686919900959072170388879154460951108754287302120939427606808079874388405921551477000529201828658983521255743628638352399259852783469951786194322585716340511233368405128187979694550279310014668205233890340629149309055359445363440730773454985930230882503987519310271662655797864996443198306658319398383197618463629158080091675292732583679596406753630639191422296041650188492284171929988404173765566583134448312446138654283370320951097057381697738166326361914433516528640627300283133325756934779688897829016614165369060466355858631718999422987648335072374122370898781095319694655124632085823850021401184310424851176534039936273713221284502048772526059181023855499647295778030752537411972128545663633966173018810603419096606383898868870444450220091715859643164644152586426060264033184417907056437458216871403643126274355614898689395297086649595201116998965536541594035543397955782990859711610916252117615342201706580070828729363332736171870350655256674244148580919224141801459808907278998409082411313930420342186912422905094253277040249199970177651606948336689331711002940182784493014222213361417304892352789219558715595338651933114124098325698919348604472033379211760252285951358031033788316710138770842944205853263610580920247576636227640879939433590045568200080107249151296997945365634609341673421415825594340312394290836552770919866283819397456492204646252042626370223972408375870187330304647431039683843465608604467524773776050973895958550725069581439621118581861053034494294131240033923837588694742720626484390243047880209883915246631966213246830397430660967151072310768838298408060798411624431964062412966576134760635260993675260085204372947861397943063325284200103237378199914879333541755499811040464598402321259327148593573930794553629035432909157641155017306778661450056093521009160054588879260629772946781622614350453722660233850144195847116199869312681762659038809143416174658972913224086822857285369651696001834504197309855673101751864692592864210730211546076551292277781066419779135210186481292056326110024005803621302483061902664799914549933478920827147446404470263966519368780220666104093090279412824533816763118061852020633284715150965205284106289945199951658077142360105858037179547280232333818722850481715069846292199463395208187954679003299652322314033656243233591945426706200207435126179498482993972507063330463660745447543467680261331315204811135604101688777819468856477442435865598313861331551175414282897677635295453954370702938823352551126054765695046446637388160422135227784117847964440239872782522941878717700275713694956671183115034740514017712451702253288623300118623698248043896916473286807665044553889985226829543347264455786263500902368627399305241585657138900759568193158403014624870039000831400746416504143721726655135299610216164279536174006033437132435317044037436334079493818091241951655786212437487498785419359649317445614921464205241059498732180306057457456601884466666058607614563814112954679863745049261851515884512753747806740867654481511411490042652373278497420099426644987834096910978587848686127192423696406311027782541161899996996426679360954159496301228871212798728094549620569103675930678216649619572321172400404253555060250847334467621862714449601895831186185594184410150053424135908199256659514224742530584101105851438368436957704263181691516709136203018365498864163107012969505218029538063479804862038482069918565513472883845513903030064937412687048727732223313737789618830631043459835952635019224915214911802061055487208027795191228772614764958682407288802808416579803068532456038979448392281756958251270410429744055016130186978742967255247074973475175254382384696795303110546632709386423298302939199078016909694261552969042602021839686335135025396616460570331236309059980250103127672019012478747232877406732341880372979561155478578915748290647382581942576162480862916427704619491582130408757732704583643636033290657823984688990467432551403667691343981077967989602595520645928233108338468732505360392373545067001795293200247298450173762115588076933377188212372480418907995812457855062133704644430345284378364336194682640028295851121618158444104942703880219199275643263053701658702011440102412435197722427009204890682912821269430537786550783536705342575898483462083557140158076292721341176325489826536202187276432577298521870391300640684151410750516731896722670087434148302530079094505673116322990776380790492176084338098935787902155737269490763596517121023172288981043678969044834127197361630915246182005539584286522147374325992472896875039101949412584200637480303595232020808220437366273830159343601309019436830051224143943340601943335133506698216491179295254414774503906521375227099021084506085787260740091660158533360015833609444074617114778766783294531983602720073796216430631456168845480258147310426507788945204799474663769447562963685389092204271116497593090863675839356388970321488126452243944600331579868485082717644613000630510226520407591985398306849869001368154990366464053035141919321857503942648941119745493866853746783184209089808032396149287221734101374332386544274153055858305106243180252546147504161268381775412397277693740791668698793471778045080214949188276785357158929225559300338299090534262192140675402857679518342863854369752538722058227944388437818911861873374282944556114811876777762522075417692337184393621219657582813734219883464678173468035623719049605720598715918565503983564158375626388680323602594215867241361401556476603377871476960824945661871265010032284968316699635195439819174558294121197303534268535098892919169576425096435164183738839673436836874417991281480736330358588505182930531153737413595935480013437044572502705337636283804517526075925047667797595486710016978988922936616154474229516873163818809883159246821069614407093274670477273412290277221337897436218940656942859265775901783008530630151077484144062325659089828803151058654782784270063318901707018501362739899344184323406656743096097158362164962874781741105578760276376760995456486017692547467976688025455577917480200151477607922100244151841247696845009125236874579812214474782646647896764453485199220170400004023902715452955690690469413681384606240732425229339043629791309107733596995039787612499595338532359241266003986627554675106556264173179886791432250195721397160958371807063079788178236289291527533250626781983284930684277281479389112140787999948566285488284525822717943797904229701347026252428786425440646927502091519619798762875111290779937471713724648692094601910157625163104781686663517449024346138806721975656898767248191414384120675606945485336218552740701890738788581646113196406031871412098046852120490403645166481266602881979222574265606612367250534015291675874192777227301404525356094778307297355538268086014015757920365368863676104940497690407642644964040609808645435404077401954249293368469501146965010518780281485026903135945028132344995776065686744276398831076643778866262657902112175685969624193611164701817921794421355095644267416041889301810612597257456731509354514455932737987507234916810299907904000329973333807700497191403822895079118642391238609400891742394676764380070883261858676058975303603424449272322433304781446733610538626913134499269145234690175026889946486872297377454147237620626780906598005672625091031636280410558321425153223671825487898213259350279337834858936665104030244742831239797726343514251295940798315717088917411687608929614507568647391146615704982963108279457609958093841565723480973497811871202993434984545574979779157498022645806102196812693145163990245084133098270649459491241370272932020889281505582514768704676387255548774087172187437100084864607947377954574544195826834390463124174035775507495710531169874332791428518293288574613671829511845260582267803175508202134967611381759300316567119130368999624127257861079231830853390348616763528776153147547382012332504209135693753349460494077613759482807316873932883275148331509810447865797481021647653477662048933321561499973747094653535286445463869274007789161851283987604179243458740609096219763670759921733197145470119725664677757283772092380780453589820489515838022183622038612349606729790283366290825048283340956456782390797967131496397149395198682271811673351164203310628387359644502879072721482798722896564961852159736205332746625598788218854735733482375549736297619643462043835863509707270283249010726260550431689215931300198898599038830147764871862459979345789322586515529182305020594044049324095706930120262290352087042552923926233326567232000489142998774771200861456352790054496133019688420300968576516006535507845212717725835875814362032830705735032824305122369300564339562601755105558473106368663952824686926010261048735787973300248415691814860689026019176168022729710520784617563658828977418218803700406840410181896013332111775603398357653335391418255442517372165412620398268549911926678006594614124585499154805124387358135476765169128015904818553308210122176577837633459657490872993300580742658175291980415332935715113602070146493225645857199602921243238918380777656048781173692199382756711404311905736159313120865777294024510032986688645057938091524365029230691366112757730874435721681857731612693882872391285304050727836759207596700418149356141028578333177228077097200921979200578651374036858818971476371610131111585349126309447090716404729493704929186733661667258571406798390040230661038990225837178210396137609755032044820386522871623818916774978918975374237933775411579735111031815537095749219776006204165992214209681321721035373727701204074807998647691964303326043998725124089559714155836918186142684155660467084989865829460428921400586076837562180609503238239539572594192391977092911222663064448014416112311227807901167870609788297820894177482810852830121384611588144203368777811660985745940084376166851561779003317097703180081768847123425410918979231186588543026622435343116331606478428897887497508504213064351495217951338953400063146159867968010360207719801288969886041418938506651402889396245123013546095245086050063881707836761594610511673839410881685983269702501118242429253936214424144693146253403008114342333385761232280930919540252236351805040416411727003940273161347918010286885086698438542796726287459493672534542884312505064923664793674643717924893419904920453284650386457605764975138718482993842768194596360020719991712852753524091630673913620265302631092324681915715825362301494956033323108199177376282495164962738219026551894403237580810754648760548639732945236578458085590956034305187201319728246164952216193713046594504394473746886159700137096192287318776695473731707343189305646473488613731513743749564806328951933106754082292429537861524091355830471206229392037548897528017079947021933711525284047910165178571056477319541838151318945675959487487635121791087230209597652386904152435901716572297365877400777735966282299198111144353947965858886759960353625516971319632752034028592214245546220041813617578145972254614799174149714428607138480865346384258806026687949961132698478571614889341397240891453021272570754119022002665357766029923471116599426176331040662744290200438992043923346568362218528071541119282621681901039769077375543620350179564860735945238309939795012140161836399292627949084807128411026015777150632476078217865858944277339590045188433281014305150706784934787477179372084851810108003413492265754540695149816384859091129333308735652548159138170862305506609446278314933432747120593872041092409693345683596255369307016569584538303181646691296839900597382191599886692169081746431060164254751741956206633914982251808631658869299642954270715222350749713685089172360294310436436359903017553729022522889636808181139530574098265855143876741355357725507536653773027964082588210306719064086556561031410664408264352778407483410878162075269132021247413049854008096969364515612105684370490544644555711022329240058140620961339566762380739776236493775216766027749706713151770429493293645830246104262170245294363255414799261842261328778305640063194726149921081047955125949776380746146460072719917367697678145570999040621578681108882595021233084714851055907472565188838420595016665306744777586891476149322969277129396511634685671355380852867711951068412064474583406059849230619358432802186499440312595352417831133897075177646775333160184620393056981188519466449046271399523589754057588559529806916712192966229495336652798348877208478703420330511406314524836798124790598588502251010368739918952503234793148988032351340235392422467003366988137626414369371196799738258005572665039704407207742091622606210856410458752458434182218858608118158462417541900870139773783067860556883924518822588604739317537811641714388081059568110383856183029091853554346775441826824196753411172580481521090876685443537008058856561960727384658805130090437859037463039111641979996189821634871928941096132394231706294671390773638213175386358002375062353470889149774661467693601369028872593914792117434563831691732182049297284750221421729960269161769426866584350180444962635871113721952720554244629223537286871068456351656490812630536175757754607628180110381449629672274868238036447625576688880093961413844206386173978308504445752101374454519641137236402073514601948403673118523029441676277922195201568054666979300207674355790274525476855606096985564785029541254205148528199558700716536248020870752264158567872998859125645228678069341335058071223043921535125530638490493100382507773678284069330563460687347194074540354580232192016474968529267704588208766542667941235621195253709731112542867365806672056421007666514080364352837852542549195032923819285417474371778384309441851193143336491329306728678832717597003536999589900229952928329538288003228890464241543519851013559984013660109274674804235619120192603283752565857677481102632382587948608794612677428331352175328608149833062185415588439551645534312976798621674215983168879204090267357186399470561288757835320453015263206027915058600921561400267087810253826558942278208079548172745493618811838629776007610913345269995827011084102875663056350792888044822948258668087827964583037319535184266535081203749916049812326272168457273877707896997417854390385035228086474478443748000330659715969912137407418751890191276943340204054104116199014777985429068884212803262478993578559001259995323294152551610305307618368299030115848084556440188245020393953612658311347866214574342574472928593579853306807673586044296885947061848710504629116054836239282940616256391967627558074339019005169620643096287787550270120437052620585644194376804525364296421200122648543753438958781569783592273960003102556417149557118839438868100478032128857283017894312660065493042422707146434665099412974182339410890414996156602095001029434642202235922894723797646251846076381042886656533989641532059114050555474247632215628005809312772760976982949623355958333207195437800239491843118277267404636830525567096021459018485851386959333212194142066022995117249922913281981174651158230911525988350091842427335501901928165397114696417780029533797129719362298566007310258409927003382770780653733399412393583807489798151596916622367084123496355348567265460339036406564592432890217647576881488377789145880337519224805335872603338087541564116194183817802038073300711600043652172646473835254485283327624485904937452781505745439465326499333753392956180500325762118727176905795068675760011742622234132086413218926657673948236869223086210175320842477056001153735594502551658531353743396985160375443907686986686088822622498581389587286257506647054700750001183605342072756202921181700129194100509328267766401014820605398775900993497732449801695965826515425137130967026247332489043689749478242693206499354047911677505045798248476861769451805203952701311055865412198950394829619005198655205512786085858041366646983776571258955013630686966299661292785329969174235289149905836014635056094867792017945939773621185790201846645608005126079252109778123820033615091037354379429220944742623783826776398403470881801985689054611315653184063183093251790998152485481282996969315483332433671694208038215489149137295248867867593387303658610400619660683466557170140869667119286682132285217902331272755992053654392197515948198745925476897752383235798091388662080531035914723612924021645797639270025044832001582516027937931780906739896898065753168554873003147157771154738636305734641883615801695552362110739083647808721704887454868761948743741695250043716095341115207652361958625328544444292993924428253514542205293275923419981044791879328803662502828988605024608567631982531209827391850386353215953605161009157608568340050005293229654189042816981470692916662655192717997606526026252324640718821833692791797411489391313359901505909166819664668407517731639343581154019627949324450103464239946823690887283022260448946553346912074327963144984834716427552603484473674082745198657431976989146274946151164005656728755721418126219202296250305245989232375514027582275191680925824038589290521087495848359161580398939303335979088553997442810059408825288352900528896480563563428213590033145384959393456970831206658797789274366660737310333435262027277380919612996073844678477662898495977109372560689586311541119034825684279244040939905385500997741633283510035398119385151582287380790375094121068519068232906845436120597865242906392536841400045867974490018071779614684060240978144012230016272802811201619276967589949104702220013079315766111642666153480496936533016703936556851039634417904638208066227986891002472209328948451622445317443603429299073463746013202596736188867701212586950365073759895488694356112460165619852417963013305113559018635304796374287327560737696504045402835446009658746599113698447626995407009841110409040686807638000783534922612881322563834750113979157603313407055636168740431884929342233775770701028973530100557372568478592986200701888459573426880170191511526300081733625611746174026189286946329878494392710124851458052179470950517614531682298389193124936291827063437308780496246127362746007375826723007237454592496607203843112181938700815509034116683905821825952192594135161918683713545571013574721116955425495645725646568699833636559520549489776927754812235786221778077878568501497774185216629462328819703909125328874182125608430955489880447695917473132478429074499319527162434327808383886955949830151293787928566107846045192686803616258056002558427179601339264787639716109233855541368755890459062981569890622585318761984804985754826740208887414538106829398468536483285372339942630477563660110952260620560059938467773948174413032964020551288385979533180834852700158652800451257414056838813971623475504388211573200480586776087439558744695130190232654461837473666919394388380086239493768961218102030395133053918285115540517068551551246209852140890857290344853018711576664983615074387923586743803876570938695821311996833704730227687652986456833331938583397224690009206743741481237582307357990881676770436721307608087676977004702263843052169551686951463329199004651541503305559638996595396552437499567179381946465025238899129820514319806935056881056957880317832957614550286266897459350068151859697901566316684798545131664113330434924815341469115742951039913624640955656341599560394684164126704214426277498907877637725220236234536333208236892120940117293608555627120072946820401206089982502001053404541916077096222804256404627995903241301792118805342559326425922865339720975056043214974518333975903434935393546202497996574901658836543117129138510339723465624532823774254369466837150339827675589008863477488435193427420791082541433769712965547918637404008211006229744922585038349805291439925175512685487509038072047376366889304965525420987170250684407799168460871322764025861501003439799088406395659535990079045706351111776366313338943223478001247421017367865315357380686987292754706982641462050446387904454224665223732419407292130893818821318784721846346325972318447085152071092805645324523435967787393562094075264670418319902505146043821951539385349283131739748413905460342022406762224609470841376741993649791756795108504439067179816513787998170957897891734252623761268395830395810327809745516171059843107136133616561855088006893448963617481008546695639168666579391493469302998550005156298166643224776342124137380348422017224531297145994877844790192995022976145766206324680398566756980999354056030464654991678161232702916157077159680463201000345603574078555781135026412743389206873690588455934781614078033339491729588420491698655480706414927457239591094927033364731806501062418195116953168664719578971217768771346254875392217991975940641842632882896617360902947663009618346070677655642217519346805769642931527245093881568467873147752878703700569103005685805827290024395923732164367800146186699073302523726425012983821142728662473060327184965300499334904268783626396611130755326059156475023601676103961928038866398257786251284074274129900426109754236167717159548220277570295919231327654145411613389333313179583115342521660803356186803132620614394223259048511511055196295442885659803529821580462036922221548293021659342291250715541216711627432554334606158241149017980265837518517425156751567637190094301518285551569053109938080799069432726007432055810280211519893199399953226913618363919785156346474579216278704025640162299590828067463142846222467802599950673230459341744553991419301080166382564736499462712345688934608725671687454939992437657963005530040333399462284814884586094346543826720295819981448092341073614405687458773375862731307862269317567862070090453676834228859413933834057454390430747402846120081485939807003801836560248353031105653099949152439060851087765150885049592850637623393029134247292116429887772384711478726441442413654786943421048455864436721214218068697114461857900951270404153942632641715476634244310950898153850774897062438264989467467644456136406965393060887841066544750548411456508178459441479589722440960997614269551347656502950489465346655858615372208661722537397767523795760045682657370672064809199347071902327952442743602904961022458209085144738525141112814306424216800370342939423111302281891392705442994984535233298421222842138304369046804631590118676190348237763683706221011101915893416716707149203220893761189177694737263343686285964157446640028460348328051416426243957325220565578372238040520336469608662762366264974944711685058238401825292417073010904693179535875506358180768094345556092771708064962556718368658336982759627227189132917431662727736853620865774842548623337332232723069241533043350497024505840408675388871735318560558227950366220172288811289035894955292289520390228319451587054381319420737482997018768487917046736161379490706652175046193070299203090180515404754005476664752833747618558672402428921242423004349545161384856683716253606494367233306533301155010855706608164916631403871274351975497561316736416808223222154222997489182307115386193742685688978826126201663466078624575359948207680562552585329722548620619861031876876615694963350157367207042693175895952906997960730456995716603734963748490126106634270755356726328670399239154158897574073502509490971447314035621246182283107311752415060271224851683559319926402023321168468629158135857189249656185639045556796844440769293202150782473343538334104839193576575292515518607597909634297367417059765663134323254184050690939344171964932060003010027890796349918652435686131110339870510680747569023506015642758287988349218150979251762668375618141098046928876354751668529002427450441847605328768164318825027425641094047462949853731509285535619129523772744180948703196062596346146758032629544884990399110974091166638044379493482658541304948550178859983587273527876162571188221511571347677829946862658647674725380714351803803760824315953377322797757779119861171183280862484663701478215958819307091092485624784738826577742436571100371974845190018089954194827423085968316452562109422853908916187688491352685405248889294121588446410975397099625293701310622753639797174741405364939325900188423564376582433938297866038793522052800731203804911117470434617868097760178266389626647417840080990520807473713540472905025358345473621778281785224471395150647830173996623419446443411700850921689257240245462259860123026948839380101027865752621233331171816671782404720378774061192800066235783157107254945855312199171017172293946216683968715234390443460536474006236001262583440305773861498806116911692059487003876006150165238741133140541599768964631679063617431666435986685367285483604861640638392063560482648515960450818372782966855221270282108592970691221854015503083023557025477482797608732441437387263331323596707263426598907370291541424182722828720233327761036181489557784436070888382806908534145622363317515614578294957452442124639988875363643129979337655232473383440626850308322034553236012627290164867104857238956959332837255417955520081244699464366788478419115772096812056189522704940671759708738306984517150511675325764702011327174858991586079795070110128621874548916478060981424156845959815899700263592443808887632400673466999562593826878910405130537995792748742677942990446797497994485960641793110547778879171339832478810350275981762627064578079904284310887554079206351646866530876854066885876678532540821895880723025530419071725594898831167742999891120621255744149668114351709401173104048764161338234231572326825850526915757089679979552320926286344729769369579619783387971677796104431957914277043534636483084711363985988642772676791212814060653916501303839416712790474724204083661380437364753656910073480474811180946325015276263903750367253390339893254506924407663151569620157130030857894832462774108350080816505982029863142914546817736243681259442721338242152659239171314931919354665734937236585940828678843186003628736010539824667945086882147158282713753693972829146485685149799655784572869088440382378422949465659888445323087222404462609701803891569464543092781356377860629926428913831346198213511982267584935987358194540422673996125036519431571477190126537408980594264525198412826502537220543178076830012268201100902002352599869450539301230650317383113634135848883818009711876234395784022266529375546636510992415475907732283122965806679505617760928883946684944778791160818116951750261482247297607072718704796479221034796570373435186617704539444605697516195559409632586789073343786052125700563272258743175294042753034957731331594470703695392156203240473047025999308830403755720068018595189956541326378202642874920863445167309129755692648927233594086525553703858914814310742295207444063377199297902652591033398190359991062078419001299694419808859025161112195995620983195256960402010178302356855886947734424232793659008187506002776909936138796289687257274074704405514480501657494227003174400353140730610342587849812787449484550775215135689254136921064667250267724910060316724143593406550702986405272752607168511944773806107950450474768567966400818784036537411710274092104862021273753667352950470348066697052666849554941935328322162897893681242850063268837841037034966780931027385745812326072438944543280303832227497752150117634107988153347366214013912838310557204789698295508830075075919227159432369792798924674262287891886952195464551719593758901547467438745228507016060586696735213194211976018554031519316052678300968817531889301861866877905038635012634345596968435505710427961405773327443594260277469539453683195996648266545843973140486070263634201273683460876037797375758689825957160539657263886057333866013897485068502262765274996577305839383624388687212855623484244869306961429377078072462995784397865880051571093915838875060339423018973003227499245124177184011383536234358936774235781111985268322272174564229307516165461736060334970313790551350976011088683519993310685853327666729467052002570427034457169574558438151076583512504794795397128705743864309336733606607174459588844651954077271786216349479185840567702365481926610233190088613629897617417546678130809191070422956732149068179571928342655000069657184251814069097004561156058938637568190683948630773331664499510973246730206737924099106669908632624371160402633721963221743621334892640543098348669703493808805239079079791317984141394187219981394763586033915725785148445944558551718954862287790440200631833614603152088893888146445447747817836211510092815095626748061759441904672195668014658690003938342766264551558068053283650193011730089759094230486907849954307591555785457657781874465177979988589003703198746492748663271101434659114695367488588690380403634589125825824343469425867409479581021352704323448846463159861777819447953584649107698502819197044053826947023387728276305908918050630892627833552895696268771824887595046620542954492873457225266605226296137821602200710111308150498181107638373560341901832867171559621546548785198331403410474010108806682398782597611803041302274955769790852899373017968201496384605520764518621435224588689329128920841744691518330026098856237782089000155644409571558554331809353305898968381647450771723420329895302926068665634528991729772424119559543652426156573484036560144793794925465589936275588414172288332020485309715042703576905767103252876664884489974445554777617085563621156008884835796532661984421495686483992922243350807801986022991375468290497143850319438995960624720499608598230718217002063550264265583365512279804156783099866814762845876270527018277477483453062727886314868547540158325732014261938226486777120199305433250976531984511932800464786926523225273162523382388152258069441242659294901566168716123290024486305841017978049843755442457802015910806350136496970287260807550241438513548825196886630884413075860180251153489284981937071395536981349465657449276159003677546987759866740810307219520071240845489264184068391866017463169420364252668552677124988486228552018528635564184491546612228695667882503258713518402268559417864524391918811015101947368805943848108541815838780279672786069745530392492520395265150173566204749375274272586481461257735433057670359410104502932385122104777519821345083737978047695328027219752684791384577215963931309127833408607592470078151686748824037108727481918122805422226348765809779388047682946002911029282462448297181990208357317575528137223489633464809702425447403908009753428186481767792870097828740810576400075376013498726822553112441223689154290726916398548122170105310133615521569162353494345141610267890669079743766431077134212900032448176190395624252741947292489407469637591781834897132220359442337153179343481916380389778194646111056213503899238907606267957314599733864353047223752157526308266459705589023372903463218504787048407598569333349554967975143369699736378650407296305741441291975511162195960952282566133167666604848954043136041857230939266641800068955466865450685216248678769965751072961919585659025891851943044235109909672223673304141690972295394977391820701979022122196440104690530805454346747266151777623835926755286431225639185543516799010387388135100162595293645158754083776391228062317338272315504981919755907820501833546635557646860660519067101326027581292558371427767915528931132788240047517448923430112934316709930692104444734440887974344453028541533087356911683322958940734005617443492316884996405806492307315767020277688917084021010133257832823737810215274593927671049946575310430382319760860043725330608587569022892845450736105172797612191524172040780926631214371446175744742177988625113230092999250153502080794889862363891827557876356532488429521215332689110424730779056448271466895503960345254873771353272675038424571014159586542893904476524292269172686951605300186585233961298999727800255074040862888075194672990224955248239419288069007315991411872218521417027604032191608204478752626499285438785129436506833035498807058637512513784159685797006624553998895934343470916364699840915748593529615088702978527422037290402862193228888120015637731357329821769754854375573884070652322496899758312665392827646991233809263956367381242321245999956034408545269626108308631917922882271496711782140595137583307712371587400790160043265268678335042915732831734511269530363382912737295075244080244055687638422635219396254376966317220436688031706377745014065179711333702326587508005715472814274178160868166768640386579923138165825124508065700441817153503417423582737136283922302918926581999102546595162537450024428887131542173595754212171311556349332498598733400917875952267980782796735510580745667993391424259002412495977794925518776887042586120076285188672485098196775660810568387138201931207969762519900441131905212430031961850409949848685999545722080593711658476403756194481151225622261421290191417612923036429457049036282019642150221205336371193214798789301777246139729848290408539304042024031019504252211197901783916929728926630086083378719666785291804515055028185712106802484927972391318778577380266270307323572714390095990324935159606626305805181615582118325415413806522596624502846671047772494465151102663823006797637470083851861887959168754150520371225780568589385718473574644651122479499379057935567761614141598725088341661140189762743667383560112145836964040990917465472210062718291987276230690753449011042547088091393357356930716709661193203850689046269903155408086739503740277946112816415319425637225247716895825014089171940011399755686643350137780006117509140002667430365713859314122012846265496345674233590589117080301143440183311261020700542856942680810441089464396347693294107605945499846946361280853311194748877247086252421297948355228021036727313117864403657415873512237629567283543530613955776815303250593327819672549706026069169772506670558680653813025197471199055378248617802671000206388126163822250214972404019141374204704913732409512339956868400660558851322103953917584005598908974377754899882778057661975988958947645726151580901055044576511527531021059611151701364115136927436104554759152032118591307997126241114369258223717055124076261064743976823095012979203265586255891142855040750938085184515945846440668397840611571946401877459715245634302793957459977941656324198565038392626678857593082675907157966997327435464986010964134280979129465348602688228634753721346348992109694347768615579512483643167845531593868194181698033047312562808460558958179667140867497330289447052860921276719004274884691879366327279142526882756223729747454188590155048823131492773036463711723263481573710483834124390312839709209304404444053541987052107588818138924889460856779236108730157364158467343171437204239187351079879345114219815499678832814794047574800822516640634214299799499284133989986812269651606801169469225250312098271046342462191917008403694225626975763800652663874587035716175850084416239140887020204275712149867308430906891481045042839212570993113701252167293608355433560782960348813723337008031927116122688148364474100839441660664016000510870192434000136793217767737527139296355984169342676448021179536306258309039076613110809325072905798200005945899995215997001257835584917285319959399221241055553306755271908246478502300286948418469730520746878868151997815620819431549519699678466417163824967863142982886547402127657513185384320933924865824860925408455708108589314778683094653699682460171795449663487995769349233122938986093440782309583343748009143038845899701767813571914555267062383497780566658716023413728085249113782537815066313138182454162523188549800614148648115538847612059686024117346852581386974422464543155771840358899016983706858026448547411080753170982930173846419018591584839116087384183529380853971245523229878940857385368744554121971563220716161499375134244767595983083971136145188340200475747337900040954605815148040301239558157944174272184722189990130899297835033490154743057738118086679903283554044992410691759251895657746086961590383717732832332318578595153679566344353556262685064094765205671745339307907811925163955850555960434277920537359690123313537339784798712939032101607073704999095897605172969879198117092532606012453069569189722362877403180216724948386553724256449840428420168556568998733347800577800308603125126502090718908665489004753247848823497244967603530446979191617623284467502042380175259968380765480790412037476711886021551235848100213445831281920123626877175561394324678030948692817552879617392550575898278591134032377970790223258443313262492413010030577597804177172633718029359350897189391844296817502361991827834990922314103067019423655977467932110258062910186883830048869395192284798641949481549346216040799127061615539733305194535718272546867845422049580662750486381762597198101574212480909269755390150835407812651692644671891218959590467583454739722383870141545829623724522799651375619143191432407045617055611513085768235804387328308073085790396243486155862143042595461926179247458569499815840965207813210953487300993222821672582867330403322798189385344859357308833005319068254345503559297555351030290206761508945000152315974766565501065529955891071255403080135833872833244977251954732090825230503421134600129291282296222157017594334584261393274803913514782008327928410041737097549773144452128903189902279283766008229832846174677379237149068846672961907014534897030664021353893147876501324923460411260317919540038885268302904054855557114085237712003373791298443414229593323266027664529185550074792600170251435162342632754606495571680058881219735370973798893119324266626841433808485939380361439826272551921000768828274742626254236961791061672082196194250335757386601984385327034992746874566194180633295062764797769338086555357883075679341267340014943859597753363694958496403655594252908607441716231613020617529980656070965884954673205824457904604365228364553230031865838935593888034712130194654428540404587497972568669487831625564634538188125508791380295900475721324499510363505167118495188214797235971908050369845088930289861994671205815423468115819342750236835417343178263663327726441935650695350494175244426210102931695944378258373383133924233971750253195803009813858811925958341314769190962277440031645562086237948810659624635798471530611667334672668232863019042083022143827519147892894655510760272336355548616832393136394245476109844729456759699312824822873022514946382941920326183417583104434666771074952243632648163163987403657359143408012330539128255026711309707981973144499422513058598984185984190417534496007598214984353293704979658378506814222953273613724272479817982461443263518948268934939429787633833188494320483756425977928397427179989999121996141423005966240889010054971881351370547182010446616916341052157872057074429311207596260600562093654375854188000591276996050551692255236879587320675026866870226926699511879836640561182744780515697890662105715978156008625993832270017339868338089330167081124328831176451227473367279523409655250664025952851249494578968578721536870921914924923189843205212744145097802769287752218992456786053411629937478490627320908021689102852352144052987713879924375925142461427228178318566287241647241243200140554455088827221706255505288082771561301526100625749710515491003847708941190816071042134203092394593710143109691361187964457954507280855451635789887431820962010570718963500282170070965453855511477055242145408888563139473053875520428360458885400224961264936376299941735987914439933893477669317328041526040860122918356641884529204973683510910847195445638407839956410244779893710046208496309543587916171880982165681399871483511025508515636587528191163789073571997146496702099348552190212405421866587398313490475598634314863452144151299494673781036275542033404042863843490718382286044791103203275508959002183551886378631626335732234085452823147429243494508952218652625405281196386959745636172846723484949969319091641791745713039871784846836996587209480641020081293548385026824738874094004382492157107961841033919002696665679250967757032024669977137336288431047708080671676976227894246647266633034707700636995639878365317262122729271826641582174039144543365149030496068344413999788559931425352805148891754810561546060393058002160234231818071304784128639349447396796899590776035996681689849345741632877845139907245264870526356888674688716396773273233175006714753042460850397304317081880113504729582073096451970322319825983678808354198534481436173192409515920904202708941262486158612874795445231051700491780826253453926090973518038673255391821749464683634286895210548365803059316594532535541985151410625960321318972227618917470593936108390144507866150718031199187072881758638389585252646995649802196904662040104931014352054196025454625646004802940172798150947925029840074313467290394247541008662406050055683819253353397336714020758397668446243075415620293429688329677364253497438388045896821413311061603960740256546462285687571779978346085982764478220817741777069401911730599852599107353329823137829837398425314481842348333969348361115300071842691182751288818077513212241871437711143833715601665455078350655238244200541592735537256338834517310372853891206896600811904018991861804829217535219259299523718011665475808150087029446574676823228140808056529931187195470134309475935790651453719459749952200835066813553565668177406735620629215800034214909191929432966905450725836200851242231313578508908128210526111688388284941286154131743297612802468035477670268098565108899796246047273612229105251369592178294805824463362062165986755849875773269841314570682552825734363228189286025419737735647861294571284510086035664483838288599019736030702019453363250516720491499293226861940802714341505237517517127429151944582547087597846002660983369839611542647268446597603088877035306244351943414453967201025955408776070766355427770240233696217302721081322170896406424905028894766773443088092071880653971293558861519171707581004044615205190402652713531975519874301790071926210726723314439588213600584171244917915009616942478162879520485236289726531772960696970764159616013299360667038628605985839540009985694392103345644443144065887393974313412722043497407040608696129311619913490613523929622975085466470742262865151255446105567958182575638814143808142759516725561848767517293114902817480146705027760623555369463480565379274755807376318450386733700967070612364454541732477449910094038643621048905384580297362214878966888455481259405834566928291831176563871576572488701623537111844333402002862331992360454588990644093249077269248217566912518096113578508799603433303146589946944170708963106201240555311916765521082971245917936027313278200402602186941663098761939109943450224916541133005767915280456845691413749735826326652444604736383839864876303598684273029478586073599374146199265256785311685357659190587743216028492915779973819930214949543920715676118318972703069802680480063041754929059433538884012710513424953056643311665286124263880202550289494033381649848749914576491346396826862745530296060985694423644206978722343737127997131145711534498273957022581859424869731223575367473782300132602840254774111113920101445708470406869384358052067701723478006952027320750840682431188617575968317098067495743712846024448022429512126061511201461176292926502935973053394702498294778837530849323640573350206822033832896230094949393284451934540062372118055621591098351802321729503058387842933598576103869513437020716602614060605166787285066550506962311248758697929349986708501864418906156248032432233787121021302263084196243519353533589953072613906139194237345995782068212160574922820853533801753715369730358403650161517756218088559354065747288612723799027932053521596796092380934995732809798791143813902762567777252855808271185449860881737022478368405414428849452136043814334732968567467087672602561261259674659891033299056032124319269778706564442125216590749834069096589316418798331243235536080674157182869323106585460504710609631975697413857398003440521868871174323000952525569492624977782919082309157085266450638353224704057517951975710505053903959827384505102400634957570753575840314482652004795759361893686623289337867914082137411026375070465503726914978700672771127985341264283442052086060562956520552539281599271156873220682967560619049008648944004337634778686419608831397854468514982993196207232153583425976328310023082854527142648369038480453708589076631606291208094045906969138679996849024430023073156540032161014673182508902549943915891611050754525120250753742712611308395133256828032832324718370595701666923154867712945080031783689894334297594262270674386128850520394132887326269716632493239839638001033036973857721655762499849667369608462735940441859732591643511906671035439447598564868436756596757775235867297662760985757577548101335090698968022938136312500433421188116285367176191717998770974250753987217697479954094871941354038181208740807052713629670520018557489708192437583882028375473854819785895586673676626856454490273059446075021541763905012687205469536974669152929650399557452353705865161975173266452901083254105681598885292060612014404529282268282147525479457667946354467331331291961307372922838783524524906319344044712131120649278772828676504897179298425844921048604725226448199947848501832421937281472820454848146038487443299821032919426381504130183716081873260983813892610429840288853945758953980446752626758749077600178389144034640725459811916989842613852762211637047930447394225479043595252811714428329351957411877813111685571061536255540510684434146841389777861521325780474267458754049251689040312151110165903432214622459000667579894813960108701219063586342278229878471188128905705152567496268348442307882404411124999697404807503468117726598627469945283221249673913103252211489663503950329490471612557237084143818272454587296430235435685625510687900588750735550308357548112057914101462425696321629807051621917834061901094348831042856399093382276433518848498583398109515369418462054704460950401053325279801446915801929782954870277545263537789409136598631696317036942766811022375558239905409748617132078825857203559297778365287073325872217970013962941107840394966117469202775012829040906644005820109441121933134152320439911494700388301761913869677217903640065070659015380496743836599987019576727448286601884366066899253441713788408314460758572719404237607647464736418342272913063448437142601315770330994520668617636304472814507128631320537612592329491078667155960098945254591900696952963686313661609180069849318918481051631940400350784199826771065050702649947283746152401168924731170930889935774001550010726035474180130593481178176328740467868387206019111445022515438879926258486844682507217456858943747916254337709061301542188659442162872452346092366176000155439634521379777968866220053982347973058748963784041396357336882478114630215837118960401836585785999205544937624785277198621728432730262800517642630008011289710375411011600220097073998694176772387229078379541321087683803242728758547200401419363351887811703923183822895908031765770573669124242253306910796221030115321322856561760813639377137766124927753264848094197250864082466206583526632463836779234952944317467591250130482911001762355797698634439769461474228636825229262032541394223060324175083876106031833520732429283960052558392450073740367729367277105402495693899360470606345303534339043533093045448399614921630996665317751691496580875058047896031358310566620073794592822913831370363798709682496532855160063656729354889652928858277222725649713658305799209998499387292108100462903761296820015502006562984635952784401168681180761785116569806355132781213029303762110166892191207359185526344466452707855918094217233541304604772626407227917382113315444514934777425621702645125190635055660688695889848767274956498021529203500724249803361532498177598485911048016682007235639498345689386324344991159872474412681826236616134014534180281668689270613900769993406262847718731196631475849069384247055733309715564837888708349324106646850851639353854360295378328154200995905694765565127921183007684358046308104735883152347148407953256233547323148402918124447834833476042045314288225606037579212705443346020651018165245827613260416563822639438537737996339661808809340116974251487822598241671149956463609806873844019098446581511725497401103900337515478924984737773626759095195472452983944839512308521102557944406496231800013930571394314418854454072064509349801561305853196198932980262958539345069549871417064808608851558803623814514366796820433911073890372715989305269021151301854973349296546776076470058346898114570343437924537067713129492778730700551490055387957899665305884869412462418823582438793693754045128920069726696634311488533531306057482944260339948746771962802866837118263266908201099610154472332304273065331018144078265495880454225503913602487392453488829623186606178917068027293916141805754973345445953762429092519348253199883373893488058480785564449899533099669397016509065862701784844869847758099183066777761527557442052016345330792724777290077600964352912927216108587224953321180497274787129462060748506527414084220209085356509419431772472503399475922052183124237181644015930828630836596235209314533799480287499633363024160577617154911383393488664318193944968155094334159329248485140052034724944216850199415057634709403497729884222135451532708186520887924507167902080814696833096483110633354015878786557242137756146275569525278447746606135328076202003259415863939892848655457039902785333591248038019549537251839147543164374142673136271636350566880167607379311026466843327291478119357660831446504665461056723689332795223436410675395763024785270581900080006717156976012902068674414276291706974418413133586981510182425579326456594349249544706631632226971616747083559676370167312648533680451954157751237565848058284590075930942211406268185935068986759731883448549785244851803912574343129442551381485015868582284165415457429296255448269107071727383179130764757928079346106504817201825565412066084206064399390189232515623547110385453956094603039277700293593255318398032427369186132809356287698137954732783384255761554615716048331803133586638613289887997105001887825531537923400145027998182504545946972586134986532476873126040025162605111819636740757116797727138624477061871798157153655947216396975804835663538630721543432946486634800130083845897781504513953335400260936194636885342732612725265319957027030004786632743395167929763708977217084445695118540241575304675561954094183075990303884692299293968910838959054822540717325035150631857152936104233621286968930909059935201590124512084651627297779395606383211010872311970759900214038848263004845990178382035872669045206830916416407201681170327345895412524149624404233793935588043236362120114526026170878415343123373463509063279036792536087148162018466132701706660143243592762279390108738694039333778366994086061751705047285750825257186963298884167794862661939018515240602979993645749092584140173921445541988632858507329511925652149497566732898269333962373631357587489570098473413234944780842064918125916397040435320501519722556262505710946954840787620084842696215584385800639768161168420515925674408288112416497922497347958168828041200887842873969263164150047909831657459021531587006559169187033486983467099479099398397797614530502459233956994243058047950150767433424718598225631403649300574522837044913667561139521993903571133210028517027486277462309173990608673759506747856805505937956740435622251923507073505515624114717250782389361563771890899497642234135867970041597363542813122990984799246701946216389741887076703116186524102423497152604486075078672949061980300860622054349835581371510106098739544709949628257020454672571410227242232568935560476571626820574261503312010937032863104337442067774441232503808687818731154383978541420131976780496600813066874122874616624892331247514327727256980393496591487164213909270124741358370454946076991730299644754991024536216742580198185793187190221959678236678604985823690291324133801826155596265365916424977955955203996782560498799600321333327203206794053570414952094011845394520072555035986786928351042014695440361436740913969308947692239951736412355829163360930338665986124629744332913985370013041995536950274458732586150175336084166706496180994752593461280630056907718419816577118924950483142069344216964684631767265856667916220249315859363536172914806674965511956793553101889361771175021611891857261528348648947254456558916124769583618999438116578909901895412119798473562933216635457839191608352389324148759273236691356444656245152088833070162130365584810620609049716967974222714368016121090721398199626285549076168437367911867831328446434200960995586611763565878123692192982813504641503863423570336513290169788328006181368705596983988082628594277081056809074616597362491507857885968337152458066195268149505004095739170337992015833233859244151396427044652439450514561287532792524955984072205377437128725336641041197025675293680198790839046265812072771782134801437282843849675906152650626422646818785440725123956799530699478430188575963611321555009182156476212131593610339909861142591031640659608156238318711833479808176292909391227352546910361742048873794210825108321915424796360184480788038107063826938674908440602408490117491142591191184615818553663308630178043866988334766306634352586240891994663068606517424430068868561223221088425600875536229365104161584237451404976420576233624444175028851311825744676661684448149771211193987452921692766343159250583164492234566730800876534626646644967120942276005696997823721514357550156139141568525993596389194022885981208418993375042748748582121074282505712595524658362213337052135305358024081546016145043481138428722282284433960360401518153904285910918219904460363714369754424637763762163206410541260134286349239090403949263984926007969269705411838041548910468705258701488978669247929019222795646178868676878302416376966409206204316722433065964465766810111935555583651882558634051405672104108294921338004275894071523817788501311842538323945329095521191300774792654152958614530407745112415405912264011437182854368442830183377184936323188713313811553275618348094650739962142620884112967907522258435418047939077737379160687473349751044059246943213100059725692981970273470831423415929345207519584712920273037648577245944637011374588120827455013336194593774543152742916794842218492040003403396265833870854453731811737059146030385335406287848706752901584946356104934303874692285350713944240379301425513511313897301049893288204463172609130183359232125466283080745305880917077001649055289649863513441673347688842567183787215180295413164135633944186982104997821884469270060400359068839584550818312001112093292934609412991435431152920683003434002985064007762891027984062422771928110690499021078310162986891324784836899668870653101538001886712786343304922483186763776085099971943406506276971136661065952099049771848525321419823149499780668163966879543228134063235400641631968198131989741393795029557214289918270319109874101131335562213890932826394899708321488724932628396052244113704629013779255035735177076900856783154144766799884785290173023716572518082734469439650130074292330081444337497277040086621317327154292421545443126652606535648817091526768173354879599821028821291077667463396999145087166606991291168891107150424954729776596605823590707353557840852466341002001472458842545359804228716206227276181892273082510023424764996457991754801060983005568349079901807732170357738745878754973331119251790940323136828069346097721915780329523577157196390072586271253308656157286899836793028549146321426363173043399188911759016707090095570141299041809978530158013647665046677376898874118524725684470103264872835077689696398633728854989206819157401728062343854732064548448496315520280172252355225184978783679454647105032287525868800834278073593322686642200562907766401280022282848104908781264631078327821845414287091976430711145843535526681768827618468284395222172384542034944481163474772903258522020063142271884650865567165011211702341298228183669040196515979452250861658781403828509640215821254660196809930766445850433164365986612383420618275554178550781484188013394431352809344317062826782034949437768581710888384102402555662025063872224748360890838315936661278106029337447245059127386987277849648349427400363342595240046019101246941805306744940032773387448225684535120425322107748110733670100663406405940966456277528265319025565077880243090392231861193081314220133825398104555531276747248570452731661245371014030391753037280562339627475958055324631725874396376311100222729538503812674610911317788281454373408625822331836919627839866500590542722895354439655976297565439267890975199511990410999305148001539192941780656116108285178132009020216081309816285344053961622694677064067472824789999556905415932710114649364769624084699821243112703338960362631047330101871980312408585042936321884375670401986826643799324420331239477474673093013410380182653693334099088498949707206359205409803492820985282892007731354517081171432924179059991449774425283378001145069261515891863318003183144090030337670883209765765774735855230566627807359895635150619239308182913816729939056485718067681699334377691278901121597088952159847701686979895295934085242020192231362574305837500218240053833106314910366228123830613810845126273822288843634223334300444379159942173470446292682748979807384241169574439084756657846453619719148043348359552378529158487667989530201997269322386247056770915762168012075388156167378920840289357613029963689726502254862212157754308903710089258620269825125594258651442234869675153142698907109053172816238318481084662492837197521165383681852372642670082767195176086460487498950237815795072861617767593739583316123346715964924271739289991223820623019458396689682182777357327375521124699850636904447058059904849837957636028756436228199240597190488712592835785386785209619413851518047046742940942447066935528430410655245126991903589927122294626976283011623130715609780070182993390514861739814289643430261386805188501748874461131815519814789046025492501689739274214863922566997668412632029151128989946393408907602954385737960508239505325622292516751403306591187511164722107202431916552269284519185404647911574008080094205462061338530878980410499602568982938694373975929264676335110007927264721262280621279527332593876293492334376785365940616105865948966382768835749209634008431008274090695107620382424667900396402722913174431029218689582621289838216384445228448781113400323534345231951424390820004345523662221652159374872329942727188632511783711761090860074796317298325363742460980265986512774068017837538944452869551589693597367963223471302868649201879938038002696095232860399195672494250772876204988888419630807582264461707012561638713679210156539123252295927239187015399042446465800178951761913862036635898812591214617049025919384386041362633489548463719498748767635518886575072201049816018571621954431303160135212815362580315539611343954603647281670557335174389886867950642196267702842346567202425095871431917812383573317227599535491231788873246881858469554239499368953667884702239623619257246341163602702815726039600212648973872034052842886144036801778991245580949906878979280480419085134410444313570151714995618816212237453534325099222815268993848562787971248694623284368280742002592240206176637559483927199555492755747599667389983870534666060162329336244321176302637636098911034704932986761370416765346207478858279198723419608764346286337843083663219247695224131703082671540839403565177115680986686452811672572654745684195136548216916106114495412239445894508385774662398716357704999028140037704552247470947458874094982695277769136967644217512397757508449515431679327245355989501032122915798226855813191387134634496054170110296224508937315080367951835936003595198611991425363583192673354062993095676569853123822252497307898187795567260536289017366290803156031772359593326238947879777013748549714324642057176678869988917966654855954134085163067794144635018210010113729079010082514702021759415172502368969854237273095939047195261994332618545252526235838490220634544494836446007865927324687309179813609266380519365910194652498728075731460293201843817013386721384814311879244750537466205458698252900393226575621902825307190641038844466241895457473769499856063590914943700808070926088349706907896069307825921487589756907960972565175894979805893248201798257125994962241408482846544234491440011042779821747097915749215506062425203710906204513485761458675013828828635094096667084358892042384072261778130849480975985949420129161245790830414759420586245068876523509211769528164366030865134129838126183929096916528773006696026450070901530681893751029900649055166620177466755416986290392798920749010644416548689854201667909674029674011193136051060664997058351807284165918259112554927798410751529119382397650291111199409577752761588631753773114147760826747217772533220406521194057283773813359374403444983329366118826198078785310994378605939227941481550791632391694400999615541098125092334295867274975540621857753863782216223816357480158418539532899993524729121312415382524011130775509562241412355365086226541849715515795084621015189893189664156867991747285208447335038970165377396725905165715261578092973685447741544543874380617592168621785092535293929407116874521137533362080826616800783905835541432025781919780576976931869899090937374735702482230477358799782034670564567865613739788768224841984800203981322391074959181409486073118382569039245302192790213226012738130373547899968627788906967587610103636329210834754359545665912992133673242894870229056402123598351907896714769582207202677338456750732987449037461792687772279254777956220302030598621049074764113893912089752842226119099139452690324835206954753490618919582148042583510028343175379822330639547610002270748977925227200636374845924226489871146897207624246914404691834246908765132623534660587686939576562209099555732100803598298694024478897185178149690063914263075541148478784768595988987237240101875008623288368420237765501465544433591563510301666150814579451792181735070525914470600174026070078894025136821812851168318834563727636020920237187976593775734487043476226584767648046517958815589920491664780544784953806316482782116492465848761111125938542302672962215607323313956664789229413365481540834734694421522194885812217439791211007265047016999566214632233051096361248470721314707530089331438536570225172717605856030012021093744939809388634297210674387734849642750721891316910183656593782427673483694986775050825882682652653473229404743790825044001122591254043928676068001066419697062376123615986366982943405981951052565939596542848329143885844901093070829313640121146598911668709717814564131339302399902250578833885688716014079220761553510265969082810837770929512325337313831890256201277383953832159304335830057539286745842743671529499215442949148938832681495854063798772194038017540229998988594873181542684465848672885654141318294960536006682402254262178450356319573997415086622243355944218266961858379578718227890073460736113448307933631881785777635092213514085186833061489122965659515051761290554020383261308683321303926245951609613401609541027183877413639209389816657177889859790888038154627657278044545019892228875474632382477421146911195168736147752029513325227677832745120955738865891229748997994242480920140741364636901417273010316941388911809741741561765217429685633916580753035392763116134972931047386787266656039698696706515396541723874981429515965266094597002846700748107199824083350078971401472689951629628994574605950442446786331780188006187526594581124862117664161601006324334741194929084746873268301625917723268668288795901461456267441622332074415139226340481103044526720429367771707017465373694994062678779649325421129013287232348568223106583308697459718068843145037078759550237853325878172888166143717074354995973731979492612429706907833346034600913875828241067488562568143443720366422571727062464633736654125416969220585029422689732013200969658751631580824675922770055660022988296601105646718945704027991007443274555870507385993142980672352621167349226789188336212093553775759379348237255353551698684661746695327513265766578640717181416323291703427623592699105800274659829331283765096714158449519947025831441078839895771598949125105044983631070517815121317309694100059221345973942285391308697215869061415925262964655931685830827519508113429643236625990553244082538282942121063178595127434026026319314301566736517523419335343384384249733113855907655823270562321956630451487722386382285262127648034863102733747734742623804504800444148643399516103103699989929123719568673184179450338586141910425213800781231144277845550564537207724021524010741724888996292584669702355749865994467073070046791268019550900686433390079737447262518543112320414964955330931598642845557547658379323135473405232654741137901027504820897917104556156106427770037473402453762175535813849891480774795984753039712865142601014311971694638116605388747295859895306521307095894977295294893186112741920647276671094056965290691849095429385791036413854332080761157862869787941597014847344915718322141604667520619746266463240449845230205037550559625992652671428579965674811981721659849294997500454316831948839735855380135759157034329294313997309424519507307225136730149267491989027572809717344947054709695030319141794771846958859778501086815577169382851615378697239625615669588472579671912688049631751272237834648758303287048818341436912643061731364067164941109735999246041153674972978332862489176920989864268035265364303781411852490318834008532271608194176703218766423388496526416320790025435009612109760585269200416855340317307969032039063375537334522871059366376094005745822047840410834315536766479880206520265200660547898400309335835622550513017705230004656849418186594539334129021047200333880301878414428301087629293927141237484812702507397435798725079424737651580508641076083636994933060604466905385889232860379354192797597421246152518591132525653568960357889279711217882974243744271462779715334690249987037325043920966676532699351311783960122585966275592159530570900073503754677386885349078301972460944237636093484555302741201135363276613855332391555107709678074586353053985695306182345590972318143501812289304415565297239617087154758136665851268719760962615255996571762019515432108686361318976673999932479985692395500617445250347382327057181434865749261695782541693380731321957259665569672572725407962723354540587142120919083385837072028721502010016358947218057321640117723663854927558930410542453378272286201447599495167603174387925026663787486995148175619287542660839118746971616214795526442896534044036091724207685832345255996361383360669142034190610714711289322120695817639486642634739883011142098616347846604014302333219910183758237933860420736938838382125415218289248490080788714168773906684578244141395482929116901073764191931373680601725696684374837837749778071931346823798112175016398619360429363202720019608453199776735202799017004846251001006235932622127704724219316747476625268078681313499196064585253393661610429574580018035194289420103366735988103258028286466725165086033869545755242544910358602013620176946344551614955295002914200128761460508490246650498718550466294098501745311848552820696893643256702883909356131335247622736171659811015772644832587112660037434908035336091639338950015755368709945437934561022181696323318163926245308371019630321003394879543729561327765568278858118825805548826657933899193771798244154794080832949205232077455193984492811686910006950067860035708938540671617630088317690562952497533386208779773581981864541480236347936095908320727994226564272926223887754252341358151434824840825847293964407550521021066908460806228912581437659664759816766149074737953063284075245641478620384272721308280225018004460345138648713628776305704442489840590951775678391643676986458800267600568250536839046423743098492486213235883553870436902535304777690505701737603024940329591121399805247055907668863970310094626639770058733086033769068997381979638878871057309054678914237164211813285618308238784511256400770689477479899700545500592293879322896318085714044759966527200467978265629556819968331053601861763225750846612633445454581770594986008260702921975106636142380004733557954421342533089657599454185687819680622327325409122667707011257459170420175263421037856982598181428530869606633349433294223625796378156880765689211044578968655132462223597547127628800969371458609440370716531425922817374003346201491171514992241134216023525120068655552409116073748849320697280066833131456933023137738783318707814715716460819932206282314046712407111768560660741658275103729350805937609516040707849063037120076268581966635977428085539170798354298079796482613199492715311482731435769251229911345028551935267011542691296580002443489273992770117458651763653276667906850482334709749634887434308408444182942772390683921818842523089456895041823921711766749092888350165185407676756891817501721951761069107341288943754904545158745707640728005311886166376118758792164168657329297459992700174311749368322313688973437124786355544481419230807565184695182752624230498907957579125177885523993252385547846967205051653377589700186119395177825480645327043190849742375606894767583199843363497422972388253221525569681991170162539624876436432286367419801119652893861826427337019285536274327866812978805306095767813241805415367329036248507683160107173983687261034586941955501050717048301026201996385114707169897171898126042327373678262553189613192944935295682273074234030082960515418712688277418465548321993388622453338186637154819283314148637399975868773970537693244560562290052267975234823706384938176518800325058697039770993661510323309986684911433794326529715452840070400589211492733761138545613165877951810959147955698187367584819582015339141952471005015144380075873747302442173454740891627075312561279047645234630807513494815755226123780992621017630076711678165776751214323848408699597180799460681499659301965964401408515189982022852814931062310020956815579965054289366093511635834933971203166970885176759316151208718337013514710005390355623987645820943815681792331891034273961923106207518389086489024891297475210069364191315138195715943413045920026033480150538575581606700716448691524823871273983175703012377439012499608206139214862259833239262658832788046379320785042198830432114664581294133696502444463482398407728879076486038661229823381200915452372079913991932490329232933804520466725918817334642398544845475741870385443381093243691474758041618847168097970499254851434928879404594575358981515984266461394112613583078378648966983054786565994978703680848244447084662877184542459161713500140578737506758556612583414034621850509262680794730446249793440612189964427266688105659572894674588206927026841193276115582128150523136231874500408337796610330142000132955376231590199987503922799465199236788583818662745186471830033007874069495983738459642989285619918366591236267956781475920066647894690172297857963160362748121133925411787234980040535557609717116534145057825093327987491275800778772364818637052375466620090507102207995181869023405141568397467244492325073124150982774127223154922883247861609170655063006495643738491261722789367580707261534231751060408333353184130501256258225995060660049115839647277913314766520701789349632441607824458244262480116825894345846798260520537681370582841124002524809423529564225887822711735714255487843816306135358650665829089361415451293734053273414076113711774797409353204139008178267862167797431009139954549134426269582903480437597017718462640798165085443884844147632094303385162906337962340361937396114419442463324317099687971519473008286937151408430781330738145811130652390818804821244978016672465903874715985102981628803358471960288238417754350469021735708578141559940869157855620060376460417045512111721199464059607636145644506456959502575315288295003844791741061509681756892208191422860465975505337662670204728901401039387302906214122978490632730970968352936293784273588856418980486124254084997811936275266098406997803330759146511824225915814723999641905757242554007128718790913589681727130381513232233699062151193986156345199250589713174571100734099678684841192675741179210931689938745245063561865932591102586326162548276331903794195476473002366603327927835966076406601964720096071152790165641591098949584450747694367291293139428113160640669845932164004731251788798243852766197471824451029391436164123389274779873091106849024371029383993014363477351966305867576895211737968191970576252448523454950451330482696165137294806095700625833425219105129941208151517413843060490223061848196410268730297029024419510599719863843775086549003813592942986049472545703831141630491253468056405794752275367212436477577860242631855704696769892874654573248030020495180268167020431211356175443479075459144554859818414996938915676809584438502378792022282229577219574628037116428885747989721105950514962136791462002456139414411250179040278852885931560848936432367799328111407161525434709209887599920733249320185749365872671673641600019911215271192615594245454759313990447050172161180405954216683609336995129079232940254564056130523084817720407804866272949454403642413211799656812605492024275571808916021664118438540530081265058963626024133751885213908984694690658124813024649912058499879994187380728642722475417287703583919381235199732698072045855778775177468081344283105017130537525781987307079546204777910661317321353990194390343611297675157645943321693446099906087954374222028313183355604730907614816637169202081689782730090572622893056725827088472693894341451599002628980478087922843400834239943940223536014974371776073835647997376866256180799842167380332381297537989730279550138940179344962051419369918854567357582150619674040493760124842378027303049764355599572442859353767603733875563481783622606477185882490645108594889396324319527709253895857139496018815350792603597117842274704232773537042021917358510880694919648842751829516997059587660334695125708039151450718567421813780245597218819220933586502256489258595021405426099724546597894637538669449499040901589079724953980718265144121401093494686191969557399151251789003577162721105328864142862388497473298347806686376767334997542067443248141626462275381808306979268908372163349084149162760049844376893853528799004109018494289117733490923254004859744640895155377652740049324235812639762196619539873194023687980619846023762671487182328569800627458664415844126576186697885199054022863271537854863448666354233750454951973864629327162213527469995619362047788860283857768296819309098989528502560418358354429977027308131140154100050378993573994982923601211100363917641463473658660281165633478377271184102572098051808934050785996253302692334286187849444747180649294325728714242516838952123291498200761235117084217489061531600681722969080957404963505568792207149399024285455876084333132335919143278150553904558634395297372341546202120655432066552539881509576407084518158755902400532288296973357207652736029609373010504250210302667037955267778234208981137487111441910437718606877105949449357370938080139201393357623612618753717623713412748790853379815261416234111538377549372029068805691053619139179642655350890330105964389987635970380639226293324876160351781951186173592919463673937755714879614168584461657606430003658608129671133878888614612914972044180780232366414304551401021913643218849953960062983585710901344951876213251948808758051036954417061144417318595483590834608560904906955548184032523680228657528921127994801010657842468043056514157350734688512132179853770333142578080765493033900739680583442572658030704929109428657311763423584938110902639209713174590153582600633222000651898442540079124516272171581793163373747091701582188354402793764803928381945509495096542749008764171954668581286825775371427919680243868322489684431260077180195232977711828294105767431575828102795559838400720775733006130845867684073560838596013408218943574631526135716237335006386303780113513455561170639005551112593536832543305574663481900414928548917764533683846343444886008312551927152972124721091393133576367790749238126918269563946838290974172760094206016855648277833813101188552318195231692941486492168000121765877249011014390451217250308948418142817532538371228183033345076570919723193340925270964584954876530546180803991389545742002050071232001588039091619180937938875181737573279465241937882013186000133235334534352657066283144380821031906447013119541129359867536118880320426178723246933098339396784919873335147876527547968826583318731748600151728070833457861796979781429913291181521766688648657260661274037862173756512519373838514541793585493358759019828040058761876907708341752243216204090222771290618464393309567986697939700502567770658946104204657588005827650651300957356040090434207335973143963390221422228582384042198189204493089970951296244422603353039273577070243331333199140567918907503793594222747417354750257435736531472331099754285140722742072453639083625058297522680324791853407628054971195235545690449888813753421390400210892001288822758726749837398334616516489189997653133026591290522478394219492173786147860798632982946544627478184336582218823457206496383627465221952062234095053463040002966920978106479180434551519897675338927551640553554334720337499434123860994147961592724023773702362224995691483426627590173581785641805219840936243641125818809709471045355658014368734289175245710987823420263159015856300732915772230269466988219849837144196034619001022260739944042387063399504080075265252971093681208013334754378783021544424539471879662031090707460697291177568632488059848266809941550496716054864576465269375277519330306572204999059777308390506357470313737902481188777301222331486348066825299367567012742401075975303458421484367854826462131900888806545558639437473708866618198510211393585676076686083908818607728059219527776636808157053647635486408475900381233103317111927413496848564918998192596799651275978773612508036258302794197221917933829611828417406821042519295108953978163549908962560201550181015068887466626460791994865582835262220046804801110710202891935452308864427911536996933269551623065311517247422225908437703939872222206020818969020637944399305188497830157518104186504607258150669080496316072291003977395839151427581353407745256568577630797013274814087805915686355666671832024394732337542677295259062617114031155049878436794891402996768818522173278715617095500652244278827048160325197190381398885650819471480633161878527020427716360319499052768275022231464558628838682893519343362211877844235735830747327920559077536050665745536490039014335678181544220797966708784592335626292788336281943789673625665664776462718452262804032773533604522842605164756481726293709355943268793457088062958351326131557884829489318705332103558526013852681918918667173441999987484028813519385517205299843235378435113625241713749319734061896179399526945027122382288592699174603844862910018611038145724750034380105794949471050565666336473812312499661952847050849975335558413257884604549659290700274683743930708842538406961219389831028609250655349754381623826190959005525953382786288091953973309112217384859672455840375272349303711967291061092776795686939667126607943172542520205838432705485724760379681444297331040231018219348261860804104555569978607200734859969088658561267617459489331680452600960393592614093964897468979782341437755283463925727288391925280139670348693188856422976340143162692674290911626738528406533850272656327867964046058794675496874124319100519993688511226550724854087355301202933525167428194064399145851182960079278002265791856107709341379229417090253429925482427567147199964316466000301668248436872590314542117486350179575940775824266354329646966629690713996845523939533857570592963816504500086291017521682189956071224079319448460295023963927174392813400555020416870416074156401488139190714699762011442130050174577802465760445502871330532940405286948181026762400214668828453751834333656858317846020803565653031279489156739494000248383182503736435481327410978872601883300393982705323415965440505766000362597494967096608970308561190284731585031684106248725898055913993957366894074597378955459813211410431457650710891930264683185001384072963306773268555337243012585495251791961949776156251834350859087608262783595461240871682026437525510004511018722494578702392376261794096649121716264070559640236555724864577784567159782017775742579383408689415776360872363449573108562109585992116239495943228447698969455575208215790698797328163241688482884420797220322246690064096683613224183913469811102433362099875154526022355314186662488687629900617808782611114356352802805862848420209551887951224681356284529969697112849192125184969958016302137302828552453565115838417032644953531739541468788674286067189616822928548168943136882018316640134734401147408879836843116301484309073148628417524592087906786856031670764366165884394754953278247518774000406471939371506539981673984489996635051371898092434817744851505646014256886825740034052108270526448229646297770364359622903189189263213973721349669600009260558151783657384633168091767470936631618967046792706756266880851276829854532186325043431495387533158013303172518909621918279152964388274101208268963729110697782929053974958246583782679426907489219784529670455989226156535951792162241145141404907468434227427127517263513992813958957328939874717609262648537433789694903403767922686438965800316219961467720002779948790791959470698467436823487348378126142762037548805890035133756091262541250034421356474423008475599020226295197601778814304918295883879005391691868638289413745676608879311508171899810529691460744563392721564558640444527032899659674410497159404308301858980226083065570341389455562825612080843009053749209952393444581363639452600644341002065433944650323564588444560398702229688799253008970626102803841883809774971224940065116583939041938447704414029862784302823332643692067112925131599882865161441863939948591409637361932209077969924424370530930383502786513933398106520616336599819264092178803376476021111767319925357914214548378432024954683931719754247146403864042075406787184252674405512540040278198922934350975283372134634801817811061879728600197174189817087409987555554367610605064779136895109780389530491011358563924653217814454201099123148567520306383366701370069561709775089247515105144906218656929256214947510138851475870777647067826757817655754363035528025381405205392643834868373703884461781943090538126750762417910526129969329836105176394785450089013889310237541939077545238549588093469471671526691988387782529105925963914144836531868828673227333173442516884240300109245704953314283960232716581281325282874751171129386961279543563631809497151168292036242065834517902158687710765489440477662832496758712259328415425067908166185646317290005984786040079963855104699241478412754725530753703217304680408887838719394161258653428272504487951791695387618259464847870782992451429168048519918457435339907006280258487494169441624351134330246573117592758700816139165746019293400506887192288060884726855545070181156080231377957639314639158989926490408080673204402459294858008825339376611769490532897936706213027892901047793409926938174548172626493979854347495240250944722693327758246651907055585176427082679454635441398386879752340578551616156838397129469121743194278232512450811886015794989296154829741221386597117927029593645271679925875760215988071199878132071606056388958147179636396573815893218167069008505649078661347210872319388094694078872880945423421331032625146691381050476095357920229444111528455623688077953937933570074560871084487158450241255587752915072834039696408061450145926138108114526445078432730425518804794020501779714157007648499958682845798408986233734853528409051359485886370536825508100128152600596685599324400252818805483635329524673571895206095186588975035720709531775426139983930370403662502013292890027809980349102201408172582440582493699770618940951059598280179151008607901299682114983247715170673958391668930140895396160398463537558071791926939178737151329224947596507318191304757114739023171755789261127833177270510606514662665702310586481378821643190238301182440616782710156883662362327264047725353411145686816431234936987699470976012188649397204345700788299882646825404596983269482027626474250542667839225861397660339054480407945137280955788855712908837643296658254453095089318803083878281263760583078489208230627410458385609793650168172269828886117742666480826329040669822676064492217485063229036550858515156842118613585973539714567330736313326636682945160207032239771904793870064224275383411055097028407999294337783546067211248326564248430236804256428325332049853803486156130695539606001021645537671383760343338444393299414043040926176824647459202390602212118313853196673384334454236367000614356647749222215638006734886642165326677470014962992674205688187707458572133813010302638422956585132470251251018027564606541986484631822576056756908948505990927087066797295017782328649476994132007599860033573250359867002571570384508564384033644279774850923775767299742894716842884288710661932339215966707111704027590197431176473398015817562432549709212551247778807124131600608278782502557981920409036325567563580706896242545033419522282815057023044352481329606059296440107839499162861759447904281774567824453361502590030793424666644268865132198347077879446440306495643978490553473995960257828375828414654711994852237418249722915649562535217357411212954289728069189133554604305364321709822297097998265756881393903385568739349699704677733880669873103294219950562661059451005780492435323358270073412511404625195601394593452757764691271397833664706168919938236336256334791247200308444008882287510040333567803007452966444721649377299730465254816997351306608970125192160532399836623081671824214562937305805658343499839626660847518967399853392533739886780543368776998887418982967832374468334611480817649323145778838747702923815097960864573515241623313558698153893307388750529533567194159159737607853532527535281588691980379793386622084577562481875384201675573695752300428152591710719757820639225896970567878103670920141480304216169477264092879539308145758905902779650543319060791991888889758455141654906049895009429066351070330904564310205348154554109391114975687885237697323575375609456140722581940500405233218080890274609686087598540883963767634481595358199692729116666922452547527042610167861655141750511413701472943342100959884628804107889320369874277485727373702294062261754901561326794255880629197707789200802999932773607608852884375565897195348451090670092063437902032129440768963284483064963758689253659521471573018902695749087108083402716760070970316607633732842121107340070876865913847757391807396369437586729726756370438065262237332297047745454183620639910439579782959995701661131957517303592109227279166970769323402359010721384458473478334858135648330040146921237868534475239406908249970502002203030123415883842700151485346820230060438325260127699687770386812604534073068995898788797368153066061047467927330065318507854231738441389317409145193304683647903845887536427409522521024236447165514742369882811795219477343680595435311950176344219708728018691840273652800029219382776607962694867460812826038871852301782197165867557344187668575430387882162764634556031768204770972161228141578446844316165587702325979162255416909724777177234362455844834188680767465508463124852935429303817532366387193434762876216829160241213617030508364599302792750437740904270407190277462686725778284743151339109946070223796832115299437173241273692611534590768708883956057244864243633952966741796923316180347512247200584898852509916404663719162424733757309916365105663814176444361544277607280249624157598604076172729160850392468237262189225266928870625031361960227152406099542396930307959263120111087437291786485964607567623390148210027477924082612348228876583703821051636431443824949606789521011968196330741606863378728508212367804953768674647284482756945900257731328020327591629156805563515215181275162642192421796498346781280270549200943333593556679734665176974204573369460057213512844938645741293812270689176116298073387001076907228769670197850740957918819831719056100652302219543784671256171022878216580244551058618155034307861409348897667440315888646442687266034549143176304744471104111164574389922849333114035264985781154738232109486041498699761809042537670510964421448412685840119234806690915538110956585188265734353001718904059715453895495889931363694175678873811355330070559226155601295520099060296550988349678818716646472160399314165663312562562796189755156749380960725207430862798595172970366301720020870969112253967640102057307367627731732042987900351074461894333104825033781993854715221137923273745776984889644011922199827327721716249224220787409235968045454840137954566024771778102323277242371854312139327684847499336835156587987559489598121500003993762602616909151498030047249967447164567288694200303703957865025518814616476228825027953948593165047418860065819945845843651669632727726246908613196846066007829196790283585083665248461635964390103851224329272727101809753465419856258512006736537410575386026586593155900516415156670517540445338236329319112055270605299985503551560537177171554659647927109066522603303223142181049248169756274221920522462875094481794559572352458769939849698445714602877312676698281184854997355708244156878110205154226620599393088414318030314832969373263765965360055335412219170937587949628578842200079650664725104409298383737262880418015715822831696248943042741460392874801854726658186531105298527058346418686569992509772384005575305287814088287982894126960944746721461049571420788286816298521298788905920103927992781692841831812872455114888986620343685920086198716395667206921913665258834088364237733959429998101124984329794117221062167193898244077820223585848331798014130756173715886314938634152333783817534111589218564336877496866896453197455499687416222079953117606448327874433251416760997738607587399907962727709280705550843303581296082798879989015116346396175816780009310027677054909314683681146760504984147805286703657266743968770131353548572809336952692848587785391794749805053855097766515391457340096625577313812160065533887328422659978094952609996238734944826620502959689062890582480148785570966422870575192778235302885338886822533544406100717186522509254875627735521311544501002559366367930594187400609137014385233468176294479142209904828900981670033201843497242262613818831771278112501158814015618959214880437943506112438078020295272998825690942488634841411116803569645367579824188907685292312887745749387982092058721028318009916713763955559740582790102097098976045285163398670115547404259623233123511938572541214596717502173890372759543211660525140846199857747442351428356991232054470704961992610876597232413030734720604176130746620025997351021836356238825072296019858170793419016579329023123249005930640518863332196898327841329136986839027165242704306815777386233715419637353235127266237005379302393100897527451728572366885294853680702688286369033688932588291840986550463468727486549681510225137956944654915798806754624910689557315286798175434588854686704924628739877207456665150596262324829981094561299100675785767780161255713869084259296663525854950618586352833870436676013388096872805146236932151057856732383162667019779232836305348400936755666578055035515174646092670109767343004738675595830292566347618009980547906250573953332005931243355875511846695153846427185665245024367289193177143589261852480841542665998475235956853657379462080941500151946401843582268110047412668234573596777900321545311939765929461114380510569412450370332784186405270762568461817545867605047157477979182226221767131352860552874094272575790580589734711819669300373270043395111045714998447044222377001255667862671434014477801088777488221168388082311655028985159602268111099662104645202832273306710993398467953872425307938516082303260049632164579024352215855622059047654812140745857581261431920390542138537564606176388128779600551072981267720568458252012321286837894151320026769403554843045780964785336543011427848874355996355518269141211580534134666369294914090967664450657593343940124905384728534074607072092379259881018215641978606828542724353598372419108130936922622391399214460902093647842342528122244498044768707174964000049448149778348373011496300957299517171642748384949934181871364901059479305862103057962330823183532136471555560581859984716575548875451136221151818462289530480866707944406348212754547286150679734887035512041218646098049367331988451089867371791766777780533694212423103398374315312873131996269953949226740559090534226428693510969551197917012384953363946783245420155325185398342278116772765202702007924014101528009642558184953127187028217892074208391311521606877447606673526306018440269912025088488782158793248004792666881372065091451843994820104897334047107728016564046769500510597222270748118786426771912782623716190049084766167665976386449965531087275900204986796053561200880447925316107044108393240697482038808067088856085532817521607997210077826273777885094120171643379965198998835070443333025131037422085814134838926933887518769868292054011650621427710592522117772517001387079523322840935086561904656933803321306376605641746339433934393462068356740048458371696996117320350799129730959516892954522349080787885288885004105739889878280664798269646459488269140446181119570908191482651310760105701139117718488480301237575260458425259290379603094342751969650677143181497858294498276926317042276735452999817241620091547703254824876401111452161621273116217991875451458104302995271885283598669696807937711148632508127610910700099538632395235265619600645673154517092103178996153343564992948703164447575422210569338852739146011867098252166232550802351215916815797140755595919398339144588322025277043548091238385160760318677166238912123609710881628041463709053873922971624782322217844100161353972492852324626449253605963641750121124149657841186458839740131993443773327365859754337681921671001505885966670868071468054012055119297804917209755330893238467575154429718059967888584138113151005147023636188870326300761736539777344659877860489232890256737138825644153903739058156101356558809600324133890493542109488730791287966190081805410842456343003952199512819319803242368317742826338153190087072003030531044457470469317430053866997188133907806637133951660633542321781521023782990684633756215639255229516150621066204296692080499912637144360629919763513471221036743910741995905993690757758568440371940382388951565444673400598544210901998856837975487773081102623126659397492463826809267625868140689746183583856795036542698166807083083809251511620404093938479295414818894316865825745208745285989482488899258304634052229618770150354773031347131073013990522146747061523366698882504768411123345505286358372085914789674209209981376673454129705917997415261774586387656527787077914258419260470146628007720435642602745717098714836718138309658421075490169963057667189182996265265981270352631114284120631155527827532649390413585878601116705646331797285573982820962653947659091042705601759718827947431851638709225779117511257444066570186924396178313793663136364298365793408644610962456555489279320240144634830217100403373008470664658825503601660011122198554899843183045103043834873892582556637205023463205167258355790222153633770140407329334102217661977245104913097581256029503136706766385897668841254953378819585943472769639285629394972579732459209678805306772071936864746346161411103275603154180034267378638998479513887742864609384778683346222778933100316264782588807649270200641625009618269525160969072216778826660192892009899359382609926957225343080541080082892764067309011490601728386313508083287274439241626657650637786096467447612379092800959731330560993868083027147473835996602138797808607555613791591087688001953008144895261222538948079133713237412939432611751953755671562717251535806813105491199319190048009189284374377957221854301171997832643937451741810519002904253599974945546521369681523381812878835100606671132393208166864657642778327523490721553953108726005499665653844470896116504474024319498047547788704094921814433856676732989366263021013658949455606938374313485463123356504027095880695464437738615654830382849677965654299828900627697230343417416375263740555041104153817100546721368914695423649863443986953907744044118879045887276525896160995727378641133252369140977399919005844767462333078981067412695926512563354791459279668110608001527764536409405009032672297916240630890098824412204474109899746901984319634476521550529758895705235559844384710550249627319550505337697622585543826233650934518190778450936716491353475301835598067925859028232575638116568804200760362968414917610499788251391279535671218702402750826317170846291550991787173398885914011186543940162688308414900582709533234178930221003908655884162999331291372706365868917880678096151478503987824244057306449565293566112973196074846170076527609535880831076783517917631151753748862058913074692498513773950650660205024351716316880514047425454337571097061674572533836455818791902145705949450737952111818650199798564877014282015426925450185274289176131843581619631801263746432835149126314358664934542039143454323714481030872620217585977472500331482785321573861667826794437780897351152140301321249402125009614415642794435048263265076775755839241367916914413421459856623156053208268026614836978154744979531752613872054382378340405844273715691700185391328234755183261499444591324971824330962048245081944323557704375783147739216200063598245636039921665407255677008592919923170917030746565762758327657651029636780241725994106496782769028503709927324676704111983072140222994559377057137240658478258666773214931991943929609464614235104497799363064123076762454400655680851941033322264114228693322802870169418056334385079439402994188105076134409970509871591412755507143807706185057953560150677018808606264706463225316753545111826531916754367165979388152893294324484963316113452502666556079909438805333062803408111450769944243210888840399856223189286375539378816301100334646870199905713988610672227550229628944616832430640110628228282881771472361983499415781981582312866836662691998752894027470479350958497213004117497092030503827098452484750456250560083276133171380525564289677029703680471494610649445120498374645416791047024168743938649130839498104737193206650567738497376140679035530969323373340405358230400957383726924172554601157998552343255413937328108591369892511379572130159242142003360513417471842329707037626401236901373318594481234002380408186819542199442909782045144191939579540663618431591593713880912745655607120082556922901863774117450252477724129216753664962452091383146273240522125389050487818700309987051031162826976053053737841386801044062938710310583925069961739021503129762109809874933900901652671772704632764101214970200161576749575844490340449695242542126725084055093212536791556550246013035364247286035721996802335722975444089163005414788451514384326492539092998092481798585101975101624861208742636508606522613957297234713949789506099165249416285663676601385536081888355651850913939016795863302208847358356284134974875957457559845302659079832860230044853862449776491010716837405513852354157475844286594535955708788465063584976372214794963590717127617233474149664322832050002235189781436980481803119139250907818238451921560222489785003948498181575641651238864562289933153892757478599431947716108557831170498594975351389051541426546775290221709228059352791099947493207109157481955867582551601065594674502406135125878192378000539008709722123648571525988037437579473619744283136114941187378184721771804648236142871044414512064142502713227117243867423604000589047148415138909216830223858590282683604109939436950765074618449733632252677479500137661522593327955603575782385973348818279347510331861437220958089528462956226474135726322744096430421198352665860697765046463352813393318012919249035046392198741473350981055562945460452848601848010926824961176286029199540531552766521219483581430663740437661903895881418187916438020759357411985281979271914601974654975560989540360901259414190968513456792401426753543665410862278120485772430673740843173246593648971988396210317433261726174365990592128597120395737278812605375773155572502678213700582944129151050337783427679250387282562312964771209870470901388452264236841954368515749649633916835727937971513934113863925011269327411452394228946500409249117182383251839844277980257751823819745716965351960709961278764908202127189687834510729806324190278831271333097848650307920054621143288085750789276283318326294196552334975366587237857919233877913168419520762603056759084733012840055368267772387387263699075846347115706935852302260993350468619189944748890903460403742374645597104241185594094099904459286097934300560179274497430719655983748650342833972587774909845535573966878467671891121354175921634029709248141607657781889833642226207190525741669407366805947846898712613856501524087368327576147177652829936676709694004467256799387516205877656807328040980987981452600512554626642016235222561315089173679860140501084434655969650940065380720999113455110379196976171732198697406434722263952727288498798904337827637370627485440576890403535157165812145477865894022473997507549589931232974402076362638357465877349379451758105884034048687165969491977401245363476879537278363342514675151185702857949426857767800472152749382052488839527604120822223507233389629375644079787916233858236464438170611483018235937369644668970195482373049432144041621680951402530932468248601922804491701195062640532913699872679975162775927232837639555930822818410444162259038677253416752972832456815268518382775049827152185270708758323946672980270303217175808171476284042672129198522053293291558017909277134695355571744916960524037595525057746007402350093602695277454012100542660989996550939210064886575278319989437847164314825607300170747757115475819458737262133335712395319303110604439740562316884523488543009063577283592085120267557281442845878055148382670782834082170777887671326602518121700887658318602206743258101339209413314203051069948491360474534515172987641376382310643473517320097359433870825970460935463226981758903954133347282233807839982464149454012823197864330257723296070916929474121179739786216965988579559030083682514396860929779135020453844519420164824244238019503120551195702129854838956498361883808638100626893728949593828471384025994484779559993661424341102173599367779969815977020031528567817093842314740969558970744433234786609999761202866508299153608140101760526605435056159561492746988222440841724747425396491052437981728715682742783309603281754775481384436758354484612074272186786253443103894204542534139991959882412913861278367814956039976081417894947603474644374794093598039488676260320070451436279986483776908942217927946990766523055880474678112222502180223795656094796704231233561618628648345208597223354585242014270998581940404124517918329688174982100962091269320016617305948825927672877123723810409242322465014831982667704793267731970544731241128413600960137529683496460596242711213031374091364031350518839403021424722189393984857648235966336438317925394545389471880416546153741651521567702507085984213086901414411427147237740858825742315250837953185700354602371130729188822280812564373917269629512721917440533184924332161442112230954414837773723611593146902800157378570629673125505657379101057085719497373504061262965722601663710480248455739425367076330212794726373979114144048569758638569129883721725984448218440786782195660466629833900825897725001245590755973732926431141501040195710691132009335321347842202524444979085608715525220628400423204813647155465044819158478462812298914184696796871949910551272278678271145978351515089864488243328868470090955808157057939133030218140492768621016037417808995096456999249730395848429951727535716175797701742796694704257155517472506903412619759328766835837497654955240797978297726124583132031435069682273295936638505438999593251257698352300592788329511167972135556141562588205766215229503525921106265977027346093893900962858148614184948204224870144477084232698195505157287336669548440688336791411274704863225823464764677474528985823169575476621040700386680431643177958793833657695525401468153551868167281477123707296334611553151181442187934787346369187310419913763762916871932314901338584065860342640248729184798059831741922545509319247197364701712153130842377174469215624816691233302983553123377789838185150273877870633565988100784645028391393939892520739051821709908201766461706908082531230737149553444477928591509356785290309044289723054764732066913924250578878755235372690327114337309849815040585165392024821020200213626908599059671293998180420469640462682486488032623928415327597729044526238070463224498803693997910124679317670257541907990801253363069133919311099435666548697386490934484660316742992074894858039957668278166044828144601641093485279359143414610714129089661842893610557645836363521364405601527716078663627900990985550794493645476093389825306320977733955054039558133448114487641664854116735464595033618404701728427892819734030130755400778770798825503929947826399478265454169170155867962399976967728190750072922524470583193656612900162221319506409091663690289270374316654325228974491716381153712053566848617883396624902753254447671702177810350844449055463734161497670516235550435886801184110885397075841984994277373102161271952799416155037094956923534191719772990903026087955985771034080314904660212032601309563719645392653137843178498603801899016910318142260440119235068943331124324300417103177905769523334409337224786816713197815133692171599972966770313897578176187796882901174703660097705779142264341989469971378207444499989280864721759296126296576314370707803829915646025056910265371624394521743181073723549040976511580547961020554470785992041507899485089285195913953743864508130291185603641544050780792952931260473007453976192867638214651714000880928689292108559973847192842913801413779355022950230272379547097430915544881047995090769367661975881596208840481129002848678900919153277555666660001274896206232663608158451518714800815944352448186395267787669371767839385513319905116799512685628506085836289018487214901544394861862434093981877592480368592455568046803493285612074459361813111168119414287213114870096416025860810555434390119077672879877743284687092814817177271415763116249580862463615351778241202142316503042553860782743709891640637917979626792116335291480110953385898148836616089609150353446350902236335433431481982272125681448620449916418116992669644455618951518069436561803514926931167484458627486787567575720299427021004860884441081950881221432001332944650959225039132935622172677643919856242927297482871599971653270082048251593649380988792836028306325254115488551507625911377533582363753643980546639309122497057013003731875194547372110057404108623672282986223759787613757163914594395393693653531708587968052444437593306401355614147297166085671899103741921907792943165714360370014996097479237146226470156716845155200304453815456466856622791291834985404418617616495687659502154360567960388230818681042855785501755334926841426360770273648228683752014611958603244705338580442985297958027449787786444328288454827588021292104998715380638805059907183328097383193684922235502921124436896598593226588660391731104374737482040888909260934613422342558673712907292088131763812049102705252866549913798393159389821949530148342994080883463847758511755123689275887006704249695355240252142926828175427360544026335926559799795750694158822574666748638081504668305964738330276073333140720065968748540201413334174962040621438588956743699953443268398764523265524391888538749754800935783653206219860763114612958072985083835522127999149594821222469931013777351862569324737920850804435804560934983715923424931715864290185183773187801378063283608373448427659714355245192366292411651364026010369507499307902075477395215680037264117910396235407260979551609114204021895236235433298213103225792596212551853384954390057385569227006198462077268676646868912132337665407534254774905761606700613218315881499940746470370687905964423365837288192283615877324617045493691483884466583664528283804481229599330952776449775730529281640250326574913099174453658052162951487704719612549870338218286568936714316770532741941177415593324171944933220316272599710150980568618134464619628611494111679473664139511543466192103315733978041030228381980496530402941761520561044219745076932929038223102387662294383222638427917658913741824508071244807319638508554865191321144814008818106210435453437938296361156115689866150320402430335665328283210243439698602596602739627304405784260714303770280514176066964414416374883166978621590416667831158820873223328004181062784717034914677484713587623563381378460829610577704234575690239918421684064484209536442128535402983402595890461778480851035712131594900722321034551229619306511353477049021777261393119767785094650455237101176305173236299637826154723008524137521016501491542897347595402030117266027466512489632975506112674704529625902812710701618827707383846872984115434593462231934476084267915031715486266895078538658368466854068466875273510077054457788873591674365922746178156128928171841878384169853173566432775624230596462643172590139116768265097666474476687478286410624573040921616109716804038023938614661249314919239745750175204872640275138342381208722294295252983705974112687531365760720373606026232234018409675911962937272216255027227668548072774055459915441076609711945834693704142948438520075714493171836260758079816965274847715089528519171628382081051641088871364227008740463432813622738519995232323894153335649916081347830105515570976240678343869065686768653730103526926528125811755865049574649632235190270649958452264338048198041509375659267116520500551954189204734057454360826350170889919190582904438367256603596223655852145649339932796914477866516983882502146298068120105920170775885302952478830420274886347516703602049856145876157854680297894820528219022744638937898575389081324919454298151006864519334004471679887086773894222442295527496657095861301407569620569950789756024406344151920046722157070612619525352181063512242650989907203752409666393419661331164457226737358933724458120512214591549401863380305740469181795783233388145917712179032930313233045080989500970650233707826492326357360550640586366090475395026868455045353832922014617333907980281214156139206109164828239135339932042516104137322791472250157237253302003341510576097933974665324950333043087868644688127410496770543068754145772661298982838048361202529328625600247110653619171106964086513219008813462565288389776612236368933087878723903895982894872450381230784624564974837694680529972747587124936387557431733812727019999584941010694630979374073853456921325271570408606239353487395964400360019369950836667521983534609745448990720027156221323174923533803821813241887913202005099985483979994587597391735348294678692762312848124515343535828446378185125564716690872235087566878441893471243018004433728401682934867823732723624405078831242047983530342692305827703342642421020735603592410318861888124869271001711804049683434265101143669016928894256627729565745663470480435980780666455780051602351204430290752374416950662631462824536212824393233685105726391883788005963833745829963125981927529514689152613520845108517340838995314741227594550960206709328231128322845580700806709480298207349315207413897545487213356927232163362053530905123956202510447395325077043410746878762375127966273402059926248990380635701494128285609356134178610194158442043789758650158277018591679892156877821932213907070118735281459985987940239193911768145821138850433685949667870058109032808916017187760042995652121686298481748021773446731217988049992209655974700136460005629641941439798172558685663649278820926822952186881719207759981513567065414991814250294702347610187744275509471982907608698008459979382134750039410594144506466968768548801338675497070496978886475497208579866350812821719701665675770732411927990250714536064718383762180765271957354960497540978452085481877876961773697055500660118691940174940393053974172414012062105776336537707985677126648919414714088031637970679060735033370610585356580633481860812345673905855461889860429284734175128569651710441846408750179240120901602700629911163015893860871281888562412653525108418253471103516846974762543221896062391400537124628172741425016506143956008637874142530235668134252604434116797541888854313761673311589800161457717765645939848247220074502454443366617365253877360090251143961886196056314662253649570785855680786772100963043259263716456717575418195172723541212010530126689384709603895513800712734374035364723231616983786760980842405122667826968030195951107752688552595536511609277539420391139091323426396253270644428964753856464981270973273660208986744200124625493483095704699722443175167762996945774461815789904072840740650124950427206850475740730498495744815944070084732030517835378782172623114888391495607388072943415387743763725635432908991009250749593899717046040036133556564554744003954135589495025280920753424960664177976505994123817559419628141649025942032413502263940712641229058117971185874535463574447540976773866317885121973462950237836601461302390817496369258549105585141297202738259872347762443458707276826261803438666278751339588365014662110133593075226559855327530709046013209336275751526879034260960855634375707639915565598610431480924564280651066877983444795666587422372512505447016884312958976025458427723130211271735165645837317846695779746783012965172973653270643813070336303248996730316131794463332394218829591283280872518767695150915948244065720281601957303579637921318765564655753708605288784262236798800743744252631625841361998211507948675059541345377825683580614636424082248343712840020013973620916087215830127178217391820851414233441527918224099026956121258187460434425124229640332510751071675919734247637723922043702730291262722349687105936509180736452575621085888366277360885107268829446398864316940550875139036220200466978242720429933749274339834801169940253626496248200719695279693330016750767882485388714557079404125099689728673249635115761931846927247783827504173020097656569313293166006419629643581581694376414710060208428060002362016640505248278965458791288866004911872705361025910787891953914047387757851310924468069670130329014401756994469613271952161502737773103644368185934965130169790030102834139412031638815616768037847851544260397364647039370322531848888567813727852897554412997536722829715570061118965746057505333035886771526952761859478231974220462780696267949204078396765996608972457888474587168446223584768038613750409987881684903306674538352618648832840089706031321931318351333288209230732915446614063845770100948391401202685613584991804088540384682853982133391113267197840025996892449256582360588139492279661608117940877344171708156926094720005446816739853989262589776935139861939694437095474129481030751915416371313905284980955802828450592032139843801791711646829931668576574242713173155361309786669675721790809346563449515375785755872642959254864176710817331374792579731965046632961694276429104839641461726903477676226614266958030225686221676791644870213075309840227957811741883851387359361626166077859607788829528228105889823963301938913840518520365843217387128484477286080384495853471427990444906945762301942859651238389069494972629079071844594676637631032498702383796859447223461582884828661292587231894068601360263376720372328391689456882402400689256190884435883733558892050145635749624102333001016208037057422818998604088775218935429053885333765169476386910072733315375531345127367403167854161141627321945495993952682998036454861851666500196798807792882083088098741204871050429863787298433913462838603064839048264889377771955359065548645433878639868378102896952457383423076487001642136502931356375555903018832344296762364225078550983586947058652656597180811210563071455652601970177595441565914764422734290190419024632469794493062835128693908575605370089490357333028987754352608496990243900083993475669449128986941057927255091380108425968673792166815948527060275068153641197449898088417019640181997181798967424155832052579005522218812525354752521817713752682301955400826293121815371642032104709940730227184286261719925498599798928069579124001275279370565339180757361065562535280661839880089223171534392785867235528718832068436806879791481102598257504232079312177383244671330912354357916409573292975826873194031390742624112116479092017236864160885450758089815555002206349825983778371422207391723931326982887111671730178224160742792252763695351819510089825341716908145391988925648687701053150551480789044768673943006453089194442227238132006276150476913446606085313409399704035128096825425492255427169081710805158922169839128426929780420119186098616576139064522813118484076800308404620760314862248924624068589008958354817650890628817367629376915643689132743796742614635899801782854126761007437934587770588779649387624172510313141313611462957397668669026764956745192677236801101283035831223349682786426074195902111484284532649111631338268734528296880919210293675082724311324687494273265126619129692966797029775567174715266882197294018133983071315772926981304390778491489335449874628517331441201486426357044249826307502266785726390094642057861985587697151805098154837858900901118155385294492820376982071171316032306892227430785223389777105005234352053368855686773852026277674617111432123969992853509915294341061052628791201920014889467648438068813437803072492834401996614388923935663780861917517061613555261329485831766700873293591002159206722912260739910354056163102714047713917983237654232007049037409270134790300509042937209295270739894394517658128032073922844690652390864337922479358634721897135155626429329157021010631362467400502593426652753591892612835373349417611675607789924253800704786034791096145686291067345581353490514914644344995310717153958761971475292825191599140508581980882554862448880700580239734700768010677454433646521397757164908380521580915808078207124021689845377677585809700791350116800569939912511195387151893345960309186868079661491350252616102326246492033167917956122849849605093248810605427819457197715158029912149550976360434771386366862540601724733808142021362981260810646802516459409839316714643456716100080800335499864266444443414294309247662293269492995230939622753893845516250120623712378391172729863775227258410152772773010460421237319391403525340259320931834565202273110449214306301523271406788246778044450653461557860620827536987160510805128341648542800690582605264349512675426680405929379688909742618159569100123340607265382948932899134108530993229226123087