100
92467789500324723907268559542827282717322576076454533482932604147650138015972642351860626975906549088117077154747921129804911545640731959260916074005913977934092823108784900028711400602325816104552187632366338234730825532394234093058868920219601699215205048068850074950429978705652603836255963505319475717654263225889372175288193764096696503921107437988367049738422205189854432559409037997153956755889447794000881950764992194855938138534441206075143574404009735470831920947471520298251806667421197981428440128182822354687052264407128409089558315873068874135386765766435215694928383650063168794957948093528437097207024283653800951406517325620543984634453264791177379342050684843558642793465579768180752962733230965434752925740894249061835301683607771044111437974943136952044439551305570734433578233002383833405752087839480560014788771868931634117327674577964798374925351906952732351765864478401902514759739870719176044280810709505556460146742265383828858874190739816022220314396301584806929358225697338428331991976404702599415985874239372094617465949315195666309078206881069407864324543538722541737203985970688984167991209294325075989856954291748395663113817152848777483369650862170489949399253788742727485995598155055389238534559814753940238325045349488370470884802089712419640760197178525024495295925711345651180913253036439637184894426193077303743784778460925728532200107115026038009074046246759143614985674207087957940961211772097499499592747890995630217825253311528874233808419794271896710475808554596006953617585510808544005855451003954680394552327217333163447090861070411842178545146962932049871591103898151842442718631812125731282594232264023221034671548278013929745329212810782740444563139791039128862235088589071193601893410297745503521564724515167855693212227290168967920440983600346165413196535627135587974372893313280420192169662114477230669672938911938792276622604099851992310737306198513837261213558797769934993746655952045275846643345229944038987084305659135012466603810811754830968143703294068841961584102478493479562606197002991032774048961083551050189182347723190943867531901195613313383940813360892160972169483798405199447714291149761448528226767895563696908590696449436184924003556283274484775788307910904671557457029264042727664647682365682612493774316955526885523599562161542527055660995223820076276855024044500117646665551847114330326680084284287437944670887525338058661611526114790101462857031254807543537945332382089571049621423451866098442179965972224180552200627337042092372812073536566428662343270034804182500041697059841596035654661618896257631061202420609542440629389858679007504356276427042696472618502030003321765372585748453264493130436143181872019484102189165244579026524248175916004227115684519653864750850547223698553874712088262912703914612619517030881507467346643555619292242140360206439442315267066493176172097250006964657506214910752472721735628796290325979979925732224136372209211445136681319366245062937490983564157603368669783352069991419686653239726764399299325615700958566619654215611204271977345911022375581272643223485434928324010589492067714642105818310140244554834854393332452775264112517103014505389872732111919449886287752826044464829688546739366364320628204193504698933625574672030136933278390406281174212110939375521350460772043799190042774031587564957994066470682454468430089362120623506270422831353294634038191772822119785160046060774996801102512594833281584669670297548006587167993659172517060244609485238624165326704540519370054975625642572737656696868452425081553806463248190942924811148531111109609118246374810392021433523344955693235282923887241837937828068359141135704563016106402325427103036664337563199103073941898543489505501540675552757622554371727427931577938880813882169229913484623071906025469959124648654784108840119961201443560694120297627040529163421688304262093229395493327270102945636468020757546438839650959235979279641791341437619306585065765650968365378771845144709474676699380436336331987911437042018442702476277895605096993637860676802772751588945813163196352591006633811213846661457097809823959207323006169247579546670909851020353606985542674434636594795202466037587430433940288354246890243708796052600560543031733304174626512526562684038320866260316975759402495813770123854566804290274114262512609081772773295103426594338918181403676165685543500019304199185728764437139527231502747346672650213564038179172976532640975343659123872029971632236690493043601480753408956479595256028751540720695746364964208457295995087689545724626990692681502934042583179949650191542218917891484591358500836799140457285708124094407272176883799679541684041781639973988141119195371718044979695698872327054467578009206336764342720592792335382842958484317733002452333897362998417550104357663165633348006761887250452032522271905177827137692835159998213284394455095164975755630563996639674329190727262366487620850599396934831782020161642282425169759509978519153267232973571367068515835968558769542072780171975115735503211813390764415026638269439520437694855867365881653301393550582097472008241733074807616688137002789714573397070697608647396835345806974532632465591845249987164826602065802760987661363049096001553370903479026684724434690819259127493375691195755896125565541473130925163203904422148436715216843082054161592471210516495162073812984315313618407038117563207635519350961317515827910485445343409509147503884479156070762179368955690145178994030816670530898745561059520805747086101479951150920240714152419669656126910306841384874269497733466441523642667900335258746210724688569225818498046090003300236625927704855433041992992601864901434513156751510034297759735709509786239315825676474247798163611282028287394579538913626481640688558869636356426658739600043412056164758261435518284550618666761597237532886652014190447742728465675195066026136594730916719439153093038345184411421553074718149951253302352353007457163687826368285996293537276424595279471809307764990475868533073243702660190723752086434839407697909060532719112563895832150368374137686406078195557433322523865778827751888028564326023045401409201546016075466110673909389239336961293562349979712856140663113713443331489549029278011537276403366404857495663299921631110516866114498476832604224415262153374592344213505650677368437694098205610793499603587618182728547669976106564483804875749392015733532157878977606095369663964878221465026413155543481917959077810789490830970971504431853115802832704383502019450260179234522895859054846089845228064434979531470782938729896586982453725340574588738339230416379996954447814645623477615473737526063027171749732041060686312399689377210043738517866286281004576886771808479848122080349940468459891821156407825409443443705641562223816445409865968421277095658876645057789654654262158264054453506163720203677295324917102883972786359234561544270465326212819889369623001952950939596620465231548567503993454467667245300763226419881241129904323186925483336377789245787733765101400858202146045414372745540206736975706958524369728406249058965547493624168211933835386361582550832261975259052513122870876007734609611969901849566484760791422351234397307454012183662425195650028877052219080711584582982756077544020562404344024891407979226542899501914290995459223927124599031674981353426789548614846538426749367235891160803744223653763038699687347304332128812397531861609452763161241322730489239261772888074670719770862238908244583273190612682963406994731729830068256808426331319572934330783048213849785389670223048410783615513387114343778441085044285820521024278705824846154832880577603859843772628190130495795739613661353705212682641911462446722083395896466585305198112251111853286791486460405014260213661151937644187116487163487570458292657074526114116242378006199467127751906334353870007043416238919027414212851477607532889027014495636056975463680224310237207731008013017248306596473919605727902783970299523500588228408844799826464244164294924242105654666088282438051533962755312792821816563378580222147422684288906606543290801288053448301480730482359128904134979669699599431272102213226043997963814113715943081794635713804848840019187197943582148613888722334554617851610378980149229482474948285339084108611104234366526668226501140730519363056705412744810177564526780302490566724707672430325704153686034772519373189260792760847147880353530420801435924641256830418917804331070536551762469715188421725091667909189619422880040471400529566794025754399180547269993900060247474074728407117202578339082459418885880768150299875983203734942679902707899926390375112487993933281067615962834721984631217278897481102633914182064512488076523164694874360543506457339578345983581165883095714538084774930096100026449420559187452403901146205254520711446275261030975554505353161239708076325568647104926524032703773038716881986280488644560429044305503226830685302414516382603580858781149550955393047557192175560609244097136889390527358417751710334660178276895178218854095653497443111812516605017062084973152556181568537651765646832727576013222560402463746994460807359174355694597814874861458201381255916677011687013247841707554446130646580523867238649646978360025009018807025046527216143292769309063520460818879699524197552701151821225468197064252351928924515322706122210048889141280669232843419073430908449192713147546294414987614163556222530478952542135298805928918578699840146238045280574796963049755657574789588756234064710764278386457150176530269554372494745360785052512789152308245915096805825201861728081297522147301426929835929105827240822954000254186253057865643145706028872809046553466202020718536339040270184872754232323190904784120546754969539473973110964927773072361209848207659382661484515075088220033744833373676808123011254693492836435556850717534147382145766130621692196862236544422008006566176741443299361547099227463803622876638769452470792583337689482695752989777001460789643004774379760260005642288105271843384615702757975509825691937147747444373262194004763297947734714847871516197284815156884354695544035886676065090553132440424640743538787946843541822735388968329938697881823501421380606549487784854013618747078554982549410694503654323795878954676609216406203837518525635709603396471665200592561526924142373127136038319896932251022170964001260440083646662364482510308088902822150496603641742831683223006223642226418240863815384169421204708245525570609646878809146585467144718628558420492465735984396728599374336728289971754684232969492432602183669968105466112078451108284162523444158950091080835994923838216155478432612211035159913294823511930721434987559225021775841138193213966156937098659300567302469818961777158987124286026614027964111161013401580002462633264987945440854982002122927509900520999172003376572801387399369205593516281118518086433401194321515607588928103647415602428359903335099599585874311846678598841732094666320897725018233327153024060054376755154785982617234651525341692796385708563607883623989357168588418401735708135951698069715922162634431443790289328331585938020955753748395389815823692901119675002613586475626601234922153179610616298596644156236127225507002619151472735013707883761008859815085378770640081645417280351200665400674353034002638100148124576699066647074192871833295874137712963373689809226236207493313255592945629427824807552729012599475620218261073627798245383958143202609588918346829583061486018413899193515669319539892998308814147301078779252207359252342241637329543882576097709814267402078264009063359224941130972771132434737227855507963721690005812800663406355106889999357339473441291658133467804507114812206327637402866884419700627563050319752949523549863173641797361476762988843405760290576496921903098360161147177964490496010899701832103177277526650629816170291118968212827232517565694062339145147106437815897879099207130892317769003988165507236899063967178809489832212595614338429441145354388588464576859716530734306550970723383505486699119712674345945395242289281208395168964319818964374366010983009583998810556758993034612067095588668911628631193997250239894044715017110327244258512612960058983201338234813977146645806861156588231821146212441225476942918000133385809347159875327285138745346826117096863530011993272998973175583068187675277250383948596564919194814585977350847767270844596129627904513085137395535332649657664841027136194534707979940992645521103196567204933367682372632750220061360507198834074109728959185354920135908879032498058208323044793562730511823650759141719216982087588420642767303847048720471123009183820559586201831869734731119924665250936284703468159779385581599642387164338149161597828425648719091684490621401205715642487220807456510585907387698946351614688725041739371728726212652068750443423750922878384657300263995251401980256126932366887216465289046393265621051593121207197360887702927404220105264336627196765386634650618896036616915864726171225166998540527495462425229329922601165147735766367757888779441988477399103165515338554263758258929448078247426044430230760078127214933264496427279674597878663453099650358269080656045460249446080377196313071056054578263427297242615724754749388801872663280045098586106163594694483110791778900953385022363518045701856441906701730711399445786336575618493019585059274223166328939280580451850225216529288398178303785591784873842187420799737052215690723248594336054779378879323270952633478915313970193337477052461043850075639305123231600291917149949823554712771587299098820451905007238067151705583044270884362251597103964601352054430726049376297211018490680490598744696300154791268401166335661990495724486763011060048255728391301762606209572989545526025149218277106401154248548268860572237830870067821127183629127159344434202724915454099116994557184212465093887872787510727570344952738477108969867949568689528532060288703139302934801083064435575954279391022644131674329611262498033348020628624597252969889843984631878745509383224081446350928999054845663976456439246564294912325754539694663541458405763483086736877820708660864557118504625771243236341066995121639626914712946793129066369002664349005075063898992117012382632822329469877329267329732061527823778529936430095091495982603373607340065043463065508674391063229318049656697608392360662394564652445999690171847082439225554361302131285704456811047274638070738720515537439212072697956684523754943922996485206906437998481825943447276422709435273910346224921463637791495313534506322347074112882147231866454495444181182621004144674763125983393316718781238131117464935812240973354486687636374486386790711453485185598389044480084362806480431680184155333974410978465273814714863680876862649870269546815695067255572618236261106828562622886478678601486435468045925777940734629149213841952188792852551110700992027906247528458826975813060238396037737105446025970119524553197213226997802718816333510365509384273791529872972778769367677062200066708025732080716378501755121597886096891136991176200703129409914770860446408313439768582665713292289023011756393443095375071565281231174667047398032097953733221464362766918109670087761232463569825473656374042831541187865687926326917277871722934260945834688265576041076215171804022317690598797580047544886281425231079187878382612576394028963535364137449006416223693271572052831539410482246311337401269630889402676185175616015965688964864280590972753849968014024655960506243589151271644226331843649390823746611403808660576822642324303107160655516226206190362377825289240624900893688995409194154643092360003269804204727914644232743507293694277326822755440679240440422321522324496500626743249717137529066544548720031806925583151279264089926489496317841461427567059461057095086696973405752045460746119904341280886023237132789477613604050818476816641465300667703102422190173839387977185377629146179826529381861050470514383424499539863305263611768807058524383875947995041969447484415766913652845262245308197173493615894384459709415978879188343925751946689510425975542135978784054566685790619016335268047111069761055455938488778829829858202007597302323274866370195586371953050471635772565058978447381625301737853019807843431039421307789481932953704602980341878197646747453291419033579016037448534389547493182674187079192719146795614147154461723584601172145668614445761646423344649258468524600093004391355844764745043987126407605066284302412019800318808636655829106436875837072491755702702053686476314682748691899213710870329912467469220216704989173928778262538722562631110942072067155731783512541923435562788245869760648896483116440425501156986044068012837312909608356742174411799114784332486409051557736714815251335779507167714523643532450557633018770404009147370419806586180749619017148328257498010253151745391499592411634870513060819252130900150248807747568501304063943547094196772692462079293726083421007971116851505173096413498529624772847634839554185647549873644758734543058349131557957047340097186932311432317572055894397741582917273636582569576376366301084649251923918090928134805963662858505909243979159873589025717097609143333697867117016215444895599796453895906994157800501678243264363920730731407297136292818008452566097518088249072272934816246984644452747343095831503932272805847798769971721159851721992799714527771881615687295886139216255267917134864225882344858064738823811397150292102770284816625271623547451220904319031826643090534737265733643364090321874106659554972788210798786156613788800870040950977240033906652627426214358199307484706566971620361278751424266148673828040547680627977847185739861451574053097400672742106594520800886023066512543294199418929363306886010485998442352083989353864519287398540057388801606153097947017927252565514819267717596164477954180766603766830148178311977971197173274276258903278613005904637008183399362039197168652361544468547531621010875671059812375692912568569447727714162084566662869413468181753292207290220138716797660108947971337343497887651926335188376644418614908836502274946385033109593039321853885251143194030698251832717920508228161520181724503537674900286620627552168738419657185594732337865349077151768039390555062388891650662785969167844141600021565461687835182167374763352010093367669417729314881424451200892417736944460498793925334847584627567116789144693292892694864427956888108948869277525034285255345642514013002019786150232114505362277226038055856500194164014762458139043898688603050914558812807868137395482431249449749075761102823137411330982143515806803795130759220704632629429638385971823220857951403543597471947890284780147433801488496800491382272358154012709637543197667874768117589044495215094762875037100761508199121375958152252922677751439677043566773515903041711473221558231837839273199476134524465997765813715072922667422022210646529657763661948443473983048994220639150251349356329858391704779338501498503268441051758280689138650971474278325199023552334410477621427525737417916954085274730426888430230019222780279924094298414878565729568609811442858531315985733888396724164338115037918548550983427433324508070352750613648194242517997434455706666822028332565399682916425534299313891316944102135730771027869546978854280995645678866323981765901077463798616615440567090812591546133120514994301379452700820075026462041953700338778818247726209060821321861238252643746226423751479859584041043414020625863532755071421498345604568382382839084053948680182500518890331798717379175337037862459456892437026503610171801726259164372510211641551859141418361783837817360988892342528406410876627333537177023332581972543471576442120053337572349876626509624788920009628576226601172409404420515418620985206719507655295039075226005676508423761897714216563811802744180855463207923619876373331741024822086115163123919984148601833668847985285367415489406370447195858165644905689853742997566935874574457211042457137957645945326392074215908740088136390012008257205720056361308039974321258220937114842045039609783938011553453447626380959907227047233731762761380520674113761025097049646076007902974526305978370350344515002397317670367896365992298517682587793962789676897260161570528358147763304919889434045610728552795635948368184628495247762896789936977765661188951652857640020577347538022467605802129738
57540749298629349103317561735499054223496379356840355266052359801216961796497035524316460050386001852334905779422316348030809850138509553985917456499687961529684247012329572894632304539308703672463210136751287661404618103696464397475773663356692974738379206062020822048856140167832762475049054750790888953168505420010928344969717403795748308461339747673653227523226747471166978094742952769659124535747890624766117687805718214049831557459976599564197416031375387277613443651085267714274028652685970433680676331347545103888627853597212042959443055548599557882663087963389128286528110701276959972180435270767225305327303209819653894104638970474174832401350014258570930960841528481636742398539407466569509746169717576202032281482033382794736203900572233035731909667646441072401274969524715824532372047862313806890668850073990043256453982581869529668945705578879718212369378018399660787129732868898386738229958196059678706969101209648744135958142453489442058957634754360101099147857587219933186804962108263685385848765858871814794554101173748500035203361175235538855294344265474906872236887505961613039812261710090022048163443149098962306304920530373059070785593054672113556329096621640496000642693929277718579638920424864784263360390360538786563514275938110279989870610285733457011402573780429439721296719498168999146911153578618904611772362033254224304388774171454595680670380670783244780408884740153441408264275490359381387089999054960145625408533443101054154773445732362531612127105489059545192339461523460660920433750783666446252569329129316791354822634214344327091616332168525581091289367391598881065772166601745968383608933710956048183504247924207943368319875081403793677797496680921350168281962183905599644336066041426869515167357213960050533974346958771519294888661696717480456978540667798500633779549802806476369897747910055765671674632697547638295404136687302038277219103270743262416930125181661877813140917441747972392352782060800553433023205684863340516345010542242506147170758130074146803956935173924572492390094983893631163393194168113350235565115584606857465842230803331359431215033874095456823163205893364596798666301131308628850967191572162908378197093025978928934813899298766738379826467886876602496506190576788657761051101934169953858742380724389956301405703727154532996620545705803470490741833123662958417366368861587461198009307282241353988304384809307975436973909352547548327380007487773155721772057159769136577198628601584957883499711601496303824458603862402188887845590110338352044818573072318568696777469358653165543973949101856313508194510309633100133484677974302626226298351819193333091436592755283666047341764691606523457399546560798901419755929485659514093976902838063964325394245510627745382514409442199296436263562526206982730517722768743551317481569696524190250075544870168515475625820714073788755889866333276329249348874468894352695104450174779859561439458645564079333137273842098241211947329479008723232147544644790122140521549271469453741889391879667264519194587786148240489727733088054053178251110762120632567418797392887441774277142714044421895946059318240058313420015946289812894825544980716153632845504743777319332199639898784059734582395452498834759986241422562437447993411820164268909638825674816563115883214657897492250254272556990923066840522544034701038299527433137409919962975971534128128308752704512761026753467910030727864232177656903618434487670723676996540453025668101102315743721804333385770456248535833675391781975641723613664263559967237821339321583287065471033034982599912022762493886963094207952765352452100085082443102038388900076878748134600959262159156784901249636797212620137085401627344432838330625887448144494474080455792736648996161619447274594060425862037223585959359472332714858399312614817762505253784232259649276807214953532806343076778548588923426195691265773519046220344116266555844130411925076586950944877405707864032679969187752122294856360322404037574622862009311942507989982532771698797450384803483839309142028792486995429425009475829621697637466731798214278849882561654622850362497244865623252721997820419520468662782906953005014720719259484113260013920959473157892408499279091427462825324405557551637651961723103935461676077950910039545509240389428827193922204405802813654053907779481673509609723567016872343558593372284961485768673649878035069862490747361074301092040366905096568202107189213147663316586425216680465747554100074013369807496293891978490399994912730003856892501758838819339457819319281141833396965787155819644414530015337999138345643051137908146254081706795369567951991565887632864793978594456643911732487530670648818974211606818465397910275478894195048999193354166394308605637484328485131366444783193590675281487289534250000539105759456442846519309030125465979335343495214363238547275081060574483637526757925885755353301331894146728834206423476924950160130059626240817790646674541356638134593937739880115641944169780453222532752791407415826187979068813566563020841790713471639054640625408692973981243148585137733869998039365946182476682841987767421725651106331690171116739765997717314921370880761449313813865717833306790911185009403421994234352771658157512059790163381976495443627638013190563805431973306765702689225564657549009543429751344080298944346791139774173008878237387627686515035609930855698161472348583552830777052462956890159394056219688275828257555764895389297247624655602520226291694975333718578808866953952824236456888064035353057724626415031136251761429898730268281416235515399334413219810361106978843123230264135865305363910471662606470756894740168867051959230498593835902240427513044628795503880914818572681280031916913858807286606544365532135227720355256148981094390856614057897701510534704074665554674413350875183890302548595851313847173156909775191294001454809556084875816940055778590682827913933569929095837423355674545044070480755908446653612708711100702839903736202322452948508006874994228560723088090728686016688611635916177037891655968978234840659621995416302470134106850867240484037616253167414742224683880608699872083343842433094558030437976469787908009619982404953401898901456277336577889846784256229625156553917568806342756726059392395937914479050044306761703946238616583506550257728920819509719501741820767532697665015054109167429171099988368700033530703230297846839460354439653575568120089411110074101502681278250991680206781248343971703692635182041337404099496548139843309321819324595536342892969464691973190549113116072922190045344144666293209075411470277615245804885373950651444220612664650448971495437713258513524925403874707112863626048716864046850443011124833388189677898808116884118958924026694841244038227255863220478237118609649465929914028781099011817774753686040182005255099384688507740562755381141756866190837149646825615644250130069528752103686926010160015924920742729167396737207756986133833227001188740133371719355530131270789280991254226248998249978946483140056860993070826940618426419218610697583162734010066132649688514057676472373886876614902398775564289364398979662285669378923222659126640387338776904167519823207333963724264917048287386412695098330681998506913392424230466627099658513216347905452887562699306064696579852207776247183336708077924927780877438414925942975425993243997614901937056512890172447161510260112347893101431131644554739959018611193647312434199224009895902466737126148255570349268124251704236806957315522935041101618161201325742677484650176688545203163968045648858230005882820158188185613794350392267954308298078839512119480455678914753652756963599294279313399495678985633275709596539076155686727314864472183873294432273803438907834428134113311943367467570342801546270282489918100978493209705036229325653770414236497502848276205009356708343135102761733074235678017251318649304915944011162215318440227867553452840028429216643824158599287830469533821159809977390425505195270432209145572282470003243953081738908247776122778524830463093852045980647698162509869761467481794496115049259170376470640533779493555910216055495862363193980904497695150131905877443142661650965415326189175194199909279810318981039632339501699210070347923735484315290544885776507463336039029912353348086080152027980738353481780907066114041747059166774638983496429219942304831269200181073260524416559804336196062416532948522710789149206156215166816316510826690756435294197552819374364732859096587473917580972833160806501955819394708072093275436548221442609058692883764294717484037592628411611283709946570549397705359562037126213210477967757477862891180962500019324810194553333750427328826236588171817791286368923583076166578696345093679574863519565497551623261301259943188106509025381619520348039732724063551717866278019580013915030717633776378572570792727096052643108636972602411737018671908055344184543095622482077111532175491952313147971412508322690963586265515261264159703229820382264115105236237509964528440801859999525324467120386337144977357976735827552227646979708235934956709779105669099631957894783275504890925280289319256885420603624164078325099284917941744268380222893005911898345011697453712082807865222856851039415032176612308563761602727951329145560761468409681736523480395699769434325859538895596623495713355789461953825266677462842013408991753632246161327456109690462356228673110253883284244433533710725904894491251398599219112228091985395657606085236328502071327691120391240531855789054408788428354335944628582433980979175118795548728488211670127458240433325944521839730956213742743859127264199131180157153012401074203727065046000922333498592455934954605541340991997528190363866164539586991140235087795366369714875023442955226588970756249713668364658265136287789267859867971311926511654671553194401222172172757317806507032588639224050315353578068764185196790301154642068131989417367164299319830583345836380661884716249896318109530379069805449607565727900123463301909319973544994777674912004649067015191412015788339900029709060687147252910343681340038102791469168061992547077398230709468135000156105156330401866283082965368595955631037183841178670046101895001250370211488481773902833029221179731603960198986287647366112293980492388838742604432857418724108978910258545308978158803879567450621497124857466812772701610058026031233485985407700214984406636930511221469698728786724485796393722199995475899983820957023640312356696120542029981641082367810346332796584911248347363636910487824867409048973816537730189597603036083165018543548521491470672209858199127295781820651035368709935276391898135032076981308907785405659238650898653796408817184340461075656013464868892095404756172965896677567562748671393139814910512548092356524628342966908912230063072042115776987940211998429294391782093489024353094650664768633217537949976648199458283667334127898240814355145313037009330426793371116606192797499611233666899105505493523093204539026885887118224921329684616239736728673495329754928163841980372236281069611328416834634625555722215878918519545999700424233239790101887243731127691499845059108389688334400610623935090408946785921098093051266541680246515935088775857076578415304179924660946384000221010013796398200339720883258573375996668552016713497448300706864033770599950953655328739850569656696483472476657586638283994428819701671690803348417106787636838821312643190269426996170924637010249249296778678127185340214692445522103019030361368493341152127866311725531590144800582519718644951018263116015093536668450580975970296234460791018368457438075342409021626341717524515730582346493103497400437781600845589693271946398791897529359684490683235362048385100992816853388099038718675842065903623764761567821866485554770521591658205526381817251244958830523361815703481293269121987398635389648629970845827218267731487073382894557559704946727702913019339228385515397625170182768822914844043079113036720437832853478950948915077201742052251350753670989221817789418536316746083653596025508844112386437343130894057220317874518631842497846838328233719527951104208359348691959784888506217543030495996456869004812921142225948105836667742568602185595462616383369865450112371595986746423168063829531169026965729402030250620362765604541794582108268270367340115640117601739661582930009874666696112556636151670755125195558463861047126373528505268279034137875054901086867971503257214886993352924534665368369007421846821145384263904635829731618976904481210241191833605970887390287058578089870664842537191108555626375080612375997869096417133688725870647464742070865865278020056320013636971725796222256115732531441694437475992283802313614118418074140766766633036854360554340079533065132334298251065023048202140006478497882941825662038626131283595727036335129360916249874494929988476821929149588139575838078269094021531389772596649207694947898589052748068209708062648539525438723333019376320233433956586873688978055715572053581011007095443414073647978832810575845128675238967604041543313121169002288507746585694612094531256790852312316046836179586200219714055778044183729934836827482063818893698213119688563428921944624583206796950734571883188855862698154736251295229352108719761209322816270512033542563140606946540692916780639689734161487054920965125847762566810763051432545390434007697353220595139397191062412359825403627442596872900335512250330027203231638590833089094071147251224977715359105451266188788663848767323316523272052598442023859379304588240174041057100941454593487599316442649725982594671566769876687010225208841624880309611847163203984214146576036789665042794914165535848710169853696625786237445825609498328054279499401338800091833967340525902452570928819736967085720038185700968251329766867683147320671395481778971658774293722730131100272495316727662131093946989539623684978638477329598628125291752429032751027529423643051562519664603681816304806225124680399580504049946429083640208432482695018580280509408012326989514920534236637110552243596198242791091935532158683155515844780221324999372337283411482820951115403306742418908632147399725087904447702899731926027784504050793695035219998143952917536866981600808780914689728366665337087964493569022027368313379311385231702545022438951142770710662469775210264866960937102896909967974472497105657094836849609907147510148900462364763069572064457826254432266361254988691714219369947180222267651600231188854754756094843106568454634476434849284681262866492830889083292168036335480212350469186744157603042852589147097116242060615872122379285081426060470277316296484831605840441062749375754250530557811215417132994096110844003324515249893854574938505751114220364518196188674737530338464076706595572917802253454751946240490773635600959817311996776186718609568060876119867383263154609533311152478593272497505537352753190559855079456502905454658755498608355797349645121178404799790536359780768494383400422283841696989881949073841568404025365263123318052111115622428731137111631378011403888904909077454528939052822371814187910166420273077600340933872465368273363055840537371014550689312049117888465333332304636186565496433522028569985336610392935524595358737242112457555062375367839734529510813320372517478267257072034836931228374918914768877099309212716616607920587105961508598740863164111677407524615644583409067200024560069191078022941516075001183918962239705677999418066164864302675203587913785928676556960723771183543706568522086927962790705468016642263902304531722181518490601162259856723185281600018018922844477939706622910152808513780374355888433473574675061652239646435275159339699352770675367606734910084257805562652182495595656079823314849026634128573520394243716557181719940865587866260114281334887866669610361746696214080291050337667250257278727709225156578204233727897000956512768981180437834548795499717695849756762741253110372865159731760949541203511715049490014623655941489707585386984841410185488862418895016839087067908063097860787698755192552548855290363459872056872631553509846344461473467796066760798599820023201963745913005262119840678141779482823216242928204206399746436810574810591792381031077332825158176777539549486090071478925177660194588816147375118363733926027696958869425415683871696261576710344566973662630747757071402504987324418541300815844485153686277975812504397676215325493564461220008444412696367278256568765359062861428226135372333746217677401953525097729527497109012397118773446943882794551195439892371002131135526327258314321445492997781899704482026533742049078968127956522629964080012896403680234895880317484662648372796506820580024040294042935822721183175829730826185826031734819042316505954530169512754273802817287957441810806970822665491235755084670164913341468256840862338939106583113416973787772086185659198388036453380967953913952301866410266819999167105268092087990363939435657840493989735474835862120834957869283704573200701735533729291608528596642558967719888802646811307750999185181248969421244512798852682009440543676421947293230695331886880810015613565000598702710222287451544794144620328015523282614637978465436082129296957181899006746791361265335834268069728066507000038326810648800831412136114844204142784939190998069983437285750548434685791774721702070424531950123302067806957546970164918367105291342995159601349242751802191480980094922169379662643046963922380132561672670381251282728620551217823676410669987252322518897157112682458269318529969518437725958945839044653731322351116904791233777932653965719223204920980331176828779141591217413018516514822805676272006728710942704653806348756914279714764632253847657594631601266140678470906665104785700956613406929612261416460409832614136273679804468368152076880123179252115236429995826705511802477394960293401306719638265590624399017788313562039282433999219005041659842051286984176637483995743180353367788641955532465908224284692612845490338264944377076013055971686071265790126401619566721748613655649131595781314610850659513792217650144141667155043623827271095189313035520617995307071839008265957688457633596908869698506194561510483132867370074099590764653528471326456210270890517704399066018888470486686638609897312466685707908772013550201626848287298138661921302302640695333956691464640005849077326242858439390189356597526312415086269719049022752172935928659386912690852643199240627758215410578410176024166279425711825232766571793066189135335554686445432468829372801286396429224000785724632916697344078381659968304624105404896986505123034872602640372488068528589582492443697877929913100620713665473920973086265311572775357509611910582530541156391429251675076620480372752969849361113588846233489910261692696267149793177982515137222286961983518054105518042712609058711460096349950487137935915733131622479540172134184547029594272043484906239198827983924318895653072626631138310084908248862545091181845636998535302689720568919102808169870898275682451363000241954316766239559458589784099139961275413525544161727832759233673836728017405243711125165254581985973645667916325009119757718986572398898382431181365335236985892140120568172976533651002956190745323019129220830803286904248496837393453430078719947177068614747115019222924498679877633628577546372046374770549059083428934325062882750460546486078967637591265587642312232666933005917746767668708634128394561865953331815654784622273118930836153053439474431394411480106455733122623132366205561609106939915066758086976050537362777655607000839772888491630816323707960680324994379944227704007553545797051088170326912108228175548751512780837209269431052900418169097538943921363772335162488673413881344257352386033169189873811066931306243768834571380629257509271597868605964992835365595605528749413088966070946024077365256501546678322712677125897361723188660081197844787380338051737957533857420774422703542169512817131903618536229264469971664342562144024015744014348959857653424358341057389184678375482510608723920446071971708143935668241871292957821317332645428633852143130804953216911200755008582440158081275350919740067730225385043782941548534740091891774897951500673682120076571230326542297675285168247750398968924456219248756801871779630625251678600282034234476796637407282656069967474436709962762416769051340404301064576061839181967514063612952326640553273637755196444135634090101253
96551440436795544889866781020424957457419851999752411838526778811642201998606133886557061297477610486194951636372452028977316086453617647547734383455077573363563892376493233338608984480204713938974036965921358850873947926637280551972217500424561071280765419447296400443969119159960467807646432179135098557836717995403883352002702167145851742983433538031223995733781309200234962602209202471704001451710347198717024790040332193987122758156806398141585650681313562424412651898983955600293961556447042974145331217230308172483270089539238476390262709181107504277517601201460541739138661732025193558585490257119059013270986310062023357413638610444160945342212014491715806896800024117042558701342298896170935017615720913676775460839339767340844712736689217283662168720427420156142003427301636345781842108101789581188560387604984602096082481231659539460010014190492609365908187485918288577201704140492072274709659151661779610974010939877299244168799389820607079842062645350694929742767723870694291154626860642399881273294238795717310535934889142519395212212637262536844034726182277445728018408888147059990659998278383166116048159546790855188108988976123971329278358703737430824164867373503149561743746860872801888152938687291991995686488685354979095906994381524277353078348068460752973114157688515766224633814996319304800612941299283641367979933279020708023419126147268983203018584319915596612394160134793952413556090880016048010435685323349297642073955499482383810749036590137973031989317372520104617000208484170643028109978049488368723147804000179732758274876439696122775448514175695832600407252096233000484357910268775223040665283856734556513139929740125685444415765514169680209067185327120210118779621473156440388910957952509540843435931685877978953555254780710266593195718695994121147109528201979854826990400268274777114592460915751233656085573387399602392751676335305982605995994099191676751095734455325624225018663339759881061907321840003237528947656987270586792853778302210059556475764812670720973717594905276715141705211520943129906952863811715279967198434868222191252153795930776795438038439065260500594213589295679827883500521330139587101932886594504046770760977301892680173752925649570244067471293773544379676903652888661926880738732082317865160024546470100189370235369734569487606633035374854947701585297607329603455781718277918064026782721781316009691870546296109857111393085762887291495120055279423340227095412963675900106367117996571324412043884663438870777467317990801331649404484923658529203488797406657416233025459494151302342321671634205413500193567273614477577358325987674310294521577056409378891773117453728511936399288752583203524254256821488384397174991415088257315589271557830714351803214616032563531652078544048548573520820467673735258684162428765281653433556112327226165848696053340184279143891232600756796704462083657139739580075239544463143498807076905075550907918603711268954243078231760295117845522386181678258494632042272076751996253891346226597376836426654563097414432475834218191247582837608781212532313048801334708293486936997901237595572420971648279525656265854438543794837423573280645355700354991653893848192349707031554829182006416960445145392216520710012772681612312549188647701169527061482509343907387852742947350883161262072692845568814607411257875792046042429139905916167239323404081234284406475106369626887497571811579314462373751028516125288854026079006322377168213903512535193572461723143011478070386419149188059133697731386648402141906252010159475465355841014473024341908801738156107489218752065326976803475705187984826349334130757123428281652990209111047640343294984764793265781532299458110374357073122505687689915720453291299250120704614049420669516996719053485557983748872507973742169714744748033514604647481841209837176058441839003092905690556352565258596015653118127037976962281998266171151322215464858298213446755207740264743260071601854779302745526895683200202214401458572926126917722658075845524068744209610599469537518226533617717282912026593485889010786658703662949817995053342802206600212895354112013166944657219304273704728738878806109365323798429174512011195774833921772513599757770198969591954357876363489544643038629308473686051589336778244209149813088263926663542659072552962388070157679016157807046673249770184939068466829509794370142116895237306950078545910816291485663955466243217533256375623996079347651021077099914834747086921259366001085271930913323970612450901701008718671627880178703216335730585322660987062874900527756387424884268015085265076999641531590431167363386485050803679705645236829341188398963993616301678216830873484893009559529174248078444418229306113399654242801634303066013331500887460718226081019992313119411673112413503355833260853950342541739860318550138303087046182610546362649917486388466577588504014240504547441929223597201240157981965491688394392320006994714060992155228132639578443538864719823570965586235932633811191591510207671465811422054966880044283452614139445800448318120547106125946903000360293122948592246863210461372233069851608073682649450525913283083467044719339618057212426738324179633975801793106349140492958675432682499087954000772326367077184859005298908741631323115926881270637050056916793583125509234454729364715094716634966776313252627973765152640002710323085168293931753703413647252687899091205118385304529999581108633238051944771080849974034070330579771045969040733363505005094001983282028120038743588069578430533537055160303131288240823369270090382572740890278540703535804047960856395692105865291135755339059126939235092176331297778813043651672006298055287654851965556093340451757231584884474336403645275097596247086501560487268110594917688155483498010575057172603828181586547781737248915737092974532278299416041732598719939277146519319157566944270906473926461261617080542281665233091778946324757110937708582600885434319745737660005183767613174166523546694521152628187538579590943642858105409767751617547553251833222291906466178340197361407851418009123634316899270155558889042621591365956542609838774561258757789681210550949620574632184856783350672208515779215121277528205379532445345456991999810904648824122746892668953462777781642894265267943247168980797207556335251448840685395588509064940014187012257177757083216458552130200716664676046618267492628079845234360739040054545740534534129486600736614777341602833573153153943073886038286797442829266659474422840913917287881687676568018971309784324800720451093035106027942439267011842354188577131838564549921009890120049946221552869593639551784418667528367113445106744622966362293770292330572119406324577546346591414750787793046577980417271524776658125314239446042445709908287709060371205702857143021068452378035827951998940390381816001106219166518284875828528878897017587603232209922805387286938908954821865347681699888472659097684342840787170491083882524895718396080421649863150280324417223348407113935576078508598427460940078441814040764797247803611599653454567438820362840941898441953140814031258416825279275423893351247516845332818097125739436830750596731639653913008185064061862049951299611469305553928215356762575340040715724304170493402023725222862349762692264010023745811777654320098142794713033025122514025809156425334505015199937080465633673661090889364045252382362163132738328221528617761176547161644037635301817710699540857068056690870042393113123282062409012844731027876266057152336694751943492677067091075776683176727827878649622790226201916657090389898240012546566689162276572734873294029265657392929608959681123437386774751147939298333136536841803244883982988376024579782702873293477414738691662590147509574076341903338642880405738083453052694804038185044474517938084518304866426202058441736087448510474543221180653318004917607830251100338042340066836712145631516160908677895324631600959197874333570906464750510855729018382058980218155585673988749608459541131142390128916053417899853370492875715691129781472903083142464659162605852525718304646479647805639917454052020548889809109996209394260822965250160797327299722231483393524391816703641104855410686787964657803720369404827064984194515305686592451102807325790981843122928840511275668004878809334133191006212261988359745919565747875364132467555405138204649987907676472593359858366855249934952668146486886419410242418114336417023272979916470463398098282434909730692190747797590477364584803244404539460773935018696090751580661586110913254927986447746562060354800686825308012674100326123788075951997983039595658207687404495349669472236344385213847701435863471162472700956210359499737886280059287057134909632092276392707733924898592013909619939881493789172674550820481614202706707221047953467840167559158968583461335363097087734254498502067843379207092494871012533452793021154339827300973474231796187763074640148876960696176072768740004864556333329759011047798703033419509298712030845957875114043101696460395628932442161589681088134638609859334025774306679812702524135012648187853721665520806083209154235890043052156657939058913454075395706957537786903923363438473573407388379630362269876728680337628056559805569799846478990752910171770495116197145587140054033095527382186951792653902176649567547845305359576587776283673875524292286707644399686015372169576850910693271044679689844435216893637778569040107445842915121154385255141095497766229190604766746252304584769363901437040982475414138301293496546885908917557201007020288538888337458247040873847496378554924440145715517964524853261691800341652985270938504587111564514414751771924379049260205608671660559654251948724753710072674727709768545215499348894421332649126945523929064958405466012609794821349768761846862760066974307906774516245714124935419543721852504702460897555043849688673076434784871301612549672014872383304255905996616118558850513277962643626640988079386984162324950566544860279544742663045439360479599409334417804819190605003516185675326764688255736227700495734865827583608734370537420328861931066227616585111641163148471793391812848618335007406909157327159595758227317704121531004573861213006115487620348893595002660143843915251841068808182950155116058954975773298178936914773931163486285712762029449518643262648154691566824334556704551812727086412943965894525445254404987241179841362475926585195256682114387292430240844866925846411041881545160588355436200802035761924701031302189277963125535584205000769952739666737206692951641054342436331012484097541119887516455840067559879852265226704748844583050369917497104171472713951222357414319120524762797183470219457285950339812467599204471505335420763298313320500816188963949675845867895535554223421499940952845412503288583346709989211284005534252308023302815949198496840831529746158866768456461122387018945228316238811273385168014698898616792167116272903970405544356026703459262397061432834783883695813247348033232656594927137655798148575895334066587966232943606099691625667771178231904141316785198187205039091539127547215778085387046896859112312592753862302525671782989309515587142633520116734029757521968182733916767535562456905798145819370899362317638329134196393401437735115184472426443770840791715952478878926552333094822249554367903231426983016140421917348320809088385265008901386457979404984420612072159974992253408566119195702109855996184107592296286364006366718104068951868056386392332726258508217523849839362844528568542815227794630791493049409984162494357037907968752533337721282792617847536530200551013846790265516890340804199665531672134948468725448804898049313024490187508922587190286107110114333998654310421039306898945461257224104177235018669488012633225107127682625551620732619361467105116340836894420813163854925536314683020232426412455122654754739238763477663901175120622422468312651912788365520839621264595129019727160599034730479937915593117806414698109565166354706667868781285435169394678709286901996298767679659674467720503142633470513320515633728647786869113971910756204885527076132754611318093206264018866295310245284486031194474985934352417643499908667875062618001654496097886861160445487663014751830049846288417591498731717599125169753924308076138923135818840894751519717948150977723471059033560960622280385837194580325530493585250577999147097003453114626352524139012723111650703294078276790863699246848368543707095649372261214289915576859963140761451194502379389350107762914052932994650712861165890723679118391521684583788646071446072556393804945761277199778788263282776568285980197881415731444864479955147385912557045664116991002676165324520578684713114136733429996457285875448727292118616906209067326048049205557912134907171088974307564154529874341563322833267796324710299078027804217079769977361201888349432187132336391750238713724127857416913654752712474958587576796679996170591793407595880940330985412785941101513713594646321576915840344884208968949950755716347484457776912644298051291336616916070984372939256353087870263357615833876233219467049698997674505232727475853002357145103523684761877951143273373316059287180495411459974690276048120864473268885182563953448192550289373463803753817343962343169389743953614026381477318311348455832073345820718093726776612313323815130708732211585896700664925158250981153361317063255035952080205168961673497706057026979901703965102138033413928669814794666475493911228759024263118968346414022658678801427396462428061284538271536601675111456292869986771810457028858934614315867957768292589506332545596333444460156388319276429922451152783553541484397239073204697548106360739943524828088364518501436870407150503574774019126218632275987958605504486537482584305921025318079326559699485644252601321613950946838571395567621185240293330844921530351365964755876696934238657068347778577006990978027188825019412689078616957238322383474400587585445194919470866579437448389373733504778887671807332215400436578122877982922132252079358822987047133611292804806507505036126198057266821314595638343006153360503895507117713041953527532063510576681787475849052492792983056826598976650073420972889443694858294912751933321896193252054887704593299146375875059389374682954028159053213698834420854888958669715188094776303921696741011499972376298308671642854132327640955175143381121223794269587002637608080374775835742276747361351855690277510376477360570890201830154257860503043656808704600016557078939111358682070439516927224540167587592581253493950893750606091855380536547059382743730648114344646674366354151138399545766919590581088067880643696610946079226070179435937544020645046240406912947518908584908785402635001339082048265267787547922158588092796503328082139134630833391022282210266952191613637239147904434862848330881863609994867305479810193555939933522561551545349907571745172310985764668778355102416726344543035990266988910502067984673875467287846867218317998460694469485010213410523018203614620737629156841816167110064160855018967787173934906208876348243716927103369432788286111720045949492097356313659968932171580145895617219839394878230696210283270913331443377072128451696769292059977925652996682780834417903712013088022797755375440193836633234105800308651895634747198620847269006058379485661882935533071029815288672121566736964839823874227601886585300640580871201967035708863955292440071292578574182335865834950723253405429891651052092083519399408356010824907408422203126326193191822471985954280965300865727613798250156183636797987075767453842983071134021237454794047263530493719157853345647013261102244234251540568487195240169859312460369362661886364145455907932444821313257849430528483808777414418824227275571268593351436498815143969587723409017860952237594466024113620296613323969209124032050363195106203467474785351628796834643202976405904128887714927166268873471115443553921581659558422611852447826886230629691552448099766099347433203535646691805435973195061307632729090590510581276472570383480365310631850570708633383118871746826666008116889241146715953269671603078426910815480185392508692121808356096578343283743024900478184587432088486450130619892992429819200896600185261728922432390390876642838979504158817308664982054389757845422959289957338402435699909820715625153980488965895889696860268571379011763790759001650040159398821146115592758989943589548672844936550528750219065764399155206550708995918291314441423956353452344291860957375194539988561465977889355256130243036726467258955582494283240565631158662639608922313377279861107947710690240429085537574669896094949097982246671522070937468644789522107328925768228838612833883887435515022633761862120654020967080017330041665440613802295461173530887840043091048731948586085162005017035953113691202533271510918733482231907668010207057906428771275315269089422833267977208678547721741231837787646168404141319897275043114950368895830412325037578262877515350849661207653822745363738065227602227133616089689958142843977011142944515902199203682479591982467781997629760114399930444350456369658415612966504055689942931160255651743239432589926104595242529422946365049268877562236555338842997419470122468113088670429003835452885025678269629425993617928875835465798810664199663845637131120397369742652577464496461357884076557128437473057346724694025200547266069224095815246886338581774005446605355963230741606581555661313856412980299410053907356929829474292712395104142090745158785448375489578908356591523271823365548411283894927761300848886486163610263632456123299371336161254001549971777515546517246808478849709488913725186437907885576423664452227723909887829291474300033451332437830953599436870535193291528763733894872236977054611951399532669778015329222765900502668231886136033431557159412615329070306824783039926488503653032638144792643927687559297961351573702890932130234331858271708304444028047794467188345438464184285465469756023517589788826791871103637745625363540759127283491320517147059711361133052042405125337434923887618699358153913962991415232636273022495895123525375160909204612090688180232664575135150118592378957525472805159457194014799846933809807787404572676180379344129126013622385487252280097860038929936909627319022827748558681576885704310618093710990499304434985222412403970026002028002552097056974917930239059009775306426670080471940665980838281418129755939380819523988766804544659452000847656384076388066393247225213977257732314831894258325119899096661412774612384733848318457826656789371410479293852901377298165474710437055839916987728024827305838916930685763522354003077929467931538869269646043492363691896028266620004672101132809816738025038331216919407330500013304026611882523016892010740156974456694128604488558690160335544807156128166751001416827362626706424164278932725056197455401294908798798786644480230757227815905330538929720878845655103028393619830557939615671573096013056785217246878822372904642091273275866280713069534254033631848393246413237488011309718379515117401341408991233406009268257816909646267325469474183564421490408388854427026366653730340713466064182753527629919932818449041005206634421739020487775616747708011250175466826781592228856142214739930089782203202852735185489887900422715018007488046202259654096443536919064541742251398886898625793226193217966516030857145748392867113653672975124522731328291845441514551420178462197540213464967025354212947199555445400489883831012967623765580058776963034734437153980115028787923184659582458417238864338560944115840424821043634497882095699353651564200652523947662922844185997649160274652363522267822729963326533136166648147166232176874194835966941782386778834961939779170026714760649341235597424203937166605366081740884045242422307212402824046427099831305903645456869859728974951236926098155659593183758506901705300218654960439356481992281505532709250805343190642810148246625450906132866712405456522340028147117444818941397044115302995318571310778861277399464600688826423118387367996856680726401886371269915227314042825063818272427688925588813461115242614453669304398280183677470893452260988991867657496995578087590321932768074178640342736854785553724016226984891759588235297690728193315447773905898571917220844599160562440400808116768806029853449674182298086452137499356233638906451625431308748920008396833633267380450826053502658245764763303096091773583991533050501878
57418109115743480966017296116831158556179900619395872536651494471670939173897302460306815380403687457009397544706730645952238615677531332828721221803463150552874639028402642311720081091278634256431609954382855786911550939078194108627132045825936661921264069333069358482183870133785202011830078485534201733860325125720356117558330757829906253886278556705228968017259152333179413481595296499946270591078324429361027388231786590859192079494137043524172148594641193408638937523134059204133956943054772655554789133230074173325157459597190120118993586449934284617327978864682661993287969896371424183944842120224985696816137762633941811541027186897790213933091018763300301134122945197060222440911366435962746837714665944169084684957719754420654191861861909995000947134363508716613287091593500550416465967289217525283405657094352386938519212461966530070053857622681736968849513783259091279184302814163824530196723077316755602569925078933806886360193058924375024470287283862369740224800467079581136634717781911399779806744196189656326227251808932930751355756473514393593873903004361285989724873497324245337370911252790063577126595198122708640248389127908289511549912376625910868671326148410816658758085474157089507119028441647574638757345494455583348014755546774200015368962205111031941794614597023121177347751610107276156441811380205124207183699577922680043147471184785993320959342224327349375334275560849074051970706402385871390242551384248614619711529932796800217069618043837743731746581640038896876495260903536415218850493569409772929421462131429269339170827385045686396079739843228469888816378044657764850136237477254449912010966114734670052161819495632794497746452483125811890091627981315926928980176233834524901603642682227475912055260571323251141354383197945793679601726856652946653699979372823645509609992625518788776745888017711146394155166393188213880000900789020392062062097402825583921012844032693656750536765248091379849218585894823526907577261439308240288777285312365859783228979951307660938050427832403275646918049056671965769807171490652829054424908683115556232085689167604680562185667679894260168746276372478672443306689935621739172755016013313762392909235846769823477931154870857868582681729676692063776797926698166822709138685006593908339952346336948197602603084701314657517037165561554568272118499895897429628277345073501828198236644762684564392151326904960021842576416893104803892205586029502438264435677716586147345621547583573417526529792093281926924588224350386858208078876453759176051045822716092298029301610918824433237775845491655950333313849834591909029457823794053335342434601680944466508108245712740976265014726850985481656163352716228776079566030773206406003611457695247235268192607163577027079817441356195635326373554866993607717329718371521506021335749151744450326396307039997863456659875596681624291010755643910072513634272850260958341816924552033539048622530811090482491580703784438878098861421801758223169605776901258026722326169722446351417004045161483300881245531317716794623800782196481635319342865047874440441023363983703407934825661380917651481395003310406399465837486748433516515977230200071893684477480014698776322869926408645832937486781110384539556188632645920810576388865147034738092874682518469791197203976873652859113654749510212082355628598863814850219552929648565131785901214139045842026920874602905657469947149265980493660874856386143809732656311010495053662369639635009629359773059163517936211076587638993860442564460146943167610155024158266818647771770773275256028059212532508449307255799137385028317114201503426504380118069195477417810250050907808554541371970440702049870059451685028942956114153518722675248864418464461285415390818888377056293471852017052416827508084150172077644189816971244796666259227714220824384008495771234968200497065636944503986055558666989697686975501920847132925676922868671674866085402654635749903635160792188691554182151567747567115543192828648310940424313501457662463262525810823908112232398594431921393407884851902967138769465705289829990763298162357562213093681934247372375839322974432333519038634972026994113981312309747016237575012046412125739457031169849932529968402622911131598183382417094984512396467260643404352007290967480122320042123761631556508612348622036802860104153691187666274952903939895434992134388494880124741083031758843673880890639348346619771350754029395031321092473422439790766376919682575189461693464922881786259540568166490708653779641066100724953994451106418806161105638615116664067864514709623695635694273758209531704782692654331091141543765835710415303776036294988214246553346480606603460133948588343540892860126781845774186401187298816402746666001672561018291403779252965735597188535709389099921230766199623975196719023528358386946773812492962381276529272821676438725262752239381639940330119212281826196185007128458092931870495229858923646479764402078461706183564338464623287083887528773736892345722287327636384096421961833418618806628742346302321617055650679376170232966009211988479095082342103501306854291456299891883069968986733896981936848561087286659498507448635059736156415075781665288890864165561312909440813101418521657704552858756598358275440949920872409884215416185272345441628363924044511672590605806441855496271660872645469197101900336214734656235491010297323476433687043991908976589655319222182457916950155390679865005083366714794600989704011319163611979768755072473709225406017917512392996748366640525430444602106979259559250951571777860567636545033608090847901949656902900322598553214569487309883120143510986613636156060505717369519709086612501203226200374079001523121234011481550905923352184932284084004681914499165955009638722203207385178230583084743442177652866080862718654670050064998229069463360189121566897717497467567390262679916507569825431766376103051670894628090162262855577007721754784217037135198358399466659873597471522234298755942456147205904671595258161525907942061300986054557171237359329308815108086153599312673681438931116376402817741168965524318443202866556893394364477114098881567981203319503422767146194875702315064005024885800325769906729983742801900511089266292888607340091975763394573230417207202219593714918379953364395223506426581650574603772396402984686902523809456713891759229926988534839281424388418915799786981516616161686875091413082612725256963494026071410279687182572141596603117840449687871415455279434639177073569675957955399469636441664992451773275270404503439188419609716893366128831282165887599875502169824807860647198848902468019134309885460142900180850598799595762833883210109764255291773132111836731813523401581982136897944607532874128373509189353989451717060720172679187642939550503845327443175030837609853520173342880472687326927890033120749890886779233932956217671791438358952437091747042197616051763917635325900167477594206940949333785386938763232661094101393623766616216918135167458357571954168378541411563368945256274395468423244370514740608646894885627377028293644718142350902615238018884561051188634373026437977135270374629260508325565214654767244515571258591904044497102273296278267561550948838413775816289481229243405552216916253598574756692777991982459261222881490611240876485093420173440696622200968156525847812518264485782952186091710256439290554406967233976665907318496618001885240973470927987555417021130248996572034734627370727559118313987339994251332723705502373924035199279992372188716625173258280210184074962699409709543928110842088598089148509079101725259541851600023178649870596212285087970014991708235091248164959293801088763547708732966463391984750954171200473604124803857484628146816479399497088686988668591349393872187808044547636275640062744360267028449275092000840786240006471038153754319242516898469185700900248227052760876785530109318289850251878559924605994334151420412033447453345653123787490645384176184201142503899659006417002160617420104348140047700105659359354853997211029446748133729568686033557953707827290903554450409188430181078567263978632540253139108179270553822101621879933497149507056975258033327428739383863887209795026113334361289974400708175753867685569815798765224437166088679811701187750694433515749288639689606379587203928327901311108348862983060921281058826544530395911359458654380742463732517727938742432165682746157493959480135491959691010150051790434174471067988954842576940331927232368764280681967880736377171099557336817065675582521668271831929113429250511427976997360806854790627549792359838827470687139344826124876421671730052938752616549739174963883344637377242646141536121628757911634652500142768259165611286609812946767503541503270167589870604284711036658438361593141385579119605399510518548328586983685568738247422431533562983949737798267019411334071566577805740689309392188684903903286154114655622024040515061314558136774177951266042450144351117799104438087250626409297099889497341191907346772681943082552933925771556847115405396920783479278252765818705677158602840385042581633451515446341157968831697268207711248735962016734287669408749236281182774570134583884810669175821007387110964269934250557466559795586950865463830253143648195537996439332996750897790580186883175810845519410271100604958840465336843681995097366952370948963173195620030602679055954262484912905429512158146318710058576605901555020732312137608601889450368725027168354425969737452670728167944054655588155620160882423763150314345008305977289502051089414541802200426726879066202985677240055476271590515875565527554898527132763214027265218257977761549362001922834828421800559692302242961336235057934720709750149202523505008541096567688543460822278145565123788345346228604684258158351656942510708088504480525211121027297662508814800229563433607403587329385947896784406741157144406522244273686512333924071726103530508230154641878766120713707359899951361094507197091339043491791561026155082599252210536733634409913981675794867705831362390838160369433711290808303475828964212291781434053388828863317581329422906681636689523045228668709127739904336293409143634789340910868541546707341950013185564360996012928948469595700045910287928791345062684315659731825770016858202036112284659157337579127477118163985433689141267067692679732752526416125858852290919647227707456364464856258870552598866573208939690436091676232074092248614766130619225477872359242774519768649832020585912752738681481777084461757865503254786484524084740748539904718257018849098640242584769749009368949596607522098679165511967606388898329349068058205282990151247063432389380078632640400097391531767886238621272550367411261627350543312571798896731771635356124630671468100323920478334958881718495409052887666638490359387348798050869451892884453102162092981431965346256167914669096749807838519059494405444652490062091348651378890809363097885669659151100441627697457937369447561565376260728278341688107718514577251940098374100734220843005680950166313799434868570101377494601589634937242243627050182960865157851391151094176144062328197882028148355264498989752678710681938258907520339036769978674207512096036000828689525607504364557791712868869525166861054514498476052843378466068588898523096102314201012672668867576277571711879208656058114714719083335972263015819944519141316953398899038162413545535883025290401294004537425980764363832496906980786121169341138874858381578640048416332082765753935104068959025495214889247546615065370177312243433915077160948021795665461288269267283511521115445646291515777974572247826239143127742808760169812526724759117063170688498392236414668105008462363828890025222218275082897478475746219911307817619597466867146798855247936491519864478161880149172064464466990635805257689478738702397478208598209710408296376721541513607806311301132871009261675418647473310031257723265098537759370701154297811601075494788246769846927773341175442059567442541708080754159107914950209025261656589870684614739849046459251524216547571531593450564492005492062638881637983580556770799321397064352327315868413978873712745364849306569701173019308677828491020034651178389364123704177326420170787837904546899802782057238456563640228553493408101582452620126251958861598175667208395169229825841127482153171521520073319703562654721071772447607180792677412254737905283864911868922641278017221112733976457874336818569476535271903510020321879775135576190379365331282097906684333388844442343217893330195165644490238073066293464175240775089602226954435627815870081822715103448751206899743592219450491282505593397462958488303263037326343061902040290178613765047112941681483796414865853550171355856552882975158919876543551538962909958920693835368491970823743174556102351560811436713767776942109700886447797641862757495331819508861443332142607071316168300970417348297551122873399147405651276343298889064239480955891990320119936706037709850851158031792244450081613669175233812295844685448830127142776411053087038035659612946570311193679049530027846911681052938476853152337947924322183559544463348333734706529153514019706091992255989336350330295752558559062925277884854035657667505440962404794528151060302448517868526882209623071783131336063223410285303783699235876753998588821355549685768334371005815422747680276633521814626629557269646957469256402972648405910857397068514097381446203034432944877032035156900824191245751729190956638424786566822324086212854500191667700844250453219882825592659174801120644174211468768055065020865342082042600459737293041341194646228372699242942270207708605412389823620641857316921465845098666920393770328810851679698110301916307474349558697743240002173422544129289367322730123515952367583788709096545625733668110546174568815412642834471393522131971820634297682779283217808755078602111654934604877943606279339242720469914531263661152748055394427283541396899524374184805665414990840131727930711146341538675857624769446556598081741457881111503562404148700154101658639752230371702888878395556180166059015211378417591200748450411529482744696633325783267839664890444476817624427810351747831694809205339143697711134641369246198964562250587017321746597369238184446040360368859220626513332433987961149889929760971906167658529458503418914802686069570608415409528513772191863218161663253105835728040944039717654920234669728951986277213316222721832286477392517130255781874498294594597398759426264070553403272087020931568548062672327485623019969358496657854895184495366282294604284013569381958279832253082332499835554769862148168665383317702340337604471340217178591933136801242280527276494868989274390221176639237342347458215620923640647866186220918703244316065681311323224519905698835724611745085093930208420632634114805020776925172845806632801371724096024185377357917252738463076011941735810934579957132914796912011540502686846019880483223409092790055590647485106615158510592603464906211768489450489210486979091503416967782744791970157939737256307439027836436640547605951781333398875611624131313052127236534984727849108653774666983637957134898576611667590700230906372375032073662769276194706598137083057172563412633208436977668383549147563392338411249337100460465595543541556195051018115938858608037681553323381562654098163551832841002270352979547014679073354407469838286347253132211574734933087060326652801711738792917966252426192850071144927893722426547499151505213181844744242801997319543501966772517960529361237743798860046061985572538872887976508362070670997445323373892563836612932695429176000490501572486291719180585643419396878028940196586174946053236759806475920760541476126245320810122633219701453991731541655115371781212174288483661529399600813383990833371383375911474535240359043041684584870028390104172549616970142789878283150017098027055256410893407780169024744462519557509662404378279563123483498254801194127709612956943505598935493241606961636825967261389534735449601054004632966935663276989728248656312671491148662190185283265433473190792850267816102797978633341103221009185180242276583580904748749854932018266915189783950422722339388598311729129841601798821100897511903682384679496107571475653405755994717473864801773346566469255701242691816397105563404114347397852329452802876134477474803501181320716171048915315152461848088808235374269871699357918409782292140847598217741108200359074988578533162247450100428090327794546863057722450686455301744318423306385036459264567988085015163035021243672179859672376650911638774785912297425904017148252533337322741549282624927324735386825442000076577562236111779645861305510018960251483733824634811560439807542091957840613543695340443063399239204219351540129875817986745088415734839395518632602854022122480518700688989531565045505073851988515795777520551931836958068732652172020118341734438208932088525292943004038535679182103658410521048091395711192271054386867906648157111821056576928818344055147137555202952692404982268653331100622615108119192611863096826323248268217683081485029032933264098791121492792044366618722717647470384854883513123314783701177639287051877281388513705801868550408356976868480233927149147597019622858864457457867865188025430689773492029842723999618680411447344996101495165164312713168653051009360782251500228468683625941132107284374880157776831163353096595345915889811770154851885364732459748720016193784433535569239756545527330092356845762772572687500978859721570827193063557950685021554253881961245535485801553831411306325150790044298504039582031517896679149613313213960233912164628637236499486837544349404880741414061066523050472381131374799252566457680657067925940458998620796077592164303952854875643409947803572389286110081698436160661737921930965041089115453968525601275277838450656006029706843233903888515330153728410316184058264197332466521978793809341840163305976284101716687760397758433463574149970520962816532783907862955858164025475450432084468103608483465147263764224531974428838327444842838478837698493840102943201033081199211012108735892434855230187731066562874654461895480769725953652436941968911323303748633852436350129351198412059934582564319569372264336694747810233035606241025650994152923972940499177938383639786652042868440654764514897566970632976190935320928676168525954086408357632621909683707052302637781181247694852549609449601883085956998150949030132387138648512984514996732063848666273400554048205519178500114775386461958923677262243716505612519726443097994057462195869009057306365499007850754731191727503939355888037380478503638074607942441105149535915253608443048524059025065348530270222671064953292580687565795396895413419796954212752247455541959117107839417860339431237451901103006074455186491833006309324943013898101406274506565043825830402446512997075836717868405988443107465472989741542491872052971600457038152316854800060678707863484530483837915324382837576949699343978843270846006267136900628929475417056923296372607114403359382275240163560390720573537122809751973047378614390065678578819577556912555920504365098322734287033351277127255403776590978177986641350966435250175745841835213536040394378650501301559174186537968536996116285675376233327551275334562880394871688117511498964486157543264366817602455265067585507915270463627319047209995530066279202495308480787478326037780362333408384432925637732835875483246399759714257108581475837888962382330867428634310015651008124412542972048854467156271657948274458820191752182045297939260423832500169020366929031485073004399953192559836991524171339486207807959518354221584549401147373869710257606575243873518462776253369409804821138714714176000376205729628468968902153811921824319470348450374286496825796285688550777356910428449974670739176068240157008121035831393470000851260548154101134748633495950690805006969849670045862492102467478834278775933771429772523783515127466650820688685993982227844178836676585792414459593219267324101259921543542746573432910022578859398007189824599904920979119953795479034536018469623729005264733355980189784821396835142437279627777177363724824116738549878231434507195564493981004201016412714718919289149552122047187553485286203921769400271090168359939792127145927531488693216371341780911338161624748994499477165886596203824432682783885695404626115440285950739552096250409436933542979398298170390560018600888483110537924921502201519924537653904813
49609622411427910525174456155323295286100536834247192678373367949103688938115262786580072508584159567144237862260376310166337910350846200091459914180647513517356733323959205211862575654423654570034700135791657292403996907064647172160968741387300412203296083243493064838415335758258173465024551895362963677561323342124731042889178631288844997627346183624284267133089292454286735108623901140264877650467945035775684335199968840568355604681211846305981287512733552299959458656483826590910482811418999359641405188565424606277508460274066080230087499054938154521734661883322039600495774481474745915648774009508162612145229350151049641430311699104526907156693490077904972299023540141379654793159253493795975265930372893694759265754803947116101390505170565224865773647522525032286857163011567427490240965386750532816619100103171241649704610266220523374548605545429812072620630591507666427961925232202903692237477760659529855247344337208481991971145220248341141288026712312062575515554174735519789627879511611069574000399855558331478554654998645084236515639562018106063400424181390576940853254120245957392390046030529279913068635321802466452223095475911944541719527727954783721159394900566074772405677946380064129198752097253408533355882248955194183621770601143420182615288663453331466220744437316767593592781658038493057761991655333052460721937756977206421009063931219480948389941223252448771323286770508758651430716316700353416718879631729696178840485892653440448573715486182857673089728684644613978048538234709823908694722479606038262488435366636733894731142094477468714259480023546117351170964289598539319630313817643077432360044765790891736875352258788188979132887175526699351665251700698999819318275818342681043514764294180491731124587429478523655029931919183529827012147965931073656914643156193936472100104380098183778616587950986039916935490078967043363075236053745345114478689921708077383834202612263927630873652788744649774504464808253342514372349137391468736410436586242220591701189282888111204024347754735873832458495629589615375383376673870504688173874483656498658652352818447907735646510691906207593087005475370950682663369126338646642322173750085781877111810127083656648486440442385308686597778006991007116003158876253016601448880403082024502971775041268575849380329829984292809108618090916186288578618614212329948724282189039975825261356621520410658999550937183643516405221734924406972602374152020588100451409619758593933894768512192670823443836115129226896648825384524947877062485466615202735090084037987512874400006228461890182536374279605829447077167323316912115262454509150858753869320839422379392383690269391837167633806352399459329166033943906730882851762923992278289374869073516223982277241331794148277686920648367863229183781814146031539324562897744403745679886435647033370257269701726831943932520900989983497305920618226647554138165325438076035152967040819971302980218331294022319896091480246098031792849404783869178663364417102064014813773748483853488303159553396039870744978570580571878113468444217469144490291035604768399576289860025742151793398914168508276176724343230982563467959957783055154841504976968890784044971447981301249774609617723100443955739892040640809645574953966613222093285291560664454031576777936540547335362505090704010072636059323797567996611255697430911528343757914460774944408767222220477455745963593717928466426286394401563483701393181951364692601277834453358587664684403545717520812699288563847933226294869740178758582072729845001903888981078976725597853036900624680143811935770651114311068873543323461672490049142068144208038166731227309997845525487504861327606595804048895137358023278883473716270507049404006773884157732280204860699587112723138515778236483198753222838499430145856183264907521600975257662899751937852531042066078931236835127565237947659419162936215587582105715657997668576438008175869970776343193917805748322080978070739853096370988068111577775334128654038617404768188857719120591097842487107222782547304893386718475071384415689535343589218328555819599909508250912715047401945408525842030063556835977982235462553389696098072743801647410713806116669465386120216242465117717683594490378896228144049786789446695893571568351212679937695668201884448294117856188517326883678646275376915749070143669829479821446504164481492379976912265584903480421086557391049960365593874800189225091786421396645349878182688176439624511772315422106454724981404278060153736581075188577460906550400320859506462495687777606310634587277709896370318879067985450033448219874271037532274774333610913799276422344384178795126749879373425913338381792180376566146061614960432896360424682520051586901864462034661214865740114035128548866806292104858726603191019643196953244106451183905671620460654148284727684831643542280421294255471516591837287971545719339494628770431142194749374338326234536917599814330374380067403747410928923038689475027929210116578317835406508030943757118366719195267606830262432257220737148267033755744576762726257594226201699397088891628303404784262520816457198500449159368553654594069742286903565195998849411713285024349324780590565275711095182276177575422888078962081170420862072680549680534360413254573898971284737679365146226163486363126334728266801829181862364307414818389845164197409278600025133959043008372201079879413722650124444421434663285736865376697221895294439829697867002885363363996821486556937844659821230111554618937665309607069658056557776934226726104478191473954520264459106421433227489837579537776902438809991369179139574636894846291108622444408253212455248075141831430748422499096675783586111418330245857211444049228806149599682235556117367366925731056353771153184861371551682350373314482602050820884397408733208208411270577950131398658881949436940786321342770975987046462940795825424965563741749925533173894223474776214495150397105755498223761316725916602109891296485445954218825206314820728971845680386436584191468062631210823576454949562015606509344662511291704477696725614357934859740431526277834125301777213910144053802163886445245548179734367454739963643432867030117798834953882099829699991786381793352385723971166460531874897769310075100797644808971093233852586372715735192132703475587795749872486217315731480606726545555755943901503026489215046832466414453063207932143228185599719328561960759604692681933024579163803904924417455293438269207311769620405760548641856623894482180926307901451334918413585059941524997617323550911339580845235938999284031353887156349975986205731143026954667019932957660325258636803590225092987754923343116830606890313529009489194631965809023792327541305122270452040504148365040634410907364281466027788315908607258752088496662236853342062562118755523955198023522379594122577105717890615494385133801280176903812461545554979796301649465550918280400634531440415329361320476789583960732723521036486787012604016446314980031934732272086070857763409559850092361344788061418298105758568969521904766139363245963447770508279292300141695145076693623573836396009490793189500903675063819729265692897814542519941998244896752848583407376625195278844495509682567435978825008038814353234169717702790639390690457050448060609221733895304073477843676456704133536832675363420662250174912064091944176542789707511309967594149681536973067324404856159063218749086949714567993691429779160389784920951334889772860826897247121666069568393454107838507035677520539520664856651147475722094936348054030837424575746760538342517047512076102282053853997392920487219438174674856286473692117502190362706774003539245818212531859607576402623099129648359642045970406119601808646450786176056621980687491466976112125706962870161856283671923214834177255937859072978693553308386037157567265387210024013942372393048432023480095185196869109811191736651371261157216256299513208758992383538450227255001370558079722522222699840593507505713180563203769980579518502548266079021973205230233905577806013393302923476045570732591898104564233428936519628886793426405565833976608253012460379527345605689522036856621670350279150654248405597809886003870278746280977218306413094761817370399573504253983535816619703352045228844550709926459560044666180095864194283009438893224497446594960831530672623814072379276230675484201294148092759708849720770685584877875397474609007102764940948969622295346495521474712211986985777209520288980376880086307233070207145844299027149429901434665951072570791382033243037035134345765709908300752095066705521984143299846851679599134294981023973109896698412369805333252683414137510337172132616185163940907461886112724738375519315386523919997126695161287671183424236693943636973154003240829914136516380701071310763729359512327782028854313940408290554782176467911189092392810118965807346577672545959510364822449067307408304347978478087709366909491137054753209765197370557720918076796566162433338209606218344824381885509144609187403501737842773117530472629835722060305443950939702828953288610272280462534735659915904541592354689202195793186723184735862661756512499376231585710026814191201930273769699956716781981583006827767018171340034870725664394296718975431283028676804207203169758670736290212546615432516750971752370454292120396524420522168120200516559382275842730276761231243750163611729345397671612446217219124385006145362947558028131780179099111507058890067496747215014014301953591228405972924584595992139282595019076812340787913393014189908256587316525113957529711283071723754948503734757842241363875619684080537695333126794338367220409185745629670920525963979699350796641621415875108336988637134511669797676983467736072056113305369879229962564233846723268067626757955570696103550190879907395999061799246013245434014524791353385791072659913014189393470220769348431457956307763864686804295082201697197739038885508400663884314654144729180690764018865649591441911915629751559911985648901828187432650224878997331249000176233147742092720041551538953312489222566955262884847486854362594918003277886970931676833878795183385522197034310311090590377663724825521746551507918550061164187500896996407448797430678206964306309961646663071683305522636015355454673118516266778798122627692312380370515135327386533510392534777969508555382014845011057546872215953996435623458673515327360308177685068063199359376700410055299916006696163962151384423486575841212916761829241958335463780942759052789222662791322390798599826376506913789610340743762489601606270500456722007554891839836732139432054659261331530087327502376127103887586387579271258849264130135214700136354934502524443814178662528624904626222492676782962653601560791675962335915145982252038767504791608913738439939268670718727745385739750977535197326450652102063887043706613800431899633709271482176499404604628733574508597270825349917006440444037736812901006565178643995383021030773594310412574280782340261848154149226866431871375590868092190934085226787886161785442731224975706659511504363437287931598560225197366756780457992331316097224762893630084827712745598343454388815179475476791994807790761101465862054175668824429640525764460658722902185941050816979032663206362756211193877023268373829555838677639763616188567015668219698958918030378847104596727444781927490998770883985329474412564292552314243027013592497974136030304251778845362359654975078078123225569247466087004602606046082804252694037964785304393355758925864356534781020291101736576133246674775845092197677542380330685267882552337296249269607367719396281073259516651383938441541973320527944282708368583357605877428889460731125244211857575626481941614049137552730590204618965437994316222156415285307511125751858936614549110983280314027379738584729519334194931340416430392075410647249279549053350967214059848485124766788147756127713851090511784252277505882714047448161190109501213414447580930609645151797620123941568199971984350899069761452706382297035146980948516779295421061412389723806137623384158653670874505955498051301799804837866615248779618868611503989848177919604442983159124382217295619642979559876119528682503457047337725790876829903720713347544238518183808209019769502026371390661046028286132733407298107529193954460502270430672425227764300647962830606523162202843454805844597234360463210218989117226259714163209219642256497214673282309054899872848224809527070265209998493313023434934316046829944004901925429125013875077670035435183245270966158440473478580044482708461468947843827846168704538643334113202081909498703196319593537271627798691085327851147448113106160039923344203412509708428801589471032252453552247878765066465684820699511441357375562984647708885858747765328776268674743423178975536260253619595636794250069979060244681788385864483623001238202221435086308116517455622055596964708118415226858402643930610319845397461256040650950429840902405965634486921986882876191834868858958546183553572928626523911224145365010018276109281934267897355332001431697636568880016613997741411278191258647365197399503991111138927284519237243752504327814960074620438359308635632224270688998224952889006586244416865874451839884809690406129692293973090974986420300270809004619485174973349521991470735949776517726806508260599818832752932613145217403016820616785078556827899809896594117112746350737292641954102818155827891216543726367365557433655411837368199815619691760247506334385665157356574731238390240912782232444546670550644081847816578647602835259713051065044941172650184416105150195883493026986224334930360455624194979066009048043742773097908637878478019596855318608697431743497572924306542019876259738400771668447352064093841241706376116599592644583745099871485950621259817787821619999999592335017125204104087821236813732058161359363492359598438919860809910504681206963721753105968340637252021629577229428371475969297813839131704293986972953337044734760406064463571754310235330460669017642956880034832936327687287734096312401162856736711757738725807228367017766287250598709892791940937600694601406312532041400156246024627498043282224106764605064929323109820035401712834537500756556860096749644139677009056651008102830416269284672079102660097976482870904934333122502414108575657074979509455327109960484674307507253654078877910842482093687533466496120085731789773071698053544869916161639923713268050253711212751330262016690959260633615471810869441345240801177298425623605361743660090997815271309704527032999655666214656742409042389150765457239981931646124379777349648771723979795787002557414529296268761052048162997282890239484709332942124441973384320909438182885591550548425004480065567673748269865857833966309567397413070782776444204408147878685881065339561944582758878107735802761726982751490886087503466692696275700021233100334715369992614270712963525360873310591827719416139158410927208564547446450743936028101093968343847957558191799385956112768171444919864899591507796055076570513859814991520214584041869230311140554046508897004377063459609312474214202231361618218230724631174316860598297001167753468544984007701081589612962586093108065255959744145481870327968506648179137516433051651389441524084732780704096240768578125931864550149594804109861529192955351698005225779157400167676349435022591912315021130960281699780635274338794708470731174134171760716228858535180689551900190448578330083494498997844753487578337951825888047295362710923109404382156943432084681192212456242297328970685671554404164632223070347251213699166204639445364173463859515702589245838861698044635651674213152048397686295307031086220103512300914158504782446321775631966037576089697008024088521185576963321673546164073003422485517588403199930755431966009123510175722956875606961159328301367937333823311551312200994357534582154175590044543263954380452002967497073184841567732627730873452904640219534688845799587952471735449490018932835895996981504082004959694942106027867629614698518007702861575294689322804434842324475796974905901878366544799406604024602682480163217890702218797750918760122261329996362380445339926001213848817215882649871478785429875671382684305310095001624149186049450989959746521261387372132344872998022759465065281562657933260717505655861761295512372912741096844236339391507275660886621882545857006029562974835639763000747172771538446018273759137007995721211745145526542349625219981821964062555610846563414113875265509856526526309948917608822157399351034561819333947200509623989099184673361952857981159441899944809691913201318220687612838421252269323221244867472767432307429927448089614984885930127349637118968787249403021770953205196860235054508921841218305949008834584965499731844754202173674397571409237327557637191199848250979001788686016021903591418248034277805274989535041948697608893324785840510618407551595137910246105205701866682993958393692962716574483279547171953145699128557940754477693961026910759825016680871258464137102056975397157509385208915261311147858369854868092064130591200588218908424617500925366070379708737846717031754673907680602904297376986199510552150359964876861477563414682061416849934390025832081264419995310283426947483790111121356949109787776129219325056535575760132871620073695284091298206342224422870300209185460153285350562060209245787086957636290558498061309670543056368207075112229920935859863816774552153632587215162264232281364627790736904348896225370332397945506785181418609208026337950672841410609522998924701892727122019096617714843736501456579464733248482397742988013879016087998105202712129095740787877505353001683232846165980225234690982347945978262338747406719878042242498511618860593757618346973040565078816892466122481423617769710650364331737510493119331777468045935030277612098688517976674578300886476804411970759886846103686921740976298232058808130857869276570845449790809123362138175274048845006449219194750928965876883151973201639057454919593643563535030801739010471318490539322377746259306211303571226065327986687238015106195220909946680646031602617339964967758660902753408077851767019656465846774285227831557142496087624571205033848459855789532770329931251281735048547573552067098077769381253419163076728687473940761185368465493398215848123817287639531680734916858819723401244702085108419103023407131462934649717204172070943634630490792874267716907404319159792762656953766098038007387369000516286686873136586884685075865457962876058495129528950408303831771353840207608297917923593560333554905898567162014441312833721140499551208973751124128519740681081856337860355290507625870262122975196817412954250392246427357708923250748789964242141294610449697356835921273929351431135243201434512990915497594317812269634979082372903873471111084115966845524418799482721911524798439876402225455951926344782384212359635026798993855020440455377368449225790607733639512417889998134892956596834082609278006986915824153748951921432018558898877576566325619077200691738660621666628133167257539521161247037235775491102202674296007659175561637777220368306977644953334154264019501520937906540016929557679190616606721485007321156571064105933928376217837028801833930933297980336119581961150948390431375446491614587062388021775873609297501870319437569716253072667698712237061278961513197274037176116722347210802802203036925770189315447410837260305899490115848759363841085194777990266990532326203944075477982636894078829025104528561457555537560188318485345122976189898198696098475627464270157550657907121996791484397022815746387661051784619909844009855223418990865711834633442689114379577575771379519438440671164333293566329018778924536113021399854362974476102090973521052790813941485939442275340007487286449154965907412122387628581777805989585801512028172272045875374380308904981974414848918361514200607950089961225858542504861177751248206039012699246620753714300983479760038478188349733675656774569801704733559101081000187973394171928608376594643575366487765855663402042263757270988895063944920679400623984390486057004435271155232835146708989722599139419740896450511298071219175824953916660413161719550219365943590042086796114633568109805096163376295575312626946466188405664097075060021628214069630036600660942684504050274526862283477667329457613892480840281837560380203242482567886773368546999026628380039888009221634065152074911881903720517022389037331604768220697931504241668992175043303127
27492324563486476583725714122155398567518929073178779524771306245220918012651399141589160067045850022308785973621539850886909826713265252147009032323321378106306531774391142232038167085650746110783022801837007075863670603496353794063166310057786233443100585257493585018838145378827497251421799065215135173772177221383010863775385927018760816359767502460236487407672188117770285078639953490738904978054659281539091503320327633652504901646803903290410323586325631243448975588053084118075442090509179124308204489827017062004074550290500991607616946133058317649900117032731121900122248767308168286325730377824375841475718228508347393969374516703252813422256408609723637945101070411119963887008614894254668905913609534762086989050921079789355185292086163762072691328392672869959012868810033928584084041921926318642361099952691996831072081849962138193703711350457009286817407496765857137835088986533509991822614108607492151428332450804675312076286601629505036685851890214348476285140231193190682366126587164120919718305833218064351333591236414013315149640285443530359814030210183392649555348796113020524817111968982517321716307944936096612936624806555829270744641236696246667384753543636019490325295991895885562290794500066228722923181878379485948264596434177579460576426179965800067578741620871315070499146690230646401287051233996976612593977850452775470996780309028759651094491113926854251041421773440258757837172376057404984764937015163536356909288280053120790055435310203053712649401971238123414361706619794026890516827560618163472177835402033627449857050400176451072796624151297812628536405726649304426139863124923793888745365268979587502311139893045533342104327743083647966131912997257046290886811929749831501169689723391488781656136486396074785552959904044663348668476183760540400167297921425792437670777062447876445998746721849048004047539324532363576963239886429430506441470386025037451175021653890940639638446971243511238907388912836939673262778258751646401201848676247168880631021575849901703637806798028533823540002540922325950834574173710219932792722128475358517561215105023976528223169113119763756497834083652940154395014303648998777740571961139720339444575048599004036294777539342960303691273327703723795222968221864865315138097934234507303245854855607180254379919338872087696419034501115822600322159983399457683503231148589334798422662513424242632647813569302398452682255677579885966474384315815310028406579395287571893003237041757685899988930190215644083049266863029082914703943143835562913243873205382425719275336183652947923236522458472629597618425230784317257964117077856029269569962422803466342884524809731967263396549490525837346214700746875775903258594785270040212109371416392190831664008206151601925771473871101522615217287800671139848148860815987708054238952978297063164343014169477864866624861830736970245031978391227679268502773135460667011324565320813040599535589634220082567711022487587578990630929927472754263986587077691924648922785143768972135806782231821531621849109026513969499398566172306861709230492446296743451090851539617804383660413816530839520306993596393259807810222811440343487809719318405339198836210893790032633586728345545436492742593683665524954670419416633109695059344839563908322446375931886255994951195052095326635479573365628446193144901102757986245148578170670900728999203270589019447124178781439242039209775087812038966965054999415676604165483770563116266030383954646992601618461341220122093889815664222840404235955247357314235209072873891202240234152711963189915424460087044692509227709307708561200651233710160481117859140460172901642865850182056647021754086414803932804433951365785335844757391879043066259273052596559626797356168255226749838160386473496165760383552703436768717750129281331512127175788569945542552099986857272321851424056755118806588036850657256021432335103347127051553985014817438945280164773849533549840109805619351163371354846568113853363042135285677335541814031475831065040842222847127539175932084833416357663968934141969506565624867588893791046334402607976308630758960609319856263171283449729661169493041479226981728659878909284129013120494455562440035009108484776175923479139327175862794502431674865238138766471977489494861070073749013765210397314595826955618860178458175502427781251566512933425711620095711315801918843441770877021150934623661505935601810394422437343732742001834069219424440752342487633657651887038896769617600882830449033084922245243271727193328795634787052497287022737879938702240699289204037676158697734741444565435083606664028518636502378859575402524619043227854030093039483847668706089120776003111163822140328627057271578341794846820867719022516586220796785676368995637333712004451612158887656774896643541685744956312466576954482758131994014115078513967462511052277692877430211877358780737369000839769017770397046685730565200277903066710170477024019270002787365127088337410378488854770445947100692580560105969207326582283468670321263301498915257866860764019975031390373931211269074102194931887320749909358228862377748001816741502846089229858378380897010194891832493982668608319921330386037674911463362868300127046978293039078202916764950677596860397467212711702511388012264023295711218275756884019829203269624473081743481223263560474185699722415281709481905302924009483434095231938705528723997192958478410209159708422110350365016199965699276463190934778531564281434226710565601469749826236009432471247175289094616368888568002760354118365400192620806848391803565768820958853141342731298326453555711051369554928134835305318198834021624034227812885491164089028159383369491793872123302546507822007434493304862118179117365552433590284686989258365334210605455084274188277234302914878916352651277914265431620519461815220299489261676186865668306682591772072537305803117090453358966186452439196460031960884883562194620080085871738073250839082671780503940642819348850184945002060605653341825237780247275500298956233258348525376580284494694505930694025630430498547323686124374733282845402245936510481940320026737440768774441703562705782546416223110423874483404459462476399978507237543273137940659210425125984579330164599092022385004498730731030512892775265854863515064058174866479896240861172614826982011432859328252873314666544799851408059601899651242565290060334161798936086016502299205107247283744234658491863424823839496514684155053644120954187962938183089871293392217130999016796003930076082939272532857925491512673262195426927594054256136100504893572858558805983626671869971490651049230670150239936427491131132034540604575354118850140822780532909903384441726370138067787310079347996193241166497703808720284610261623139903827351257997084135242763651516331770590017889265750931177705976687709665735327754583513142149312286249856284864795750384217466912530296705945259001781082037189805602883659886303111517014670496755351559339811082557551627356125294400365850152225568858974363203229766042653533355678965689219346512514003374787912128884525672015187747611146380658144110238167878592747409386919286060743313647798498933065960912552655538160298746055682609067352835569761700730008337301668039853713592120553849152047410748103766934429168904306260241244942223309092836520393786427544008027844568553406448386247581913372060798710919861700602439537595723550657905912036175453691253491575968164545589397719362128171052040136388064728779726655717014135864963454479008209963682748434667334057788827545410154390882553714704152868824060423483901787644113680624434320516068296219344675080955992380306929613112783313169442605069856695663483639650359213110861877955204286207437465156580864902307820030925865733030267159489453342385862400815955580806695144850515132697372553966358118887325915912835276667265851790530884240586102344396220904493528905289861687233916349353986472039144655502054698339579324585288673699656238852820699348779450996063503243385659788062385808375356146324980456282971274759256216560203092547220791441891296262600133959890448037586626376884251210467689141087357928694329497982438316263993126315479470345636830248495586481917774949702709789081512575224299256180306100376201377722890567881583944169955501121463763973767583565439350766717238921477899561739038110977297644360293104148925671497028810085497072143288541639256526655580902869325201691283019164113206934019756938484610141137668070208467140279618833233082516012823769426444979176638302307302586053963574928408170719862441194634012022788750072713972858216253755707836083796948859394311801346195665967978584455939678557842748123447012059446163771525922361116202477413924326447141860451781960724610124359183316376452782045183734013416959767698436576777257661700274158778154607835271025984094175416706998079951011398704513836115289397563750379379037485167934571056238728273729208602413640326345552783908265114622616890133224503435392893209985604880159632152008025113452505169728957368603928969137611430731166935779239254444199430110381609633047423159592437169830169994495981806948958426727360480673698648659351513473786224661472308326022634273625295441490999736106547294516898903705582298698105251860669630550421797337654485366439467647281035978294658989368091862900225839014877121025915928439142954406249480950414013236566066034932790443998790989655570432886733653881549394264813612624770421597511598730728278234275579806147132457729745970427779648740065418721205704779023833880718219519368809078097151414598904428027868057266324752220118393369436558351420150861943723797002087291695403082769219500694660913639846815149907239301420644684292894411411662130418274449618759751521777970715580436715633835335832648758633672634798531577794288098117037608615860330027985456536266298680401892690705451924551640614467078264622379374959273796720981969768543152866645801789096705205297440033910458516642958146587042287269442447085847254681587952695388145282177946830080879597631067064284998979794562440281945237473751946901544957498674874220178218203984732620665911811322390659403892159868784434899847044527168853296426678700380282953874354482482702732697520480906167750617640213175802993232117959894375053158670908020525577835960647875877172286869781644038302802901116279457057060095306164081982973421958630658381486682315355804283264232603121820984604791789108137937684325082057464537933247232280358483784662400798412618086651183789302767497763229972964948376251162470283235861137507494719166948781956919058760429676910505188831532484250727756607419773442895689577615746107692599353262085891956032028825590810237417632737472941020322417873796176450208604025108661831739567671086774563431198295806027402164881489163566463972846035280103586655392655714030045968858997486993113640737408981729562926262738562284566200322568411116428459330414793639523726138554323839276339759924333361573777202577815479582328381684780593322240734404450297885523969720458518967192988020454601308511327985484773832703206314843730616416914787986152440298261144639946292092472151132175491520183207893214716736291467944695576634990970362486857781990716330995222836158502271755469596499911612711436048898872371667943280808507962292479962233619845117537678063529438361625524723338820673545320343869510622666172096325731215897875968877025666703580651478155560966747164063429083404032706252015887406891085828480966395434172629823140381393281396092504027868081419825595819571128130302008967568234470938729110420115942941716484970997892119658968278891281402972239833974936238513815489873532397511479290555990329008184113722377453932054491186832745106268836144882959610984462734904371398354636034388558558159232378608292930309641077258186693780507760002932532410409051137201487788469924258825196983541502578273752920542950595180010710511960535131851387765345881881400589194642126362556232649498825434564081872032572742956411473510275813488098501838233331064453033392867586388125170961266417607595105520484292071591765705339407400802403994597378412047521411875537956674918387833620420296010907086893937851588845685902828651979264451256873717463136783636034158189444196741607233657146287928553829985346519950758694628199203374878458491126918033547052719890456571991960980454735775699355301149221734677084430917911896711885215763176337930591173643021127429788916033170085771694087418980015986667715528865546857789578345090491115652357487775845180497360614451980374108090220717265717062626974771177352489615611621439433040755433370966932608991633092387830518159861141230144619692255214999713158676202439514246426249950888561646481897513211212065245989924640009068005029872152262158967742598432790585559780361289005648638399627932369441299511522768941835444630727108532956604968881449592223839689545757181587685469269652701866415009205568279858548678544920971358494965176788232209514087920524161664662984929719414005338237248439694667143180638416596342327902691356176044377886854801459895249890574569461960218832169404534524960514730904235888739589112504951511583315524078928923266213107711744970028049446067582234367101937042226103788448625864023097223696411718054238885549497397941479698675634026553338701232841892810515146336853951253310914877294602929766464367167078862201268221198928321352176852987572770127294406627736315483598981706471965072847325752765665341091958493675634973851539784049274453081353356864088140162910271510139906229937672370624741096140845936083535421122892716066277509154217065162365834313609455253223588524098631505388611215171660525989475776669656469604517091661805684912386035909850010734881920574786233642200223229450157102716191314723828953488448376174549310529261088295424372280398206512554956287238378569252887706289934948106317450168300949681711734280833166191729935080149522800349821347199806094520754781142236857977052989025559345604037775465327699865419729089366883073192529718635766499397264637851925288280363873609243995749512980359866337877266860903840638009333899332464181807196862364742691950365938696828391236142977378209030467169968132975145442418355312144300020917103235378964441913712885845199049849408218992704419945677181544450486218540554552957254108838845913938024173807628762796204921656744038867130910769503423869101319839967954952179749395120990997568738007101501439398333077593055664569391156014413916172536740267158848735491379952742265204997875969544887585530713219069213236295730411050200586008204254363173434722556935785675546791787747949142433430130785520735202111813263780841857592535067879807003889223222156784461163681599710837898636449918307999603319328420236767181728048501510434840972922398067451297107319878401530346926486415945324730344745775545124808409935039037418602754710828711044292228430265926372674457935656273716494958338681638193415246475686334288216820264765563450694587986268904701837130753057293608334665290987392095976428567712827141876070078880525652412097924228527268692280033471130875949403686457215150461427790695623830895984285399405764630074925427470857838818927262189287423904481729386406091697106991200158406229808999509677096529472332828106989407267060754591059378453507595071302198074518242759684155794390984546852376865484283222993820197787194841448254309966306547213652592774787790523784259338615716258681017256657898634022778680879985948436557959115365775572597009221743004914294132116023589867272649895572183403990208488608857221292945492120654315451874987624126978476285852637336914971762381893392374513072084570848811459574425457332319746426247326901226244618702049003856320418913793812987824932155773634434161553527000204471819675620257011301953519109419244172007032265806861857105478384906796546215670000276259978568473362633068712436983280891741822814540151365722655846440732922896402981200066354267979750686122250657130220412767120940541295664581701798056921072931039587473090584231244048535180801164257661472602750039486919189926599899773547303341923163133425772818465866726783116721564183954205491975864998261599038809561863557394794550293570590568517265110876540309922242673699887551528400687419064190478888457436411975070407246894566926681401327347263510617119358392097426471898133854270218763799123802397841921704690928978037641709374423304957407073229450691816170838660194779756504021212224850996208019833989946243850513996463044416386037160804062813583690278530639233851225320500297105672960204156542203368902094780165706030196196983915510699155481779573139632097555945303422722413081232910450898565351951933199058621655494792677647641655851111404993481141038561662411404408023119407268105999555841448500608172130155981630674392331652148802644897213982625079408495684978012982343167585165341242401510982904763685692367900257653199796767343373786986010501174379454980251383260144091229023036612098714983605935808809726816071591078342571332398585295350907795929973711031899449668787994133662403919697734907058965658113376482896415668581580802182711280130555500520517615028730375080856095364338497378725354846360050619225700189258390142400692521827109583487508782169578357743095421604068848165233975338675245084015016175729181995912862732057373257890480549681304036160343563012521972847859302450725871450210867629981203298990118299922138344919531552305774554004641327864212705981900400953833785689970225035793259856999480708045273784336741433669014527852883636365658461133174602531762063963506382934202254554463159564272259588475078209740433184241874332164591115943278683798774498326205978131494076493593175408162882276952902664296152792010178511051953022573455069995267071793203359680490669258937561277103208617299329292514657813280459948539374432489363250357949513129059068242589037856362596734932998915888415304780662982422800094892104884727139590654783154534208093567751859676971996786831838743225653797419916965415642678133627685856165318731625045604633109559292845421968193239484671185247906078846535688074945305144448047152485462128451580275353211892912318962856611908175292935026338272467843265867025456930187698632383346117307408573703365790193870670204163912434877168866106272118831310801118034625239482108417941331087384877931489868278368318481789463399126756671763653631228590791031883286989180956585326902149712028864191502190462444986233235596011274987392310937411134566770111270491025753428084946107123616078045224127272158983089566495179864216960702349230563681585395777217718889787024799411094269220291044092499820107634014559739699487613903896622285918615467498544498589893936533429457775903334829019979987559797619797388748217685020673171889696198119716661096220713148468849649366221296278786585838329731206372342440396952575706408101211815954131026886218438547824154963196669142403987570873324034075713697558834308816590216961472480349909563044773085220439882387894249358655715804869133426843025692581843941101496761024069341548692174714545248227947126808755639190397800196133199001610640108211489471794863779497679145654462093140031945696362497649295700503133959341139429216914833645658655763748615186581654062457875343197703141346414726530787268891010183961582216636234874379080630680965914346517135785164045447205857762052515009522513287458954907862093050614127509356698075426695405042324950827737961711681524712154826619142295481326061138781419325101314662490694936082502717238659816583496931878950865336066301519865386507947513809941971814589080659542941876511150699734889390238196681431638039630245764057134158117695610405093503408773400761603346078715806941619359747585042023160152303471382134466522478548145022665712744502254472501095282096357978367798656069379204358869231677345367589520496659455469996584092270981716313343994535539420775324412217800083702089015712335710257011211591322076956192586493640139942569912801027927341371889338351157105048044153449014412462213676859428509094733723989519561748499595134905872816259023187554863480238696759060985264541385015244093568637424350927241724029908240595800904746723172700237318148981116782410520051062290918494627100957076983352835651006769993959157879457128580069420174382883692172099863371038200002972307182984517954982953032401899895601274038187179793877159313680306562497464003406848673221159414549823871960
98551931587238696486048898533088060673179247570261450149415206498415700546789440597353843995147805641144911975930854910587884373255078200295513437719422361259358232440288707090299307996549511194157437493355757851086615718435560911211029880619410840699450161441606380526267824335077560680627561340518644269673145976733603473900609142503215523253749039055694541981816637934074599222917388716710184839282424436166810442026927611088750765820335492868113708302824463608316351121578852641425979627738315480025331869558953534672532619761734222127828402705703904378050461155181460789696869857679210105014327048279239069268457432709565333670816856211168809594602797566542269837511692928603346355254398304682787754343950336189788914528628972081563651149191862643032089417520224999820599344761026094968836220506073493806031885336582212697091750700403632643537467043098938108666178529863348044450309487879105227728304110750147749851093447268682217102712066312915994156346503121663090213608339660397858481066255193543769118107202459025716557971387174569521938718184708104500418847925759739988608176000554324646983504003607187432684646339792856543986414807053009809954559462237286030973181338057982812443819580580483274105971421701353486143480173226037865487605362077200695489877798923858848374441403658584676470947825701831906760804678408348796154048309567063753931139358781224882670647992769314753857739636588118370062052349429482704726250207103785483707115310420480168000061649286319816304678553515972734417277988528005251671358016100153712096258509372870633027670085713186833033314322230745684172682693761497739481561080614874294309566436188832560895988013100488425154279214674042752115342767907858506694326402356615620096541035555768957785522586963896714392608414526186945116585310686892236113940746182048749076091684298313460375237877156706446732656418215479934396521156158818699957882042537906360695366155866586969680024376803719180760258574759200771093042154297116879606174916789304408660235417557554288667489536102850524804360197474838210876137560273412545773038972545310574619317825497103344415673639853433401644625167612409463797338199675819248487948960202334328394456374108118382389189037292860459356076067625599711826410098013653986529936792850077626153904098966543167885180638704065926457720633172937380202945553029477910434515945299274461544472862420238053808760927427056402302254472008705520932907144652826094950309715471550668645715276362318394753742252730536794591074778578016052775772176299539898606150712124733200022518967887422746006237991763623052188174669428233347905508072649827289520366550359193229861197645952981009588198345423514839816390266127143709604099102033525934587686829727852968458090997210702821323522927557585483353159996290154856437274288404064549090288520065494806071183016050296352663862064182274804100012739873927791839950016184290835269274075892111558916536964107231708418632714801974651774959777574448633159936344439189165923246503587195084896659556693204336355034993818069131056856702232909691546525050197982578961817625465227496833229803411765689643662895660907956291772448358399898416667727566364415895649022170747399780642854496340846474156757634835943728573638812273816978533091858956627987564695634657211314801779130239081599077713836713510647226407478795118206728628717517010534456244047383901131965159546084917390455475319463219036612053609849573331404752310250140034446997636926342935476552239674408232774918340161887267123154424523065737250565751590914610442240468591427421548129535476504115877910806411391190803160876481697242681213983085051388028229702513566238415840094487210365470151599883415656931997176186134875429660103563729640841336046371054703583955082306095055397488770873700055593416835201703779296672001608447746280755320352311496080968363148644038244234506249006073271855545517750824702094580636820640210437000414585776685075655348191503596732826913711163368159242684377892827622770919368126907116968976633307747329458025112199988674316930674111921812627074525045772882436001536315709797901050333241737854642519868429131935280236016057500681526474320965592257443382159154086022358554674070319256215867166647668843169008931266110967146213857321419622377381045032745731317756818933772736662669328088337871792648918546403170335869117796421207871912140038007783028742202263667651391109499948939395014986801346812997483195153176938524957151690917723168597436053245475746071806163508668216508214583875874371100843210534871041882519905349218909955669436981058337666534961504097326614025801469686001769421814676813382992601033022514810442024310377969029189294902295064966108252904604097788047226267954428402441144385216899906637675604192873816093949775304347340128950186618941701007807193920220742394487518094026308085030071618241424495864715067056321725316272644207174917842224466385431097538324274316939067334183026756730397136148651977117553578908069300301947081613835728267339664301828604288794825119475376180037856374849943752854793566077487877443327753338423236511860552123364691755517313481077815976754148262668931878644024649082957001257252192239215708410684122392404423176497603262555390896999851161548316160414691104923844854709376774113620144503425476288468478170980775630427625339460420765925801847468928121496677693736424147073378292694690209072790164736636285204309654185196886382761276653162549643903673053602229389495375232300536818040999695873489304711600227171943117238548840212841399370492265785604107431677502529539268585548640741546476616616131853467688136140725107632875753725562699903332471604620947692796470208546939491373820966499904172527248338746806493313304176942292329624736319997369495179963060426772284441932709298601520881847392303318578047917746247686301795246785781215026639317461541653682615867044947830166342295165009118730765920571659631127686804762356514178486888921999230185655183783952896311188125286869642447637416825034278887986366743999643692476321077972736216393588700540755074363552559856495418809980375280171701903087357149707144660461267526406292332527729106148687477340335145292510601313330134847341617752589486155164884799857521021663104010359233219806503346037884031524156537332763653864808135915762363014809380516277357568844085733433923910037041760395182892455633257731092618062770246277904948508364226012377050311908178112290698917891033828399337039411025409926105992396728871549274196322790720271447506171202103106846913831810995762952122157615232737866487958303869939838313297939743018460812711460530327581317493537482052682051152203728235409814487398167636180354851090090343121124443750976549606045004154782773669810589558862070357736904790385193483018857797585449370945151685598636035681221162720738596502138322982419675072755009766265265459899023725569133788892454246285741264756990102816502095291930961218643186516134631857221828184553885705269529767218829144324860909847365835283360733680966057574174828871159296772169914496585773529160034298584170963090328376130454139133276317195434709137676239568417452931763725223920285146754581881417477505621666067447511148849169479781280662810628130552961046560068469934453400500820029293733709464482573944303176932002193876154808538347532716769844632056373345159620806196110052680706250135681132865942692669241936280374640435484023997563352388194777216096901897282839292752980162901125478996130788546956617243487126533751124986168751106935402627691484544167041816685444755839865194279252243800094821192927749704575617075977419793285955108690232243725759952156285775929904053562743875665908319086471450220956890065156046250096286468625661197814059185912489549113977233818575589159938783522205553663796833097731410563146941926716242996720357134381015632667009081074627711953112792451413945393289571589008387195617077799676787594797312777292143902459880364931517339999225374598466475241019668245964075236626540765335402300050730332790194549107930235560313294439808112822796793689729040338780363267079277295313567947049730559975534006792567704763794123854924129354797900620976738409337517491465779189399037914972608898948187297139887508513641064229496508399744505819789867695066536375463232293458010620910736626097552682031506935205218337219813251110552184471557380309226248020713315830621934199897542732272564634380571785446637140272274726928253722044695881340434170005857939354415921782956841483097587060197361872982153094429927968440875624023251315730702931455983482956344423133887483464071454357050055885687289186191466138682626027771944711180000487219054489647308487992927373517560014500657137040407027634149605300963998223087973865961602066521737864173522497342597028797496553365164488586827770913311964164769993929615486659858028301538209486818856472119442373131318625895278759502784420709678001572812641806718794634089635342307914582609836821642890710241103633394191669344476926880499377932050137074851421065293919973737364134659732002436877054706553055303953034780786097790128455518344588510265772536263482613393578585523344578088753192108082984919791950909953937180415897355704761630267931719814072472677563361644231169051836968963672270309455342364453843619082967026740050988667486150271317755073168553188359659178491678864413973814531044529392009825414539054476423887164110066721169566336166635947531573351971099743397367267818727910150145419420821764706861415387909025114316100144441608944338159633082892329577111986270850068865341133131039656046711165970520510782751681110459077740179105695971587807461362522890458247682992120093893569544348490838621217472129616621320660712616197135377146627437806961137882820514773626903922674284286631544451355595770622656340969233242470654260696021015935134844639030354763227738753648429158083992911071814536270529190778915236967829134834876235209950540888158944610659880268943761382366533971500583853407801901380932304558960889001472668319615670829823924688177876899815201517312288160801316438068244632713907975358499208619418401911109878182474612009389370370399265773480187792086744542709730852093555494673392812829526104616404774671447497323425701844800781186805310508221148133029640708376917212607357706257793936835619246521276088407245517934045080051146092904306357924323358999712114686152642605134929091101547141418672450848725400795691421629227393102358547218772465624413537346058098274182971766102224612311597205958536039621989123987101396842438405023413296701270560358303325006022438113045802023525978277624413764732996446538550180262279186322268619733816569726034978366851297409802577387808554095856454819242085899887239934671647303884760681520838751240467128922247592763571677777362789349720990513029928897841975926478362057379335531233146467863598780547935789431023882011470678309909204022949253815434357593926470366407804214278099334245069627876581037755481979385205310762835076795078818697231363642522821571300947366805272836317736058328611770224998079144839629342857444565643605921098707080069161800208616513023984526250176635980211662228502043154720938569221120272226813331695776127565895139800335782505900703974801682352783378592120857172054946438064049678323059214738398030030323771513556756553705990988531905677243737032728858351521184787882083535279977234692798937960253454619916461530280408198490483417575172686302800632219746356735455724694249025750758764056308712300150961041586333971161342288460699302518114958664744901113567881525037230434577157605179086400178078179844367116998600277138475014410470793385043999189816321904959497939794112488831461484231706251524797815345787982747255297529324800980622856387496624043815698847528967661440647297716153737975223184641289274850284307662082743087358708021337876469310409677915032429048664584311265736164840244447535506705752787571050959704315804678747856541745431363607059599333834402602096878851384757885338496932895441706308410767700576716628115391260133885464593659563088774199647580068414763129884333307057680658113438965552493115827652776388951408912960370218795606828332417386001887489239585703405806456448658747869377712804180009989949622786440636108912316017869523389864228022622602315128551931363556320353466120554660016360044974359772664042464780724541549031229393831249005939100607881007120175815139485179545976172432571375563331361815410880227655744749969444632354460290643940030948865528060194598288228933653109971042186631477188414195266029933678515447195106837751883096938638260844415724800020192821906099682690043276156989338875354932957945363298105386283711481874650030959879337165113729200090308653399758043059701354027231487115010835849089932373061655233640612790189469756242600513223451252350649002717907906533855264283359012887698363559380507480324531673907865899275493422687012373626942314614485672678917331770424530027359526994154853076884281725770570017688880399110492544002611936250800713163108335541649920386622488181181339260944682352006185949148400241994673505943028315716668368586432834411472462485860286985059838183532497503647766394199778205391071460596381467177694442579709090591495419550212986672264447993749309914422736641064637645905976469661964587286904112354841452402912346948334456493389655341457472414953869598270861899384561940794046486128461323067513839466547153504175616377344027047544131864527135913103697410491991362395620099793429744530534372961871383754332926191922413870153667133004994773791105064006743248943112027877794484098369936538224718757208161034213492599083291194645883193428959158479163800717667851795641330644692208126143872187485585128458688749692935712001968403251452835057463694293417886518210289903431019556176800154930415445991537740250348522275973935213168961315330292367672644261107087479532683395294187914458086246901993695793921891236166988266895326789787389518274564029582215821310983116594594009020184924340600683435211981999572623037033094260253619129942617849602686180071663823610761599420359928081888397212472806243878914315277521042229740652055195268007350281190606135002730941398689102920589831719577070613494114427317015965038877802588474061564386452199056605436698878149808033800393779967955870937145178391579274219803582254224765147061967092964127451617234801704898125082761162486636543350115534335467654864883084273785223313691238721309852204350006239931700465093032842412362803922809602491562824201479463454376902103783689068700274054179513189113209250132656853285968009899028284217526897777092160379683944595840202198465779452042635719128524381424840994138713248609339513520428529305801293690750220881735744795822572001509541920037758995715738107136608710712473469138043157475745906023921941483065237798342707956534927619665317098771935598865831700004324254178425720014270300146820087350639504329348503093113112263634605951841909588670820164301069840616233707715674721552876386720623438809470344718555748897963508622206837456478572606857908944434413872535306936844631056848547089084364062650560908220633092060553691959987957037875089389785757127056341796765287755823618219600401923501382591434925585273834742721727279986370862819717068700301320126010422979352051307265027027557474744419332082139336130980952146451573192632148764944550042598046632773905528013583915716424894492007285978607951538598451034751438969909468920123199418595932766360229006156672200788641599304059161175641877472267970456735904116109654139909333296778550621034729976407594113698849253896836001523957349007622561840502848536782777897286946480799305700699233606622838797055220394395897461797090105437476661750465761888614075630240207128901637071739260732804975331096888059292856417678763979901146344348332579117269872492736703342688929099066708480086112361537179253791285816416702237584068937008061251196731176039766259550556870914785392037029705933570885457332666687028714158073630923298742606616182367959595371447990663391100071610726213894803501762842495864187216393330260921090216106923580592623171266988992803907140282913700307171300066944680259633158571702325221892816375284652947340950379812002305751708954217496373130129772323960181028802913466038056488813351125579539652317456276738118057318509106895070455041535648743803699938147380462173207805979047889682199046823066077234475878228255838792640144834885009004562789176090532305439320106220861885324238009384421157568051962794590808220655172437586981449797412183215657972885462062053475747907384211324134481433376530711393286979059783853781792549197054090832362225394788213202461643102637042542412433055350251931573341099935602052841881673371231492866988021225941527696615594755024024933947008787799578349962430982717220223073967295191166930678899790929120025540634123506090331129024764743812170445766075267191413764694868633856721596193094700634650645520783671179856305791635476866869768287909752164559833614951001968180091534189541895508974046609450478243367495523206467612405993700394569615028746989776536861822685215621518893497312918161683950101244734078253099490872539772801109570879236057830485390950675106907665851561821363029010055989268940461734818497503905413246752557398303483808045747004640149362324274420117131376575259922917542823469477603579714408239740277426817054368142435985353491614720332746822605231715609813320475439764872139632999131764192323224556200734239562344091463335689186772385170793449503467407480012362286052824352291793027819473074596278257157898871322430846507449891177669665287448868916683914709168107189850526614713256550097821949383392190079400360502077534571812425599195769734658860288300661130953923931682761403499371259605597083054465686046811366504211422804927540361498103772028397901077089222458463747685590113648399237538088546804562420211597044059154553993479868204370040833802268399028992765883728226510611470448047801788647011131681404529375566414089573669119144468696323319787420264360387706462092713524192417717088235224635493559228684376863696637517663683974278989492980200658962915825422438337006985926436554806792022459491534697586413959155439657593568248837471780294022652754779404300110165716671622952848778086447558716432951778216654547843026484151913838647016129372396067532131052534215816087642971437805914656310024018595776787718503202790359580646614760966168886362533604415094412129872503221983613244795641619563297785488388061963759814861650873074613840819319168868656382528115347595586626367787009444937616715703836493865497434888438941621751393628614115744014540172780347124544379937809484352552901441876067200049634737716344665452026998328323467822513140841102594561273189991478528037503486248100902890596334538462781754551516010212424164251926738738315596736446283726941608899132384423158058179634758884888106230148759251960265204169831651039731198557707416477691453733408337254565641940533976507691853532659292172216893424449929847757573614832329429716588680229036539057608959699615632060451812644518406427513005415371874703543944414912368265320171397766536074075394306095218495759494549791090244810618470185888216077564255910276060300706276781985018691189956845799038603637746700236550978958586475932341862790924711658478062325433482285330981279201780259975927727073518461106362477956673531230222351540501774035034518623297293087090516857683603661097792299647814214140150644621426962903134603950290930921015350723007014576357628184244477498112294371785846025595183230191697575125970563161850627287268133863403484061837242481501332814713213657962187157083913840883209050470552075012791025921257536977261274987947036435499560479276725925647033831631084290831657696286506969392558074401843285175887969984101015882963724342216273388652935014607103781619457387977871493991251715396899688982847287246931013714799203737870924775588917753446408933168746631087138394004597278472134578829937690286667744770453443545562053205655196280030444521389364874367937693466994449478408082381973767151221273194853717560643707118960095357135503128893159375643726652896402662787658599593645645950036789818826033642798662365339819793316790702503545801977987467937127650776712993660171535886058935287587432748514338282697630087194219045823280766647415673297928590126884276190111531123
78844905056622567778697453299578383420858744137990545571930423847407842651606630368709442344914940509126528883402848137925118016316116890057776105310192338929600374393174558776625811472728649457131789185705761934989319011999840803833245472432741021079547521853750778610966568285637214203966968189517446675874201784379212560382417828966223866469045251044866716729511305544112171784964566635212537910434295569845454993727528964663791186756702288669869503391087859597359451583574833791993270626089514070481218448649502656652858036624643426602895858668433497689264417517873295370601522057258576337343312107606895093677772355088479800310423614789219152231982821603176083980357350646322655004334930653422167950886927200639919600726474753076628658190009090800534689097590180371821259039253159883181730895523019370665010959066035028212650000280316790301994769997981239730793710520937998736254544359398542405215646156558830490939975348105160405528269276814155283817357537676045776115291908818477986697440514369118353892156987261511231877883307228534986451518428578059802416695373247444102533504069648538928087371579590807857105849080628237201241324134598637644634552481427332845918419807370050875961407671233348297413243042620110531450637853934927712802014145561816617405924808301792770247098032519585401057178889851940310076437252296969443524284982324997757810479888383248242011314791698619884857475505987418085865580200007003475154593978755123484528754091051314044396520057609661028313110445373713070916619933520309200611002425234880127925153135877468192700621435513800261195803771997649933017464448523146067770086718943580690331368460291135049490057393898768201114415815392393671683768605343118844198313299185968266389809052627256913057135678562607633591225558925626783011767820008674560937767119265950924123937462772799599226245616525150512723405757488071834437267780923834658565373736614677097502976993578901743623672951807398332020912904162397409717434270472712234262457014747171442914110703135119510501585177155896571018609382489661155085794072687397297472724989573335258161590482062255328350041678186003134972675690364753417108116439931701770038516506173062653991668916565511829307168971415945738651182625900259317353609734799382147201782152771669404182291674504721747379915897313644100620547709977829789794048704386898656732793058874867169662852593701305151399196691731638188349056803409320673443803790493717765026588820685522900600394084440084573668693022862604058330548651045033611824127045753790573245393701509421417332162845999813615027382214057014627421544177023691846157032648897200508028196826686736060956148715498520157615740440037507297785715281061043412162961773097155583385278319004449981739235427360590287304402718468675795254175724056208367734429120278520960228193031365894501839843749250965818407981751146336551367849117864420735133955238606478299340909430504048816876784038283610787896599239323724818777685728025761784401947601285063656843221278028022185968287899781807404476946355158888205822367211240745716243281379297984102624683478216149578370894237177189975822120834035147980006124924539167360953037324137011948850708746432246391420918585784416569679745627789332659844978840036541217130290848897633892070558256075266918446881249716981785591138069441087282238530230247220350624862357331549049451454855742597007327383219162171686243555961515009893620191625726340703800157971795178144678224426068912905906399378934776176690446660200371174538864345623412334665651826931704765005930791978664959936701036005805584515493741334852378713120530772776716638688353341807392762806767421674729652065834687611026280639101881071653563519600089580447927070719703757072191584459074761228628913618196025125332595519975783925005547557653368360828131077359693871270009091266883400197156913195661150866919635076194599366962271664408462819850553962251341989531910059654158290882853674348411389976074884858583568271362334077931472914267303488630850011050820843672555272048224627044486436287925322268635889146695508392399282025043889217082942473020928886332146041409528365717529146986516695584272711692313261069904107348225882982239606238964498339320733134348362572340873471814983126039746433765329929838599223307548042688008063994340457073875432319753701705431292250054564866186692376937998565420875929424789844611856197208283182411313156082615659254060699271844702505027052950562879640204986607593218168789809508948284614252081415452100506718296286176347326855544588120596544789694202263834855074446319593617766439920299559779102891570184475685540520222156410957881109786962680557491378212998039649677406695735286890780141923082268536914165673480883915461779454209693448349355388971730429279686572577180601312662966977881097597565997695509873456850574516827347045812910934055837611781284360708649272792570882547837998134358171629918561141543217690898934154367426057962795262392998864833440268396020819817035852363906470313360118364631321274874493633521256955305495054028557294312919509015418784279908593214949341529106151362632199245014169148010042757772638486253576534974179641542533756413269285754983967438662534829802248881372272233035982240730150841316491030732188196087878583582186881579095940190400748216548825062044175986114632067900859339522008200426649369480016412271811966387003201506717018884630760637727886784163766758631356757285520778656509257437074826571955599477744707325444697001328308379945456407667486663142127266415397753196124470294366908349368498104013690170787527768668933847359587772484534576665317079773918916645844130943572747167531164832686501663842107929982557104885464700982537923945010077525158097599426466659860634195479471589066508606304460801783378715784752594155846544571231572732353947315919856614432958875655637366010950907007655179383506451330324789231570484246428485028024914246258273232804435930408609279616411698456279987578569885140383030708031735732322811335656094276325343045850011600901976084015936704612576751622572282876054662188847446260206725733833330637654917252009451277296157977746854421706138728974083914483637864997258065678986080209974398268340886043249823416453840539495655517278326974338318462738188635424250456193543758572792354930370402829441790375509328260058087828634949077780806012079418210787448737092642093338332498654872611653113760526904141436401160051324032750230389022936403231916591728627135634999936290329386363783757499974432964343962603933700138121882743930824328832488282635008691825891914243797877614827054032077429814945536928951573917167681937449125733114763401725877231552406149541774923214870264784531370175088232414317734696461057415884705002575930777526001941451967774207239174217925125456766497773063339520692333574218390560616934547926818874997721555359016894424101697415084803592466746620859808299968483443449445662236565061212347260181312535419452584481529023967584590867394384217546223898880372635728370727620177463347142378573237279687002728203833887388960684062272322445129958920742856743460788689165549030527911895037710760395891715676521755788013253270832643684025159470567642753624984010623817378024326701438986512353718335051541066045829492950960666734776353548301173545296130000917048923808092214951653413960709989218272485569614439009395131047941228967321028818840342616125371480864501851340394823232452343477794288229073141137181830082109105343859460353923220269373412855715510549754871317153199701364616786394682163387960343904156942023711529854363269868369151783651503182846160199301690504878380454004070222197690298110514135272231907242737666706034350065079998225262754569064809683164683371516541162254853278078369753859622778135289689397758590239291306162221008259731350901854176338703064447190841779957483426920202902885280142534046705644601053665170363882874085237381899000550329575749865375472071785831951879598750969449677959129880741433249592457598283026822974700376181487063230221260698876580655219718194088229163003378270840068394002050825395841583799916915686954496477679383459370813733191612701226025378760018517515957927469987999240454863164237644178592220783713698971595245871867504798558520402585673090513657157889096563545754830199476111114102655341953540828913912395503944389048458756822035074658756035251021322541337525825822979623936262913156019692105166272822471681474898152327411580957453521306140132748005939690458281535520381570955468268773384453855939092893178947273916122223453125305271405260166576956890593077726020701882385981539667683724103864489018878893861489366741029340466343723886919518910823056018654815336485447471069732952879560051921431459899514519522835980867737704727907937413606060800005833994511819571250731166439445624769731498485125447545305629988489697051431590760679687577182011454353937645983924055337209186841617018624402532286763046906683717935989464142570666689944612967827184454825442486750428107341902974197009838196110426515885721253649399515921182219507088766692619978518834666742300243692575486018180040840577083917725230421613621773796823198416879638243538386584257814248328437749475607105678363026066453249693677327060389377024299713222164652424190645927080069220585094631782816946424516809533542854042215246415847663616085594333995772551155251712704116607160712904715072867601643106898314072299411194482934325240406891622298945092677881550806379382977715421612231735947788084121877010842091067819529716612376525815202843079364901518393283292689874192837939678805168653701169541733122973844537724181929700918192660383848435317830043141557566684629598119737081545262429568905442639356687434956680095071537224087706286928093476109555821434582365758601410550578040276962209302312842829629192078730553653114877051360574695088372666191042369816082884403931056229749312648380905976511568305416736011513139104922805339256048652986803385030056848561696574294033328052229415083126442253462362936682579924253042164171049971022870088254438747961906889570174679611137182449717262091021508667108478714690146015034802381021926567184930602756636983114621514545712235795415793959781948493042245854847216319048140258117297939200070744263707022608431444451949121466042589188941709544137952312291374752956645464251717796445881509582507815825906209642169357338891858533808736061631789043878717964063784363291923153041402274638338566070660417810575670636965336148850436507072752270274255965874219201806880976519923422509600382190087122070452691236529826692260062664207813410615606242765086072638734251948437624310791182910905986601562758405648321993616202083878314798964410285670565703031527372503315978235761695301452956063633309526744377743022079053433730213042809980042231633627350377890785912304505167587564914824698735550062940526778753257258800876236953545981756144305238029574376568229105439454707277642005189388184875244368559116955986558200879726230706984586817209649459483655378102893066957942147339937563570460317071857506109506761457835738517020741612218781973958304290220726953924402403072446045495898351092470866175403645634247952361020907612965853515988775040641472501924339523097218735501006461503803086547773178224026816016510747128097837402670511681467596625335583468317081991988606291691700780231373437007602799065374881568488204729256129884288539325257553495489102553542099891293764478591283002575233582085873139282947875398580414837224094429148938912864096299594266689508499833181372326198388288364368118844792073075584125339844743700111129246124669350888669956184421046243180354967288874525264846310904773496213317847061178456379587729035590798074359858960564292446289505580672291204729470047936372289229749641182850609636647025827366123783782462967195817798348259833677749930036411298618837477019863246090018897253117996936483289489767074590325436861626730242879081219860456768204429391742897851259508804394948932023161169310001243881430013257089183199526402521586345804072861485370409034114045808612824200961243839277393330757582651708502390452998842969165709112483228854675642040939185256015755515048609267911293119200661245748925695497357770254805127952371877130312689459046109338418985127105002439668696773008243708048322583546981639473412510231293402330102372557062341698947982285850102981362353308579637623560168910358281315050876010129402293221509671429694724164520509520580882529990236809049764053900767587647821967855064109072501273430191889833120312935322475047650373159035590743565922123694620385915820334124164381790578449314716665363860594042427532596510723949306941201643625816910549886208031507540510921810079812814847663279247481417574553737870411636428268002300322932264965449865451111382288312499275378201394116654145388384268338767252138372464603926635446155687950048218556005833582685562794169623977351672404602457279399259215354240039440731772224844562013481283628222093173166673354046126567665083412401832868721607946040139085893965046517565078761427171843181672071400796636117895103976960018718997153362427400220301001644038982858914121672085590832879128318734005253408349441586730098502423549509001723743005975660208634260210487015793659389979956726178945092405973089812222600475077499155010498499864979301903462740704417909560980821850600094933431280643711504009946265199629113256861498939671613540221687720465004427438924566119540635604246076498919048275077387325747163487723610543752950539308142128831345205842306466770822484852426056783631523731372512252176398809401097049814069650756221535934895482571478091464228735739373228642846186767119707873567306715721566832893577642815975433869857654802343003042013301579926922530033659812077908305866351521228528131357385116345765442658978231554844593766930239076417488569179086180346824919963682787107819334016114975861245706511946041016604672798381564835408215556326681952857112065567889191034261611959426678940237887113126700510633636871734149751025354719056953294631639645345829981654147207962231088601469147474447414619437155661828683800533485780492833032455672939005935397674950497957718618941696797450323817086323302937867040477790220783833628638397551853956464505395912711516268073368244095339111376919159431116597315060537446634068761010926215975400648636403784861581864959263600114978465390016818444584845080871784249376300548736365516345105769332461078967134313218495167517807712326776590002978138351463024521500456179665454885674746029153088858132720548634257694300183866947127334018370885113611789766752438427355025090841726114589610563964887964824133210676575926647138316664587869314700159885189208809054165272545870602131057139938825230817778121847548132443591152141581000329768455272704274321227414613803056421042176332663201312022994133641866702858871235302215242766670010367293841470760264210062419386746878051527459695432770521076017162295025920206561210798993862676535902717776191374344519843361685111358030349669386529316812313653156439008922735405325501569753767315013850605470711699170656487873742778443223918734179347852767381821229310673405164589625152245783189673072458414794938922553697198998229887663103220055059312952615203956945504255141476231289880873401101901057475096248425004179279735600123085270814102501779533700839300847155374240608052341427015076544493941285036875361595752771614840749848702121378878374477705429895992377716984422739226253702254770053850087633385041085148633204687408585048092191960354843702431168207665544847881596510461906014952122582959592309667936268241520772671342301170155674441122338345724307708692312788524398481421600457753301649788748311225079548681341393214843721290994196127862670991804733136063105007480147833929560054325592605293002328314219104274509637077667322973759339927997862536599126059703060122152166545409810349491339136806418135666118675790093879707456925981662376780124275001184746217556584703990355972558728222653179844722337343688328349856856987626179094114505783100036367786210243916043971974326638201833877076990112766199425720283868339440201980968927994970704875538772659925631744797392953596345811837218513800373596745283277202956924433364063842709998103877231834897149084347964629023623116785148267052938458306116779812555467171901589421056747459728041013045151617729994483878941984052959723839369048458777110971139072921821484352891538341866401182025570037439860657147827951285327220004980587221819628455913951378496699794297945213151004097268501926800780927542610183541545022167632120898936443681514154752342847724492502033853661086090934136830156162000985967591197752376324386176685343162892985608143616867572236065757847761479716270637334436648019799072416946084065712122634063648625743787006560158067377094405234551661661766005146937995129942649743245460729294922096043741559830943649850279615771596340345543963589921213922006614602954762847621567690749308150332302475082795646038308963405330455685105555745245131197731743609123363205741537647077528023995531188814302579773851478610710532398908926453678804517039101592673725885942539663946375924641488594966413002648724004779745138089224112257669232881525887858732295470592719936412556363202541985298396358467836390814817017461577218952580077621035247765075645971214593922481084625767122008062812185178756739623060618844059894027139126735374116932251278417102961227256376806210034057469738303282503126611419059040101381523795962196295200694803914289833479371258529302564496056941141429639070898306105977811591905575117134762624075526910158479693080600396988566351773481808017255012969029894013774749953304381911929946611289770274102666247629983167505409978853863412438303223752481902643699652728450118953637239729434174395160133341309086076499808275045660263852759085573068263912033528577362523821405038633373695032464455434655882223446250896096095230906650486824621217208383277408637099851576713041655459230316920331078524012648283347638497998000486086977027518639519112205061598877134759518704126426266481386643770580518294508580277587946786398110321456686150452120699631544353987147284825089087156285379431528572256191911069823603147197018497926217224830205762374910277032581137421714766354850172666289792062999985080271741296230468679274459315883573647618700140792908958959356407463881103159141144380074012379111708537257907701357256242643022616037518011059838195265930838351623405051455540480489744144788520265076996584983215101450550194071809992267102798040214283878222165405142706435271408075074463167014384071242170347300492332315933231119220025130326318651618263879381666619664329921249583357858178326991002229454383687247790908224941529079476606182548355442617069555319483228160223344965320257450565728393002967388326776817308931045796105836885923933523356655328851789953292727263604797512454810118060591010129484562321260813876531503479193624882455324445735312989351565609589865342809612411185067101612314084072997106740052106302148637191902956303963719388128685525486862469897796008366478130315083660854443656406960199201490377460050806684611538318728927912037965003655507836982128984787787230044599598274809883865390385541563291891708607114102576814801782893676785372412824280347151290955181409830521791748278035466272265040749053199814265527495320214982674622689695164425124880223197375324043507306354528934078155216940528366818975497628471800991002853705856398136778287623745076915065982139916756538687743885435592888976864178179947978590477282341583152155661539827325128701076980654409095960352238513179987973921386447260379887004356904953803048469910121469725043491108996816708436846146655019883663298069789031115524237114878230930043588063322906481044992257216973932608745058927184364002953805616537209209215976912212456837010847143132139221401059216007868730271605916063486102608013869114269763068193606008395980696684855721054500392420473622768040466043867200399011422510503708272161718089045752991021098059726905388438307245894292483970554850144736795732618706679507663130590084205708321031128585372474338265714373076900452821177500757406308798368653185852113855659397516902735152738528202200696677671751050872459854823005053228440734420532587764785766611408710829572946260903644368702105034682184602355506884282677515
59723576995031561293329834400233041778308832596419429399760514111295548021679207764339313636435489075737275262367262428342196404019085892369971666665256593715890374489678113417864984499558270259114035977754247207897202411721804136935106945384237642597741209315172939956328614678070005242253407789336136296039805232267275570812915570634111887022483945157274111469685153473313469140962414945982599822429160653976318871398164698442628122840446132827310850316189619223640936498304241407294805827371766843068050255550068259625787868701303618520869749185198712111330052183310184701482757274439347073198226791897689981415429619588984630464572937661213321991010863946717139074480642987677234813092755340422806964725633132801478286151253562962719830663983243902700553641104021643201689598777262649231470990330231950741361932721495959963490368857504184448460654074016440677906843666272032947189951457123291148773619334850837027336797606155232872872998783268655873958196732995983168885625609917768261109553087693937452971335867618168648457599482996972142605110877981521971929739270867091925612351994646676401530933993955104231111591814316523380768205560746597217001850937950519610319434075203495287260008365807445329284055518597517561337445202684103354532623109158270514958978022598913456153084271913344516416002450988017886982111629161116416110527704691214999559398104445063287084812521120662134898095848318752306846506566259306191398471889910132624491417527177904346267172731921439621750965856991029385519627739110865330288909783460736941311426267681158518864513364956297549938201405149397263831556290529019068927210118647440500571397110538809896690935061545243745311389820070147874455935750330415519837468777161387855013807372882012564294788100175643592453046472724333284598687151687438831172068969753747327856950972000524222699408016635818507655033387418763730961311320004718016567049183462177798656325103378815026366610784557517806718991600312988642748362385131143620543986901979794549607993621891995386614223953480469393462329752757431931417917712730396628807366798691233503002893311519633806719489072034644826582116887972605192919621184276084393540956459649706544799170200324310337059308154525299257599428170328411016716857868174852926378967886321929162215628204597328310884526547397051236123455833694747709885155203465152703578634628885313610550701137848369562628328340473794322726066459508077211050987746028875361518459438523970254071943923833769234145130101651102910113699414268954148540419916132620137327582788629391961048309490830664460227076249051366751945378277802620766343557181534642627167534495742923322957297320928170944732650845313115230036176028781236372843752129626513233293845463236937849970981271740001294634020951444213254442230543676413342645809407299505517226495169744884477260244895667258306399302318515237186416112732878755495295888403609898115042812068846072032744020056992299746113327859699803863251218579174894073964233093985569569772611965241480415251596938022834230192999927442419150155099493208253094805590149070916175558773657014181013388289695690857814805052664675407931523446649832145455301566293292640235348245075693809910801843130057396402200423126444997998045874031604326105553198570970850488511775483743532130611235091613371921095006667225683003340559391852026713364439247579449226688793915756179812111385954507610361926808123201803876084773536579668678503625013786658851711154952837616709714500155750724377117198407119098948395333034821128351087545448024734084290815285806151240790797193368822394617376308980942499866115470742261012239618293558887153360587513074522714949828091379193526270812443020377843652226926845614776522773216440710876516398145891872358862103447697065407378924825800910460931570949824501793917263561153710915329079640574990672718397738408498637537755982992169431722275297333899511268546027966015655405461989981470492418665269286984751469318953692334600967957196626809445902850091531354948297649128857069469949918810149606240639220471024838496238218657670017051101261574240455421789838124620812080023757135305065287894803041738620867869119269427830905279086552774347422725650436543980450594306492874391965234268889716806300645535677288492841630633079862346917160641376525674265759568664405370450062290765346903310778957619337242824267038594998109248447337783134943563616745163419435266916972211821885073766018660901193121284397074512181141844528549017444731741346197242684936550484172224227933572552386095914444890922135494248634435955660442440859833588935517950580701879161709454561776306423513174947696389459447365969551837605354110040560423888773036065748749838278832595246753615268726268185984516971746846942103628972519130176271513356579260814656217031829347317079826562660042432264616613479706556954915354074254370585311641670248332650723142565629657457171943183182431845552982258629443440235334414073832305150214118967055917721976316948764410118241873933805636038030115472151252109125919305468502317541754683807114929607975260290382753287701139976749942449439426649816363873393277802386718664456654563378600962969444557485640597535253522681034179306765544298726174819546161831354886806574536041648738312371075663454228967837904195708322819457273975877716230919090309958020406273443710740100254992943310563411226430823471737578191070285287398056156468556222567862019960012964728839330866057880034731668927508069861682680504789498644874396600494952325683235902480440490381978958494523099112505496499109706684145249435748159189503666309231471154419244012776228028042268936399646647778627071273108800914494756664577112814770188528554945485513682865712639393950543378848878336882799229106603977156785099035103103510246699766755329419017229024061219407135360617022899333811203401627327336981319396513290762620073128467372940429389486832129161809035477901167912448960551107706136251840109039947646277847072571775518518669085374951856149474387973244993357146814084843166418739911796887126343830361120960516550467900707582069061709114729052723422283234418359783463148791946174379387659881348924097583077935197477951983444689055171492699351003735873471936740078214711244467258641601792335200773560494364161994473280820692254881781606012358524086984750693140129332736934473645971457621478987825874190032370702577052782864202788065274431993162374220889541720428183462651694495310046036571112119530952129495649096548225082069125457123575211658085942805802658983697760313799755923541232598825110501320406405183618357806487859254930008351496826801499477741625783539449322467717079630111139903664378996754939069443083436207138175384029932285445214912598241630997592308881691012890590747937057137896217772583571101798162354179201344221976930941565513285283254040595805145248389429009737521454593459860361093998725682053587795355587046351102988233695098393955952961291936074017963878171395499331981843957202729363295366820501575387290803560742381975228622276963796693388520899263981021978061747078707340958755881093563565254212376740405156543746016898403734679375898007438044669546943886313721528269534927532701314285734684960095996127202226825703765660157352088476756868927391053126384127996894569135864550381730631637931587022943345277170844821652337244056885980406942469188252610161351347218649343792738430498858085055055386030190787903065161832231903568671647540062580719384779417145907982068852836986255031407118292869343677991206433286144317228788526227043347266004589833985496622629137936487888413559140324484984902802307524716746893146777404815073014071589902215684435927657314642540864058861506344590956269854354058115122712998875910088411635611508321123872948336166027561733244155488798956982208778864298365886180854458576433648103093562932123754004582249395495819555220376572892758176676491209665295152207924200249743665990681041755792762668112361963011742600685548502771354428996135063895803187112531446816014817339191037931867792757912133059028680719551808945215678577837772669947115827811340300732003271744675726717103264675067330941149537702222273226327562130856609538097309870309584730467331951250662283323068478678901040087298345197546438045058675129021945002187145128418042723652945204065896771205092271787098316870180275796689389461738114732724284936159556171924476418318455676891607733210706491031836149589832656071485947201220816436217605087577799551320819853108978010350221128801280767808345144601188620694229776737045711304815719482597088603380835883748224708519167047158393404818810775318455799205530306054318631248221331560287688851368426331873002436149615039701587544726383417020384608470353059556323521338669837556098931500596139021144026001128161896557727639846157247527613647143984995226830286454800567110363830707579996781446520368371532103248415323982313386823723160243276799755518553491969206145761962451788020910150580091757687181593693958733397823939783938185670931504682592816787422444848496423383174970758395326729789424775360596875364638022023264710613247520347421813140566746802163787714498649677350668229051582131928111382369631273397639921550271900274610324705327898456887229289035876620146631080512652503894591695673932141740503683587676060931749314683468137803069004596844653515988810039456158360283015645411532601644352138881081114167453311905937961751694706216118161180950470267802341794229871856709521959357777425341074907323963019526092379924831292701855026279769810605246996291973800139411973239250475410086121868124410627675246938168569290198036914497327654246013819333459185477394216548955966696326963286272981432573629889549412611204526690381005957601615721100874662129616927498918332531887319374819142620552884626881364690652670831734631665003110347912344360730172239104379830561061338051763627437160821515831568138131786421469130838982387750644516239429926668121676859301932271208521132207925306739111173161088132586716985717941907781967499215545237041786622052831061901874165519742430852080311861846369330686717455784257865609099296587101296098215805020952511273005204714938714031508444394473588728761007351602782655445240677540509440762400556015789579581647082743235890863795265288368849908918340543045778902073443653448153303799147371291044374410373145380915578064311443479557620702325400829361090041435655161483794208402296327083627790313617228241139111199916169592095772898874520322542672432133023910366628142202806938166797704589790756916501366242580884095362179563002555289648673414383666080469076754721750662395801544976241820027161350896050446960649868352373390722170714216033140384177542625659655307853124434938882337889898807681164131031630633558199690656208809501233946252772612117430556052709321798127772068555590921277230668191782599406508590379578850136436793046123501578891224407510641860655385959969157841051525250230170025465321681840798082172852659555794358190093666502977260649664613313919109053135954559954094964741822814209562405205813295423338065691638086004043530459438326689847402244624828350505086573718337056329297202460158742733363892728455280311163348284322928314664334876359513484933395868257719281002889244316396021926645046320330681029289767513518623389078445341736867936469939331604805682924761237277852990555492784334095764258879724824828958336188270781468633645897972268769892371214833627395307725941208161234562002885672925009371096198783397554596333909608231313001066311163174681171425394671427655647508234720777190762201776663852990296173175574583930876619733878734525079113353967732720931420119703339648220433937670982152712003615394837142819140147935413025754596607331483423128123271378339364539596301506165006513181151977606331558753656258445473962908664852584077837333346921317810021295539725616695245141138556689864962416341842050077075511810344666414995490962391779098381945936396033138477258972544012315815419318307345045905900311731030102059340301641224657288534988727465992194329084298095119939097384713983558529240272081893832418437820624367536632948969401985339246218571785424987509524742785040307118042994598121679222933806377738176397645274199243886673813146214068136610485659391189453002574942838955582992132722763071784379540081589110196517352765753072270618457578778053663594728828319121027145281983095038034055208456791374745725846500666348394292576342578871923346477992715194355464599720289989146119484555498722668528382437453992658933446705129840084919708410129585675742909431383792393265619179632491708930945050291770023258823306830058592899509105957951658916549004778092686459238925054408389917994683599023502163433545561096910245279901486677903097521761008394748653145616976553775885432216864913894055559212678486802531782734900689334322421672872997892671238129498807068913870164496428498774030171996179209197799073084531891046076536940918857500969922426794918860716773981458016290778246981602953608341984292086881894169867466012096027963492446440028385055425307748761133332405605879481187552585950945706934801737533322003103036411881245197211966721570645446903620636167867560492064981938810152722392267050259475988652026705457427929325757129907258015619711943448641020726078792838064460930838934099408402501357989156662651473082748759704613006619724320614944687402916733776337754359572420042375883075785388155823773501250026716076371888191710758591092811485764192614433789730578447916149497766132259218576173052962365144386541033384049636214495540309362362518276165347671756725445349725327106566651230367672462918732894024828992355173416120252485136640260211919603030963287476098401785051396713460395660924536549352336027818117772923491863164231176809631833581874441307510642072210329779139208979081994048361179954269876952629452325803590860339689488266654690838188938499654292515337522156084730989178769189004823249256797122448212361565069866033815875819476106464154981673655868795492064955087825113686630262536129257526093408095816420067710383698447909243299421738139122078424280213359353806818705201308113534763423907952232662323313110419829432784910270942335297265338110301736880711607350034947334125227983644699150874724104230630235565183168407511829396334406484008483313358055522488469494968493452473724910123170186848072984949728791604512921171229301449114587584119534316950726042447286821792485516032480034640351113391510946699856336586241888364096996800632394262612264285554347470488185235685898654935645334679094633128690275489879939434239043409952285707230230847909209382781817021209184123565511483468190403884741775798987453557494211811399770877673753436149345417110422552763305740793607320883930493734365018352226950595445689242790773163869501324712852904143589558722280091991709003193964106105908488913526570137485562500276469076717913023309772771874174004217763554655902113504347382454158179750783776941877114237323624033210539483447455536832393262342899077000512088425799423736519969492152640066377948337588306037395641645777504720462394967860633437262070922358467672975380763617692888655772482985639348213358581782844499107198434497720307956362699876963033686885219071368614764197841193986868363045087853524360022252564506763859386293028460643394621642467093851129312019410162161146351386943769459257560057568396353833272977631122623441639553211862052116816850791266353481873423125593427022402390311364138135904861486707570732768167900214701731366360942087109769756906988073184690469767808807323930043518530076054528633592981460305468966945711113880621460429790214608490491941787971330202273491406236706441064419997531937288902027267942182224868022398496026800352365798012410144267789626059829027016238688695428040577601495452857154229277704242895662121843331382592213926402253628075545630569899057003229372253651878831128210483640692502312142920677190515488114842537895315854554501110147050593337480923403734396820284588924862169875794533104528054887711433801926341698260866995035962782360787436789155394040302692318069085210301828521856834400851699092047602310160671065294525442784169937712582493403153269012979406110364060814509107120554865740810269048457637024065743282762623783616588141364530201667565286419807085008765207957373209502239834807972565065350040851652391704938505153060958509315297208592426828362528864698221794606331843295031177926900192314568548593495825635761831873405144079534998286454104610300381463913751873276174778203302370323934967762849104825417440440853685987023428775749717444840182998387093776546522597005295346262921923179780379137523786610386631119986684136708268106831594450859152811279055009296496068322884796015950567355610933679353816955053366255675055151128953836329132661830056640873824191667516114766166818351178911239013479888770211686929126183675528317435093560259823197618737335626744062558188890128330067476655273197583777896317761266801432858667547466321854663964825514388859891353170308821214746894225081530628486968817396163542393907319314819031337330453416002430258459111742751003086805146060036402536569660126588254443953030236050506441803305573476920210532195487939458528602391050866839426936147584133518860769637271796765098668185635825773351344476074630310510991972953149682159298818790835128319506023874614765921278415490877077462231138303028768004070987763055498226661812373966368952085304327334551178126976257641439332060159783943476299462503941152261129126661106757447622202590455053967206032830315749969528944398720754398185452335190984596228942751063746479203442980567782228377096353088051207898099741411992731986089661228204294105234229772534880036961926158159021265700897876127843872937385661980791208901895398826223668742359896644546213316694413008159146174010408792086930375472445095099267395113085531117389914101707500144141520530444481276702887471278906808225167284974710860194818056131976975509925183742682306454496443258054928068363316551456450488266753813219259148527552431082122539013023859912296618947668701847712319419988030211517584652931015285847679888306908597777866989596127529678195659283769029685819505278787658341288155891983625256382267719720577711592827242928170709486298613339087930457266258296184103754201171839725712420956265942638099408995518233634735764169694443940697970473972728086577477654909327098883215496606719538847307442950828556164108203614779178712891422346845030946493236860760948337012824371891719131855716485173933022061563046199566962120284064924586600316982210570222423757766025993744720861571354484107179605124674466405061555951107552669724763114266155928560463695497390766656706406446524585697532221532642198905446978580345582552660451841117438169906478840352614801627967830745108965359187462766716987794018747876506970016291796457697936532592693793000662601863976615362871192869133542704518170890119749533401500931863125167478192408680632258106717603596480633691590213943179896672336522253100944975499933724903710768541469167256921493148170649791225370585490193125742562408815646615442191631127951766559706607730862722712695494917014838777914025801137910157973430550148938135934306402984562631559905967989934504861340011289922488138624664868758315502529169710420047201378056548525637728858179104865894141452603832402886438204940735982069775997688567530837129604462939746624042720914023192315930259096154297695851077580763477612447379656212695390208936424100866309442467564809065960807062592043897776570773529484257560072677753177574229721287414701822670462764248072690757361457407670350190501389783460090568008592035176245536335421297974187063361757150398275697846750043362537223104498577453536493757776771575888957083160342223185439220078641476551348247587221792736700900398611491850275451021973655963519940930061480696469828204888307157261324393554080235003141695525821779959891615637002861428920538086576065721510544291938693761866807755749071348868276836115194428963751017075819109440112928405619988046676171524640737525723944707318864441276948926791730902777694025538459871192317418845208103946723172482659282282293931361136684357780270181618376871281047558619090826808822203230089241918541181628529211662751488857117066385821436561011718285319706123803009515249951326994169669273013352169687455975920927203571876181706519
52178234981611253438722287049265628381416795507611027436601695547208443060673605029282120600132344066543320339710677264426004987216602275051943005269992532023644816170109736122286894490464723283634595588605708576289071703442364365917693169629674582108136652356311556058229458671621502873936001120503030198904751698154986613461915165121865451009387863017278207946196526468870051900823257282607170842117960672162594487214973463200491812961478894504301364658648262177277855367279836251243082504733774516032370447042309693050883933294535531184228572223693968564807077120006153233222634214616509962187752627268079110180104456181235043318149645550216966331428392165883305178790009775517105354805183772392516045019225719718092468760385854456316220966061744594763694444562862763932399780533101232548687309959608092672156330186125717173238172816052901960229037963486577002127324016875681565541582450688897138548773967954692349310610437396776012278815183406837875867285300992808615056163147316263633184006776827609871561629226157577236009049231329689810328246855009782170733737940667395622230052627741014639036031777056632341812595901910981213393161549431905122305477519768900732427831549678070258367350331872632681061278868410110117744172931458752065252612913520346734866566315973477796167569417693592569366299742999631417582377316504675600143441452239251812275780607061693848145366449427951658792170788254455950011590416798464719426364542484420342431793386805138622939588730061498481147229759225710542865630037636902517551255981385707881777982234738873894153378173783403456334293895167334253600745614039799028043553794414583624144337057014263686006226754383370185571274118323249364485345340561671141495840826102176655127196261491107437910497066560012066791933768446906784093093964564140456322443882018946209766963601052071841602093614188664544459668713634855035114557455708940053587484661269469069890836734076530572068367791841695007874986413167884203063622666909927291389478764330975224609156184845622185483424866844718242428443581639658252814222904364192754494286293293656044489802980006516149606742493798742085510910402722174842520863922403386063200788622949013501951343090616858991688467216413065528194264150132665972063993116780148230551739683364473678008681473254063848256433253474171524434686963082507153300875078962411536131741023019925570588988846211948329408726255045545927186720104104983666836307559078584766753172518094399840432603377487626175149774655518826558660623379472861931065654935366033143125830960407479707933489857957543939135790532382973785946868946302872605393408029716016348535508561638328847320647089616008607609078552489886309189020404027439050688292370618699343660594686463501417088872870017774764397115505040721019992002842745769491571149964904891241677313707267037574987535157750903010171819092790453347613528611628390814079019479720791121411087425094698431947950038242801577278350048545192119292520446304684260720000143735878445739258747120904609410297723312834444958689611861398979033611457393706263756905713717684906534151145782859966628109409795581154975093954153354004784373621691885316939580393220720153473642781298602532537257954621072400895052746093807613712237447582643841038335887884043346027852371649673755426813822953119977525943447124719690977521114853621323156551420460178904774553811962127132154925458011017224749003302442827821644098901466527065405848040525558466781456673786104777179429165005300663210139460555437915437208249212012643289896098310147516935790862782142633691249867989653386028308418702167215444564377383822907309575767127683179842142536727368222645016319358291754078273195864268570005392525648911662805154230258539498998310669629136484913089900370775915916771784035079244710514737513282299653901950845089046149180242128073084625868750974215227716593216037681661632683970072974467967685762485819685574543421824200978459997758069787500834454123826392454384491387721810642313167591564420764527087881550407097540819800278365597410939433372670317431352793925635829191869388114949141204956583831710396493220251485247697259239365841167391173039974594565872168306591827900034185092447734597343176485798575391315334594870455618112847221433751512393638641299793140113659251162755760485432771695205211888075644521386691855217040289909333323211322056823182831712230687728403815324314747498654781772706831942901833491505228350498514355438713341687873418830912352014957540783586903579082104907007388972115333164576923711699211057064164615916245155790120672546839802123061817637096812390834914316265829452547681280802925439633610615560990864033487229351363275715299919811122182137635712892733160750048230885793178702398263802971103048500550506277985885727470808090201903489704631836661792037983766870584603317942032379248112880035966829657957496430617580843435522048584682805178153085042302738587864052437739071548897237501087625445010774711260976383908934271641804286723975139691849760056293120995142101114586883935388740502495459053719529026268276444886449052505882726457149495300675294450185174202024066119220649442732048024124863039741129407173138256710204331046921913195864490611144585242258040225407149795796745878598075080525928758997975465994912765078615247505842631141482511734365534454722113546155997461139904210578248393994003428646869473097111929041237367213133535876738352038736230551007139413129932009828372194580320424985114719353187699123091185749520518184721082617378703537354846827437351418019571685355937190228895201662706695158659961740142264338247279282521532159121140397012564650679719431104435427516171493904921942032400371913761967473357517365746436950204400471180486515742739527158049872211547192636762073756005524082900906759325538369982463896445121102597089793660723341720392532056477415849848014827492099337938507823349231927050723359966328143082329140888561417259137679200513654970453386902773296360754881418510663045407700070792683433616291572311254273079970915289136209320410570884322548931445922488142478994988085696437056642573366419683866668660049427622194886474781465489320350620385466068391799147680390458115743426562227771165033519738743018162946798565156260686032696860851734574996180310310289570117815927385773329880555227423713019793003883928690405500306777908945248014870216034884734617870698411984019032693193556293471052795179379056736896601082624484711291278479901896678881710886363207699013033430827278356833390869872911193374012349833700283412261591817733659009663287679526299861462612730881111688750899794593440055783689128388064187050623809924852054893769805817134222714603055433730524311762200262498365306492856291093899102754764308142954210880355556550099990107734101460298232083902741428525668873426887654147901642543207528165086708301334292233156743129806192366431377958224229111271210007425087853604011365688323890062762236901216194176189108160572900268636706513326472695737841606943799648630014685650953427345289853011492059934793932575173774794838495573593583101114463471579316108890120771976349099674762594924250712351589939203913153050383105428617458699297209341618786667021538585123798451821686650815066121300396058902330956501177639654797966623825722321038334101358588092176860373834249795124473000267341404442441215750783756034585344738050629821706963412987462959448206897389440394383226572801638934033637481902709129987065960186930506903037094538189748020759661664129767358968954909276425113988663643791103502188069348832259848589729021033657372618945226457132031604308074263946208059424758112004986576798805868748536743412621280522555069385981893245806777592332661651785634935542719166341594343534514290150099431374266138531869533972717635992082623596964684889908348141965626432505280714322877783018682198440049750933294494565667725503787734047275060990204913670418589368726432901628945486791635565244577454016451034996698578441136924156810708251513397501300247670205061826894379476802428379758304763621969484380790188195562707127680900648444873395218009737248314232366426440558955217372741587329965416214281069579443845375111759250086259612590244833969434744910479739501052566604722488222745429150151779744353275740548445136810425655347073051347234894310921006377114058807743015077455531872928765566815543929917655578576188934078582877881289112460747528465480202954187717102946547952522239737021287755370066672518649019766950652520097219113678308349355238950037236848447421765371639039537166348467690456283970708438584942382590648559078302633847747479950924056738081012984797194250652875811423665978963088157845406936480549884416726988129995438550712115860841218876868861983642837835162098751729205923491759243660544523535708760052838681860860862150916205796460529864726332522698181480200259296990206825118872704466383857549447885272530929823315645706533345073756046618112272576740730136550788049859287393719280674115209390167840327699604153536638735903719700081094719419191645514462185307982343769682788623542058118491503712010730631545728939845589051678052289156200541843330650068619336456587330526366854585393018962701165301442842411836987754505686347810181535571661937577606511541343882887831317849856381880403814063931835144081342491982614650545966072967887825140735218293544407415667222561904207020079694379257400684650694556366612760378429761219708554584046396653214582207199529413423244910806781368893660629165611233997242569321752177502282410015044973031443458774147181663414548478397282066400092322473686972599205877257269639425709659840528845136928391206555518498151667286729959443921132621543670214302760867505886726144351499814621130400249321832940250856364847991181236908248980406558081381894941393584949969533397368133523769118150611836360681846901064290007360340610656141241099639394040460975302825672969791165729220496254794695232993048813501750823930965765391975726165003324257161084319767811251482730283646890137944411810209721099339003836749028878202498193131559233060092873281824664022106888672833105581080497699029092002192555227437636030101978426405918693871117772103339659466772988349144547689774668176746157092750594519629907138212737195055809914585718337819532013425771408469071876785849913929266553973307727411839607907407706342115673593986865855873168990163708645204111797879612855973224386421908516492611576061952416591651757683823662363809703908535886240830745325178244419578031231038582769411309175142784008991529443475639789950692808604662963466241029150282182133147486982180199418362752072201389588410227176473545948968047917282199629624231705105008287972866311835971924333928920243708521149098845583087154734181121175386559262752641085802787331017837297205366428518649751221175725187147639673061217168711226301567066993275994471548606443222444455714980860877725710102688346463592514535292583989559955366247782077741933704239441815224888922793296126469586913379806721335656469257420305652005208664727170710173886568191649845944308284775524302454427214926972763125875287088947412377054058092540796127852433093357437794028314481895239814724115157781044534936289199157955179868716783795652179900169381103590758695488052535966748951483494001465734788516931875238255847565522479812316472421923538540731631610989328794832695899339428072076371743650256671158136876046065814279445075307981506230476119106605143179849836558446887734241272946118281372357088357649850024442381956661326846740767544469383984557116587270311517481040746744621222814834110749409054417897518529132621772687753087591152349915997537060651968601251862351008239111907324928391516056796692082494179687867772378270058225890918867234882651406204556070007002014016463014990325417880298286637599389486212580978296595569182971252597198088927656573372378896804773924830928421926225225684709589885507346626229976007623498675445171786050397685487558891689064425824231563810213129117484396190854729998202243743553831643582255711930542755412034171595203633547875710127856663457400964192273217201790412397012062106020883008328755663986085123405957241521575064432326932604891098985873568426400422538706429150996333393701587406532762270708089373484492528976633706018041616559881985067818145289798762135788900559710306085608489114485795642583374454967594367377329384834619401035856436908500951717548406034965894363253801830951357390495016138135629490596614628326763607834314818414770867379055422869643227096630014545173554529614882353214284689924170266226835287309531751865678211719207243929874467398527855466788693661892891354046826849600291688905629101860617925044640755998832954642715627675519846705411414395821786832705355159911716040437386504754149903678689131513977506275019246972518497534199947902751647399648252371593121487379473814766186953239395405694584714343660112554550366516842301050327586289848154739866958748729342852877702056779734050963700658775186512907772075132865098827589899159625624889862429281626609217131744073769899194453366695517656022752418898048487127270927045716216638641294541614820656373239792845156350512939959729247702586959917218240721334712349816800765497053148965425157353977655283666847848685329276364703046400737035271413659054200496215099313809563500028698553705833610415032967991994954074505855411270538499772614290096422050511758539814001720088370067006440301112988475536878273682857145954249440486286619761387917296428555825743488361558627249914913481544290533420868201460887077481112868094733305577982608906210997193157304106393246688042575277343392101317048528994645203185283036128867020790334818741038404499568956488022234941303476597911519538548715589869539100314546166523258709484496034345667464189796146309508226181959680077085045739196798048170219696027228645645665539111745735709935944339231158673259816530465108678580940172593906735708325676758255480445609998380635786501548296057111812506129365393363881148382183846113589124332994245658660686827143679500171167218702053252892560739011067247765482790028050540187846174806436765267438812796821641267681082643792544836163989556293649615911146459312795904219792736786738611061538463316277605022879619616513491848088814284055945634698616948861751808198591120965314163437150856937939938320924455129953235020147692335449606212572174114283534036298005350013868158101110664712277214088935911796753130600603325008107980716155044069188863400678557621552855141772599995657416345915583867462959836750200606266321196256418688790744984088787723042575169943212604656544247941041439200589084794535838607972009272322497181128168618243333453863947771568812396696077739820362227440864802255756591722698440365783615971205572555752072392782486545886967356425033749386184206963922218669370114723277622821764089380018792664860247017820550733643163097418991077645967697990417042685223244463070802857654459354410701188525379087334163393995614495609889588510293381763532172529372470860501438044963666325647263192835232220962543918958501088026689335054777211468347255213225044557242980405661468747686271765898719781952450810334246827460227116909272265713348563855719541301503134526433727294663468696108076678332345136110404560616202202362525737941423437643386780428364296210905680876726594996560014788548164607349814480893140847723481840642025395003517449866492213187376108143438982077708600730806261175839161180344715463682931534964340236369664687535303882535534255973719657599340561630533200294292366511890006767798467621348480944179935059785659461472953722002948527983793641647858354791493939832338699683034610502851710876956799879661131711873272145557674235194412519980706269874736631688420674602599236688311468937364991811791729871593430017729443394562123237080348802480173486450666214543690871076500727800998822393229023238097881977365129955053027223841158929098384039616190929575099590293567846016935260985811487370967552857907550958589147520782691558591085424081235318749677099452402168079080602781812353081879061285141211106008523632345804416508800214276426247583616617646349961466449357982496753967135653531026691720126152816115887439703768090904357568143594035091839220700169070123303207640714856126326637499329618041909332301237976970310585330132055797264160042710609455739291921419963124203728991918242865523758062749944230766109183143207107616348835163901204118347239113079568502331609963158848037865373285326819726946014433527025894164953566387106797726439627612077563441433853351135752861401675942020181210097695686302377800785569544024938601360106293584469021612205762932462982676512091335190413557968919417393469501488288173048365041594823708610548671595498033848639050342175535387058557588988027120911347831072936017108563643630400972239971931747336944432327120594041585152116985184669985628463458337767558021359361548439560937338975241048518293452617353748165038482086518800634937592470577961346694336359759168365991791992936107712840927837247543378582856937989917052717021804755477897708077497462260268811257206596725713183057128094740733110430773189284109656261425578252848083821129895658228656699609343751296234840439677549618470880532432377092768951969438645497675853616949300145810848831871013419812102774489257992054595787500875125724800085653385344212653938511113625358707273852385338268523436750245953316575392724584184148338637505316175972985787290163451524315335676474655120976720847911223682285779258466341428737459345181952241137041014124213744587008464065700077401585764255211162850006343625157487951853697539532039159625028227797783637197942949491272507946446115585267404794096659176173542260285552023066644796235355038583763201071764543798485193919218970207978114484532517099527864192459426534801328048920433311789616278338910280127636707914817897349820861293341300207108600185841594798209119379768454538659459450993468838577951673001510649119385179128805200592719893544481484325799913854894852644436141673935801574853203950156603722873937627378168924717641813398047026472776411008144167035606211577124806503300680323733264151677265433600368169863167407496984069216766968145769904811285317216462963245090757161563505620411641450470851680290999054208232859384544013358766625018562957668287290033100554930297564543680619851701230626030384085371827856714521320130379876792485776328365969141169506415179279340723718733358531853320724094986094442660469389265166752146556946603600478952802198177560793043566732206493889796282283955112477968979212741248086981533046176506379987181575618409768885948426333582676062867144693409570391271219871492337520222116910295359077980739796686949970760707257626404436696540303143363058566168686101787086109797780451117720587784358670236719865583382834444438864966496639784710690280175239271858577175054337462691590198828168685127454724921705057438425224573671538538845441744448093193450568180651954746252317093905126545481618815226196486898661232078379735526111327165867192981387954028734102282790743173681322130123521980839658712886565053168155006437354169364600961142435723087305765703418008106301430133423998882278853689000193535808566937355127670817743944277014941209313771679610668730001821707195553053792325549387055897930524563983795421587867152507811771975266519716518812528722148668812240812852366457843708806689221865081555983249503440796609998552597787705192281734347377343829152730784403689942041849116809250196360020570423918490330069625895064525032292492829632570020356908207115454222006014854643722954156528711989192979319734072479170721891139488494145189860164709559998850369011290316114884924897019422805941191934220954758465477429681310206692088253468579897204755874809630884402918179439176157507569756373014780863416295982266725607019943725790941982517420145814950901919187265189971763581833608025221029687760868812024098866212968760472447851309845107642185943640117062037140855980558440669345293239056315668182798164198015418179972324332812854519552656519384871713864542740339800489057528363310359675862507693471884149333761279184163670531694387975290812836500535498046883540361694668149251311940493896775381072475692115422789391642448010315897505786332470384087547766502783165418284080286581809493183294430385957890656020148047060847274505811370817011886441
19198019558965464855190540331432034488378078721304207460628316992570145901255969232049225568871170091413193450882515146593984737327584989025047010247839953886167450393030311063527671054246271815668977072163704148960358598047640026103084496219423585256178570586518933579306565813222967610352782032212999475165247544718404255025681817995452438453600242848347538672093187526087818430844536519353985523358604372683849337095505067201264537642173016832763815942325635176242660813738958103119441352942872850299069335674510845492127638442449613216249001078893596081404085506317040446073138092042408526058385594101493390331935144290234457904478944626724950942616858928659499158207368347705433564013667509137790492115923769646907555762293324953759253376996400244687038901451664260972263889669658729185661110944096926042821349639977363705101732568582807379653943782453873110208187437670818990729739819283211303209820629667569667173471579941279961928934494306167931205262833694803428470037622915858442496856334474791398347791036940327159375125470207836857170302567337098526233272415694678162563165366251101903491416425987315693010517858179679466039641736651639350592921374484286873986502611008274227841663617818988404300134561259828015112534726553262453249829656713582156903401101427361748411226479552923860650734498155291468616803617084507275132531252745210899282648953662505387704862528532833280333433032421563517308000476754281874737707596124795754712362471022839878734813766754482052891792613642302733824989958397741604741449568173490366872712984764993195720696942911496799172509970302323107958999652046275719478633849712592034660557331456440181529861855666473945670513656515172516496702988377931568970930047800523873180289410611697771961468244992843553101077498899281802625967434010697057447229505443291948762483062842583549921988248062682255986576735508337359858433557338851841529221617858107084940500523258872110556586018249467954097092281769564810385224989041214011883441170490699879081242889464254586493859125770330827396649974296007130767005117467637113623212332652279111640298300272593023295839335302536463425871488706161813931581054752461273290165162540433449149039124097579780611898377516750103071531367922080448148306588130367711319817109226800318812090714979403252244699312584191358508172922430599039818057835269535834192149309593097049988407986194246346292537315073158540247100846432254493144177935959901513611518345098768582575170928001462767830133303043898868151332867453245794372204376245275531214604485829229262417904168027434605295550774124724260029054162081675836202085054280934654123206468485529847205793817795756464022769841972985116977838361164776031171540379852719237718907426559745563227289659877524834573447317287440559403109998360150349360728013445402611750337041982998177975002927926861080893412737043256624677409201712512549707543536251628989300096067583597132981314056551516207035037329491906913583750815385981131143734383527053226424615398965591921912724467067222905204475448890903962461759069599086445476133664817640142475719747192897221157162326250631923845957495313089338822973592044188334005568832565373817216147621793687093164726440732493382411573115854063886231539991837089600078247016317551490954808556604052330559804288487957450239283952481670917665893407724042899734225458067810812920156980670452206207633879108456417926629861323137009217671711527290275334066753687039087948834922354456249873478692297772074432958859778527942274177433912693158944821241581113584578061090014952033996806185885396192077371855678342255349580421662767666583309378114573991954262071157368729792822427431260445659412738073328896616679546082107152667310847013686373144004927958010263393778954178819686056584294265019960361953884554772633215267189690126619217199787108142123746332250015296925561215436952302368929418757170245061930990891516374019229993770799957812050728810497969541420642341696265168871062929774514738791053572656441070622922399261502498680526702643688142166644462486483563619586806972691935474068711317567876112066113353739156673932136176907567610804464578824155740443855021098172241883011002964722273922272263607758892016393278201732985342006956902366559977760663431258142301881849142547153248278752400147306771128117327545161115607826199602855137979922320504722197967618300098210292755349862378354428722774456580205969984187978420340090495018639415593631888209664817152011862329737269326153983616309040729075549860868736697852672226798861278987324802094569066346367415480365301526970520442895280054637678943375632908555681130632358482725118532804187759514910994926920093319084151576523344344795561834918451089064020233408710086985849401364548520883963627576364021101525050435078202285139557258875603921757167487344991337687021386908944872881896127408791934744533587933977662148432895779270457610628215382772011823917724701777600957027185802842185512471435450208513774081149467018363591234650978325759523453694799321693448533575695793930695139954141583244940446981124307882908928177655569425378495207800883276640786700484594816448935556350382609555935863558290159394816037213883705533490130744484848405050549282282767108665568339071761418570024278242163206060485453777240574006858992328653070213622478167963534883819429066889027838470878063605793295044274603453259750760511057175557401672259451862330612949373179291222062700595700444336498988846831005925792702785893644158096120243854511253371313877632264676869345032742818994727838531463671730555330794843488469548866450583841570846579458168154738752504557301514141976346617057833904491565088562853918772598222329618662480589836847232423519359717806552269583337299618302068275266345714865446550671571276625825994651524689342697740361459379407142808998705169069156288421617757419362048555371216006643386240975744325513001962367330693419023754086921584361089346675379170950362903816713561733435708173785793254113093283470119651615538830660667891543808123257615781320867526142044083965824125306767347744601039681529178640453975814167934193774137595747347656996015198170577732260766280533562265283401564095532919496878858714812485062109410598905648907865748632045905386786130025173072995944441374477910617459088518738294983706105242707052868450265408175461240801288591529003057855068744000296524083667488234766174878392184968471941423175703964292342991101376195760514033049124174227400820796670760597369206393417092272644404472708503598006820448217664110697272687687713804393613421946502864437388743922754215261138458567077285368691271040713934926221992135255439943333400984226041062867575771366842618030161174982740076191185889146050935355830674584867380386034326109003913935403729082390018596696760452965291637586740273461188370987941283795635989874915880600209937778101421718172863545514700620386155765664874303852299816593656315932154095765908533829923918477684791396494026965950898762311977429800441441333452876757701679054212399096661432504537109295558758102853180451052435909420461814289435409022224126794292485898374920597538790539770544847331322531958846257806212807955726261289376559989808433861082728020858627317521046367467712295670027518155845410536112878969952090001147594304186994903904223953666069640203437449988800389011167417118564087678120461010778677869075027423734720330184388088760976942639137473365941335638200005962159669560189733842031731474879401276985988342444659718870951082480268788105761833993203152515390031692435495400589843125398153820052129064948958479700684309009866847983220401116205022112513516875626059009537852804807807288305997751144058486721004077056311540919218298303882984438713607490069457108041262148917646706545833981752472558947509487587264287134425025686771517257143295367687155816968510667266372369274074512009817104888937001676435642302952338277285731590610206148440122087155757501631443535576646055330983809164343992068318817503666230868063009558307411151357650672701992701190905165665715537345076071357692500278438567043269678325884066568864904881460078708778745693439938620300177734537927968788844372520171816596879698324230470048601015578848124124317757368847229573207936820134344437886263794121204571050062329508111564824917264869357800009841430083561948860289936245562856655901515410861608111918395537371121209748373596797836391134322907616431155006874642392929953791846047253705263986732755352539589670136734248730818035081652105522160358484672924371871971596756609526825473802375457441810841843722471179299568638834587042675460314453006668521181120145925871198093415640195350149035665854441085289034834925351188567027847009323556836853257619464737483750334147709882309987191326522494290097034580144892153002774725084165413457157166036442126659609543455544522756066997260270877445975724232052054645361273770156535037745486202520536889553806594593622085746620314277620830151856855206134575508819930563881588208600837904469569463583015295412076874239157070431948748762420411695600963483720711874686003481104749095102590172212138675209922353751614226440471121784832239818297695040389625480208514629858538912267272090072903916299358526174940557519901541322789882764123421502248377626721625597851973260877297218165761438673099258271417500163804300577337195233354337121586669201031408871849916228378647821940182021766486115008706313723204692924055480826674514249899019349525668550053192448290175573410558055316173453303677882533275306812080183915236709340028777260823651295780684815165273921985088095979040994730941982532502702779054700312397918914323441317748425218551914446099146680376550787378382123154071383392226141255697838392253593169134272088202812190283587554470645612306167481254961798545152247966538770811997313516668189974627567341262955147878259376668281869809592609723620340823661389539705634948964591578387394967997609581927071871001772048550642907198791216674227381033362221568990145931062369314424950185144578871676031763910427905296814348236950147556639426856706409843458157791818368762402324458728682003068798271547415225957040775990879731199274346600248643830477277901314069528043566655084393549840842540023161559744260748871907439401123628284097284814849571749396399201017514974061653523891388428750966751318518522651188276214315196269692881169824398599922563475318282592883418190028316892596319072973791499795919383977743895175582410013299910641000129394844041899021119073859483269980673140416304896795554424939045287249947033077569738701818749638536198372980163287387995595864047784874390849513075956411764102679185030887441272187337138218998052891662553551869857970179592929123269473511533829765030138336342837854287765184982702721693032257793514058854237235480272534345019760243273080420987743671784423613991727735145973180807766571580544223233129292464364476802913079972255755193286099355357945252488468229155185149677574502538300557862753680853038498660380413909610177542692647607382663981025316989803102957905628453197501843380164908103824436792025123181814723043941320433028051045768610014440774019485929327316280565861252692904608274410321907475793326981620979095322482970671216579717709814281618901351450699067454442521355430851865637126267220390657555144370663214478545513904539527041190822001109099861390279883045059372399405772720823357326172466618328430224645907872187344658999638338484137521604328158605847470954722519538139928813768547202764162099216947136650728864022051699863393783584354913445504629842797038218999770870014564206177805146144182952646210669755930748767451725130620668207908723668616338218417243084400373103399121099775278904177968892004520795493129786244623848721226944026500032938761626310828797344844005350674431297370749387500894246159551556035688964554631065377886215975976214538689605376570071905124389315558138306178105205911392788357080101130195139017340767127306077586531822841277523614192765344858112749870374537208835449109557632795561213237377601337176549677384228956639901050830164069358468713685210384358881760444841490768260000155820956320772797767223575240831990416844662231445729680958640446760723924760759602418543887223621761949617507509631384024057924030285939727388688853855764529621367047205165492420155218749357096652851263188819441706751206860791358765679519712394851870446081895987379775091328253912160740094553089314219006192836755978779530556466795471558519949344966415926529725956741546462186945525826097147235397101180296713553516517673183619847776213203147993822341099137401773559748013956796804117880237006112531083996453505473500711565309476065263724160267212783875814421090015068571349039834543042011219287211086250403273366510749607046902389229163537858247545068577280701981040193188822280217458673731127580553133604196192965250900636978106109620676043531011048966278017432915757488040594202893521835225435360569298781336487772157836442692328161924905798067453623238036605403283346376352461961247076415211545708492637735161802781206824358074824650020494343498307111644841108125522612632667308857981093051098552416296558520248898582687320886502416761365996188198250423601362302730441055308306946786281104943722924616396342167698337942081792060375830516347667945660953848863690727017970605274530096880698277035443473496621202591943264554062531154521210519426429698589432334630252339534464978582710689616796442505759727628462012036021435995890753215381427459627667573607253345292884484381686794365831164592113888932157225723708728392551632242252958999261753076358688339904910269353578255178713811540033585274915711319561157799657150312084858239125024431537371411799467497260998547846978299910391711264171789350200850283983456159602045398264574722722536862550249740820261898187800419401410367896423631436007008386508894917924603309393483551876393648771363201938365501457101277367708412426373327254041082679200893993111734718049936248571095444320237920463833048180567835232019666559515053351076932491320912846658977940270977424712028602066472976822560158290674619636214485580683600546081566621249170707174647696588580613692826204153727419979318151067720411077288266994784314580764686775639274178700758549127099503747720499770196208966197151810113365403412802911664761925532352068362689784329378292337167888341964188937486532956375788993391320551911628120216962600894407105412061386534738948630094247142587648199545562608285980204414520817969358568240337044614421825991362291364776501689604933589211968782072670547318112032249763628631313844512754020877904526661791674688875775322304164356550354518103291853174072450867748680686730381062013518805763253050818201854631800480696734893642714074210662753968575046383488617917599717911864258628896090200491555612818253136666195820301565494320541830016104903791886537263775458034215024011013881866835629124197623086798056562387126491330626327422294749346615956396125537632834986587804198588609582496404473361700774641623725353173504670727339476248876301624042428346239520829187841238722886269466120941430237696921295150751572088037901247953430357486475305346525545343031671666343321964352649746882507580751334520671773504670062562612606138275187580014798716472646183042912849203358327196257684742098666169686714936208889772976093443749955074640855987324028854949277081538167689884399825978303213531411821600817627796617473527313829379029424163386410496105716397372037956382202423507856269516379197143041474596682373492710135923521692052961100581961297832909086616153047089411099407204368659441916244469789199177403538731617035032568995956622539051049417080272455905830846990742848541058648102161592152928110614316838728433509604610666553586146584723012950854525717609243733583842458944693563992329373570879274343550500191783959420922915579957304105812187735701608208664971974258411885906769016073822934282149859674739951259962328389154092615397583926800468532390466486449302597543757041539571578824834136772610163902735091253901140810998720005161698959492581634939432489290645065783317833790509904923456741211234352529778174581427488972383460911740182817819058415813070372622827252169718238931636063978165632203777636242411210298886288500886198076056348793654170331836812008750744450666394764307223807893150636186651919104575418409573437855442014818254827210541310395373961197177543130072731606437070049901948158418384105757865655226844548446171722627071699662985193020516225355088402825097452483267353583228330225598597245842119301690322805967668292095070325357445976094317139534348623744723307780298168724479779814459329884480700382266863681750016788938635178722363331387342560192411728072974894937634452845757282311583935127488206183420011486231500373530135347983248629133674349720577096324014285743972313459508028699047234380898481184241295096863446074172898683565200324375915657313993627713885639214958984152000870247370140794026655192411337872603706177954563000905073215403580833649409483647420841856828157577398916311237675696339886987433747629643300681885705309262903617477251101135044302099769406182781690234340166373198045885036279670284338820555612016731982049552374718106435243030162389570935639795215688933238543544825653603986724866406991449088849462896766932785125256691052469122572534865675175656279870686396413300883513138696715305978952286004139593837967109852268731482450210268349793818783329508083150184226160918772063106473233406313754589638876055045243439986455073053251616450502437664997575683864725600222449732723969277631373482131277806073348263736560238143259226480442993045544990222840881749196991999242117743511364588904637186336558468166722242236475051986978616425970811499408562981590968663239403195487296944795422242809870531360021943760578799411526986860445097789083319060331103992804256076799987789710477940344292490022631928923322085690266962444479426659718389319740850273307231220016549239970504675660181406214158917019483711584727098591220220874535001954582342135043938388084965032969044595391573574332534319765843516979391595172817334919950998017818569667206435820047236208285352423803788671125123538628177427945227188567451651302771856711191058279254478669208349044206552019997881133340822381262418273631436430496161670274200349600516133463039824304982623785212492075262466435162631385452444866147747504908897977425250633778676146668585703682564728514022553975018357053520264208656500404550460538802955491520606605536444495324280449075162550697873877738325309454577199155285037662108253095079154468834009227395169969108858590241383775276526947406125923231577122320699432298394085656597040045157970620744574271369728406394969165375513487105484918303130963059751260221422415250422007432759134241457060775213060274276158132553127988331626656222558181989038606514933422693302759221299909279296322472758323124904314148374566087374883443996648906921830525020480131634235163494365020160684351595215362656841139330474542889694683561925856970519701811639794411359415372066066615039178005739465535966213856410935796464220925371234531428234130587847908170795625637257850005676365043701358221199066015461398140011064214425295254110850239671463605541940525618516255849356985785426083889785083510210212846605920050645805578197047896095051998900331143247292602507634090392608555082121616841414056938525928870785010344699856458495766989739731733065258355545211055804749331074285174301926865294441714058357314996716940378663200493684083768552341042618020291579123691998166224106029689064577590935803310613662728800162885064840186688382160815190391142252388810699315058981395565061823053841388783045016535095438111971856501523213152700433766384855874078124947440976101596335723590933721798672997485498699570762415139771279740316435140622746407250973045209643360452296643029392466564006963362867415331553365810334221996015545790344346530609290149660804273317294084252651416343528869876394160392759642110053708378838590737991936749041979793942623686449532475723410379463581263915196552722261058324207375140668906241300293483646527361584671482763607992034440520934548361630424767216375273572381291518887734225772136198262979516433870445891018746145688087473418001002826663991331131696577773512616852415783722669447984729447108312504510
21117926326015879572878517627888261951893783768173406175881989221635351089414499652464025807438803222414645404396194822533448574790000486774893580673076110834816765105495216515100678314227608731760358946033821434723720971409236132098754161900436015790518810273091775490899264166435272690137553680371008042637096705943891032954721976820826136402826723621620084294403922748549817764704875783598547624460158087997932222095671536378454097386373136155515309685038494205749716539606351261600090421669727997811949013354059922484193937125215489619548008656605768157930270688115885471165131327138141507867732525022597932217392242526937786551556876054200891333516240543637886154861137653980371695314825834224572270883616103707584909304694416298584495502129697037429512876931616283351229566952947357041744497866389776720340741645591563484614138861048733282189026142363219599929467524055322637508448595157661099173550650860150769377512725353423761342174582604459484252384818274355453908913174013117354738167298334706885203674593750425522012597537684294364424745994704000001875689549690870409218587445551061220235532011689802359962205484285123249559805729579331340271913523604166597202257693952466989458515790381226233321248761671680055311955054109320760140216448939271246199368803290825241164910039136427291732368839545133100332809844467184143340971429519700790979125951624812502467434952233525288101946854280058395565875329493378182728036236818635315704589608163775817608007318834116960326649375711814414486530542686489712867511931011330261708858260496475073412018910305206486263357761248116490738593371791297762264826056228305283536850299750864549051748688828486063612753182382072188748923346920942940418378516882527467494387314923337169138774824806738279857255031842346192876087221819604955141489183123688755117855727537328837692592511320296122888091846278134708894415667519593274074994663034401871279387448079310719676143690756564429416286073391756308711314382329413614861088294586410492728831631944393810557835357296474920252270103964103152609670850837473055359377391655235231705864466013609046908108599904256688060084286289786002818261620836281699912363699847097582660905112209121669580519526058196559337178189763160159537801011289155375093426947744328547365641191467374092101392966060669143348901255226980709804527432766571095910492784237143089319031198904587950467835121170906617266828242671061840419255946644296465320112686218857081404674964838677825102760036592910909660213316168461408328081759874704158048032707863933238733799974703338861531119836950171466352031507491291580295521767952520684878349504548495050184061203352480633455608679034769743864106000503860590625717582720783914203341279629334648113819759138067805520659116989825305992284262055098846051231259456959473973428348460792578135399695246724393502985094888024449998783085373975180958448138566560104095583636989132531330269663127012050487198447053554825266694338820024558819681301243068545040087148669820151816222213601173291312892657945069850440857642870977344078166669576044920666594277817971721631288122824601359301947367331772805584489197540172479931233858934053630415698120125574232682944925835795386070272116783963096978006426096224006364208072437820486965334676475212946763002245091616343361888208868932141202564968019545359694969369297275372233647770095813939558699475422238121330327223211082928193785412974528495747464196690867546730508720509373165391523281280767771133501463573919528256478523476365573124327397366793489941987396454055405775260546547596649324406813881840728046747576923795986127943475406171329642921778628347932399977594336802603898730649749826983963349969569108457409590853177423083727666386225958550441997032829262005862388090750357950876592509230690053492771781266560712926907569756888735127992143430642081412936641148109393047358103072726240095983003024271285531724684256022595638773878209621814821075275013811119316378994309535371959691029340980260401987510390480504129696194904424339239105454071752230206982866631296510248977064095556108728661824659483035323775735788196180536760192506612106142996614923878359728326800310565454569062815230037396334470319730144908231162003317195447422634737337267157194702344831120750451375975063813993192403054793472171608236123261284633251506925866371002166877757183730346540824875001327662392320754552835331025498805331012220463839288019807827813827074112851292748195592264221756912924313354607781279066307701066632862663003351575552924806850297224043504529257561272608263813569864822296797470459077825419123543666297156575236610785526836056593309491381326464225364486560766928849550323509139755719612312972605558647691223581031837708146994270130300165869918552893457587509739392225523622520229199692204967759880193968576779139969764435770090865332024784591216250987457128932460905648629689344335206467910164063710445880835655874628342892285229586315688141420415906328520982379706368804448057186061567192812850226863422496752446978078515904614223999740893203240849374323553127826780139440032903399487741604402936039596452775559041110642396684551782677278738541700526958205684148907963604221720722749200057246564490241838584404942012120315670977971070954225083712465619416065945125872281546690744952373844089071635638320021023536560767701272626023462931609978389658986530972648013714661475631398846883593457904480464460985435831129250466238335190712990951172883632036036593758715450754899138705624524801480942763011294119165282235089539997345884563436822332413980055007644741944217006706875564170416858022212487824053207400340622686699491908658822320496023282631081732802421021509719995600651167970441036615142574814095392707096244617097170081707287492707542756510717986352869480428489868577813503201306048172766045625216219151069867447638283531117301700199719903548019633942822165787694708620219483413508727343445889328098313771939392778257301865302745734438135748830617392346436621912735057658160055599354456634647222619009789932678395599307728456404546262437499172806911544862714749868113901003675540748439519177416305764991260261087172222328675875217621136156539840228969868686280051202653056907514835469251790505058802524270259238625294521611064604990463599259820888384359427504747156598275402720353225940655764737998444722306723263859928821962320576836116154030631026889401908265918311930325096336323281699264578941022110985215167072685058630877409363333254318025350448080087509939181758299287339441313977273578253804684084688430665363083583906332821506469180641330301374608042601390188625612762530742753336341595463403349086139752750347953880147241727556768323067872101220304804236364991121618100858115030251181054458845557429239467478643239203478865250903049904708850138402731903757884687760760922733918844536697113512499512467781508426872708674619110397360480200940442876023641149992771549722874025527422643659163432232859126157178951526423632084502347385053005881019496426227461497191051817555334498724944012464210391364325796674684814248715815150249793369973493869090874850513130387985273256145692403558011238158530903106926684689152420602395636131924964687148224351549180380528245951566843180619971432542690217248210585344116232279207596231376290140374189590257988880585609073373283341087846455889775252039237292965627817207942812535523879299217780552797080644935054791238928415613654803325310574661667846011261861566930624271171623933498980761123901987502224693931933394899781268283297489122516672920575766374935820500013322767874282123440743805263799385499547705829791957655767350038746228483459081528282604699754310479277981134385110727118369183112396320751971936665664123737539126506681752902482774656049518237946120934276679727587802997668026518296838303233241977912188001612778660274019819297453838303705360419703572857529253772427031577915949409408630160264640751267159015846072557805526564833035708652710186378350263904540508252995113261122186162132523565231603951256466674267838809054035853399290865075329966502451222955299293367854571495581992268170284857566261480423891896892705166058570355877584629747593855391501193308113597741995911202107187369550252756684274184145950705148072494076263505242902544277831853676316198117919851011021657071211851077287222526918200516364845133888186087838511882280048902973791031094479587615183931541213968843152571287696599829895255930793803508685071710169045951033395819633686688230999585407828913449387921187567084345706694941332135399674100904664370125092458205900817432890478592144224353214059468688661927721084325617501398523338888030131072042405870334289061831640063639429852590736838117427942878758142229865986709774532413000859463800005786587937452943854286336020630653401449733916539847567465858836750864638236287855515667507832879372075513233157524021829151192843520322389162386571381540674285885109311250852119659211261331185877420669920507231974010956637376682953742917843849175715354627356091321347541398979626897626328297941113679343354504438948461055972166584607746433185671522641927601549737817133268223728106453174452832168496210612645124538644151608412916453001498230545148637588619164133231862354292985890388669235211480994364564619513728195765930464329848079756584760688648066283947029108641998592737032116634721625836686670638969947262664931567391014124150431890989912317814041174841324020412557292953827872317886238926143188138386405669906137237360957826922827999111267617915674675353491509228185607543891437979688311937774139114658202344310210710277959736797580761519937770171096394303099292222908322809441652065875279627111147192063684308077088352123528606094098388724944694523785541384336413371940794694709694084341307214819470396521652849685076851515501764729865859138926069053312048772503167129323415406644292191803867340996210134693752030315292415489018597501245675434474476877972911406150568159134069115346207511476864758311115618879315909954727856836159128129175020781634101878158296954208286619779478203922958193470138219716018465572891361285245502201849645278035478910420420709591262835520147057818344814141333713717023952522822195065528978147387362389900121402825940562609028911204593699229099042358125802344115865562556046714375816676665476104022548869439361146094344781514280511846245868714203730267831392853758755124136626124410507505648315424304665983183635794579088960421196700801123174777417880981743210976482890616731063255218315092850046835616155052203463286511572576361697242530238897280833671897278610385897677691688814475681004064328324422557151896666965875675561120121263703720968368448130484989330416515652327349898630395425636571335880024810626273060323870633169238369808993644858255802221173629276758794434426130770242510758022606277903179249723513482465090657779019126921947544816349083268681731628240797772090686771535299694482986483117351531684831961873735833692098498595108029659942653071330045207427373202862113415465865487792314635218954004513536810670605849589015346092609633461502108759493805163262880819764057607637596426695367676757038868033285735901555100876559407014244661393734350521176570528046048268143128193509594738855644464621682171711697548279591768654985901674308138734068076374426718277905347724436251123764889457812921517756095281903996430990650199886158653334835828173215995257259880598943337476489033646654485575084324776633185005503855874055378436864176926355731847833498269679866987678145739526364225579431382254723089362843807978298218074323556101380628256845946363590445228366878140938939187726353097941690260217854098687551809621260912430666573496977819094021735291228283574316833384904676349878483590668515803084772757578727390352956350310564989287067687129564438779739323190884193000959971419388653970113212043235953399281165617589181406833707250731832591201543567046776559772514443943167248620110439148770784402241643753828013898461131286756365844150825674926817024819034350701616622702237888550794797945663475829526309642732500906171522824584372187267103326209669613761909494180694379304258841370299346587883530439875598421348690888570446933885496435724199915638358442816316623958354158681851517693514291630650377541753575038490752564802690044228052302277918137815152054013141307288570085788664402290734119130801842359861232666946885060396505116497292990134206832733541625442394155068193631243693731023941840227724896058333219480152741686034399767778957961846626716356080450801746010632911114225757215894717909069232924454033151184322879947387776094951306691633506569320214783498650268673958723616827552731198021810944023405579006015242391044778410063277576726005502088185659122925375885706874515021977030912195560000766909370239327275020830323653084838659534294177811896330338420618320637281513423655167280707841325261908598454722463044674027427331256458619343238827000909192159898296451374982586470390531196729754643027790087616528864063777146537347322916969376769804269057669451801612612290716465150736300527191991344057718661526496882196410961454483235149780296538732647019834819326314963818070082409902118939188203893374679613363055546697036795692999715999325952336919033644487550995891233703407926776536784376319955892568205870175723525647978489992313125232430709805138696772817712527478425512721823979437519384711844922451192707187729838707811856258593662290050388874521922684427954116755086655626089518360133588734287652818686472871942899926460171203895347572893452184488902695306579506063147500019216647482793971463051354050452843665031260505393287592492651530471457703567962748843574084682462775612240641062883815334576819436755274668719826795874956690851503277147257838369568513733638889999793299140767426247838833274644310677982248524645139326272333675438309253234770006022223170741381522849662110199839379413196771381204352908168147821723269645425222087093083231495969780741239250305581993796815100750451829524611994745572500966098550013002423828808606937403074718437091382007807513833145373687916833826019427500870118600164077784096406733049757377874737015368115143334584387500560706116062798670871929712675199731831656395027918794385438714768264773530352576003662516932931858728249376142416785472245194089050045883027430859631674559344200124948577781915839613997926592360329369335120011598055649691225654618276322929654109231010343221171705246662347949857160127730101726025427904858061080922181529345858447820694541779403167324723087314466609728748987359134923499748613947453276169545813508118188448891802143736425017248588466375695025365181101230511584397322161811788859165681150282990622089234275869092628848144911261596713333560322828877100528158432777879958169093047004092313067585172039948929382486541967573108994622561338584591369259552569860495745079655433949460707484157559942818736329230657075960704684572062598947095189704038555711098934429606757495521538395436360006656057393478895637594909506499604914635487662201654392223193524740538224212375851492550391606078675215027774423407155996671194421040269039519142661077964368910191041121694569717608313614973298037917638710099896030739031188451872434831967489595320189652097647825056523416915217735447307274140829620005116935573584605785571797927013570610762428316088247283582153374378759062324601450899285787032840501759205019646847286989234421621828101335177844684776356894081530183642535367487812057755942815528885760848428684614230886136966738601814010003011616787186112366191033202989442704423272790238452010779095431592327294598634127290001672101014476705673615927703748570234962274605602382788295001408439111603052809472590122165303667192752645428742040897712677493782150828244493624659110335819870077839742784686541847954740142896868105974737723644380513788447229164387815830437399517897596427908417492040322946538021747483549506371429627324280077206676537247645264670089892383722240355355135328096276391572301247553342373353487710489782327265319941722561618868936038413301755242350643184304392508988147093789778831250986533625879134672562843999532058081134216859405182487835265255577415200472263408449688412121899234485150151945949507669118580033198227252386196968200392687711441918755102075394123257030394307532103390379849747893405447909020818801925357902226248928501850158588316328991507585437342935575019216489694459725603827470323559530399760029767118383326050549497411595070442934766011510723213039333563511075289634457353928985100758667851636095797734416564532418097045820499593945207749836502608310946695505119793889350867201461478772194159697057454257301457099613127594538819718996424920672386155495303018981194281163972363049966893095292254178745737139273488711801912318909091803837374448277424258428029187455853054066395835771663222557703567808583678580479626927185965855154819415913923671835065711974249894989263804810886904105699683031024844311000278210374753387482406075400939486439992051993884594997123814779401388110789433552382656713491858440994301933115847797604597884466286897556604864854617935374190379382367821681589553344682413515232710666133941694214599750612977403916633511267698217839408745797351042897745209310482323153444701803852236056400753033063070634928246061559989589452914973177466877535511881033374857380430781694641829055645815478276121471645846181028336308109835364365609088300745925994893856286762898848995453646538199880863891482433948435076845043783950241147390376352044728253190271642266131693697836337514998340043506651046615427170680742302669560879481925781885001768630428424349692933584761281386320048810463416250534322579703446401125041552070924703943770487712190295210899746437766581632119815876369531036877699289588751772239232282680804136142628530167049025550024398579585262825703002058852765755246730608235255952145949892927677057288053778762110539805070709379603625350176058867884910029998953782049048256136115652977855344378002156791876633420867354134799597118402061848844509397327467618461824650368975885130413337071463582869448932684349574104741697782578506519693672581873703752814723023087284597976774875468451183432367171193579427698452419319298738467116511657163799031822669580079749854741845823723726784768847404801282294743347708363868303652534225840197559997053708809422110287732723529058300769031968281369201304745034257416006326213400085296640534861530540948660514758774343114826763789763949125912431285079851335851099631405672500392962144934193737838089070034232749811442698890304428423219406965440184283997064401280575829380889042626880608154100129337312318324022111150598140096459840310948910025644222560796490306679729936966856354780078379277797515876835600341218099991711851788143488328375639355939971715661405617785156076121118383561939720411233273013490730490280123785769953840583483151085596023840791034045030324194352379330055001025336278975854774213933719042912926792831278984629749980749857576276829806935833839635361136315431805594201001931823111390258967441295138435066664695149319715705915939616236917597619132131513370625562026809605100516036814058817577668165792716052027229414882881069461009788596262569116996593845843458358218270148121395736807415029871827231393301441913183746639169239759572758625500473712245598767881109202820093732108276676321726554995657163787634867959262912561352215530289801715427560318650660495866211718860953224376028309904490009802467591457469323659292257945308944351840378952720824724863146108555694212628599412992780250205081056839464514874492140591483875789829802319352416293193060217098488111938654715954809035184155740912118306015043198982862623332969177978400770426747564614092032414156930423375430564108043333806808928767511026404178870751973377671223857805300271148055648569206380672240066202473561816937595680909463629107287578171604381048161475913731116055592882403681433441143517947564129048775589149162020712225932508975810077407177103451632739700090974577215151894751580458309957775450131825463570247959224796461009567257147421939470449118650912795718012944150863166314988674644737224725173610050785477765067383311896824477902846108394863237186988655076918210076208874519815291156524335598517177711493514197772092208899965459469569954
66552537013541820897955759326690873384244418433370918875382897967751791790978214023357321819403166697046569374626311413318900806146578606315857190948018461362985376496268032066298224597924089101312715484839228065906650758560383646333559548594000915099082609226428866107095088442592108855770623592279607528577316560136216500484404270929005506361893348141059893110212029059362786456166912533021436242641615813271812194746112124656648987492370465076874315961968383804468786742144854270202680042511440885319721410573244397594915126289582418248794474356680889954806619176000089042002764062338512560748154516437545011731099691979991214561279896575650596735432338842790148043454225910672104496390164718079796423010716016963932833465276511014515860605969410083534394059549739609274652272976354511816828551772372054967527453694689690004594182317196357710336496465236458424668064010836801680219688882735360298529678392790507372592386453108491313484945727518177349690895092400840776015560310536806021589390535044840148697949898469277680063569816265754393838314469313083067720714530382770028818818560380529970520782791840630279796703859305730427938075682395315250041929772871053734284320711285630559664167498285768637866196705108068737575278520301631278909277338642906444546654882650530632917168481037602466106680886896746342173748647559476369709093888897794024611182501024227289368264067157565162408411291818225479980072497431211660115369695025736422862107627319576670898860814046761408764411936022246404364926838122503265790359142028049673937083936554858513801633765662339000691982600508835479684996990455312416025657524278589256408129137872921413532147614053842604000540431590394778017573839627333048908876224645461736383119787561556711580670850710311514833876298839052869275746319463378043613655605584496592290826965800839032515964951573716717600195864493576554906438720742797633239692789669583662727107875019478216696427406460164900059950251037955040578957375152321253588336443650648299641394888947493794764137701409462289828854050944647539053625008004029580336086050932012094463622573985705381799086324714988702648560672130834707327466226677521423043341538974494800986211966829000727241982616804674607499192032208491284224465955419776285388542495858109325476181676400208097931515783833335712115532121445552013984236989454849784681277426642203544624746522291689024756130249929473069581025840497862802618857229458545964263981885146865890910914601261134363700665710649131039846014956307549260225631152829499756516366355130620101506495356818296343765155530917719165637052237856538326173412976489356800529950458144761008241529189469750453284911856908017972811149452373008547342631067148687558718258835347054995339285860293336968083465925499431224504813919580874120661153022002380112730889604757662529497982919204262213902911290285448142667484780321903029890200466782326272560650497862828025928593620642891749541589257586156036294666037465514038684000467621594142397592913718334085702068121690752315672756535102484398371880622808419937833650888267686719087990883617057111124266168284717897052212709256796874208698624134043982860791847140496331624720826901241982135670846006905153008995613820163666554559917803191932691029881962276416350994911667697070984749012663155408812970123264266808463477170731420675055647860280027939019272612029133648178608181861361849051385849777103822658245237606893376969349752350775323230471996236848597800822660554961660359371736971769845249800990512478342647698553295844612126388317316092754800450329448701215631094008106494940608173918776069253867143568843883902565895913742414571277182412393685561919275984459831508272012654286042534405575358241345621534910523684493714067599255508957071576115163658888662490482320217885840094553538712518906686065700323474801506129079642315231072467516305664793126194262624042892362421377913778962038548442401891697661470580636008394400857060528024690644329927445452128893191338916585632437221037607553095594230766611341493358439465974465174962152038468169969855429941509243465373752050573502451902291968702302170113345331929715173985980994625638363431378629765896316638816547908301251930658202426687365557266125029258950564448644299005564031967599352239447201188842254853382229790688070960196370743839304185455729642176940595767340116596027665680637113378298616767274416110521438359261239293514186695420934760100384080196189904838335632950738601850937179534958017914441004326768586201631875261187062502452977843475570982146491404635377534207528608946527071680876527617565639566608884322100519013787332481865150625160219450162234962827380914133971715906924538679601735691015132171524011475228489908882336168126975446377881483638469402701555557096018234293364318823003529743093304339211369604891073996959810368320485652334987663958454032317858497534006897293673851457272417438852934415268226869254903632315057448261445942564120955038411842553438544719356666836782347174320800624799770996370095436510798826211776097939659113403458598070805920818059913601663616958734057756794979180387622214092394086757977554460854639573193035077229414717251719200478473095283448200914913054435727727380927128839805089268943466439631050918267581046310751990990366066411508869313698242012192457665746223734938786503640758466266142140752278165605457089186275240431812053547012915006028064639747108634937293453499881972678296477148327944256227054886894944161705033083384679124961130907014028642087737952891524025185974224329597451316710206958511760138875689700651953885246319805240743326801111940199320079014124366763964128143637780191224103534527739018998808531326434232576170617358692661251483150572627751696045629824590460653508406118080756526579965645579212637828561211150874704649026529907435328464539912725146295946839094341442651261497324767337009097938038452186600569246071798449770992653084310550310659190886952974367278908540789245680799109629146634495374919163265556973315160999792988272336763332429061347318912877048361749695841139363491331631300615240089840022967676631882420188389360240448507497733311847323973994456720953110680650567648792972241067233267720000602292426491363629881297587700485479730780122722050964235929974722180166517342462622945081954953673148027258402344896235291855550190959789768829874944678801706832709027571951504261230020336976488065794105568875455866169514661297269432938101615229786586789701190594996566910042970351933339526553807929363184578397994143462314399009213266774869812949300724685515404460532399640607299705678395995550467356935032107601327357533091333455070668919532869411748861124080323256525696851981262010753372588516486305880681177668855396960755718661502946213895623456576488517638425570894384169574601235312983783169118562822717051618906355509901362217338886920139310228327956865908763375235147721359928096873733798433759024442606643271734201644046942850933700732603987720922988825825132384967354277363792579183486884997956596792079581538445091196490117704154409402844163608337486874664517025321164418127515368416100246177435050259829562677377159533830839897300511546227910721725059173372273702977463009101079561514420246632161395333102649237567471625921134625689374878461329381574037944597458554355072975398587250832759674112337524876578758309483779300267008197630055612442571034375660338553595749873272847857431378061127258067851482945531428129933122128397099712792067485131717904673156112385039415268895808884584787763759686135098077134747151802747168529898690232405036237244946235109050563491888399245122933955019691193616859894240866881972628414218116073362093404208438704361308916495985299334996971842790119540333281405231976916700402289910393327698921708458432039838652363901743648351830379156672729030747377552556530442863643722154784506601322168157613430433545932994709336395147848529478545048205290303503583799923807213942201050439500763200442823540461419330995938243719724184160066297115250984737931906740933369611845829977737193685597930262309193805067013595562195537028502710084525235823416766037302810806938421251805752990610501419903912537948420717761605160437221371833683081676873459229294639694861709596259767035607912470147629384872840168491940706198363839215536813473033068869002429786548047149430261513378949245204469151469775313938341046861506294352352911086204090167994863061431280067025919228842475465889751676855970884660289516439874325677313148575409992272831092254122216807196914250605650016351689594941777637605224603810989005555581280584190094322294385241323885067101338000966162017184826822055433013476651916557841468114469482611311714150646057330903196058086123344480896322063728566084848532611416277394743945083005739045463554259799469001927082390706095731891283484608716486426555577767125058927079718652902533652701900665676479433642220726293416173675574649788402724171993037469681288169297440250623161322921313747551392427974309906361099077710347523562131781722289410705899536252274171834931292720309515759956028071577939606668907349663727555772484739374858483580208578617558007374203415990609438836453240149959877011580746590622701406956246930055099872697893394604305676210117921684596981087024682168203676353847170163610808277395404820484327375571649527769699728634164712539382762628900527888562078914688891343264787509075376024902781461821063198886411209189533865271429807782860465971602987597009666744533231696650429843711167995712517176898898089153374959865586283910945773832740970540217078101974835318416684035908027230506193809001960285462389686799223482567721626188274127220795794030918577367464856898830166051785949381600173619641831600967632411144954026839566411266517052905345430680750732402860378713552986313177209825865001665363357242767563518404532369675065744729765049960926115958016755628372822770012043662156629513208566790867376638195834426944342429959640608958441461146515610690652656764054315592812411025121469824057596459933977403582805623944901505258981888478350923121195068959617350173537288877187406296337414314119482859188545543894278300000253806848416734875601890177323889975301370889273739886729448841459568779231634989089251090333298583533626572904495776279737430212782734669603892177765867498042669892802746542675377018932761293139887825384998546725641042261313180374487564144785602143317576900057583799383346895728180634391560488389492713317296506436435782278372105746022685969331408823257652518727448862690467370118207707417979046739412208126430426037222526604681771314668649078069698179816865286679833774373729248165804213617570766619448326237170014811238952197563892854884913605472285535616526768800083534406822474204151685350015344169828759568880461564235389906612945158518548963384713779421573089931375380295670330008993934538040948866927171061285170613784498724045864046103240688303211048679733878833192788860133191237106008725088757879090863992365564818264641102657850648880601303122753270907096044730317059054378450427139643992457087347089278875877066670382486561912286194333503543787592062953838425998538596178740429043282951072187481147187107045677201502212060377790127727517504589653609376689133588316976567442594213882883466021167010831752319671891276502930135628069386973822846942182687698191756498417868524660304373673520325653860794459765827497337443959541288006951528898976973006874896385683537900677486734172259752629534823848830510712354653134952449861112634447212850355951127935246903993040791039428998725934031316912795126642949074300322421866192587902187800349482337555259893633978331058216853780807211720142862937845204070497654088320982555166443573503815146210844551404427911560319693105471849830251560645274443956036115109497007509653539358284508593071772563175471270586894568764850283345441460157057583171262771902149430020485547940063510649122500386473055401031949171168302472940645510475223664941769793150309207961757362373013425407463047714456982526283649455762940332484924364297896291429714336338891224455190630913448670467317474898916756684753474363203418746529981097309890005307958174583779853169866186122458023926374755479121141617257651527272472388466535478876476872964768306897066018218907061919846410561132191200816302753307237177459931974706243807170092654261737930208299160409862613078333619538617791429874230693293479753252133023177162973285207650353742430514720069449494848411119352848660452074709014275877822414459100895091436626344857242299275442425653732886313626708598486047923265211534356217640442821731737595699671093615540115660955871118329913947062597536114999993942773088156843328381618402960661371285285326579152013323131816618334715982518118194980766984799439009052362626990634079625728488484195416627347112560734293823925707983303380205373113408912806242329953181281345450610107282274363653072032037694603002776493965646970780392114505700956740892275861527034834016749894632775562693194541211290212827638059220584992377357128596321380022629947616486271335150192920443366365029786154140169191155225685811815929076550338794233670309891444816078512565217139299468630468272691999566765157024801088332049227227987215291205096077704774272604007653158343202276411930364685596467534752109634904216990349333026635121581371350437421214563635266900462109775220753416799467627513984091092561796191406822198483170858233811011201193087999210521299724753311792751227052790577533836194645879432421551584919731906699257147574762596058781163309207314219425137374382026286248022421658553316715736323016237785122967735870635964475318481217681888670496407078548350940962592846134203019471528741519402389637338338056052326659144916124207575721955799667491104203432874674443901486222671408205354256578462771238012678914948217051430398583989888518830518866159541648804617140461390444623326555699711276544040635452467148151644315845822091308456511640603912654765719413374162623650300173301624548121428866026216887579690253407552726475885982814376460844910728641965312503612629223025988494233701117887085299533863684098361243084409462944452647841892910055383226930837316153792511674326399738947877119276090779465638571351064364282642755771051201030718646471111288464400348243465564585191810281320363690484804879106750258527292902094611928793985795577621221944460670009584598786882365333754890574615824771585798957891461451603149002399777959561785144094779311243131980393263919908720168939946535099519854985661107734402745524198821330004595501657269337852835029211452657468887135407676631970325084997660531577324116974641995601247392481308709951134123819614864960545611455642693972429425669431200645870160566173847944529339593907220285448683310189530188873357698130697244818447199271897615470848501944778783973295183658092675350682966862034700344472413465707108705984777029984834239104130757397526071353537640106219453780585731943341816875913384799356311611540848127724433807140331509973811514916611748674078248453381261898929206760519657594055075832792542104398336344924497484776742420269255361560865878610350990225673182648907284772689347154465497219187140613549098312313703910084054893654997876701530673076956451496791396970316975943877008197079923008986039833622563411816428703485324447679702074244547289842979859899329784040984541719922208654997824324828792649410176231531932619306292648901161698395043652802408122577417515306932524358912629917603872423853896234640660552902461665447907566927313927971706142507271598722584197397867961566516005106764212471555248956273868752860728188022987319374938873772670148445298269898199460413314780450405527794285316929026221999374658257624050224177788160133249034680361128128556506440508838764757360433885003700701015878878143525951551631133207168696158977252767396017253714379462592980982297296410777170433425301311422814529025805481104329164455507095308324218102034914773125984904470055685509300866926523676662014095932256490375554629059607688028154748294776467826911966415477851016869276659915105018297548592187828942668019417945238988983004946374213849467444577339887868037891573349911592555553382405807926063636187410486446685413294200266846441881537126332286748037344388585169491000804066769079145061881944095925075148623841398480332433857814933194903323718049828926547908769148190813803110964337176791639715075989021025253864657749265068182811152999980227049959777921999815803072807027823434761914917664043218634335804464633523755515723932976762166726706402943621660163458452695779017369153174794938658489520798557877565700094159279463580823030887973795129216097657450529159984089362993385439224246724882378699641906047154351237065288376749755324915318248167290481738712020427077703564384837978997877134715271077180316376012045046508610287742729389989653906867552976621861573175570168516123439475417058003187382837961473018947726160467954704632516661385395656020632991660204140545341617930880225085681856075271734086407234964663710207204074376481839709745042616446078933348207806348914910351850942149648535862318485530016094061418834401788543605145469237467346601186645816860202858042782911587937874642725738163445585943768729108659262551275069568804168299450663273841011853708597216542567336908042461849561045471087573849254266570697605522029434829240957387602119448429772650370830963362055184261047520261290231090474018299673519186636884893284895437680647802875207586892879629580698344728179907968044619310666562268021007262967462252274583654209287065879646697362972325255374369107601054809323752813861191191720489148338625252740196099901460489379007742931977970529354251548957197827978816257357208832701024900536873276187853178826363251940054436450785887422148557480124265503830725744841217867434606266490137374805501064797043303584714676967793772351634668142882239518542444206400087105434218408421895613823440504782332649746914220647852906284167932191821136584092461228565703130238478744812473725601065894577920208252635369254086361483755534738371939765940547557409897803359525348847100926248994282561153811271386489780390346085693011126988764958497916068976032149660327702515260512272610430667897854772415671789793969959420336937270188912624326832303887532933823317791122557999702570643892785682096621364847531412799993692328265684873312115220910932542241728780443663029624307407778867479428679941733480226239264931259313918459312090401236174452999498605126829395068619937208072738151702632905353136317427812333674879670103687992551366349696020560741512005912655785148395265071732711268637834763380854126752787494782332435516420748654310810032508454541563954968670553745619446502088020065338929212695735571036984431555320908536507389210291624463690268872163563907762648347786896543141749267771227255716540528499880052431498964362057185236115249439930430814946239036524661065002082091406632258199760962116275978278444012201051793110873432259700942353866231580926405071480233857709042275508118290568579457349540027374989664887808354047153578580319874049835839386742689734975486141109271362312741917355637897697875614194955766297540343174152201651602566729272079086724614983037456525591863519433888002816798593746552495514098533096055498329051811499049467195907360598295239170235923674592675191763107505190587246872933852337145143468175845811418631308254285617175078232176311832682846692998405000362426934402006225305183333501270080483975369969314072561170794603977222266723968308857147516575276946736923941962053913580813802093039161308325663337974409704531111972663319191732635262660102577667653744320169772680530526839304805077836921212798033888954451766675905506065646795373758198018856691276761513507624348213763645218525821202457645954316849764578963167172497652789750840005172240255144587016008621127250032422297803768137378925892616646991904209921288656867062020370553894550811693171141117332868288524451954294502603457555071122531323596059555190772256794944819553312343887634467253570525795946789621631106628307715906518786020227373256994300411958261754491276723173791643331029581108785773416204308255460900812788621564048248416646449909355821665248921593093560899806916627719433703036532985246058440284444148386323220866348597837242006147870624149241636466325
20107595147615690752023588431742862773209664764791541950086294894907624366302229608154143428310153048772507169373674352371623895399480002148386633263700903411426136675587774032288225677831426874849647317979384814781677211702390418820544725684362365283625432921978604513588194859165982788931808024285219459732921916940472121515489285260756800975541698353111776714588703130944349475384016720715698783669840528814264800059490319080867855492048178690445583840922389587358710475752770402634313712876955079803666653185138351162156477403034490180593022951692036907578252470459644680615051083880073690306885426388311508577754248437275664035599418678513999788046891552187346298193938040798591841217412753317238249441584552226202181549082395228514086159252672713934271290956932806341008217046647612748992912532918508551176895118170134834765067630077093368408777690644717935994068532283743720410761645300298781654619895122450115803153246430225315973715475350602621350420376690301163089774079993778835729926024416766905131792410910469567385720636192453238761365127254643395765383084384671560204363554898784754579001774151255680131402857780624615974296288666453849038218827831760724030571234488082458498168698360954939037540924773059652300247334951037794657053467925351763315069981704947798768120180910061113136211031484088251278837281409563058391938967671441438010479760441384900594977317113617969852180402814132630692569278080614619493295641780277173641520561585051078215696673215558652291053067604916451870089561736192931098545397178709717481262204783216854956909065688705170708302981883736011617927729792316686385572843504623111293858003644180502174129396016626227008191183462063429042017321998683182203680379838192372708578995662599479706714082186615997657808071883437239147365736619228103888558588612342159932196028270485435921768176306266802935190630295795744312425411836525930845453095275282251172232204662890331788956648440430440747268792896397766163276647646517948900110833107279462937468254818701146539486205177744502384266356401409313077939782079185706621718789448430381473527149650973112802392153337584908015046475510835268336243803934909110456655160889380516043682824488221760192089281356737976023927054829576913365549488520060881425288216873995392690327153276832620341202089731456526527682710683274305225286798828896578178586717700400940607853441767799901174183644196069017638626164509018591458641177054121225800531884515413826289396427457214847909870980564292150547360933837430993912539210988751174965315331776360221055109223615022375648219666707719148112338587306132412014057752828313377013846175624831982200929193732121474345122616849521219484484266287725329713885754190034717791959443340042033911392627897217755025952870442963691980144878277719196443542772427244682486237645015039750064428727705217657030230651360938227052751450520522683017751353322388740910320775526815412677866171234642084290617102709387113345357078788626711642658821836197088039331156358105933097498327058309766546107088397241972875292895644329764554010958905320027656863925405783906235126992535851425657975821456412914840287779505156192314964600449061449098417599275277794910855750945732630889409248060281965444111308277908099880735223456506531965218965691531136633856117792406040967915587425414970012745246155301910160899041568278607316576821305680085420334667486717424572606239185528783939012418999451071675364837126804196350425214641117691202198305269414681984147358201500148896960061355478619891641543062330608716060671853074255529113676462409121211576909782878007099876980504745396637995837491930840910408435057215222655774516170782097753368379755964255210754885434351057444263121629837279952237248396446912243482237743636499593628410580272623101606620116941792985306119384906435575209858473220421249266977597552331392338015839256708445358377374893229044558795783738321449122883755880638458806217191220314834240798191787294290113785363885245969319282539336595832905463942394070211024746441399408651668859307699717248795747964759074628406093205899422436769428470281446819333475177497953855116712848661881650121129113858571699553606813666592851472931041170091665817246322466370076329402372881321765367892307954157947368900328197988385140493276621641335293303185680115487957904560219629407323607392222414872339285968774580779096255782121604672382287702410635944852908521988518195376367633224880865852658909608891628752766541431389887332679305521915532076863125816273648753353522342596430971865529718600054691673106720060490342432300352658104744015537723536124440476101443501376888593849290104655224674482163157966153145294593634702835478718864890100494229566260031624488477940077532750464582859915156210726136545307892029466760147557424838291646623360802970284651329443029802520063837233256452192467550446347189262680036452422194990181855984293273446159565259651623535546208921421666987234913306873221022988327728207215225932491957977426307194782218286626389569513912926242444719991743117586817857700605289615039122564097635802558762892969298233354459623860804601231676914939711126255821797558791734801058126052034210958022428392695755596263420911118783832536455913197762226155613827022391092285496299900739790366237484865679313344414359852135785433018865201347098657269554600718418509877531185433948632237462396744993155225367577204547590605447724349146625677859264308158927912886683386942898542487255559065922877554619215825276652180322802361577650464153075582835677724249178485833394580465193101841532953401949838966425365744982547782290509533788657946304669058951190213544087269590678659519731999400334035122444947554086867865791422363335789939357829116719738951905681795587053759922343421031480259520835801585947131691593462767393004437982918895663271568704973550432005596532993220267180711120585817649504143038727617511101743098273799127317279208846085793661938842985224344950943624818666648740491211126800854209560878479985778080352785470323296309196864880588977318839947197384517265023009140869789798140363080778193803697582339620819414394026953335599172836266200057126065985900508885228938004254382173914909294298978904693718997705449008094139965220590802441494544490092307188922318483968926058155793559939526402326185037316466780864009033451650743769386071019032896829709536066557607841702022768945377891658544297918023846776880680091617889043578860063470851527994033498007895143314130477989654535540518947114415055780102514157016528972278523496924189951236000364891618542678714653242609309520991109306687669428609402328570660334955295778608885809115257521830181678683103521836485195593915150427200254600819703485467143779964457454626263411568088494704287726485038847872263213581615403653275343083331205275084729387507978471132406404333973646064103320891450527851326216775994078435886269273488762088110420363353470657260258832688575343962923659098645882771826243199611766029323470030722855941132966711989340646091589869976725355633334085134198418038375893911284171983703385709452296602908283442757622911832869377688279000109205400428490578691061497431100099851916356830229140787819816351658075743954172347942093415582543869075089467661466644357031582289364874735965546153860803102052903549523046215024741249221549218248301421979790536482789264789059540819609997454358124319267895847936111366150857334497463344327832241989608213266260871587954188885727005225710994247521391184265669380971619264513027107353078381473970993397934250426551042940076040768452973849227149720169631575560021374414181639882889212879215858445283349947210723309052514389823834016649207745625636581215985991386222436168234867001446369331400209596513850627169596141910021839665060032237670952504541649309309374530249860980674884173814012127129978476316409758739524445176032407734579470211968627178830051696128506883635595267715273788318818688433234372038190843887410727069374962994259147468906818584071296057960029071199729816396004260415674485021934789566341089415120003744417683578958363849252423618164014334375843270780506740352806061062723892357204618362974883757592347238986827728187400696648162902718687201220984315498291277970092265773906979387934629998231082223095655220827750879604577203751568631292691207875561069254496057597709032240360225869036939585062785498441871434195661400993592620510190746345774821440080756309277240412375722242434874048458549677931309886583685310551181181916736484957885832704623787037764602200208355139375221025145318568525380653321166962175744193331532350625866227627074676133735034492257633211387834160184533351240167303729740545853866717206683136647696546183342073174363328840284143969378791473749085722001307728681621825031774680121424652895487230514489706532790608020747438298055397146046926098164447332271002515814229369423866182032632103533976614632976485174610440893612141643802554102812299164844763896077423286442070878710768460838235371205854430411125039301101646362585400928840462272798950694727259656282977829799151560091842499173101657460281258954145580367497255378267546431212188034810826597145292626775000810375382389039510928483713479224883113057857667862740724215392211860340369680048546533444755719153436988725471930617260254502052660230448939554225450911974244880660083872031877363810430692953508825944370589263455037042769837098796969714294048037845316777192875608224567890292702929519216557679056557298057052928139950128934582928851857610416460107360243507408806218358901563517579609722212683774937001864616181477549380292135993049108989472036096442587430348198097132351165643894962298758523285253296558389497414789601974859048617599149851105703097931562780596646126259971169733591659042157482766338036680036640737833800418979458749707554644244725026597079281982787775238594369815116972678083948656718197469249876117385047731529543145246136436881022512717133163334432149135960204196999078090582250723359841955694858964359750989571560978675707286907236978770954250041800985678154125965370603141703922586622181690129122388744009905882327833762425902817018492419967795300020731917693462681101625862412955843721511080918275056941270356127414527313612072791776649622135495996163643545546151621596506328791958468859856662451529517254052439393855813490483715704910101174003482427827269102559481447169763606747132726604946074234214079041643593163508530760092762436580252317152356893147863841068152524047478221382831047073555358918428406098943118652922868561738338458323776472673903507167725267457180047737567050988935774096352838042970642419888121564060021531628861230700520722672514761204393149538404583988345360745041298125914525374891574195145569346614972851490647182061014742779360708271719185697081544591797031090847612922539313619295798905579089788304478515375286395537315094359566326468517719634260700702494289490650939193312763773730990384033542231312028075174794909456985628591424377109037236784595227400199519106508358201958609229182247458155441776980763546937525803171154654892075167511713590389375948803576529832356412939837451285455710546476304914420226892352111433350639851784892706601847207297751239439297194033609071543104640047564865595792849464088055641512910308888955033664926901157744174917837326515101560051475265530710381763432030438372181700732730761558258734509424023333943615126591312521072967795967128274194993343936115132533345401098739059239164574018966813362629088785177046515473324502752561414625900153423717133523696883645808179140254184144320638851360020849519169682842800249062352874156746290653050624883157346433956216990428623038275644834838230286208157022712627689852859671803021024058360479592346412780124052938914652602202132463364087185940411662298182717906138961870434302375686988620274205454001511153868812266519773926830973117513122042667200499887056288038221236474177188901382154699089331527815869549632436793685059891246785555937796348633980842018753671288421756718160506939679507066761632410511495968578782635542685336777825267858115745830018247120176799009247031789181428213661086785672163901793687496833433960731536858277063464998655643012925730049923631625580804585037712403439819509162218167403598696467434652060596574299290068552383564697197357408024673781749052675910238961984989391697660775970982984785133391222810026312425760649900812695207957334480239180488629922309586182166724197322923502039923567187235219774390694472495020899713389352425600968744411799418836601001660313248963084144908121339503947880439850348858818223010017856019931019171870859020797756025501521961170637775889389135564660655664156980948786791390577853112393398204223395731192231585083015362760773466981142339080715307431241091227782840402130168887773249599159848249078463704269856414054561835456409411239233542418571211262697407536154725485972091119422995280295639987142260828797279605943383453085681545208637932947675016069599678406199606459231651380748871205448766932094698477259568075699508131417931280441300956532588756769693020741835626828877520043419744586289816909649320028442792782765795612322412756273122139603134537047812113480915787610722259573086781131085417662771385828685716188031826760135999021155547712629573025717781590738668084416435825997652615644699912356903782094394813922898595675394527631482692572258684420267746391524353934364133468019566524966870703540461754844316687424269026974563705207959038625434515953952678521060372329287631301908998698550948222215033083142153924700895691679855539232237144179974872647458405136075093326576037551726555429668834898197460245204801723789152774743943838390729086456246896875714930938768731516609092967728644454549970429723905174388877304733188013931154333391004796099342219791720231192607080539577972012647102715195675711389659345740326767280029929493797665416678858350768621749384855502720822880673440873828812208058227046582552428459291878613560772742215478602340011428204088418154001512740630880908526379118639871405084446906144795702799775897291357062330549843267566114493048611430814437533107300941847106106793499041501204738600970866560213802423766007155988940719439037704190398258202898066825531883829065228484548149205043251975344398031018986412262698713922600998830526998677221854371610426900369578316965293650060219754318240617844721848196892908917445954252391412991014644075009832442390247147889195290366085579286623794351257211859256415098555266394198973906566178582773554039063524745627890285674479894008634979616511738269017740835512727080675224442232624874348443654774359598800927436433494183751970367854236233229964046383026062795460785118050811552155422455036907963587741865815239778875939897037724378200375086194403250648724998290880065636342656958430517890526574487754439725074757636259337947820811505491058033275611499439028980906426393956743851321517972293831830087598264605534076591365287038472820623934594139629636926989479169509108062990999347031585262231167415003137098693585750141670358622671813132150952003015815426707943603107443430608483825564117006472895636891660169404680867061663364745817377298116120014063533967013663824780143176154684516398323951139118008686358859646869379006009069523531203938421486707786401133427184678353342518712968942998680724351815936840024880779581411026289658136083376276653226391269255338120405617648676452011977140015158159974007788529503648531850600780540149889253936588224580518008689286560593640228523038129075211652810778311472087789486014909141843972572099623919035597295885273245842017271623258040833744057882112772033296641072602955544507129124540503795581063404276101782310024212553755548842698664061505113148807158898717788221680474851734798027593534669085806393579914801084220219716876129154404386236431861707433780557094148800589783863067252470165421182349575013094733046833685380073588585882360263436598189375931224944695829648529854300986657769800012853634514234048736922958358031770837677345897549458060002478180949007294931281032737095228689456871706519946527589950480041627638284058894934776689812718090476161707992006537798419481083969394545927925455858043105372087239375665823392531514390307465193978723117828081981965627735918919756638767940371278182765116034077638274568442913192767872276285532473693397325790256952360045052254679670651389594838259491301179645503779320561102302894697206326916863391659315937591890909270137235686198846921444323025554888030420731173944811945610168698571583783989264384065061018711098357939198110118990866292312982612730626591858881358313041586375104925819536689287909119082807417179087881511638528989822602206047372439670162412410126386794774655429516840280388136655454888173481063160343010499990051303099521562917699655074745590428555957094007813568434945841592189618863425615740934612660299070230882908702567389889677637815715921281165933646689523562313144512409839564285592691155023607357045620525784722802415766149616990658194203120042739181641724779975196917627269824069012889804934447778754725487942353253107248984891033047933263404491668385270095312593685640768834827776248524765099238571018704332831824183839095689278861279194817106335726860282302208717048541845372772914130372025675366553106165954245023147837264683008079438181822482864205031218257033915869687784538665025528063701135536872070804959320648048364469916077112263645831619502327214145144115368350224042888554985818582506689139303866847906045881176615367241461347560454430580137719753691267354647876139934260122294392569170261371024665545328772591279864356749496471941012672655820539310737876021843074203684818527842110371169274115343642678618359503553351089527265181849059117033923449751510929612038217632660649243242142595594994849364866965081634193729952176791532433066650063365334791462653446947886650369485937524018358807160670203216617579660777641829838266712820277510062374299111309565018126498511701257104583134770581602059174567361213127980227838713109594616002229753752055226509634552468723488600163375851059939196287043977207140251404503027014194469809551165724804556171368005248415009434633874046802309808265911082713929398420260680363992525963523883914617027907963780086425127073160314762944078744744159961721420881063035836921021722532154237303731108257409161179722308049652701969866541416356731933437519781343570618512769088588065775320355054337683813491887030344788409728581842227111564756570302055173415297495757300749350791092293376835510394489829381581125232228451432128599975662949310899134714108908337644826823000184343698705912442432883050944461917906314857070643942955154817687146357475046829808288519989613518495447866370088804898536697996682341331495506310605349258321432844080143742768435404202333162065698641944147459311145561855461682300802085359088870015323848989972135678198036587832299858359752740280799306067741003367736031799474311165475088903702068043306644367073257839676775377654616034560720720611791491040086041956066998266798794739152867875042489234737650624988936434993055944987520073531226955582871125980495706616385978559658052815375758885415514022578821661067304826890106008483772095688809391961600321352573336685306868611147359495947445264970720314121088026907812485258079304951303154170467350917938093867549999193400225209270696686627359182485099228616008251587712428025749810190469648019586274147505536102477550373478908605379787759031231467606074037672335092213969518853296014566546637830373864024862176840727102129743837580499255490801573949466590669693961852469070229830741834457672968289218812719061988463860484423028418385523580315663388844933821727147121542930121925974762888300092959036797047126782298297580451609666476567963671062812992319176729761667046409771094561177011130056161798116064785921276051707459930804740909595802251654079879025687933258407437693459085228625345560113079069738632217969025739800826468849681067632921713500023351303767172514606483909775185424677099206993627797502313473113747724026659560167077595894784707830049516934483178477833157905763236414023345849379868800285062404044490530202017700534695059816732487873316882236889572150580333612944404847420214641572404808020219082136098690031860947563298226934905409230100247091383862233565136
79006114904676611100044970207224445634205862728920684729366572512795641668563703689736016377227509908340976921412255458155063800886649458107541659793007621906005069677729869018375040820378018268660051576708089196768330268593668692838290605999326508599640897745989669915854617341244688722507526808656234285671801355800462532123809198268477762286933547668218896224317734728289614093979404327177228384919978431308006121021875978098323411006266392878994359317273985149749867156539135644443687747592325128745393826137095633624160653618929203293087165198923891887384769729708764949343976299122870221142734625381072527415177379189090491374572499536089993229816885805941736151030247110477272917422921241209717331345801859201406793082422589118800066706967690161342475795694972442834158867368423934926350271528989728463578124834037197620526518317403078283737064952576392446835615341410770754970660920623698502616328671397290357542343296735735124202067227046912892393848879379454831146122330089730203857164601833411802266901860674638575330004390011188115535887195381936894253304420407658604820152309658633043562148306181281395371375812649953639524089608181489535973259003149125451296526487607827003548156798473459516505152944811255573961268413731043610710494142642464676703607263688615314494256454397946943331081510466901373669683456766272298601153880981734718180377563152438632847211475054737092248234624325714274553465250372581547341187413875031331138121739856454041177919161852927809098458228897679689309154590957258547565147381371527237443814117387198072000463180926400005402026516282534939332525584330179428700742670035189251065194683474991262041135008772802737777731423362874168416020988146724604252007638796128153313879855217243507184100133059660594644434342028324387165565588255918912351529942782782044558526529547554664357468772287367580761391069937452499048533800265264915611963306852921169776057517685967596474158908399315716587437079656018284274585949454992373679249646415164368136827320223579782779682811487861926496752219034298360394846583370711334200391314670424480463146685812814346601973879525978561167807517543295368763089072500265610003800174871454876924614188563553254876398682075259770118433965186367374049626347035060799336949891894512555884773912140793076002936042541666466597762004282679699886037232549090448352838872002824690548907646730449668718513584111201400127030893757140375271167018352768357960680270507784413005646529153343715113289097229347151359923456506284226924248989444149328020217966296007749932303795567659482639137793352447829003705059016927338387625231908158213745614848723262899248116715465168897865869742719428621165439476795048307809556751342938002722101782742413177362421885322172200947452618036425054390124953125740014942869160194432218915183714288793765462549126638212860863277736133050506817663500047248720146871466004889035884295980338992412442330101084146811763578594953438627843082025187020526590778966880952992319451217204570413074523442221960998512144195900991573957208639080512167635746780171542058961345147402747771977945819943005477715660391573546068151704946877553235733297732542352924259175607961729199427745281511995657141463627842336557975519308654768725601333974601898241245551663406690042723612806762469697589689885628339320045296000569092877622177978760500983010936774124180193989107413298975127041241748056827502128462964688551746676037538825177005022590678457381053336135956161425498666449919058206725282571674075509232335412569839621549781287204299061591205675016926780730820391839404288843711879976426119599033904921352290921249835959498456198047383111942430409824555503001819605642017262154379119383638875765228552633118526745160712401300561109754678818860971427108935723828063599851495864609483889880384451824663594020286200073709396212554837533307846606082945666063199606154915466412665622975373420283233873813916318806871137014315946763339831286830819277904625140989004678257739100261524791264454687387453703201821622159004140134044316754652029595934172267833697834277983338826158300806080821676778055900074782771683351489794877910774472213309862708950645457624740582795748999202267795607597721776220582135538540075875039211148271483264573950625497947328066745780747395282558532535140158974517361935671943683463062762559449239225780870248105664354798859467612060579159990930883438880451227400198396515336030918963478632703400943832658951572998510569094619085155893362297854491633924754663156330244696480757361644854975367081339593840615360976602978366025426269784878395116753375869910035488593448522795069592521191806903088682387232206576393026579638492030368999900790962112773038476283878974040601337094260346158237363413660143621306916094060993845077140450344605780016133035338408484376774219665015832353174905631372359758907927239466875324983494255900004416713841265864770241714052590447576322033654462794072844435504720072105549611873300377863753739756578200351030433631652435288938076527122718479796031016849742769193021237423203205261100110060219062652577550605867561058222678816536653466216557042972079930612547127651441748740574158080562269765006199404645476007480203474211259553737146922689702247588081817682761031859427351503520554269404837515812628792897131332458690939816964237505442620851841478041921333546832596674142486594948356761388102078811102806101455257197713965223631628385353079558324587267363821604084114429815122383325050086133145487518967022739941478540617637225124367512859948094743249242890533062247960907888342007357243437062247781286150140535374686725206720616539175771770828093745974680327497856778825535300767381995113377325037697953058872761888459985985450512288029610963663431163082587315631019694119551685696694184651590396760616141325622118648168317156066195509124950655111234790574766419760756512970787735858496653191162447879623769923597532834493696906570347248435719225784796402528273999819320180904008226406411466001571789430934449774990768563588549756054681408297895251617853713144988373173003212135191665683520504854828274249246128813235656917723678431165722846495244279351528051063195790769297610507791513554505193303860008583292683366638443692896951945201017052417604308438264307114610902839175672461000516720434584256742363762766033184523770111960310242536976923757210960786953070013974827589057137329168062014734009186961777298649866223564027647142209581093144388375345898937326200071224363809980104481198792262201728934216943847848680173880070099451605353519115342094755404423305308286810309961157679636756747389733251026624107840586635233796007581985825081261835736878874508197907994147306413766712022362913053200259995793768244649602029211984113546277434195163968568794754469885153797091123380852398784624873271485500568018658543337681452426723404268125486560492584165046209724821424397185998102730618035874518039782106798863967309632492955717115517336359519932412274221213788927698649150837116504321834964467661691975121743679751120656575056248611833588331549151065337212635144096857580341892031546390192544386664739300700307954351757042234855291994968459757978029300387785839113837103354639102629842401164513140052410213021805971806252953645772562276484355484027766312318379911060146478712457332341542334430020531269803099963603899669585178381192233713104793175817468183628321524832755884636371644806363004441097990840346668424332450420343993231403357296277145470705726958348816390316165166038221814258788807594644372698526196643003117867451275279069852142954527986940897271646425022506164592591470940841509328604697683253190788440283627143440760770450527061320577061965455169134385681003029313150604493965375930824509898078051634039535614256656885275266458554859330376794572202299460431747070099451906770823884509718249066811447212711690579959888183398914293465693462557265332467105959715453034908371002172485102718173355380965065989502547051357184876912361193014076064268363621282663192025537737931128490417980843470361994325789262476321777086134849602780395534317686612078808459942726384831067993814700689239604207287488693559284929105316633255660776663223477075532610027886192226331191333251712042052262548927481450553529217413333321493884696533389678444830422244560000141221522334113639009917351369750369544333407869942521266452761779718562038446962323915923175788632985414243870508099358647328594224638496868817117923051138777362996904016333732536041112754105004896325553733004586003720320963928354474178331275261687805509285471466854282158349814889795485224258446572328802072208546373036869725385177309842707838216979258514466559647694603750386459180116963934608298561266836968728183211017475539350492735940256978115681577499727445803657629031705577879361149052796731220216080866889984077910075943775303130998483607263335406419277185303128240113206879407324776020759574074810639457034492490454994905494786319809159754241200652138563490402795622426303038720726364637007355030096159520674831827393536950704835554348371258801320547231232450922278272547812143111675267388452928692428785716914449740027271684105342291764310055008707290218541580310431293830055286566805962892131920948397003640869909316351743316145468898341848226612698960064319258223778602013189676531883882117860017691676239660714261046859360406322542813029319818494674640321220777369993272033687799778419712834614484078439700985822818779057118651934747413600466161242603501076026509110683026333125767534641730301739083198863707147917280985397641414686649047619387707165590215864440853225785080913499854728888488131514821261078393617256262815351030714427011060945731583661798332616347535093849338723546215407510314840513446504833421218267399031827389885022128738611328753233003214047978694379202077273572369701518746270919429779461219199494857926968434005142338697969810733010534483775921453243154007940071498897834053578678782696001787422733675577617077762692750073952421456084588547515788029904249811701974698748613438603902755276316420049892072001444893104081178129199044309646975111151406759469160870061563421629606851546953499737028711538146593144679025366047464260743855151985705691295044176458826308106777766724601446449325915868628531291198987043589620013715112949888201335051272013388364159872046327379867972895877077989773216653131931100912047019592158960498961338969293159015966284550148571373139195116779459677863104454440306132794520753362281669385122484456385616814497391020878220085573155444251019739128568974627545226196364920247353452834901483321384983582530729488615223041961424320054428092401264518589382938525292232972964423057880102626081219761307078126434284564879305341577312362516968928754304549251408218509828977633707115697602753945077066550566905668479554589050060239816372636212476547074735030166387736437231277948014607849983223262757362669809647955402281142250952531577448563030905451144582053755216035314946726781510030911080738916458540003372604948584444264808774847746860951849705058230162092785632751407186246377365544446948589004017172645646455897859065983295326179217772756426274152691209503526550991047663788447622466349395473563835446087778330285611762486293129680517538341965404121350261913384599873543527688862147133554302697532248126725663787629935853899664771225614767948584400399510129990765937907267396784466583055032373850481189712076670556800120943591984386727737996482026946563622952048903646623560781978889979331273134113148657278321212340609938373093130148668625896372805548010306286516248014766122667509552727960649998346293506045063202785523660605515993836069078471344654823469181266984122966565981609491739454745689995205750435929528826624382013659335199728788080758587759660871061536684575172096857144594833060677451166620388776976330418272197672108621232420890886545129660879696920272583904675781908179024645926695395809317685855540465560779895117485844848635912014727476887245953080259096158933905144188957850178122337971499791351175120566411386793350409138331395286425000396279540473091941976761229527544400974647229163645670386308650926553667814509805376067339661729934012379593021247641452080819232337556565971773562551635116520275477962119350208826892574824735163386201706638223604389846880796613166543152339307716177773439317579083549529597997172293902969751276992071501796470592369321237824031916815512437024318860165922304296684852602043691995471353782692409063896577225478643276257835254669625450317627956444511179723179099050241685688690692166502931164185305330135065497905444666643166677993494260010331655268622380300744084221348852200230577530602372681569026370275413132407096211093138136095688756811301198881649193588528730237459993036325155835697913179728713752288424718474089205084838785428628165685475489684382925839922413391895234066163370143170128330554071815925512613273944740461522338695155382660331786713179690099948757106449095135318302109997158020663532911417404122094975733963978178745065061139613486578841052884433012536451189662766071927900400172552177638536356000105175845793483357360736023487452901391220143698750511677985484034172271935745020045035736652524200220734765244736002631810922991677730838902931671319806290295078495404859892317173340302418449497482106491316154574374166226061748016352273488381513840759899218294492657352074385066084688187505923917449520083278279821750776787808217456283904179031639904954732177941819660926458780144937618618173322387488095893328455835176087172554353000628249404476958085415509185269244480008086799289565486315418662994214009278858430066098429447441758963313176787482992924081846697014670858534615071823965513317209207228521765198949016858014872855316908171137684420099151487162371076367711147130714946897770863300066978788141422210224212831375153448686610596468395614313270226668515649752985052278333326109150329088869518088747421271912425328134667176873912014417439084121548436318230395988156624204994706992768648846245516744579389445655201756687730477129145375722227252295699782751752078898003884544933516076422765609835030002709769518977894756465353506959404602350879300976317874605301576349257852954090288965680339481090146000688542406564257720462805214261892399976961544043084546320713921383093260225874574402157850423596892762061027325147626747505920436881808133237208460120349679941673045711629856594188485106639108430097573791338830836598129415833801211120192486297367344215994302825196359161010573197030728690980603466295611385818254710785343295262067775204861501266978319005588835391526587157424619725602877545086812751434208045769529198696316836758776754021082658596422127320787825026618227164584614682620283813614217405722668826680039501279911588949709610194892475902106107637571062585320053817307889761965402975076738801468294245186491774259392803250621282434195812265403326018985100242814669186825516974980291748769199351250623076356154848889260781712681009083139984649519027914797520414017295261177256958479443971284853486842882076734229260474343023952547939255444096919321140673893474643480077306024230224826570648746559162712343238140922615411779463465614948527031062844942138808572326663844365834003924070453209524612299150480863410960914572739891268704199818962706429590367215053063675564996847477101049066954183069888482814280171946824102117553419072438186098010053810783206564708760268379113677978084077665450176169251497007094271767815701495235282786121476383837178448366450667338934917907648923734454843715633717114718297135921787300546979288053503054052872541338555521760765790002572267459863996754355072883536218089147247446316742091441945700125392158721496851541497573887536355571833388953346434298101552023255765746413712056711699980455913412952462700386694014370239549528647962182837445470014576231115030022537390940147121894931920168615726203030130891819143698088893822199615247199789487231718160140418363119105998811403069225872378605210652090628328179633018011844378398444965771067176734912821342724186610465899275100440836971224023107599890384342476657520430499319039734358714729642112181097713164750974734483397298186861434974263486931224747637247848387466306919939476784711598052702636180658134172424726125706787732354566584950719060665909134004618153317492597060194023558347462734708451576303770364126445319417659449069180235250659344013771656647393582251543238682997314034130515532372582472071581469601363977501890306618430383181675337052122511129718928420038819845713691003883373616351640113067613338179214670194780909256084794859609097328525652168003034526333716511876641299202126497602355316091935834389635540984499667509989286178876377384675280537914736806747116828834998095768287781649284576104919553670776730628895281130461358581803541440700800726010235181670788525330276644325687913480784974654159902123922858122686051378536311980498786074817582288877148788746331200088594870064782690584076798331783316671258273470179648639323181793732501541251174436875704364504517744857786553512161335629099139572919224256757732114608989182541619294873314590773744413107708054916486887057155443812486943803200398366671847584703664995540160411423298002226817212404493022453127277718359245099716397369170469220294679327513711101781813223881934705728385431592859688558534786008694291245683790022549539715913287980890797105695117701876727122490509948322897138649312071250240361569047510942090384681586542813973366683383823321889974619067685246573553629895268706683538884359614016956264137788565089690233109099224336467041839983410179339614785990544756174605242223632871772395113143319123256192901077046842878438401869738643853252768933734726944420516812531241860938001665214712915309556706093634827114893200022503103947285399456370167259179658413458834065387192046765496947954230569809676770798467288258443049973816762233104614693765103726730937596778943943886924265112902726954539406037919280965879423383967591090387622964890865046448912058592392647970833837232309806086827371014491656006632220479609679375648031765628336425782380420210738223364905711059744814329170922264420803531620971457994932880512811584509304393315595308933597776251855250886788810074326156629093396924489327091504992656500460202198310940210336870996384477333197041781415759270232089076593356358622201344888960174122454314932969914502933941487065862467119801415564515182199300207198188451458112700081277266289051988248164837345614616782936384063587104707194936811443745760891249994054552517917535451031064306816432955014584605621315337747994511965006530003712740013030152205962194822845427474986637024115535147866715247094320432837370059120170198939780034231806214794556147208670701278924491178662829800279748106393680940451569379889475796424089533790354705140631238527570062135761809618193123702728947571708740533710177321617392780979167514640748233424189159086425789142617463347264166756997908121265806953342018136826261063436614491004609246629804025070575653921700451780952191560780662769054190649580747528649030168071668356863746690328872862222793633102438321806473780414453459073649734501873364774036420892790254027503880240342913878491615104365101023158471947057473498016439608258483691367100421192113182615689800709186596913942440349975178008861113636625373343540697943178718872516907484068014916463896891703966026471894594288337778644864968025264830484631493424525951121389108233864884956818395364946777567725186802913957895773205969187308644758524100901405998655049017700306617621195024522734552013320709027356333557790589700200179093119294447414606420433775731863215567039184140356713183106681090590871118513005303865822969558724911674309143602644700442057011516590643170579711156918498902522237608804940125130531808065340922299827395438260863076118917288368212822822463814148317622007937292093996055662665815739239833362904842107878157039315783221220544325796651745831268951614266135178797209980521099703295616900580420753628892558763358678299776513628025951746702900775815771384648547410452587625314959469394588979504626940188930279702144495219070924450189933725283105827214100912929535403228348404332161190835526951351532231906271409010778918402108458320885569255656454227234035943862
10704271955211914051732577549562323547557130646083799571808529380657809587348184576672998469438685051614605459657530291798588491535775625707070348592819156511807461116413758891835103158868446841821546095452551951773489888381920866543915735585986750969194808117621028809176453034353036152000678774945976911548705467480498865052476884142209904651963665348217934929889595557425174840064657042137218982733161690123770049656054826929105674651371624670743497643038942308218673785481651793030181908739777703591232823309320871390555022948948855495843390577625457095640393810454126671691610557230183917910322331671942411820027739908985302167955850928217007768214490978405517774210562906552506516370153251151609284637913982128388737122006653606793351743927659663588292314182203631550579534563267668218154979999905761197574747660936060817979167466621621952380619223180915704081357860531418908859493668606131290735532046968688250558118682939231654149661074236905333641572567164680857250007961650937577744702765708755852636485234704644740360206952434979804099134264155506413606926187086764873232921715619306735910125811390459396592792752891002291886847845948841366819359393420241568408140984767229434268836503844573209081213515493048170916123832795066118510289421999757827285812881957189919581563487605516685886654588010745573325584065268475621989380107902115743954295042524570892869480175938233111014634872989793945228871092802922785078098263192105560238741015626371767264330255209046365264260541256593207858324133159235475269105204796225528989558431854175584747667807586924170821353669904689164961156966652924087476537112460015352932566862172230252521501743419564264396536766720147486204676137198440432139285260836207119911917675989246091031330644114389718760850376824680447772933604697482195835821493660278219065464937798662607445106753330188352668831941716321545291646085094666775040750594070762537804625066485324300346309526434547417964905681839198565185925477316117500849491440084796530169924109721767806603679754107796276802813349791700237607504729016687644064372291723499988192814918530050883515333173769621659587031457495567280628049043859305144690328847635714678383261507374058119793831203252218369478289859652072037017138667658651747890295352868067128022855991259202536196284544328517359795718378090479627348977346331928383637615835605058357904340715584846134573133768180288935538327229128225886821578175217720224054184071936083006094851053864786784799295523679796631559220276980854664872962918272007611023485017796682187464064271998350650761143584854589333654348101979189550630495441966107336267510068832542504227119822134581981572990217206271558621681013974062938284730470214210475071538648495950845946558899938028551921144491100126036264472616432926552686903425331350709925309070489170946093713672847687456191949892104822318566616276200162498999124340553138845441519437019418931793531782282991689812512785955671937317709612178166449538603237619624191698692725298364212806492083100489579870807762288864755538172074696978945051330040321617874766428738428329884381089549934010250353126856891412421316845658617013159240586909666201357014640247337434897054264592688715107380991061432915207512895149711275639653490474025067530923522716116707400069451716634399457251997142000594638024503655831516389844866604774279461842652951294216413039479168609192594778188627765119848846040602821163756313459002140928225199716543996143136280853836111485255263359498657971628072249513090397413553957923565554184436239690214815353690823152014909089354785488375301732357729093635006063563126347520917680278499787080666339038710001008234304552388982396298393641495754827917925221186958037641190991294957466181959408755327403421003176026824726282641445411543636721334375199086292954288305033839752922138416679092273328277078334534544018261734313764611026758399431206676543327465290756828182672406214496660343865446618765649692591380093931451232113076096052700766709704747521858746816023563634895391125181215909290374964885588690956786250110556226737936386595617601983227577936709390284524725174910535984734032241431557145116119309308586809824373454290367532440717027977537954411752638759284422167734315393185171145422393189331569877013208399171616229206975141491351761240058635797490453858769801990365620596324059975140980275595821371217840951592282426132018109170913279431763369757977799471142978011722108139921371249374879608957137011677124749612792705468910691630354756385937921309876834546723920750790420047510069073560081169337265614815605970562490851083969141254131615360753938622688406324880496204607458652711544580591867128578493804036852218538916166212290074850310524173965827028846146721402511431304991861610096903749945754123012120812513453827106947736207856505262644332177226194516525312592907549924261735123722154561009579116039548465178480603051212506309047146074879740274245579918658670952239953624985047816119052842971869694986615458979847076213614178079182192116046170445432541198726097232231981407911787901943971294910823623426365599287958332532465580442225119882498754467657797119875310050278797180756332802571583969155328492395453173794176216083988442045576774599987430185371359679043987647094424095343073024887390281799202406975383580577139689838958456692213383161232433968389578174470621466532841632754905445588320754981416554458064433301822661055676387310402973515084451922678116291371398712186868555706323074526624538038067734451983239894616309182805782655768451518813823419766747180693130140651813880809939537244547755532484324685311527559615110442294035469139411126481029045420772709958449470531834228632053525449498686029520050514130217778951733722513482658835619266175872709282100514794903834443973704302919660996940039657146693994894614378082575466080331441847694401133671027351827481629590178215796599863616172262886214118580145940465734190341676330583504081601217519593897542421385479722542793227450695890462467380457213675710305746458998021506547215159989205653308256273196624823323721951166862620131813049066126807969224143157259001612768748982845406210032351350807207127329349658206724119851103367726763566445554922555653042757837858051964654429749186395614284288343608458739664465456374655763449536913991137604007957635904145670539415447428771322202990137503164746815404795521673778594820188999964266604966270404008187996997151583530053914728546715712547045587084937030163326599056046099250905294183438601591916236313628284972788697358467026584808012816561733578516481936727052493483544977586164137163660293274529464078358446869281274017453632646602386576349367807514580555094450776901235666100498364232699257388043681434304563416841666035349561091312564631446097164002493659611941782983807366291167711846587246868489610016838913772629112459460924886873298822385833656127914381241888460429370391754397271476755427544746977955826914323420738829374080227750458136966104454687254370000601936159763144372415477946426659100552244992234063259130971843561977158759107916250894230937391715762501953481911754497050322722206693228972950231481780081058310947684706562133752285839227576214483035853280417177960326334561168674889292887283047821994183196909369695419837905256302068898023551506058910226791855204972088398360237676309030881751597543596494641749763239233901962623505450013826776074785504097846011635380415876032737572081581379341360779695442899941917942053340808103268430699939900613182588723917421898046764355447921715497957306207882393507800846993136036797028923350817110270343255949680620017495423925409729908544479354952047469002165213381196167484089574508432460235348759078215138942322788806342181720743898980702872979552970406850427327044807772936463551913418386049546376439357725843752217181575727449523680409706131478802118994003004722763587685721713057628622928474936431556211580767570221082056353826029457693222829436542127870163960518459802506860099979936209006616384147246895768591351744993521504800415733919788503070916971194089266465119256215538876457071895412693525445629727980905878230924066708019267091555080193482157429347076787002760314461586444900664906716691910016095233562437202125631002788291263843985457128808717910294155546709433820457444739884108509111121885316476854035641495407687479211287473073747576507467178870596288881937462857184960697444882356080783788966482928108135460066413599499024088668888585470603631598806493361237068015272704034050621541672523410865859044069192597913788618175801895621190486576674880326808984556216964540177238801473935414719210728843471873657814809805321267641882201765869403315472246104273428136127577086024982892191058178524535231491744951161916141126648458881729409847971936837113975880594870162284342365421948361070107635856129569277093722197056984694619405301794852564455880086626469966282793002352979269760096765644871070297211163905287602385182885105257752894307878485504933394560840487776274018072399672611716693442572481927217418585879171334950853966213667775929232735288962615238837713883217970530608321688352669433706595596455543838148766380474956502384802786478183420720676789987598711313208510721847832085076953191195728656030247839224124353443690679167446118833037933296765839656367489992187264236480789876260363133120088948438742819878335299775011348875788897855144504649901232165535519834530051426583307847696844813460998244492283095813500582332896815259775890187454263827266323992793196530693934085679884156609297262308778800575639655082415423354435122318372692897533725049851466554316115363069321155144879293494874741122523301618573880970685325983656643095764371969245490588817742983113290358075692572264505413055613166430303436823024937528508866997556374785874163978546367603378222611683092675938537606232179615870177691898466691141741703927070854404117807598698208401076914129891313764492243249253364119732489547591684267556753065182635137698051177753409955343499303370392719850166722298232213846454821539635559337401886678835335596506669557303349679584326314713744896022004390537516828948960364508943895251649680061885382262752834029482253808721373247749369103703766456822100344192196421109125028033568405804595598142894801453206285764151326790317666712669524203532992324534235088161218021641516192273826707764888580160170424032555998082470728800023852071018554738447278754291719222006790210618146370425011636317471772120651426724399495752860992991173838310753036739742144535927890828139178597801814158414973878958210067271338702364029745247112380447440133145744993066716185902371783355798145613125844162056357769080620120844730065455838038882621796163844675987844304314441884910446693847293214552826136165159615223566122752036325152903633222158446000900309054929166251041261344358181712759154276037947888294480855958922065994901539041580899014084721075666088829410208103980464285836127803370916494237014715788976097453275372154084866496526422940729290544035506614204017502359812064256401850561810698883799302086542279293104180387581994543436592457775449964692726928005239788894718940685756305699532579701065050129199414803724862688145966503406370172462144399123960962662337447078082719447018903038513230233950790055336027447955306412881754150649460261414629708486351988632540560253726519862122934880788176955968317076457492532409259916070908327430585914376557364083009845331483902178109923391819731408040225520020222921561248837273054144428362733205339116253575826936467913538329366936402576845934638858914975174061226819695894780503491430307413511154543072382795704349414718343691880705384254817014621529646053699585078958231733436315405102205536466148233478231077355055435862436553459526446750559129961145966194971749800329442826022450273689640325391522194643421600149494199755341127282219345272365966622867198344511589044167418040018736130278079199349144663168919808717856195104406978369217976736363262096446233241355328029178225892099340093361238085774922312101202637400948543350633065149329687553374785354854440593902353555810001633220758470928853389614916331250423210559608752693735957112988376921591025041630131660992902544856148749214641053468998216447558656649366420452176717687813839986700907480793999432128793697143676930213265949981197725589379227403191744871187244053227278135612518997780973410642848887390074224032664889805992603152591929162101180240951157874182241882024992597693658128958510161739827263368736232607172411014573430100989625929584620516954133560059835034904876454311287944633258777865670105335251293990836709466537674445539553791238451749450279400340761161216401370481589148836934925861230814018090574503447241970167018380542043551389134048095535789949198400125477989074728843457645172404323768454872373083253678915379363051064606352451528250757025337683972169874283381095001206677957270820294735031660732641293090558120583942945382873358380882340416495018415970241960167581097869156669740374818188621399691767788908634580491842187476774344657286095491744010430536181031208799205164938314095584627649693752629801834311319316638300258107873127225312755009456892702868970695511866979355990775669293223760886593646806968830454282103733442877851384095179472165359241846745394009030545615071430343250140319894812854147169172364432052946595063184443981451706656251012646340603987699028598893376450862073548562538889400502988940591337351594611378136344102549023144990266974297639602442437004116805126098647590125707262998764013535504335114464217984791118222292439798534622958423193902321280112803322720003195940761460147865658712643414013896814870737266480878775777954246242889071596379577107676855519986889890002520084774732094731450346455695521280954525374274270032122515028980322182835375348414704117190434454761022740322812891473946414838074400416252474497235630909473506822253009907767327014169653019853902927486021089961808089123163815939405544248760643500133004360494515933081234016486459686390788562866031909928223810570507151035407430645854818761611015596802899190172010988865710886198210745557618886943760507810166023456129453732708286043749143181905638850659112727560689378747557674290067034388670715227928011036549942893875831003154880104185538145144611220232600324854753789626361774256842249105328481986463510187670274254321183523101205801950978195467944469662976135216732909372765502657639021336864569464436782844686862817883036137670774785451168398330494808685869485008366739348859081907340784598449969161989145707464434944043057575603723538863557565996415927804062122472112689170720060600328208472175870842462819940239171339121873631858732770633976527383901418461800318976412155885381166885123050847155311759643449461065174314228148151022703242161367975791488020834659040276087349129913954801238768777607593051352952398351976060086257665390909982886841174679288147470173191129110712079478664513180092586914512571931351582726660472370320955796080945774651125859330772444051191978489010126307184461506362261627855573984440540097523394449949004303707789648100619062457143581502992976026498483174872141612427333526445852275763219646880559431822174309597457547500754774534942550113148995301172715366953590008448085758914919040240804485005081542260201004058153673348377631694213536877685923286139057456245817809270303454370242657408980187151172858204516662570665401806198541713986208768492282419145546319022386521513718968897589254897912355780906806003982137888536855335961351070297410471148911534723598348765012785303150053264085185127965625297065419215806490666044481698839762090546752913672295774616002132542495809823156289686545074422533252223220546874787565672424947506892047152339206874856868420233211276058147772356949639642586033816694828458688062789519422679384541248249704532792154610799020910880278981593825596274749311410288495104006357056512273679842496471674215870177172842862282791935935812646370354041021870024989723313914930831590837303635584379003322002508563787751571205296980620510787425889690730976856814791426315820961481973540342252354913312013374360398467529283714826373583017409579728410439753936222810966918486340725055797564224787592101109528130019344751289913107698403309962985968638164854200594397573381168974715421335105675770396389470222914216515700160862095850685425039128575674254987104617173941417417903465634984418029224005668491313167348621564777301366612537822780162725703802512231432010447841398495300584894063535688275075660815907234918160525035548488912111925021259047444973389765131375972992342336011476473248109828812195142455015168005352723619083051519026300055068591213363183003549231234203026107358747469210990913506215373300313940414313416028728118570500736462065188282569711303820112979618682230029806222963743212135082376867366383227350291473046690116114561876866582568691466635488655285711197348031237815780776119319199714137788468217199587911534984847519267927623143285221400009314577621488903034793317844254203860709694367746087174882082968444337237861107585552036834505639472908256113273539107693429696549406102113804816460324306602272640321585461241194082252316109249945127626386632496972797137629076955202105139767989083058820706460948131905301942882737910696567463121689178972908677393767851415126590486949773495478676755077312056675253941332936143259496363254296639185104392750318237834829899745183670027903740155624984473077538162802201790845162096113667677755173513178358149137356199698923616826213466479042123690704579746434631513319447867241939821283545292354956110179503962555842207863718561355057143304081553550715635013144757743260858161250508337072790156055902683176885759793582336725326514004175713630535367614583764023455367706924916864034849261096423525210199256542819390442134353445757359128845183138782998705655419981500888011294885880874313238970693266040336249372703656832896700230067705216390241674979104800991688653880383876926346828995866811769286160099128686174838338324266665042167578830299641966309987880872119871020426246180177577551666984007967860914736688793339056551981097688724932534463450798513334717148201129937449896713464029166960570618484561406461859842860971880700289065169228716802266568392400301356754610305771178691685313938888737079040855718372202388719579292031508790053121187312649583505847975503962987905039683784333377722260517485797662895341459315038404990545544574380704459870195143480541562065108033957942035371133699444580300023979541083808825237861054849858226753947765998381821604767875932092772151674035257993980002488740867147893721544424289139841123547203292019716027527736598340499337269309908214018975491100808310900541821936898828604653193638918457976752412850570369121449843207111423603952282453584739672016114403237941063403940496690368178008856939648594161181592176246863081595876044204193917658467368081976562309467127781378540465412602823384571688454473337565976234564216529001735566287065794952179430701224826052261808786655016103936496405681782242761318627167512743499652292818844831868218147569186514354607726464577583905254784734807969095983566758225513703709896898533655472304632032604435566087154001541949657599499447981891929380166179606018456697778812175070724368140410565009005044355686883570745046772887529424567621284754617696095932443754659593917405593668097334939861990618225243852792932088848182815544660580289669384852842499772475504336455853195834718906953830679651847544357605014629299855991484484691792936074895350554569173582759741313031620285620291708091404406789071856618802902265510293078066712598031527211465437201872240928674271689920229335453369071069028151534167146820442860720960885379095820240234431881208172722376944149188365980923181125657543151878650412555356397994177991834547980554610265532224154430358790106358195457932912279275168266274531247026487180337002388547101201784789765159511527397924301345409468811918785455261232081834998149663307854807332960734630433444278058740657512892682967014548608954127453405047951744897238682585964731195149066248809817060576850234094007332620756795177813004319972724366949588033191671889307583495212570694043483073363667556845267735238899751503131401007068208689066236623127544487503113291
83658810381185228449921473681567620683515144850402566076973958323275591168714634916070590895576480089885629778419548507337236098206010487135849575319753234543387235144739208168172456727735285666076232956628022600943164420055617863511515623687265051340688427191718486525098932132963738737389156412601826088167251953643485565674806560356227948600554678494874475709161807091678003548376495286657722309515810296999074569391152665674493289966667853596125494490154471269140099548954121737489617859072051302054807185541407296388517060268504305068654167912028966074433422740333609787362266485193263052454629773158290665493521813106824406137324143025361021852060965319535272089052471738424213042278609987540069663190605982544189034043071717959176722403474740435692443582051546817653417988910475581915660899716543351273937873819784939497702938964076521760743072898185323487837731332736018994124988462691579584882516949990599986851526030811791099183786008705095525299782861292197768022906374998041859927354859259949309515363833095151172331251747664377583532140776751064926085268167013781377614743638591532441724994999630786445158870112251854992333918210578535739433089485262952245700644672052485682318592144860687257258362561633607919314221471712583005828878741893903020445828134921439336269016473099629143214720946623513619991730172740503149683241463400342522560641153991695806090766504155677418580057590531094596531171400526298969622259079007875635597645445546268700105247296163683265693509589342246785010298819906583104268639847875017416654086574089368985253973034762697145598862399191620866372298395776627861637905619775756350458451788461531130259309396193981169435745807803883721667455404449768782558054080846807592382674912875960687460848184040485811549785016920651616949850965854706388621246188771232938515969555613500987031903635158885121206106595100638045075362501162079576981133935819633719929383089421760918552399757283814067595332609614683178144478724180052449294034888635445550529435145165683405690216165213406680252189739193853886342995858678539145615030835699719143366267990468688340081927243859350649552997699199249593018325342115911136280755423625501915010763677995014268262742949209981977499786065498500056458279355387544722514275085927307476772586215802692604665266064380990068022777260038945917346380158744399813060281678592108280911825074098953861931215054644111777487918519416340905968035556446276243747364824807300238894514484039547201035091658690323945267047204205404990754233123754076871224360960776188531569516443784037107409600192452836795020442420946490426230423745299820204946130609251365447981971500587057929108132876123493549905223129007906467642628572933592792426747308484781493613785035433144669895279640720876257951444994446776856839654401590919177586524951855690006607425725001188313108852869858645214546060757480284001530380943018988474223017548939348070871502764186834277966378353938352500161978425057282601993164322882725813847984545513760081524178226676802337135489305339873736353022887114948851321887870381359573727365743181070607549763315910084997098879521830045383255056564812191026106204674567644109645050023488652131512308184194439202658494395577648003781887992791191744719255068931759860771607714784101722970315672488160016165242818606001926961244041212451145703299410806677852688220006298560135273567586074348129547156258660089991477687225577209264819304417313957746224753497259871259264184897222573132508120467260711391258463367128669058897373751595006534183291560929913965750460951603448661855600288492227460880541746638899399554364820888552663567567109581232822159899424746183605436177213352928916759404738167170732258312864726044049685288577054253608701542859455138692245355090586755938489515136605171722114280833780883363879679197507451199740322191513421562944569800855950865340218867123202331003729677210032171614998853383735840054176064780283172851253374672319816938424406284422435871233933480385407799784178508260135001580302243128103334801634226793878529692327489275333061976596820596493804298154091160953868291744141453372601754027446185668192923437628500380128241166966565573383932574425722147747670770328581578631627637753892597035984450647372461503121328996825056010322905596568080736853580090661605611960723433093969833983449426825367490283097655239345921894127608330516892114870429519011079323657979421408673455324714053766856043203488348958034528627796356676801279226997450597821836675180117295218117888789298199134850886087019573591370744415417993888425333694149865715129847280312928927828379562406413336684543712562064569467373942597467223228361577461049913365408181749020643249305970823344917479930355589591322537495690409873235591702982765814618186307874633099117236373914275345448701829961161131474164478679384632300087378136115305069066319042487701862132495857654009477366752575685972314616902808987862100300932777196375094234838131248767404644244751088446266176588189989439153921798582584949174016117172478045789722778931759965834455397914654439224420299747960178053943535854006443905791563231911679251667870884241134476661987538121331592469804895057704453645919079043813788824618363468381019729241408977215016944408061931421802964561942113816443902660424741672193678325754438468738218071987108520114301384532445837457079925275738898187521094076921097064057417121551836476677714710066381820820296805875785212298717520674820624292161490380768064282321801888858765687348067537357881591825156577673123986189217395438608665104836385864537137385858746435992778995116154166940518848388941507663550676399671840425258325798861257800904057425045583055209649867756373900441871312340075536822694425290041848712474719369901048428236297409049437259255116429158188708018395032812323323758064134688669397119411251716866436282271723509969519143479464039741788194414489128713930620092799572542232350418759518682384306239954985107215303082652504175502530816385456409604660586037063989504071255752764234656212234564724469583532570302542857004325236498494571387251117804951961796797304024652405551294011563115524287871581222330003555142705783227352967650773743731405951962071806528943503165148764341465042463655966684460602733636234613648497731605106205161753115337100756744070175921049383823640500653278595255198070174739327469908818262061162118781172093412790750195522743734652043799307934648817837650463360955036689928052668179250512701877288846655613385761536099127379811351017478256511072723767600351230065385673485438795322436833424279545443512983702727966096611417623232488469626771688107360848336125140389037420567981034520978255815351563562361691820314578873294881602011932033167497732080736481457838527305207462083990345641168092290430505561450786972450664982619235744086396249120728380374918724774976602384558668832497371777422148003831818696448368568792720735094436710517688537629928559197376180162346987311425118626405361447352825285716960130117478661350032342041889995691029542634518684882169043958106997110377010952861103112522145177600290889957705951241579277875032033135452072247902288904632944499575901794813902724025891546119767898945339045169239096498261705134115565921487738376308341659153202739595440795221657469418900256364428799786014677029874520740171802350781290666153470287191687423248638788917486123636309064798256424137148443003480725879778198270755896995938849784194733737231060811217046624112619640869895118961540652375110452567842603878116694328040974062251627994913579059345861455305923417288498389404697941374243390141735310310214872996719272150135739589328756834993329422679228412872427265280336123090844219837721695699027459707293500569639606190179388464708838712271003448337936430194602102095495641486781161794710347758034701605596442463290668184345025386832955292692456725076633271310404616114408562487690832057733244043067143005782418234313116639258065063573012022205808147826854884568534586836639279721363159690903738773594357411321457546353393845170629847568889565230271584387485487279636639579213894423085412527033476802617700593410622015792617779407067754529884994661807907522829178987057824973432722710432298485874680472793610810510826226948007970111400750401723854778530403286789556191408745249864512574269392516627356549777253657685362191882346655206857207220871457773363693690514128479321368730193162390408360345292296764237832160058072069553156481869382770253262241725092721087546349788575764941179138600840323858974122353355441620838582978925912945945388092231903613771623636451935854040926892499513716546006821142281865422563970894035934422302671351256995728471011980928412568530602546181912908453713822157704902471320147702271466419279339212573026552379489846933096971166659111632709706796365909364292105997914899394110690240782412016633686970045508257563540549270253973450406843068067068096307027268990248526326875976127685755427479914697476689507772514070671625265677805489685661214256379907714701668431417459979363768602296893341219307234868648137901167323007739866649612424800176266731068348208686339279899305057190105934406228098593599842914687047699645134825962510486314200868014222619285792389400629676323852605616347382500377891908804474759280918488796790188097610518321863746971973212165329605556447997605733821925157939822315297284346071489835483958315369009835709542078984162617156589233164148362795423000735731378729653358713584145361938575520771756695045748313484069245036181944736991111010756273594240281184610674103352156723003298387690035904579764060436501215227952567142100222533782151478041143050237525950870460726071449581709531616913805825371773114492365360433137012128181913161410668059841624449837906265954425059821902850872712611580736463025554411610623076864022292604795241149134050789731153752035698838028210141429920356357811633123428154967099262371763709783485092194198328473315773885913631357553230505484191465625038046889621970339763043766087366022274865644841107568205344540241113149334692290787575288019635118102350983622830331129112155340677005750146848340728915263932163170609670520621456689613635641471702103878596679772482495267723385683025292518905175986937763140810502643478087692731701596807165417638506595752667344509066205562596346960763971124494770941256894588591023018552734570279817890437804651441102539249745948635922149233914578662920909261914399498153054840333773004540019495952734639130838955585666670343703107151115394654926866640130168621690222019556287760825565991200005779659615045313693896783091532434928787705379397247814013022215685379557133943002340930065039588689849224721452685527732110276585847539083212691909929982798465992912978296601756893524896630531769943700398602438892594647921857908553093460855977633968126751695515854890167847114440186172272646126268996931258513582171253680139110096819933297480426740370223037637560859631894940562864676431383879405078478362259365116541140528305147033717383844961580906983511533040350366242061919655233493288770679546552087806869405605022425859395798091833550112007856606471332702111387709992766204510653129469904410484659541167461254305737350731957809780851304587148638622284743949454115728941993725198183664342372699296921643744187038297966217153367960147456557096754258945800413006196335307599228649455453013591969543418215928420341049974195956154879453073520765802849642546746643577595311977925335430912260621148349806089082789807321634842106844056410041247118122459886402655018166295921880819939995226323423215898955372233876545025070925526699741517657178119905781018502080639570181680221565601797429565755697259060877036701062364272136073734911345034582561584590580474093932662367762759244987892691546883557404988916169868128313156238302271172500016281239425465509617690832447356310122140614745660743957604943233118554308241368580229142621013860247996079780662146404255981934263322182162036883408302275111890273126660093439373408411101987472854402123935294834721913538791774566841204169132583710752229017357006228941234499325452168143414155825842112853965869713109013485907260551604838820388405242844152411595773351050857630568979058186055944798607323352547146218672063870095883696064845930836940724116060341878408882130105378045964049211850782285769050708541298457261689284634561691655074257216539969472888596926127527168568743548795691888930447067418786941407341837157721478695117607595701912128012306247355242984947379886442226041084193345429818406409211067031224405223713789244038033070468557281140915603208881839187953484655022774983328234776219997029394038108998816900988360944285746278453151646998714287245045693817428362502519576914238189988180542284020747773143981202345405390881512485428476249520745904450790815814424780822884579669868782692710264437365340340047328967968461277518136801209898861016001780878030272909126326747856103679270184598608759128232495140722978651752876111733721790951524615078006446162049154937947780617194531221290478315389836439018739486544453715616996825325998463154763488249609987095495412861544608878295406204850831928006502924053553479990479519232176530347379179626634098842562489440547687835257657119326392582586319035749625011310982607857353089163374858922269906695792991253184556913023755665362757326050010981429373240347115481556743525329382651208444510498692137079059629095947596815139924359035475702927727684803857596979931189137906038335892072041055453026075543948152652097687675215651638667330765446821536630230858039536291813506758745195268485010349132805935701443291592100002035885379135626267879722070261997832047522118589407076610455054400273237426410792980437085614141390568578622725952470261802665811000383555200341850339849281092795701095606183468196094179512034921790610803590644373301874919605099525157461730984318806108684448846906462072552227830511341724724010491732971355471862762911692365010411309916301043462845677594470813969646401188460180491137096827678133525900180195234835050283622510560053856897862326875645134523252483970624525880819225409139908042257439983852443426241273235133167354290025360365861712933986097342412812246528586983363936073519656313685660988670686940218751627204554198441938767832353173804627146625844286671100023100199096855839753732560816845055029610943780962449317514415344509307250404073668634463226321299143069303601608783894895460223086697851297958757149715573839233739706426151477925001316420269099751430388754267092994279165753471934224499993002067245000864627353399727621731573512341422911379809352566835042222219357349270925332893739842401520609309948224703976327375042857465328706825239494063416047840425054030056212794761060833742013501915800243397262204845530755944301602774746318092551722716051413228305961013211689546628186770532853512297859176013836364479635859428633286470800576282966251846271722415184450488341353324618416147408585026654525924602792506650031096829831770722729188494019429971665062008964094242391034299793427184274590037506465650046233244472653158310845403429065643633444136662812373557811228772672662693804136837303029683101603896250278528910616726198358862494890116322844711063412601742305629288226429730018951320462203034138703652813687828090808086835297295866258119355494320665229653922724374668315640269829049775296637433394115703064674996449688382234054930701769786494912779116911676783979518483012754900886070087678832169798989522011311595772338354004104566196254981665941625299410813409608678531689738074526326190158969283253734752345839214738868115696601289885045429036374545912561107923016773726848846244802416651566837196407143143534937077944969282343700278736690323940532044962534490202714764508760565697277486935961003830576566406714123611962628251401399880964978433838047554555218514855147842139712984444785779678772623766623049777644491752213932443746197342884517529264426696402860542091969338295970463061417487625613238861409270168735364531567704073518632324046786469620868737194992986101783246626143895717981916801266394466275665073425324517397838691245389281391497467158326017741774403077815537091101055570068914615161420881019098393477603668803040596735429814897795610064139393552061562231879068185638741803171076631865828500865298099189985161584403388551177875704310123761997962451128774811399822310280778921995800108560451117977273687277290209583394726038056387273234251579830380775367453498667904877406494578999618152841542285918586059765208351370235256897422054367790994770613086306856768770863670566071490674361751781488219697378125682654676043483598694754973349604107771918249574194953861340527625233114818463322950721228143518955132915705750390726361973847217369476499017847378324481227695456209405001972890633395226639820352794746427370304889316394161403333679647689394253402897711587752661873377347058368354125220617943462563697265844735015998670753880697749214005549581658412109756017638800293148883961972807305201838181415839741343743274384498359836166226684002368525728215381870814561043383906039607135202680289607238011937259959073753769802759103002973791041345780802264135623066991716709772605773510276313816680824965257406889638496941888499178571311698252801719415629226065402147822298998832058497501192601560683187285760503954232429773667932262209692605642305317531380641444072972746945380761136717129584957262445507652267348635616156735597746860108031897788854151198187834029904597274650483316137524552196634687653180386568949472321119256706039536135209877078830726721199251325574066384968277872118490807020004999757979750577127086151478083699694173081341418873807463374087895778946018727710623029986966366443157375402951950318656562751199993418090839916741485024401994080423936847542625442023650334234719399523657548658840437043996243463263579582777469593293049239281222646747366533602301588674339406672476262894545820366763878421215767016117865142187539514567917747722368933247612438691849280776827655258796493619924414833654871920815602722965754011687264938604138053086217641822515359313273368993824113775732439901705742013005318240182318757134765841801662514586617934701529363061387609404305485007241748291758705437989697040707713068581181073524068537642952339830898399445527785947055083065689577743490476307731257968759362564027646552394348560416932346440525996197519257559590338612214833425861587325472117675886253595212521112351584502644486435823706196511028660151912583347896917495317660613317685081535917937573026587458114830834505849484438499984533502437638317903200928018721871877538653388100003066437690829617072414615502143418481896033152303914498006941594877981442975502917155598895366680177631293849798152146569836824779106663180861926441808608016959088332475106772272707012276168818893123525282300090232136246367732447472151758741277703000063087640285135665175748992822520903848614269679359961381185278511064282966280606089896328204058266529898076277869454285206349597080848476313114509864754236885506515025575882398587617721218870940240033391815030876157538938176567754352799456065758910721864682551194181998724905184918245991048840773739889973905029697473859972182507686430448597594218492748459742051467137761441837775246587495299846591133473761779520495466319252530329424418511392501415969456115594473844393650313874496522885556330037001433914890736012798169854270901290515224184969241583707290893669262281450046077493770539388440991719984927027090599762704301016814923680227695782818974775778271416267533546052351386084731019109348646198164671902854789324505744753633699288308691641246242696757381094663703389264856193436875091437372218749823692078997648455554676577783886499713701643260192180913166592611166920710831257342600708557901787140061178143486838305410361028827121983406271998385990091584180206842331880355457901076354075307491083066450427500422287838998229986257625237706598744901774651198966599982672700896922942853039614621864234949532640484155957946551565279283121624996396145163051489079817293699283766990447745268791436103118085567995955010264239762676373081677688245577884694798023984738642352952445821532658706569725844716623348619422776235726126171191981081207648833656515289869427809999211084028856985141091
69082787992098979612261610484458605874707824160448690088058584365113841055063745309766351268499932402123639020718070957440858801180606199128521823653236549047615384925049331182344146295879030059700266719313152953890512728626561906482602639125536194494165428451897635171186702801606865897992327541848704749861184988058254998118362602195283222078192568428069305888522131866823055058560747172623010642964851769141146280630999092765743101914396500506562270523829214490567636936573796410225817527391645467905591952892064243076546358833189048028580863996685587443844297740721569276298960894466951230502790956626956890568357112926291231886480828738147186135793801718408290436495516375383260672089427732533606854288518878193515694138351036355432719250108137464492820537391311175215484017397532566710339060278740526383107620469968224799827663054014609086696836128554740996343880725844052660026522606211984066641847612841632330499997581905589748995404324292634365817031073425555768295744508296823219654159290459831567460601344634925845111027299975889477927484807356326801202182074086849361468624963332655807011957688292374432041120449714651855104046008251422097037346997585139519760947890607498822131410452850485472419714871452685917632112879750425352193249456421368901476084397042303547125965407065104891329052665177397009962840000591991987770849122578837046903211480517461708931343010988491534048091539587740179985476058426682012216809127900925512782721504943982887420264089363651931238384662461332524795452032085475166742336174014709327634339722529700054445122840247139171218008105388092672623267294319125046936206231786901868351460107605661471998571660548595265084666276079948248100960459897443697035486033758594915199815312608588291167533895195257068141666699909230283967343628311988907626489501827787337305734482887204748001608151523838712441357889157841885851144957595974533218265598788541148163506795520283082731566800409643430516541064158146037501537214780607287669581260520508040304980809809539881224244339795942243040249600420923876075356395892865906095741119603837710834339331334544637798312771944518399740942445833578633130510963938092450281654515713533840482202222125835012225084696801458317060594863049501792000618595442600290321449753689130656831745093185362521921881709607931353265365846232207598434170967529865211462216129990304615403446847713222501772117019999622242722558696639633698617697660022562650283326269149735537297509903675139434067246459869717709198523028980491120559474981764150405513483367306582039839116172525466734702487956616216601781967794891096848288624237960713990960105546115013969648803071390447328972295082649871941370703974605665666322291804863896279168997693323833477350318348055270473242645531933005727284581308648047721156447499621047878522943113554313016695858099356956115676073441733617561685947376540363045969736121451730915887689279348250431290284155989037529071558304837656046475765194813303423475080269611282660806520456235320136023734975758483759115596764323099876447097484801202184447066025378440297372227957385325784388397568256894766597442757663837677627795628703596883573721707477116144786947158664696285330877460531269931666193846557056422793178844250089278256821659515897832818746012805814103563337222366219270206893414296581678661042118338393380654205750225824491593292020433310625087083620127182787947010674865738284812462622021773510796581713374401020327448639487138241789673726464821116052291717340238005709373836077607766848540834749134883736116950278884094010475431385655714606638549018461196708990434353205507422706591834006409589422498962555458920365952257777786761303215519114353506888698998462259521831384269223526026806166740971425029674511239369527482278605234192441223544953798215995550855785164181339629641184667039434582037362006256553555424591108858065100009327339280793657960682755723848984407791649258100045958813921631270723767166995638512267853716332113759703515958770064915406994922446266423627177156975037603230641200279767697099396579762263136119744407575260356514069539562958044484236603835683773216959311310721637385737545098163645557668431190571420238558735300228338017822173556774320450251628541300184315842161618848658639803887241223902578193135031191878585389453257400244730829875253380461083618675167282821397808445155140940630490827694833547163662911129294166977572297188591647135929043497211102406168084069518036489838903607583637127209133597673471224808567313088801560321668846677593929226723735206720037712021175585912492708198144807026876337143676354344083581502386390650562654471926116420669929920775702093848586803231295273670385886901042162445689174652296466678891430720651626549054286754051985416202825748518525630431346613205887925950150912337583896446913373855864200111278668016440608986503374055379575217204690983369632474423529414478774422060897173619078465479534983646746161407141670567237950753140065331019283564443078864564391845590236894061864114538192551095498833298789220410534748778993456425081246744120928866986499364055243219108147734625326734310108173726219982978921350042403054425995435848445988547334630684129721717768780695835513135816197257060591042251326196291205193821815343896557592917722401066959729028616272079331714142562642887890314331759981304107007927937021491837178988706619406573878792918800938394986119660026529133245266370760370801659210426227801039537445264258601145889522117784922787545344948212191987748345163970775548861657099842523059836401919525520691406173124735150096160132847365483165691460592259032277498435854720507255193892057056011393536315876622206098785189896810030045439572416982407202190273933594802407673686502506131297486891319821085490147610590767992810799705439864254683898353411064680537019189033853113928215086160619389615053567917627010519930292827593053539788804710456412849744400671159941869667355755732473507758896598996071223495614857623533172714601031546516565281359194388691073638452873532309462616751872157128734639755921441105159012076908009159709342323249675409369482150136111909490479675865463001642251615885985858323327313885098083775121122247276102521486343175285571001141085591900631721318819138181899324788358152330240935383696798674651414922550008237184919007525048366017823421441063302817450963179182741300005768153542168522117628471811331509052246000664445225750882620098152404274208115614149153494891969393850239085483327099944588162260721042652269059401334744563567355970739422479825468559151722509983454663937922946992668214558043366999102943835858552543375502992987136299406126902744137706858599442617112124580980664551107464820723274698602710489585950847616138310823280062735379347173561591655679944221059944375432145154601581983991428139222326327663938192427117818742707631473468228936917772993667358635926760357411975960581132478532662432342386625107852889518504406186256001321275967137006999777000622659319023131549214089205379539867078514470569361004777542537330058368682502311143236037561465772529812676088362706523818405929642049820419737495885167000458335900359479521195104840536446975944524771185654568653897115128160382654515461466921217573988745537032648559097669988964527885435518793205164366354254368823290966204444765913235208270930197453946572665123980643724488517059312706727367679364673908742807207100499805948375159104755537134887214658398116985556565691657645516323230477976881945179954994439909061528148870211853491882313063821207876462525730031397894855974601997055160668427266989399955847813639221691104328593935239594593139927781982216845072628600708205710060688688543089632467191786620246996553542878398973316691619495249346135801509010025663248909209087617875636395948757673918976511357813342939347193036703272897410699780991503438481796661610329161645654986975602040463622611291229538959184958364193934239844614241314563846900813607242051533643833226964687149841626464039772556696496879483190656455517599008806269502435800189062644744067021801787668686660446838508581699395852528629490007889206167747830271310278261470155275607293539377949698141611335294988443753128968396143933198898174489761087186901375051642246661615801140783800652933557300170189004453711917476002444055461770752897172106477016242415858654610754172447418719201957924902491137521091588580095014342991634258449575732373110184820286381844424704367809527780147691386402043719849236444732723994398629893543702000028145560949027290959505939837083690251515575724318358358841457948337412115207023148282654790337268131007115552125405523053771572619589364098936069472308418188735992155934648791695179325286563728350579126105210233548373966623695805899873949743370824304347663978757029553958809979963839464451102560054185390178120861591188172376274910438098404048622717064043364892501496566408147106152330230851991576457474732769889692562710006681837264857835160135641032515159611468886116497131344543835517740569093826952796493849118004032566958830331937116611521953531958434626457361255691854338173434606202924202558352797451944804524732482677384300401724639817585075920450399977847688489942927381265421196997057070480454443029760071117586151174107696004812601525831705778357300967675216029288295502491044223923738399480323975184234224852493738700783943628345172309024077327142094522473694834415786487487094294949427782380757255589114993579633705989354081631648542673679084409735396046203484127513970829895741629398825823302632474066838989753718725630930856036680127298892640749955298780405585268990382660555053061339850916122372693898297616827296398986930807320120188693571390900652952113924665590713113295636099644623711794091824963035151540020112461191610033727892816687899969066879055961566641053299997424632050567195222348033545140517662531516458870203702207853136209302503362165180194659214495205670596505137514090913018943572759368361040008872211895366537884439780934329013812927304678358339222965716145498925616544022312637878258950137444672531305133686868127871029515979277637426600352910595444679606232660339747034975881181834885633550713399473816354812075628257439489837957744355046196026993884306118384995930123166031630243618239279599890608274045872565136180916780010317507403692084471575856959251800427463578589069862393761598917954677437625701545889014052673171086347943888423998957646609359117820509430957725865099841163664934008549864535357858339217432556365597451435778704392957034391116602411587404201723509977333658546238301997413012655952297889010539324447936527032998943542071287972435665017021513127932436100902444190223925581038976039686748568848728730550300307188002571785599134978452686420969808022197599995699422228400568451560418525281463561579287507220485454288238141193907890190801005407939497587113116401961578505414363361043774734100192225433989800214474511044040765113693036293464461273771761244304906000934847953001781190167998319912153498311231370603085411215918564243744173999290440272162120100310326902744642933437044332105370430963623107765394154574071362435894578889405835808417280079592922252290426652145988099296772799570306093365875193186795230533576021461082081321143349256960483364519757191054342696358155288158580486180377262780733847316866234362157055710482054488082671698974372126179652788850950436074098881282220133708351781601250033862914271835543268543976426392561230046480134241823161458012312796206418611930333883179934956054426333701505774456182099785346954914903236609805259001593803967598182787112609900548466192502398121866693203425193528755638188618963577345837915508827504994835136609322026602492157673590444126207916709394797048241220523803554973393162052465055210391980660287949685378303098462591179833868588384558439502891504317364261149276963023569795237508032699166511902517816516976964716809205004361038337166547146614713552238322769770566963082100120265327770332872928478039500928846322958219550444321351410045440386912211232016934821273052958056331764382022146044851456538738918430377819444773097748445199267004085700635404639873776527119597667324911904716650395985187050447542586661708891623595844637986388800167777355168133324223314845251901551758335965470528020380242336748779400914479279569051335651154122000220799947012676672379706217527796092253001100998318338201721592296601548431689481237413467532530969748515618388507808790949407363996629623421132984408475718451308791499895887784485783971798614696805915053195789229665856225327133411391223899520880843061513131401390910869410050273231038815017757515790979611839406665300076670980038218782921728285958959948648910086273949498399735184636273938220117301273105912373330543713255109850590708649790595197047202053356939904759644382810196066151446343521856888715596203449330720395103518417497495822858467969227795168859023641686775222888905043788385937288482488961715063804520817236204375703861693675950799975698011746275809465116497475959752947106628214911233009183009557967676853805252475093022291120389483949414559162453737597868973587969894528103428620948510017169022891507453715079774059941342335615173680531205515506903297013074077644334853390494311895667514639275343409735351035519673307639611977156297476418039403434293417579416621521254319266909741359837645404931806202614967563066483703674691490054592087756035734268824106982781298208675851129673393026455621105216128854996832135743623914830594929042712166108654875622335820008495936666517404274307800479851129821854604252586122262701406978342724938974950654076637339150977192421113964626305648271704245559106051341061142638601110341427879157838124567345843628547675236768877958081995616574119920488938002542353534936151260751256100830865922565037721752655483191027402724556893092546869614486505997118415937934231903311993906224865755483011499842426938728643027746396301791203498204063117286524868370171572975360947188224432826521704649524166511673257438045408924159293554457927854508087455624895380853687744058682436322626259279301434831052903407152709860406426432212006203233789998070272341167175767510274192780331509497688535708183346366788547155849052160670354837806479003489410565408021261181478278822775764154558973452903175138615655164414102929535946762594782533327617316705449327349799203048057042151236804543697383854846962241720398687855978378771988292815733853805299011162487175708068215611362405119243525343405715220167771193404541008344364970248045071860825980728711414409568740838393061782786331123345676808618918058658926568204712351779147953962038504952832263882980003278383330507052569081402495935872447575563685543274600168634107948630654530935122591847755210448347002838692556185195690060088027254600471090896211278017415369347332160413069859742332457560701046836811869019775905502721587558217164172036889008304953453915201525938358113629846638855310366489386457178967621205333819768082307192637679749915676175039508363075239645768620234400247872247473303005987477547975122664792262402780167551380993457503058396961313266209922222374322392241271765999591838653136531545470046189438540502746669315318629073929387485635904962908894878691270247419640960394501072353647936167092210706306982907915936504890307176457977956008006310385534037073311024222591692581124412207527779653527836713134821631917714131998693391340407575383137477057030223642526243707479583929611035809146438982316426585123105040366352073538046880619421679901834860159154813809067816573148335374032328904710573419999909401675927529838557600670564233513436321885217584120275123044019548153483473409093551087739475540236098168826370123389139803875686158920446537291848101412738731725442855743935916528130610060431054090396726759710569231488894703447571413021549362612391608480243495498459478687711599513291610729701138216323088197648457944179348885055139004953775960919338853211735278930416984295365758209885051496004336863606645524816473723312508985876977006998338169250296870018871923465271367085214687051057474042907381399552555258920102367012835046594646584260288231337280359868309815024232609309556993641033762232586744856054819175604550230087016694404447117570544589941828213528915204621546596124258076026443315875800122290282105817967132049439721029826896364719192318380637542365985722378846649042473500670127463701460608576698858601426079475339523560072773022439165462632115394040596485875531900549471658675453139748227965341592926957399900592752191084264273056526848126781884188632054597182200642498068370865868503362135858128799393751601798826226450770621169725441899271474642920965763144891958545813431985599765379906218069864517591234365818987384805225294904236497459878353579160592387994592776576202143059748708180959334543050095706763881159166720795646885829293831191020665319734507465886487049815187423119856892704412335530022755188568582439908889253986093577174232658987165354962296487098811571617495263976550837277139849300985466649460261218105423919533907822325934735471967204009493162513099268583158161912057307844871139103963264222798830736524532242166741824288463537543692799375103085319678105086046769207510022959698646186051893990243872864185397833368026976827353773891239048182691820109667077199360416936259969003186832025046196566416818304038028018417109210696760819983969706730421604025103195474422638223505190099159738744440298506698088175011331050042390871033560792822373580297516111159667671404575442325878412857866571398528976660610279057425357418954487610353086960852180721054771151800031839395707872023917945504240173546842521670441299880338975118974775645022815393408696353094241365874006863143705849527754039143778407208522857592330104098051772161662338769371570162881283941636186133023814547865530010990278896701917195522407265793687965766744916378738046645511113368930789402531567442535752282772342820682824545296867211096184391398701419070727502042874010569557534092614970075570060684444099895501604201356335814408457430978770560840303804067826258854456613022733719897985637686902535017894659553817867020512889506013291392871901642212397805342687890460993370948342766084127459608662145467578616144695761286028634671397185414497642350510427753850526737716916200053945131133311600477967226371588376488045633324009402251037603803628672939435718985549474864069179995219503653961949426015045156206463428129242933651956283695045679910868136862393504648614361775749816688751037742214667614155493307889100215343458661210414610812283791816776050507986521813131074947151321051241541789878311807936680549953561101088951479765362997654441344965094661377266744072505624567535598890266474559942193507596270803103029983529214708469945765468900926430316125162785436763804833596263861117198344889442042665548636652935540405631517936255229358295528153822826012495401465467247966877854293724340044206422534537466652614729057116784015973623081708843938522286373254355274239299698766661344118870809868273672492363559420289137209909212140427183262797805357076121458844039465566761679500558690025287709641424095007430129447467649819260534051041477042298356106669541589535528031300351203111481707945419276024014839784493073914110393319914065263886566558426019970320114099159439579950420673219893123698666754999164747441049522227610517560454667466210186777641652111124194272079195641477409625218471206839349530692021264609033903880951040935789199346748423563507767774426247315481074631141101595485238875079540838005406710990867919857319252974494366505072393605285875863448182248872543936338142013508619071264370942626908911608236897124738758952876064252492293697910175818109395761658050303074048208604136417935214353246273406522331422383176006805488554286312112165792026348394484096044332661344433425305878174510954200906833320812627440312325078987886157656203718980289170394463024393105942791319562680174969558452639265207328550095570862474289343837674530796500636413096630224755262940137602690693025813820480262915472784608137287147320675322527256049334772520958549512286579740979710037981355313879431673360935096375904792378220347358302666969109045355661557566397889850453801576411405543157230677133287677081532415056427368402529040383648151501642623663397122847928102674681
38782148088189771337729615855074030244083173859687788639985872866656869011331685712208957578563983812989379556752687667975748687091390549636103667150595765040220060943583995393156154181837134403939730296336759167914661027502613350255257648053507714417475366893237480212255371623451117450301620847364072317485966181604429981750863465935442151085810893399389121392090651950066276289108023369525060166428119027339113362853168186889818734795648502541110460972727892583751207195978213438642783522109454275127596298511986694130808934119136207072259122570337656705194667298360218743839406864435237634400739517209446385486205298178214581035397262223253380400781754209780222009020765118384304284662010440193615986624003426400341073123346311118514958549619166594905591778342211807426824400135193235284512480799753652071830785389327497382790657044300167497315454388637263711571045421947115863047799994074298326312544666395529472857140071680195553940314097261405061592406634980258057129381244392462584670362745628541145370409504942333942170067032329666233972545550929259709432051230987998916964856394649358343706068696736686443474519672266794617177165707034833597156414465923239541154595409727313906674183571194778041870957567909616052353131035987300503774951834241369479493387071199513872127721238248336092930261224445496231503854202425512628269355746861423000064277293734208606033671635189401733401485429810690541141439492577915336476485724854151859551807980693539505257740854848754969497853654585315719391386247295005356705656823580595343038286171389490277341743340924028284744724738182524716261133790153462525352317456986960168744859954484032268384571201951330110603989520388912750089317517699196673186766889172927166686829898702137041540737919611511803479791135692046440616859688732852432434127572351139343887244349389882186023050139437158924908041013623450167410946884026983743730677544815813743904052762675615759385412839946470475104003064133176772654454374156629964877728777012345930689464797254938460331587948990041288566193469640073920781250396506689076507961105005421356367936658726500138436872540876957272352011122699045567387121323349773772047725802059118080920914695519060895608719242741963372750355558094741776633268658001030344231248293737101752976437424935505121217937533422324072931167704278601945378094496129229259975572447775159657622465435402871623852627830620110938049777568245887957031716435755927260605462605815062702461135290836061133955447296514107334255426869169014999783531677429444072730641504480785634196603677857456069840646159016792626282276203922507656437902622940101950472581176079774425677048530513921967876262923276648786981330758016344501234437170244037545273644086663474905393989731839986163990181720147993717003467126188106803816151219906227457498272543769277901490552413607315020827949358604143400267368210662575036059361616318315499283465097634804283198251717798299247672915909000056071504725770817928919109858027087196352046853108711734240998751681624609863046829872761349091439289846576603434890687576637921054808315744214254805149927776883067522421887430642590342073072936892552328823240002961309833373828691966090228470975266384590208644184863533584768469789853638415447157841964158344456976830528915242779178439110312944152349921733976351263902281080168420675975872064680438913347657339981912007452164652458201456345816523298289999581075669815867581910675478012519489172484828282633479090491163120499924789179110299638634941204751924695415325017894991441491856956387724988587902139606920198987072448299742468955890771709015458955926147706023502733930583565222685507811387823269530551780544377318041700434362882206144997312784770541792397842571810951142731985110106237217999360429771334391330579344392861287914234740754374563982442779884522552351959782500535034869033217342401704049236694569858812316092637870549416133805873416481192003442608763171110366325935479674252778356551578090684662288635318096867665230687762323945631770939262499873968229818486202655087133251545190060399639333652691225381790998414187022947321964886946848795498012159813688049574291801406071886423877799141604166493409687542808811207628313451733259904569013679057575968053081218206228441835356863399328179095840320503510431701943533892781381649955614539419871248114982062524575918932939464327937864783937599221037265912080213740757012308879929995901146067608507355769773420338910405039916036844825536763095826892695714459165186590301552682564452856286922065287923719248598551817151418375791260495836259053801962456862572527442986845100920664593968209836830957077194140576053127961923260360642778910939036974388497691482170305497084908347330349373206767524050650110475137548244793241487080910908722436612433080634106797024756386208141796477613247374759091894652231304569023765879963417574542988132350175499160320722637906141826056721534398634791365211428394136357628000192858406157774754659932325570061248227058131613203824628158750787891075789737532089086340899065630438425719107986560210813024563260339851439054606841361385657540607678395259392063417598100128251178097517758815884179270546726816124963017153877901812285813458236071217127503774084822786465373504667605754398371927657513744780058845335319420217662531869413354823079777219034876473052954888655235653869406869011548817214689323266097707726889189380876860425470376146846807652437062824490298014705103965259455459298435604616657840071773299609817450707408228012294897990375756096840031399879058663663106059899315618715004076413223468564878742898302323705564561901659099905104048136359828974786330176362574683187787270929923288735731471461274205331884410004004021315258306871495581263945078367553152531694052120587089477065575694338776625039916329849053093791646018928575202430157157620811712755764417394508624737172479763091868135637886810553031437996116734450557932971052603424795501328509581783227350302463258261075984330077424702685412907142038454987374287367551724927135910079920155219496748786699545458756440002584762925973696594557778465880548497934417534449724593288206371515698100550565066502491333149032407394637346432286783071899263243601837040682237587512373232322960906277578089256228161894433033264521892437225244676052808043485589324250686195232711171643167735037725668459776177211063347138810197906535846331015144200582006349741253273093163097839644557147075903612205835763537945052559922246936608251263459966296039115434778878174813140708410219987824743261115335323575087516962742530928343803968040444256586298048345264519495783991081468886366610751271144451720886928454328574178372687776833183740742557856261405807556819395838793263420820929829017156861414464018348095607779245735333782112229777718060525369974661233133386518994089972421991069126201613079965695158946248290876936594584466764781814435479442536936401662186819674516540417948781682228997406122846685563135784627323385271398731129431838980059151496463233789988251270000284831394692892486482454859102000696734166611529644530902941451259828601621812459776151364557061003886250559373286488754716327299987223504869660490126907764373091943303532180280370597556850906950626207523724246508141953200085626622985347949918078868871632807538778126980450648601746228001104705975370675395640011711469059770161664980434543625618639687899972621817793431822785075498420652482354647357675696831909973377889909008869386191904440129381295604884392975655093253380499097730947111085153678886068218948401558823619589423365538519270561324858348532065122108282708778659586448202622927063509486957190149013068090856594575350951551028673160458427745806121137254494140783283356403197280176472316393518743536988467478635419787873542914816678252643289334282849516871593970004573052823955549862114681305739543935505831092776564332586472603046365885907776266527414419655029840438614954516952762632103977349983410035611626393568987057404750022894526029705834653850821983296293871977284118067769750719996192752998603880408932726469241670467819794525082109276409583434431591818747544606321565242688721978824607647607684254156059145390200274602070237196651619967952096305997978462900206415168786358666164064863725239086395275270287731717666957130622615008799258087301294653894205291866082590812308870850151893041000080949918245098874299957274272031029821806408926835279432289474114269585389334019270709046710395689772321005104302512949661643107700612982794971644707169601315303618992326892428200737270559923466810041956953965652787480127226679419444781468675249719886911925529465673177017884447481046016816375162881580270258704504208931518276458671997981922856010359400151882893565382637170910743173031047664633446854946037776267405196064253660137158784505597169803831298741231998782630684323611940292897461974437210972600515966084378965643690320980057865939659589007052145813542829090585487001422666555811517025187268321459851240649312057258223704597549348828122586162053940713596567105553311282421148774576347177446965538892316307599632198141504088789950047974346104007965883722485635841135087940468471445722468227530007898612287910410214984162331358323359272105174848873525137140563486454298599940114767841619701547866782981380969346257023523770736987246085087749068207720525177362587497683892598752220997442593586112092047759178816635395556243372797303392201793676636662528197348037651906767491900757415180068454981885207220870167405137257145756906876519199338256914943241024272955244853122331618539861228187102072819993198705967428340151268458470032006749730596738367147693786047040286300597430320068879652170272991816080835775013500617950960526756712831318316691030686512388946829215033071015165492662841335978876141074326617724376957668551020662804395286056267263747899296701026171500774529193622844540519461284726466618756458374449876654264516617621190209325461892156801552518455291129870510460745841171964032040909332870539822341258797798500628759325122874333006893123530176728961051773198925027827415161154403149476738159804716505916924099481232997419507150742113779408649683602065906167619258057006249310088867139255338435325595526321985637773208524753046579096899307797677630748773349960280684939765886905585165581917610442795988980684677190235843799471994526607400760567060528474724632493505610531098179120445570681023517989605047945535735939888791570468283129347659634871914598718103653317227539100626010856860725242290434597950697020452027030274819608003355358018414396549866478554826338749113475407022529856475780030876951001250717491738383891575667411001723641449126079844854124855917379041328719868985138548070267866712880307921972433938039070975423250288988114097190101618023265316445494246642441588840095757636805862133621260146753291456137063677083159175492583783103824486384992517751096701672116906798778162466682843977014757237518223393321770313304566968489620534959897034134981139782139953494761608756511933077625522903044554389826960023696404128655248716936994350035254964463418655872154674313414287777509004386409212114868497098375908013206677565031595393150922120093946492789990170848504804281595517841939393400125113867183147766393547503467740269962414065451977414369037777761575414506530148629889294886459775496594861987097006306284511135199312746511971399463020679847035583455133394769287888006504665474994317536780687703611304038872485094049789942974824265751156937328207034816089030052828387168393541757950537897498852563509818291181898936684512309801695582061927265452924288438740225722823514537480606565058055980130213385641996723368958984846117116121762716432299774140111282988107195918735140827707296880649602575661578414805707998225687851408688708016553526256978100515309601542891941569310126825764387890966191962470295604633549766736018028554267214361151792558777865427279914055521492138932930268033677504496889212476304563357861996912996984603657018409205939655540725589989336096255653313887172495976459537718799624219568317592851213509935855465068093403945840905452767235965801786928619121836703610394077294205161663595957460002583555592581061212850290795113108302923614995300683007514415562226725974213215772804931708579826281185121954712454291231370271480067412957630235597012274136751786322187951086305022889670062427620768867656496945030564822448406757965908325371435383287056216798188029406581236896367574876386165143045367510244367059407848789877093656685113845510856293929051741024341867618577827821096872771753990882291026292450923430808878304261846704836133350409875533495291840508705711108406638927617043706479890817601145075242625213303429733554208120759055995894834522482616168801036523432131551008318473849922610940993948436441166682322900098232851892532415939122863084726408217261725781173641540225366981064612513823153617339954352877336653566838836354415223910857226100765232819062134104756980612452513448630259810665570842657807168545204665741825739514013543580601157664912303998581500050121598579247120152356230714374595699911678531784106960455337542736266814215940687874639665275718239072056876685933121943597903549693403655043988352861563200934806517996171298366147429952539755653804335439097899322116841221181588026395611660223907316274697233309862051972558148830688797722452994610320044166494428758247256976046101195632109421959870799850495025869229738103198482514698833633807054258150890213647047831726530878725797567657268689639772575561541531905760795101674244599121604979067226691321091612673874351143745025984200535399260030270483724786864157797114560465544765096571858986349955073700805519295016369413474739755793241251390956564252082141123234834142870165592938326888495920209939476420205992689555170320058996782703769638414604841257986108483208023434002862370917005401976772402068892000202732308280324361974508064543439809040309299191641179258681876542824596857375607062175159826660227961750376141257536802669074936944863217735810977989339427502518157413355828012113368486276570140326496796586221573775837173404370253116906776825934982364629813155894068989946641723686015390730622092252700167132275835329353187424990442150179085593847505612705273820349347037267857679622056639641451302120880713338811557433466772044395961900782870789299004736768467050044999548317361363238154113935421836855411370923911261667804294369316353398143883733083959575945159514721162780932330135129674438578997084019123392842641817127944716922184295385801024215946460451972890961670911301928838300213347205272738561134160024450261665259798277350291851160298698961513497558762136236021035947972034691777681921417188983796386099294395041357581939903281490467061614887821859275483674948726263344377194405647587058683792400508013473864848987938375525271963078432545086697811574798674812165399203222017011332226567187747704714819882763928630312244285446368087246619321698741101396875263261052993003114082774816871401814223273831882987356269995639604862789173519940925839538431191296943308331366082675211346724550178162215773487020571848561103431124213118304818301178436983453940162684675521788572376493090215124196306245959003604352412477133169807192604332803792071969240324151838177779573855761748971447043148544793824324941869531516286876333097913539620055340079918384360122625685941219346577207012204056916719804663104695174713740514120516991530182815766652953224361134322409152906585152542846742338286641043716332534799838961597210228520322254260214649034209128573987655549062623371142350313627763161004002709715737744986751389079629383455603835044119428662441755886963032316193207375098933044711487914416842522968465384044052933363491549655920712161797416583406850339755285512335922604591978103602768844101700133037757802579085283563291140546450651055871472715766340918145518723997551522489005918727585115859350328861363528877967985286692605753059817166598335887904760215657050699594867844608787613765127992899621969534444865223756845724785667613552874478806689029163766098466521816569619857278753113419751896887569196517279325785362101264351930567204979832106270326047235637950800152502674764949657719477272315191201253334448159605676815237424244762289760657625056139912747128127754990565784975694375995686665454272703817024834213318104816559377603186257702838863547441215831014540558709013360842454586464525709252074315949293599847557140264649441629396199781677746060014527159472691461197447717236806591350509094176458064619898918154543570691723497582969456351902539103140103588778505009848091016960234428544588274775739938516818715886166696356127708511037065380915462089485699468668817036011179956640526438738132963859514788479087198030316764992378539746099723771226354203174819026522078539768802755020681305290073322939420780665981238525040551987234163482640791325102335906066217236933870312201402583811040602890737191376602156785323055078761712788371301033787947557298561022043931859080117746333043528767375677315374246735973369257414840291057550778875139348825601629947114182099384731786892782384734374203439384248647980020464566557805796142977663745871018847686138827870080061077995108970409389961467067688918227966741105006863394512368637591890861921750039397004635003788032881036671717229690513683686774374910700608447926682363737433600168059409131400184361580965076999386932299040638159290120114788855264509901484392149511484179572212063904549807283472237170963251598129033816481823042624976078244433918663656007765112588534528799442206067194807778925201832442934569451212034196572906313715165770599962391200009670521631138970110585703542695733948930620935786843817562015289207829035614927050208373598265250337804283000138922351224368401212691545360754646160258427873550087677412671498692331524716205521562052320075914648680599687023487533174396520318614802321187132310651952343147213152753579902937081082378558798133592343672045233406266166749993438206317951085330111256583046615466249087096439514643410150666461681409940315251044225274323581715817545182880903783921067529183444826919274844608305333863631547663653876867223854722762034830239318391143648401275016548670827269405351022849020376917338404031207835942549852864772136787235409482709857809906211076239379887182807150488665142050336734743918421748763128773786797572060104471509552348372991841929909919365232767487378904751378714208406866314884860426852559414153214667938538187079126702333202928524158523014720745507784145485623536144821114691424110973414937137404753667321788736270052759536647203662621732656219909699206578653369979245845827167208022310885708123546493065254949726271058233779012250722249368788841786996221650041255435912008952392155716821806019951445004766269110867125579046826302427382148672604196674058098265402292845083091907200487072050994824323172198782193742608780554685646500297218104870685815670753854141738734894192709961783160338279461639858463168093555562244462551245785481059767703485667003387335155659775902455628096987701675466479454836649996246297141958401002846133476728046525176765631411720913741197744315417553819980911188982381041445499493463194972356988589959662980840518716957963115579234483648127539629669470330107702162479176024921672494831753908465569493658145495734592620708930134528637010620742792924960167773435035243423785032154540982657384432976542265334674873874477160825116545027313208381493591001411231287627425399492154630056407663160200652508584060343706120042284828809275796968106933078446699670240274953810984344944382264148181437355446716186614335032527841670074243278122847924598823343668869090627672522444971058918806401163995803961389193740853005044141370638506398596094479029858326721280714190186721373365469407022132397070157594445373590520762981575383667348730312363525720385926523152844491567911046936772813847074144491461946817299569317948097814665308956485535990201707415995312565592366081463166085215883368335223675692708925901276658609118010918997217220472426483158060664543651207635422876760354529543283772911493717654856647819801980204875552632412143095574981387527151527476447716475337146526991550520503162544549760954296992770794993662466168277357449094458109509034537848861358370890473974720654698461
33361617930827471721860298692922648821054764852319592695613791592245767592238398704317071732061827104938350226975302705679334237184004174040669970639890155725467755985829218385841111333137906910713714942655509109726607995754105557980232307304627510680913933468223736877296858198080141243550111770046564060953601806697685046145093117167323154389582522415391187716262982031822897581693814840438629223137027504915547600044279394971019605696026688262588658549640063377304918758322744977191175294973599810466399035019490730186800763563722723116104685401837174837242443229150807421393741756320236543084599408415703376880525569540083673624409369674364077650665613299872932132030071610286772774430354768321728838753081917851040447089623651176572236154460568451669892913801954611412128382401864235616577858988094346782997504711951745838685208937332393215600684362603013051911514560399515509632146638149721358247881258435180236635002957813400090576060476870718319525591548132565245051889628087524035699102005017376036199093248712028620552362144520900672323017542184299950205818530572243409404764875336904899010755683463894549098245187460650718940191934523582567441148539679717086810610994786451289057833250796090728029007719748153896628479521043651681231494027299652289960577351595832022238981235500393799474812232389862513911562121851586762144919430002912452039626101515109167644707538231394100887125849612269096809902049713022124055509589153452028090298855188977352855570654539782388162788140351085504546329900586073243721993867204474117207246636496973613609189636552374650448944555150604937409480498621655025084631020064362763581575678456491365410790219994314523097396736438173782755061727712211167084530457712381837730540010060908249187714327705659332753666293393990530057021326497137288055224400439742171938997978064066520850795598048699807550428141533388786885585199630321739241686818301444110404822330171165447552056760843134550872721991922121881089892208213451206034290343311614368157334687971431940585613658290767943555559869942558700369129491135519937257946093983056459352599403705325172974013309582556075921713318269507995345848745525216671438919264749837268905997866138734982270993680821562637073367707971157478062110479912067681331290594920272182442892629431787088718592899151513370522966746304924210432587280015313976443324583865956567366691373445004336153561045831713507328048631877536966012865304845127042360125391585983299705782271273602906169835430750955654459608716563810051620946645868754255760559027405898482073338833735813203587035201454233001332902152414043901392944524806032545005512474022178988794634271382989197490749864984664935038717986068065747976184368181972944820956532356735039526425828402981867278555925111491649988077503349048859367614651442883092134030034166838917365126434790200493029812061299454781270025839503114229884083817526906091164056428706513593171830144832475779023175505497248174972070048357586516633955757143716572590000622562758922939060208409978192024573453510061714276216993309740504586792125296954398534140029653586736415496065207600138646848997677228868645619809545292850042272290638793069795159209593645428964374999645799140942671461458022496632408194719329172223150769455642614545372746384967757250052058052644985398047283992571299789998169912320051166341536158106517255032110409756744545867588630320411515360985685631792306323654876271399961325144748534008366460833637223168511825927705389731701655789840179201860613948872670851143925070152471657287752499961033193269467949512334237215676794979039387428751972253919923360150552373754639286736995638905763925417779333830783658578583428541710416266273048852427260018431317413442326274093339542045571596898481437662821982586227133991413881169069753304034569622947574404629072798508008830965632749960463124596642857606250727238047251563255031376596871516194482665125920775606666908488547297730964482536944897466770653688994540725016876434529823093282287618929429398187479688437110627404292005139807035828162758509635784593162743068498419216844487636618369988715139423102813146544616726971958058261343759700185913380388474070411799727219269977202305415248423761815569898014404020331636459707645769212135128310556508603320807921350129390539403245645158421286167939293859768338768502259445240132520338623723794576554137390944884182685910615792324482663372042793159996248370461879255533867194657690188884314548680506348532532923059217496723168997940658114406924405380591164981075088003333984578591729216119594405004914849245128835510639156359413630245165355254804123062636848712059023933425235898032427423351911498264204959734902544147480710080623112040014459683575060753581826177171452075518814892195978611510765070282120973329181664827096213938275830495881525738929505130234812602675509066030512533945615844543958239296366554588906022335958966465708010850397173098264151388331930794560257229863919507647027016488428921692952088716998363063692889277645200574477870751113999694362906799781457618761325362213485373304325181900312127723489824843529506098247574500866429836608817177527794167698791250775948453137036042750680618113395675213484822982653219478418866860457973472150399309273052478545556120313434917027025853397761593903963954047688678779264835804449856719424354234177316861763108321494973014552095466781786016497887693384097519500584083482583980915444869717268767945971516104377752295351310755202715972316548273409622543171633205268774889174081229292322161089525073489041774779035181888975020714923274995627146134898399765547970440925739618128759602383038341013681567169309741481021802295895558106180165254326726822104617625096291775302068059563325282986240292122172372563799222255841126528510345109776832911919532099747897017809104511174471249172676215313905470015527302606037442569579756754272594198127205491629093392613563030924935664610305587615819440321606835143511477757120926923124047709263138380861170262045057540929272574715671020675043516354338266939410119721661129660042234999133275996312938754700024089704094500437316333817711550472802733491668372317561458955148637189153792023016008033102164851050117634032907654431121488029081483780601305315287229944273343399314023789335636998894489287497233990072723803044845756969178394475102517820759097585309785000452222013745660318976450520911967495041589346637527612757258251407207000858792670667195227759070267638585886621085699813965786516329723991919610092308024936625363170366419843472187225917433667567441505563632480093304826499123745234100477148229281982833415165771397900265847000205643170351647803310101618883910691686292672091641000028474700959838097113062018544415555735010550964804649876678026859124437000108577534102395608157189505417001322236652875939630869742913818797056993382514242813977979236036672092348247981736982238970717847831462044030744699400291948238521906442197884278326486403810034501386065875963523054109716811997603912836709525651102671104690751250581901241201293036592627449817713467968878906582781831806926958230917811563376004007980915066938321842279761589514528758500774269997931499228674631395115346175374737853897983244695629745998280290451030458299991075500071114620311955425808232916159848112196741145326158582894575521821214171584534509240319119706784472173238347778197830493302852130756815439756367259957211778865844110020801497501337966192451465574459544811539455138412170056671950932387677803213313128026346468316632007122805568181933408190446404057932954586607203401544316789550119740267311501007577381466733795511753372276460451567180180735292650957414734486858754926568416820287450675630953576254690455110183586977636026924918911747861582791636056770843315338128123082731366988774388843192793185399429907954012456658397896371470862191615501447722946675840880974833267998676604698669686699164082665922033223607799871096370554651642177345173494689087845883441295355671263929170568612669975664768482941009653149528439554840832410870226003261584742178121029674214169456743549480416403198842951312200537552353706036426038064727149623062727872632567804877025105495236649374676941267424125257406902262189627424023113771089327613341462795059489829485269017765819426496736496654152899918926818942943806399501590977108048783345733815310283456479083129314576664966184264850430627898428169415183798461111471951188365743092480783253465755690971007310621409428123298135532731050958548840607994067450372360113351468859615899385898972274647126983703954794619455208141815960908184425736335273725411156582845054250233386392604793189718981317967327961271869820131916957231582608359132058838534180494522008382033191574493386606778247454804683760651484475117040005408899409964108869280390940455076022770673040061334869629867350143376903169700542580161685643495504194983575741323012250863140855255316005682308757780103419169630500927727736136717568790362174629233765431249858422504750409542915073133943137379166146371957427821168309672790344398245150071501101701291524473147447038453955404788488473367971190905165744857518885247672722999563911823167938407335745783130783632891817499457133406697941035229340569727833812107416085673334890908892415464102025256726704297457902043030053715810736748798971050268787751132877752332117520575668759574083974421811608868346934699274902843654084667871653857744894213916055083858229629342306381045649300064977871823179515423022037062973044701885897356636881987813704381926870274665079657112797256757022336950500958478721866291766697149212856936734670573636344547359995188654202740523562415354524841623925170135960956614956538090963629564942549668329417713968009189314053554598725382319526697574219820581965512075642012633990584007457554999097197627882377923071524348877246717039844973897014282289221363247179235876660207254625799654069080315891945259171556226641845956992279133367290939313391092005846531477773571404226780831696733421658080809839531965530513540791303501520696778261116103036458413130189159803525912232091476051163693893677822795527430789473411571978757681853136775824443641007752738585665426671846521377792029814382667695448114014404219082779483047765301111242716868590476212939787419662601973667142517129992085587479371109433549615183969873539107939595161073469550148541777005106813710046250079270499327723264480966963799535054881609730246656880706055473404598803274249561008139208050469808143800497191937890268008434931309578786567440554687827908818263509409288586085597286064598227719123768016599329881777690581768609350173696956199862630472596978204275339205873075517085463595940518141033512943379251961714630871223317441413616597412108465876954697386449109992102375195919082343725594551242846235238532957898359453695119000629156183349530699557058290631508945939201757929165169603295210614350009021795413755039601929930783325979006150863840932299649514558249266975187063626832068023122482873890417109160658334385228809470546895554966360507322742971794214667413595263321790298393790325968497278883754935350964523288199455343720656217540102697569976412545857197957615556209920816201022565503403274926918159493051618933562552044247727045851349243179024659533236734238946492148680511224127921712551647917177984670126348435223834253161698947495404945811652060876704787911604051478501740803230288359095338349549171713415654662637331584618654148994803175819351343190503167752376487915812578916211431943042561766023158095354026036262626788867582349768411991083820205202077802461022181433371760583169167265418726782416398393838396205893935760265056618386645602851623602859824783799922912095566510963845471493081583082463764467698498150362201400672471625912722758333484749826666353450264543321644790338588554961692964155523200682281699177837016700132811718125121892076570398859547315602122932170399959501933260600524610126877620075045619267926921764785409151454490608426297505749639881364969746534643644988603422285211220546214427197249420786792737902004737619819616859759750463482606994827139540966664579138765628262107832319464888175053984038692781593709752344320544579204884903220136168435923189834155139633696057770648014743123982030370316177809643621159796831863363785457665095631551775681235467136825187849043426389923902892907484283354393190991101252935025518551053663184258642900114340369811820274182541869778530546361028428320543031699714219137110839487092075408196215185584038794636122573885370559471028682987895561110596224887951390129288540794599966893667855205649073727007980967885320086532488244899563858915615771736276976284711849091747570015530515140860071075822170587815308080025464158763395676350119558746566643783764754786316341049069264251159018349520320708705455332325626231921319941902384841418793756669355769686858292649654373871758615984545896459930104390850400952182295196114280588688186652570388615698356137625913050068780174946966739192450229196348480058465868303867304117805373322871957246509082776459079860849786105173279721620299519232350667441393086852114937753665979303173827482270250495437568247035169656090233864752621345663232912360919691516675003915925597258522461771792726465012308759229173174355922526488238383267098908500892402396027787044713289738205240134830054144006180351059535220851509194776147259949104842977801982017346668356734335908147329321704991407806244834326311777618106954278989194164653616004324636990246228480511584288547212363681164106381963682775283377297236849550328009151493434847714805601474129920228823991823410240839698528309318238350898340945153347644626497248874122660009764590762690474987285898634963228521047185676041645167850928452172131973477907088739419277483229785506030638243736249608520298845490205126486625072003361671801843322343670399585612442001431143783122500316456163474114608595920763425968069609642113871660897611538917441852261132294546220759297123536226622781533067859177110385741588340426727053176044797000951100894710269558384239053494308977426445319063692277457763070073999706232995601140977195404672553717257063284215851055117498574713952867581801961660204380349825021503092842070484331737664698448134236651362503560082135932720636337669751143025091095910306879548855114432588677364424745392002524656904449481407059757432510179256696947518558399856312812116919298610979136081380559921401216287351240153140298979698039952375985829594200674355454028687010192789032591318010541776127888668944456162788390020448785912055473929068164830779900394797426174484938354468711034971303000311556134193479828885996029534003603419542558569101893272956600502208657145509031344132042563001776215227234316494909450283183116407733637524294947780885111938375343852008475530868185517493732015151082411121285580771655116713418799672361039466252374972409145857782360242391583478476855281471828483289347527413429930218512950551566179581292763629516771649384440039318474078287970298665259257063475104362225350612112555433953965627899382316124900561180144851671405176695219804403563568412761030415900915927752571621938247992073354376626536455715639078492361428574325626936496205295889793299955191525108350889048865769472816860992423778279281213892936679704160385721834376015088454061494002229227718680904903185297115758259887896362694305026397567228643836894384679996081799809746534050632928682119622143880825212016383180937490846652756522770551407314955896982538388599788062263658023101820395206733124640153670041403769431590883604221213107627523017474626910365604347963577452473484200509904271802310404566835153693359312806310895516055928201142020764877535412247495883880534390981885011633707641426230520039161359734364344744040850896889527614792888719487347500568773407613969952657144786954072712016645826965843813419413112336262388545524591484909598229396572192001567014417174683329766368848433191333291836102112081942228981455080605081845345869418502550926710056647221122411513522761620190675782017600608634323719286735512447394364836586153154751935118995321428691056370390666076292675040000695758767009171322501121823154433708205134683962687876822580905556167842004002730017900962460695667424786766812165175961180572096124688616010001133295203637187919561832204448206374759209279006709043981755130684562329313375660328797882290181063082836613498440462577737864788388964465789770804094239990960197350234742827558043884284885135651831715475500385705470270076772956511792470073972411408992952145218336286244870631151722399165189904165085590978347241919403371603340824769837829558514392075931921342462442300407101266132205258860928975877697129449980873201697534263753346693621138377195396638348597046549206296855342592774157387628144502126325668810691592263985628279666832626590044459520716596231031208042802833095999587300843077300793503404199128209609890135554963318348171581330885000041507418938568908620981162631592029654341197908878969073234857624800461108306028175983943241887142376294863074259215577607707441761654612091140302119621906234402861401843621338687825274102622131140788822700522299058265279225187644045700895674114494980707937879908124110081730476330365227704362549937261574952952102245117807944641939477133279357101428267414966475408711612667992180159857919170892730040054060159340935362340598378714521649435727323013330258785892026705761108217800279424367030150823149007398087847548657837402802533539138072645833313673115365309482499463042882781583562366736062732781558270321117528869460093141717513592331995647596427952285197850409397106952284306530762645501854748154907530466594613324411591567419193245771987220673724986982821390398717659955734027946172873776369000267441350848437339500825727932326235049155209345030679090843080235201056258468477293562632726569879483474491238874638841584091789391458666525635759899603857068173338470828437054612687740604416400073617914126204027170347094900256626896416308701897253395361287285718149264673673526040644683513684420935192576574890327460638523872083378799852073891708412480468244477560712814024627061691300625461904515019629104261729872061465605206666482747299593080449235894478314551041640397492495242954184107117440055299457698462306275840650594816913126437217058740586246313710557619784969205392454911186140634014054124406974297555819344317128045874321888542646462215693877749687246397061449720462778179818056128193448954682207911782774557469555859254539816472192433147209366482999210523429262844184081345398197107706002637524760616206754300966402894985593327703360591730784557308250060752211163134002041096039481606427494532224635633237889769704993894086391275127813642030509386074503868481286561747309901664466109782579251620905229877971976780756698059431977319944987420386901222454051218010802984201716232928301637531910804758954668559634257887646443110988307673170496334017598041404597257072002221488965181858462821852237032932838485076931621659531345152967800752029594164383702126423206940756527820749418543563967948740306927924021831412394884864811836765001084235715996620976872772200417303179297715037521714045450173792407738453645049562812640399184433957163865138763166407013035186210464367358741283954060788540667804151747217130868808096446842284205599097158206937221986285848569916918981722059498074066896907856887793630336311946066337744035486198551473783999978129840475552311540669123192820895033619329461185164287306350447957939255609130059115628936610030883302560194719338576959855321100495540045430016523533303540755162187247747337728953292939900893571114533595471335948010303818780386147731075641722459820951697609277596525776978589857568038568961777387836256200474065086050098475904912456173174397334546628788145657638896886663525970952093426208679823127921120650462916060525671722063850634904276303402156337127252878292946636568575613247816142870369779539564097313140642104773280426346144200778755002061172402690125946144666479001385995559580151501154457976777052952453099029886860222128199499224821901671292273291151383016349157497975415156240707663817448520264342152700022979467199996740551653600128310201828473896417589745305700117767501470186809633581514847300163519190781709926963356368528047622713181925761571363797824010
88670585376156886113320785746478560043976092824281889770259373759959629405077917969154341142954980709215012209055428426507652317910609916494042053566114770497891089989099156174292441946051145203972880215726086465168335504974808256028230824508649196778524873673532727021723654723122149086670218103405422367213071532264867329715444554990261246254237408548846449254429110122636687704188444881062715890157508617126950460129192616341465670372503531473070715040557149012409806986211990644778725066173826416305888360407890940774595271003133230324760167280706667018380909244587128961386365602197699436018262690795578795887221764675907339384043596292829609915624327171782324904805998641277511037405608360413536612716154663106743871930727406746847231633294155077736169307620710224102725153753882398382252088170661982536858427524641461133792333292051016508391178148522532370844967098669565711646905118482454539392165271540207088841138651591663912101060659596046410991486480766553799385145830547665658956327229499264577647004701643307840400210917277088212265831825102871370353967991078632980783839624124082213843934561570658714365342049430388206758089998597999781701459366103083179073417922945554539471493520433448195049632297363341907495135604149488770563164758960118561306867890560327468098643363440623653745549533351604930681378042721317348889601698925122301807908556142874322261445805881311340596070788408647127989826540267900492069635483868510719044205488918551525797587752728227502171099466566003026492851067816606769139062066469534832636354887447015428374457727367139572378606075961926992451175962690403734549134437625023553345608066188119819244164080692699310457871897017291959652559460914930903989192725178850113338896847795177299439804142621020169291872744546876336851593393562322271686443080398546749115538665606661846091363882759634930146903994652682888923454025455938225030735914047997098439550264044118910551635027353482567062612562981812485151301033605841837068519458379565911894036059639246448174157936775571458843998973800027493933229452798007519441096288929687883980251678135531565543611726012001701937435980538952417935407216544185406455077611473099008734836585064168421614898671967290831252252782814551600090249026613560429811798524927256370587005151884734296807388559916908980253804766529796111652721633173676691384650579411376723518345648232986372932090386394936952018090669976162297222626810489383283538186415678905633783148577793025064821667003353781821868676665083010562497221435625274226520308523336953547485051347474841770628273070438177594036107700731836675536810276450607336234846001062255203123744631937875485459051930199800881459380722239529682977082991869284977192000871320846513151699190269478314376809419167067425821912432327551318736718281496608769305428741692446929229569328542073241157713972737762520937290775404242248176003885411357601471919365583989555727779238203673506103558544953310524857288354977651415245689111466813292845700925994104473790294553940196260956031450508992325662461485877275095697234681771125402762480204732284782658351280901669925671338208649170329516651513799510970702697584737461089863910580041070098329788555657533919554319725137187774694092879296177292360262602118453685206656442275595103373965688619921090683668079243404881040715201635348368467568114403967885601747498547828625431754831951813459799991046462388100985832945308316738179818027353741038755947115889694702322625960887131304434432104473264728308262180590973062391649736214137868696330266863069228108205568053405353564652151575976383478231081963527710179518082619659915081958375378167816752143978894521014638221677033941417646186790436103715350227385370661064592177814036001416765809581426718083433454783143787113025704283061791040088130506913438522104652830139288198051170674499329350735579359368090430280476834672449309507598473859055351585325775019611820366285125888888441608971259874516150751700407787513338369129214850733096841656270670896582114937990631629643602614721631489534381439981404029583539426757047259654355460649685255835673734688846908101693280347678648133272135163413915991436231834734097445797026140013953683071219430274172646746390328539504642736292878032615565426889672297519173537830401229580144744474340057977255486637067923631200111479800158738104625514268757323309796181078250872866740610822359493487216348279002759856334079207908588406433907468197838368765880358959420249724582100262904248213699401281852983308633079495318187547314714790700714521769386964801859240254260816100633651541225118359087646161402109210319808428743882321082419962962795109295285688430192534587141322352279043481351912087390912765744426834267122863926967012998665921847753955221465755276370119845948536769366839120080219490552934088587395585924508858440585431248798218891239454148932419813872522684534495774178152380885993678628006527875315452019515365737805126420568698649607538960399369597391185839792994946131726497234730468426052462802049592453969906352858575349915650862298188140543267147947922912847149792631992685678896435916506504765887773748912601177603502275748994918940086061708794224097190869180396261268269954935304862324980459346139255717412295644513197084170225064120559207958874422064977117132939102324545051090744886950691779172232057012811337108203723484774773222942763975468008887742155151409383040567831848282921322471822619360137135824369697169086671786727656816541577141029121070633259897443118239678629104207181296890854590807972616631147131867843424199533314603815170713855184405372548281945086847801138359150045859521085977957246445829473790019705625204348249074618534331437538420198939180738560032947640658753991973320895104586574029635478351536245158709815216926948205714067336016332655267064908287588603647872599924121937628196653636025416153475640982800459848069689781174314103305669786031673947875467381075126149183603265644786445887760756445833441747990161648954575627882018148234297130470813664941775399121229082451303976502612673431224121208239558675693866706905202552499248979817668413934627525414151169870755033263432863440696202332164255947156315329963122526839727411067682604768256860704240262540998646039323497729006623758467075870303600922778640882565627768554392279331883643170344137075801320279105249737515974622455223384843606485246892815490131426393601333696153452833374282658038060729919849878954145966624279444752183542179447615500323001361527975815784954579808836759629651233826552281868991804800412427987714910641319211214005034915185269449012856519326227937959104329472255674913869010034966602143449047432671894842855865998691356849557896278663359604391000883088389490988429907551961081987152146347755306804571870603267296728556185340205493974629168323981627354460177977312433540147295275787682555120666917225687508755573507621833217698007422255343043115829171284930399932899103365925344856115395094979715009598114148828358290399354778727825950593448300345936326030392860578476787349441357292252588148776815910669638223887987923428839568096213897962314926329596617285753429007308455550934380436982958266472512778673508537112187422078836279984575390991851349664996219754920457663224870758304589307910774541336760977563576881633677995584451987998883309361726100372010297177412413562301227033469811947996894123419447588337237753539463912933105179696584858987524533307036255298921866774537446526866443120532691028753558189579656873384922815665779509208032255286622830446069002166352020824768858186260066385632182031824858311618229116170962544446599441434055038406196800495615574445503938324392519724339282174497823718263180427366688736606081710316531388355725376007363684081739706093132544138522059131489941179230696995809452827334687001511166243447234473543309827246488640397901308627975049821363281931046088759208927710909202913633234738902907494320323734634632449699432368832566136234549900116998433910806631265108468280009348717304600466420147674731128217530230851150218080065901372258128365235964782489657350378066226577055274234770641860696740256852037429295301726047014005821301766661923706758696127434936221224534023691047245452703902849964751972201790694754557852865992396842840886289085086042471059891623586459572528536264991810966145090456995436949619242828278545685060086623020602266808084596473947168325244228284329654694889736019789627439302122039817562960862838512971752777126446783283686892907771399311818266920708895721437643575571907793051336870292928243964737951256596079824787108061913205450322385795643783203985268248938799287424806089567701900217204192207613980991686057272666296914304227184477069784725374545862223231794587060990582844578647985118087662094995257831176670841828984870809166576044176517647725831512857465389578267230648963124826381495624657364549897490618725194077337997631146443907750419710471681727812087242962061855694197959630306836841928168724342914461332402196374945835836460139133069819521675348293465185766603199020753929102797087489226051049523219767793970090416432087590934237050962242318951198709506721724462184571886488000453188407627022739644257062789292886377413330649509181705889531111496015869691737952267316162537619541358920985093100921014633505413189803815652093119360420374756343425231332868288853123452091018817428344342651686081239740550002369066605619708375298172516004481372842116354470348379927583826097368983444115718362334184260735472827466668147502311099802193894636363568292025303491535413616153158102503204739735201541274285788437165328299642156634588218600050147995959647950667622433394544326806568862615297922477406563460681677380820357803857554672149285412250926099645836668918301560019008095779213449503819345279630544512304631850750884588387941740857045731305140054105522283876283824012504442345000492925381663941048468271885599673879175867919292942623029572777792738212013963306649539929389874646474319173673200503186197312503056881314447591616149470312919544516993439277632216769129943338506450602430300674589469798383510813044355923900544746737765791231528604949241472779849058562636454703416171742329291752985595563377753345976582347662537223526026235230095675341644453760604172631733293415575353745322966956377287721476252608572180410138598640614745298088139638087747775074506185385535887744184016993317146241004895292502294461446934581924639374389935816501854003045779816791302916790441575283391444207887343661357298905599847059591283190524497443163681171724971453037175420908351315203344306721557632749038962225712604772772769669181367202298023688360975014368635095225230233898050838073585488322898352948923435347880852341163601179767341118499941130675560667368837423152486569939736163682165296567278014174810818263337528667786809386202774774400856158570033709030034317345884868995750643966450031663148402981534505638707980186306943118254880268972571077480357606924881845665866235596905518566469313481967683798495703395582427631112577027279769472413383615858429988643207771006116509195616332865850065321598179415204231428013558897844134911333811979281431129521224766788428204491653915929920815107580212570483441603570069332280822786615789181047799647889071679101388746123176595560916478798566221643862755038343836867179992501881860618061093144229600652903557760959679969197007126092597720590548411579031698802044603441748501165815817362342644765603006824499803089827398539992480560326795572007514441388343103999857433645594185047201486824663148375970805074299494328699483202279329165319329179889426245544366343018196495437883444708264233367192803491958584790731083443566645354117728868851124544022421087668966647463853094621825330675307771750980360386005309715826591956324620037080830372347992884989602458990963239962292216180466175270365678609651501480381417456526803475261577030490605190778972514466092639843015479605221848698521032382431968866678556899425339965906089064707674250635847396870290758909546526697435449291363392034129045820946855922738216787435238231277145124109944778694257070431493801398815339180101212343468541275536550764607142583781981096886533628443993753161236585363617596197932213182212210069152032449967591594658053854143248505405881940945088306424465506391582895887900578954946774790990591445124405044379635641603965462458738445900373534069805421283075111217137173577266931258769956769988790556118465566473953835875266067577799042904028570356628727648597192020940056805246162139439808497529080952961544058530607901111771868965940046763959408530171178343436348773084613013934789739019455303245338612053528475435596127419414150569407326041217912716985202964127456193971969755641733073437927477592931048931679638932916309508463575678965462454088035611316491561831303909930117040890582483531315168922585571970824697414047115109142655580554535753555682411255305773775474389826473450181038669183701977927894920491321682611474830636364665233948941630268436947340032082676703121895616213148173394864459489672725309328032126872002534538710140772945909577379038498514771923059825956835959941023215659912952072273530381301256841087586155358504805207295961334371850352330236295895610797231236588910948027767296310678520533915977942255178929405573588984794663940587562834257484504522647401953353445897620848103992289119348659928793775584300026900712253411273966734903113145851725780814205867980541012182459210759889603067294584944601986049638039041826985704720534955556785818553749214534930007627861251949351517386028675337690554742972173357066283555458285240861459230802413653594644844032931852405584936414207051449285788782944170850583401138448903293163597985886231629232859258004995307869236878123509649137940079598934483391167696079785321344253812846207911086379962581534060741399556733876593487556552355433330071592379172295654759470009889099003037451175028292782209305157926722175034077590915864477282611265902655736580261503901073152843803960642971612863168351570319788498042884907757838997543051297394650952663289897885829474810690683597522779406268116742058936271650874906904206887108586827021950883548465266920475273593791468311613968449819276547952473111646922987691503759213936039664273987909677971876141997273021624859889147480563715229579682224371410942544458870401556618447365177596527227783681301414704098150435049270149994568806489619073860749340235965473455393960838723155182990895458620189032663056098972096305749872971625341565790177432471349844439627483554828217540594741952218048859177490608680317742446415564382837318399426583892095527541846254270576526380486456663063110579446467441943927575084615058814375803200149162725012523353312322734977324417350837084301549151825277041109325811307599465454906622042297552752463423616029240405417880318506009490993236576570108616165609238292161960037775260368480114392304715811122524711887021560045580545447782852483547375202605017812633355272709852283097256853621755752164182308283018403819385641277033489129646048602146991807528582491632821392917801136469333278198939721996903905117993572090548387999599120706218250461860762633784682341257723420867429938098588010894820082379412084829091194470243683219650378655805491601312720052560100719699069280980806460549768001877721916323283464643910762036723345599555694281734723582844309348111477041650449292067129869971069568089949056700617194884392945566715250487895722747652499213416819156774817116116944767876684602600160796437143006025485230712266481437004260905678911072752831612041802248843403572848401889903114254461974129842106128562299877086318286679418915238256013210647990349622371655922541830938113937652132406807027528404398906485569191583070881624031491761055403737111649973629550870781371609248585360607744018782415617282948305201098566713216045301124585431540988903439377717424632111445648659404680885473549893230138125365380282378969783447383145230484018299481578142224771320332425626210636982651524656500921110201068333801867297907640255867180883141598334747125110113626832736678223404731684765381423219144893856041515384210891511692890044775649969071204574879121871874849845636681743908658739167315733889885159182823112227376321181841627108018320133074134147163525955329553521813135842871065672407550150165593465704034893646809782743477781635572161928316022636556958555264087337752773598844478767267621249643725397153198298617613204387141332223984929701163199433974063427268459069697103667911119655184279699814642054870107322679276166630702936753215566951211247909947155729781774799763376424622423757503915105760235404149054351383444513643679020450542964348916643001054530452054710400025556957745965345576841186724656646381430345688447258398222090647692722477803014052354326767093074002407470009679964494270208138444386104181765199246520008000044295766716797877417931843852101742636476336449198369513726816939087684973344668850678349052248355323592531318701979859844481432824387389940837494269114817865798595428934647035814950535533935917968458603879388180725181251835227479657112953850257364406895419255119975557701666304950423465017636388929246981111303835830936033362262222916571155709137008151519582455672505417079400628683192255325117368307396479338049957437938376637605730218232633704083675986717480516506209674936277512293520544702836707270729466908954214035604649191518911668048520590065629782390288317514834337978990200100609640438893401471775580983322776025738873726878438088591582312950028183091132764180202966567622996250461137736211624682815497852893115244912581007011106350247519363881265603608095810485455179971839210427282993247802676415977893271777833466994572044941003175645389803815408227565629584397130814643890460655498043229299346428982017131875426034789632958850919921861071795932064966885724341698027766036332209049162310713878519754302213936066624275850743895984495060395153592196548808960917786659035637714827473230376869039880137563870720094931970861833422247523982387154851739529665602948136513622922006846482336947304382854267629662678311468154174137257980436838086966156579528307602308778498940981354041613951935384560232305841557730662853206203645124913954749536046156567716282114480685033930837199719901078688105862985096196998754848584357022299940972679935751072237577227911606656205805257636712362841754674241402217343088172673498938573705010978376585807698032621690290030497677558005608761330778343760446472908304660883956481246720816654339413303257154380428029819114420855613295954499112551683217209061927989987281467928459202397998464311628635066941995564682733789648410024464185205059365006756558743249468596423306033353890392240622372012526874904937936473578264018695935039034132153601108010935827546331730962002552429788887694965072882415633190536821271172518485634837980365534688316283881310074885118509217874140888214222458267182033547102917129311354454174798142141870213480937277580716665537217377408094651047774451477713050763280462523430814510405196866548960671259591170285087257364811607648008035320595022703703630807184361861385283170560512934651150711866971977462265389006667252977144587637109450098603080074043974895274718854650653345853987184943646514732197714521478717905633412209491930560653906304962402332459317230231772130866254632669779160094307811882408913338609040148501874599995071572365585522753227129780710332471622399380527775714578872196185489930833753767866193837203421007403623182344829293536072604841273439009583056334797686617027991832392531616605791562011616941310078693381383287419449705085305408685016841147278199008415923952484428022956672015023323035127785295566280082012669895664564133205572157432108912955166554723058522898560331983936075433729480332366636344765369055618667735853462703115450804813402003396116194651181200449888855602378385636117936603881161725172950278616447816415480040768677722020347137926769131093078491753683798572482591694653406422730111943012923948793142296904053682313297945832202601194802939510752997048555773970732829121075808230657298651788188737446308079561121922090220059092445569898879406748335094158487225646922787467681435929461508939688238755137951475814236292751896084478925647721722240376631102023868760930917550303
85789685167473972379008387322525474611278853365048291359898301961279931123334477987379231106244234704310257380194154095886101149500095583261617846700558687127643340361893660916366793137687013106508901998526205289919433219527825646893010869547420315861384625201261880675345243737597509093316655193348116893737259758950625495367367333417119775314057887546241451436145938526835526968738644361319930823910254284368668111860768305944612361223222102711921605848463312922274403819554990589221832591074702553105187440855340450754617325426398610664645890309346693394844936913847880973993445211904803019512178965310873009783344161971301292502259599405599667391788747914542585155285875875846538751107974984552825498290382478575656049408639141364849300687723133437394361193095877755933893386829822686227886272999813680630113723936500488261622449754779841972995287071258538376877032758571804654336610575293185704472814528281677623350089390604517981819174871483625223765708007559284315263711626845855589340650329350763975672245830205530388593293088067842516569877293827528088588859794407527435776218899953781329802396826793322597416106913830568519370201779667233170532189439027506032853547728362696446807728043415954799043224375555128388493558257841686057652839738696512113806599215539310507731502511190306578045831922282026488686814755256903481609354668591576282953103767852313062168858198962794624857360390350960038447845234767626838125483173201496880132696514066103996613457379681887658291822845739488800158177919248489289546827202888974007675671596429566430637956898735041711059970976722921104113972393835004520090653972046076550629897120458839306876491981420670337170277954105177076095821242734114416369129817661985754442276373215696439926485752217171129005813716037057212493257764729373273457446372786948961585890900903220938478162340860575771788624302637205730726197370673815063851625537082179623831227784214462079061246828386348998469108786638290313766202829303283709446867432135174548350306525490482923095393713321709217786371869509780673777440055554056449790081221211233776753481506549712663535331838566277959850035990904173555894554674249521396232786181790565178719130150914887192906373435523980167938511609590657486149323824813684737467361440923520555016327690665421531501316435988242838213986683045036854644510968216463718586251213937870990859984291666459846459505714098957534303971043736039565865740064764467658421605962790912735016660446666197379531184994922233382259358465889394706701343574962441829926811089552130428283749709440363968145655736375424593844656537361221923124736289132018917543866007322330401676214317942436716429747817919031257655306756697237071826307526635859870274699977949829023791722831246845896323809887349702029952288435909723072795323054795618574718046797328290189519784006352139052969760590807190931996274816462604539862331288380383995441296745503329202196237348733898736238831517716131333653001298815316547745301584396661626329716496823287739376174352100684618338102655398547882896320186980921977594797341161784349510905796692281807542617706815286679886947967730015462940171139918781194121913649568863242181255573398217936686375153172799510545453386436841378991528732092339903326226868714749731119265376702520009905674298985002354319651453997942429616279135834006955688672670140271657109612805572240674627541954435077903724714011785149139072993547435560412146228163025943444044891562718045402081597522627144906907459206712502813070576080788807760299634305224448903814632608582865767340141427889408419769176669140149978507680334980007079150541066872970682275956036474362432585980202944133574413628338605461668660215814428202987891209317291638153301765691712636558990261338644538381460417515642253983291024170138505505454782144990093649614230732937463516669158735628809415541914944013770883666766373555437416488504977626229616278519217879783119550881848190234064172440765607849296340461636512033552115109048968371359787392694325062224949069292331260508490813930916310569373225966512668389524554311601871381956360626380409395439181988478377201049110399779390497995186163262928415491523433128450057523735221192214842690052791501288352477784870061747357106267320000258248515037757070193801063507177597223203662001594896221027832611367080522473277836310243381379051488348358818953064041095009122733784870855079447398459154461985757811715084033767008101395737708563125425728881592373385321180833636647413058786632374566882991932639665803566970933790641583085926188782185385214276764591214981320381002847121596283316057303790758269012452875825774869073965241289520317890840233994368431255287734443892576976374062270321625297975912766644186412961589067355607101246459138871252382978700384924667717133191990449491775676532185481123576336030136723095810143179282130655398593774624430777739325595706645481398005570391946972050239409610320251684225383053410102237441162086842386114187421463976974052634555346159037942091472131442120273655356186023018702540296951116374900215219407215756368411261442125593804261357816804982880096188945908035298726487791522552059580334388789689295950338258638469649315341561959732632162498362618301577223827280888782251977241056530252070466278080160133535296950637805387692801182485140722709912170183636393274541604562170856304454437045019307710510262284363431329259526067543103568313985063476305838635984859493259087318706424088865570499486718188682172556598040462213875418723459470620670290925258195933393205590369489406457431073343781319251367798703298442069695635570447849522289869783199749911376803292415838136927050205624294923272655556722669416234137362254161979171586494271339675267650510332520511863797066047114950637926454192248920575977933827849517969552860360061459811118496496218745963460432184488037234140854900205895064829611729309321538786030003126341215592490169311171036231864033064141423622361536605497752151153489670986557893760338401549028640455785262833003127558829165144304562850363577071164161270909438084749689274792618000209974053574770021166697108097818690714374054920051170451837899812591586164111733110265500420494206740773799162083620420992366537743145706253165356237603664505500263135470194684392906092571580877554144869742665129608956811507068020212198683434502367860691291127890557520349680818249148949855599184779759539536221924498827274907378092643991537736859063369617530444255849137780327339624897764084383367738370593986262419155421623682254698789437535503160061871864606825443780624244825777519987899355603842338092252036471109836795432515788259614658621057068756079970209645831102737356090970152622463449055754047290526225382946238279512599782713576214432199928785719186260827802333967690005572570907817940740040826905647285171759504366671119540628755091479135152286659266063309843072283736717254807258425003454064569148856572778693888329911751329898920649901056135243549250899699155688570122308590553302573481452265878941254186245542575264843774267810907265100176583587905725316709616572425225314871059178183994370583317093944940912748966385160138262982991139466148945353419163651726151048480083656634505518078453785852565330683852231403007644040812246864673584687421723091446765846135340201587380565937907289791077412333763565516978191220716274396663898309401591462829960895542941732243437550695589892820598446120546448496325189959023823986419959442618382120248438539816355982917047025954472721145129056946036555848372805714229737983006564089115305771317963696632198277180712134969145055605112423544375650731747723235882409536301419932784603499544075704757467822220367037681168420336820645127761343658187831126052910277752487429888331263159776279764884515385392489525987579640221072736923299534520682781889871380225884269670125350318039900246518457801224551477879995345949303749032212439828449226540600029120430992989859698289090575692140889675061066374413554845018187512107982589307141582438466958738524564170112254172077038575043148720460624814031346635313475523908294443655543504986126742158926894279366713322613958907160798457304683498085410389671718666768010635519539518241744801822474774246669196058700925388279533184090943940466179461545262958487298175284884112437876686669799988845973457786457560379720743623185560847318889428781717268290484140907282408088636715651877408999674090962036850767535461443048931679701964953562287793704729909875148173077890122844218332431385259562737001531810252097381725079297440059820583229135660243622024377135108427057203131057387662125758662599752444066962357258581091263410733947129078169565399475638123235951050719808680641324366351312394992891363441715029430770303038800679649730544421768752362265442255839174056200681289182764811194725833842802771148617247495723585484644060994426175556924177350572264505409504095257843219010768672367288572302506926529549024699360152267114112378385594530489789919173035268637579956227541886356764241917177291692019479109058817862725815940813813038767559814444023929702072833006722600818914428965834341378785603135999036251641620387009152265543263695138221751875452870102175300814812186229952426392076499864551441167678459397016175537109774526451759736637597009078250067990539270136947966199788953398401955919791578358108824182565996056080548319671185307545849775361658089668876670074053668282225106601434030915035247242598936365694876116294197211997264987214924098342652319640728858798695933358829359998559116924935103080932114030220308982476412008088925035065758252885970866728733259951908449651270283326817437489012430854154344664989850884467727824093302636228735049364666545448066072380188751934261968175447744641405972782472878899263770622343201091975408943841543937946782270185714565304795700444338205474754230126236113346781092926951967574148483051620905083689477420900244072568736377428393859330729661501354033275052937370514215271243319727747428647076107708708673506682631109065422314491396762535386760541932096293747681844396346682280919892412942300013473611263565790655883160704929552674978837571775609940610246062659209768511223143900565351080389282453267175515849697893002079717106632946082121874743496060265439538465738572400354988061896136791247388781917609384644610114660140009031308105225500711593371797077941464011357993287840125573297779749828113990010144372967651249918114992207444158901678658621360451102421036679156984760899592300794524044261247561045231974671555169205621912226509832029557459956314790001798615138301992062344445591061150446003665325883489198263898316285159946782801060703836984975874972461392439659575390354796318456677922740992143687206392667177070037594960542448623665730451055964895761680779579854752049123854645836132172220287126967195805840407002560092830231392468625676621287304636011153971188180674079614781906103633786647052725190488395204676959411333693193954857918539772110383166885331471405189495001829801274933874381506429069476268912525686182926486497109922200989940253868238827883111871661930631717294855923501641500844291430572074271078094043974952300864777186281351192429932785315598579029200725886865249832095007537615749956730499184632620831048549740251967067084507345483560780284453479406648793902780622757677820992557205633262407444478380007401242351783295985775268554932486204833023768960283420296666619134978686888080044628326475019650853486595851259853343340910714670264274431835097743559616817943484149861087772105077507656393885246152748604781334609747000919675987663336669335339220051036972077491412764940731790419736696567391127021619565103125934256655363074515713464244047622904827988298446907925484132366116149687002366433828575414762409903496626300887468639604336699586806307260902846998521788389790961063045298833429701786217875085639405038916786856165078194568946408163020309532476269882388629870951175974225250914380826455928620020789532257910447507091663226058645536055992851204794922873998531039603307176596244665496221114796483776539680161498200176572011315227071205835285834327115001814860485412905787260570894994535894523655138143303660701368096864622008136000847463792732582260516711453831742180176914975483130480308540789189604330376701231315627510303409847157287790132762978314422822165517622105999802462291906758028600218092433419794568472641706539070545120919232567692060264621028578051735502002099110605562705316159093517254303199215399684412128645002095154070869792189931088760786421468588543123530729291359863656486104366416955669228097465155467518790005447512559441458981361161440652678371979221932247191881853921005431124207472525418768155733908715337768346303778148579262884914711030881829572877508726971726168071393016025846867228901277910601084975844866351229196796303320160745164851585517910794386464963511190449510544398023516461619517987044182917090463464841182223267918933616162351687299269458795108202026680498758801023601426591931024215760787421652375971120262350084713293943696533000123373091537988877054745025874288241286615487087981390701399478977586271418606270128119538688775539983497924885850220709757180184536573406512281671861083239125602922986730987277179010569001173317902870593540214424548157802838625521486420126346977414670150444228513749889031107652250156185397378672856405896887494032446467428462368344002588805000247979562541616490476348592806754427348145529471458040322110039267502399021709795840115199364141506921348237325698251159115925783911639721621376054656907456263163824915828561505731515143992254433194989546094852356102207033471577663711383697646048334321378101957830347429857431624862034231290099727730734866050342203718923933099328659035397136905607151509319827977643057784044138468917136723335740234631731430520509559282386823659794671991116235293725415263279607339130983257746641587659175872075653081455136084143565197406614768384709599214413656024655721836088504601675806932071346476237846904790995423515464191134259074468261807111912043113181012418983515061826071086726795477284783886586165422122142876994632118311235634224296895699323180493355671545848695028643875809648369328946105800224178977771092423194289497440875172109708088711742646650517338985249834824021442125079671466941414427100088251551196524092621657987004953597714721973359372562232168526400859092526794121869784721816235338002974024987702732324096436387702282370954566976480329473377925422327354044410159450504980508372520577608448183045598210407805389939523580510819430262810751116616213486317222350674782200399251430774093365812408775552990692036157998789916403623705898112914372771812318161629174914084619832960877506438090778750778922485853180785913913891327198602263172645127478800768359505472780669783434458483448352392329001851648962286360883638174704068196627435507112209379949169599030335084343785811411614339570852722554658382045987081946419826798882768001344257345724397408124837448942164557084027797492089125647975811999655699414816989848100860622620030399874164768484311726498106576460595846262933857719723678511077103044972299706897234215561122349159352553488292441382129011668641122844735764330344349322427993230132289950239290208927411898836404920583778302540958699274553295417953866542097203658970479873696191195315887543450798973007381224018394544091565425386648351958112243029208638008372454555664558361020147015423931439746472541891388445738418204345028898919646108904622382684668290845240262953549120358692356213492883470196939738416305645850524328377413052738565512333685673942083974112880759151034352494603188837151602004750988152484298877818411185618343199970286677082352840958572806074129730369584468877061838787957408242380150526672796894645170197758427254924514791928675366577767746121682484629309055480428122194143077627146115870043878034824463840018235916558232374506796213757301087175852286326981988078305775372502535467387330297035199906929543151384634897961470481751244355681306711532053047747284836253365739195101250031227947547398704765613872455560074008755583052489276537879875247041787626516385517475669200722051022309316067266081954011176898727152423468267956381750880706915332192637626315689501208773758362505011945898675538346128337925972884044356602942748714825785052924532396773904440270315156061506073318293570413955935441344125379357672736854996464699901760053930536153172482752497399742017802673712477185806262522643114755216436269236651589358216257326075556348730253443033214590537405501832760163758119513547203529189825727655572316064750215972953330221260319631046112485353786078999058068055828854676851574555180070411321073478194291655758335299096986534229399544016231049172844243832868110838342675848495373238023128350356559412167191768138769857377018127284567325563283174822221996442211360107221357337038844052502363233198877240275699059543261011759243813812341321374354336176554454940340325139754645545260482223670146357041221551989113009613102696714080016498764159810430062027498881866866213383090210615903284904134542042134085625763492199687675770009808903624753943633364172477300546472629054103491510930370183736561580731652310857923045126882399997126773946620510898291560869515744870046398085708248407083816591137553110363799447131501347308893286195060804586713718466316338093439518444274051045070175097078611233144213033983948826132935408110308008933602851835867651211183615253056786698964034159754146339440297301031554875764749017122464959676710240881245165049552251406416635049133922556464047906613268109152514381497537942429337479214706602465449260056403491392915031394393424954040448719903623792530528496961246013172710767781350942924097924295966114769704357877551850429188541269493129944090576947785716895040439722721995536258954665224193604345595817625460764615267563567467983863772872467188183381432793574811081111210488581982610488477115516022702216387259643866030829578662272313376098143748468864841379126285053415969578709204251355479678221204122190157921193860860019598016285662683884738179022605663365015149998222134665388133257129983575538541090609590494073948820703616336753890733546356028761984975396530846214994723628744006603305876597317901443746082150866670888929173369038789330867230592737691899306760883842903492446114494564560480370123722995660312108923393329638254990959306295416934282894867865758593288437404189355259520331598758264663952505296761107830629239965620156323767558305214913601501575614337938173171289278075490146444106665477744892583485788326705160809426143055696202145096119656536147300867174273808615451238715161087802544789706491573995915426723765028996027361184966625031596473965002052997991243018857062352802726940168448537996116070898968094062208667063080386717403866395140480115311877579773442382708542345695586469271904278342368175311880148336806680410058457535296922049010381410014968234282273736048706258123978567944588633277641113316992722650998795985347023334484112462816946695081526600363779010090196216695298228141795431513595069512790552816619298244421058583059344157345550151928678689484477213679832144574310799704642396601613951951775095020330363078283755579191225544403772623765407461914352123836774786092533826070633828802446839829665456427773783011714421069995383663307131488346027472505124543382509500645093461962560159416250126740718912768346326694027182046288214980530913824535910234087140691905856213499683652220184795634626238186640090133453692401600894672660760101180087365794776127954862850566587377465276099182160152430278546813700214697003810535540510167400193082523487119062538402455506849875641243099212862969792437351712682571409311643339262291653309305146102250089037176600736709622601256274970672226974754897593235708095230524822461870131414491829535495029689598190825272382403985406244725663140611092894220279986067813786788834429759935080871701610450829120337086388339491974918514535501899217165426169519255480662813853239674677736749598051581805433153407515035687819106386361561169645399722011797079376678674905065412167355605212013068534918562604610504068423328800586764261239772471723973619991072459495504053617342767730584378791053112428361235320133317719309885100058567134595092086561875524371710805622906
41794894276192079770057876869905643683227967989726378878841708248187204292639272868992722493700605219058195316631908910175934019600819846298066125487651742596611782175214457627626036916643561917892932160372607146339819404429627189491094591145710928181633272706180525806514831589244869223699323733716230093902825824337836005422230073196062645923781358453528562575158396816591658297551815616312622329211352006340549685702011312930790934670920683962176571733390827003488347223232701849522402466130359692079612753339541987068954721528863141229735059101090449013926754906783320357036514974760927420531380330852452851927224317893271161608777890934212342761384064226217430407058396509375114682595359465422083229299739500688176867822446101988647362729636563319977315155411706252364138961994085028182427298665316715918845692700057428881701749045581334824043853088428974359206922324811621539587359241720983862085488483242494644180761438973520243306387972170618403787004565819599797597894831437051745891543580254893697956139228381096841801286268531154963991627418668009459933535837173012032999107438332174256394036336739750873268262090164605944319734382232704980616097658833493202303621631493710574396765921389876810004780304472975209885496785433254319071267456959027203552610981124281868488845122941845245803842496015648424531897473603410741943421437423145394756886215157312909833415391959888080595137778707736750518128709733672218006755610279294876681936297727239456901219004559117753134659683769119110981567951909395579334439412883431661677574215357595639147191360731828063028085622361181532102040328005862533025933859766715436634634392253272216731007189139144433895593317872571366519264569013099050874116712931738609049096404546609980925982168765592776192534606699080224301603234383950998093664177866552806504340448536780400889526867647532831683983271223202083515158176455732575604942908010663068895298787664730283679658472450423500830748524571586824004420968319558796332381192525904823800281263967433460432484039723786195101250688664602991593454660843987074884203013010481772103305744699035535967579676532160518922377940208963987402598288046394329698228234630064817305433482039003445117974057631177893953412934723892881234261313297096709395696915153064262537265584244494804993503798565325589283577236141465595323158739660402843716634631783094124851703484033756685635712897380049997627102907976238529587681511301418891197137798977772638132158399548715834494117077104847644995208921250068502652753264182335514477774118053368117224369831806622962793216764065971541850073765386390830979723212623625261050476236998587310055541006043980722986013174711849625382734802261522393091291359123024750643920383646697476156114808104976266446078383430293238849412493046021623628648225891764769261666694212419589448309420197460731366984783303274215939985696642527933319937580662191671613187955228326007006245258625460454442262673715876174766395325287089539821315304301767166510011019065499328135112651576897481645073377762426366617088780542891297395003896364920123421539006415746026659087080871126188399248997026009110112724032966155993419032972891114610784041747556985732852168728748631674315938289072741829403486838453258726378873768702438618939547013610643251866948145801673309291351789837447671583482188805126734449278802456332748733404252939945372393526111102568988209723798502611101126290260018624903068872099421942309525798757655295053928245346048572744444575952693728062782859445961527784277681365610672836079218926329630109780308108155956180616759398519001263478726848915063663256653039519186227637510387593901313364118540243454393253181646212555649625545232956623384238317619014941289813452940172849258817934245949043223335706044614202943723182091174142626038062559539944702997064272879605132016994939017645184661727762698957480956655732357496024155588935446123443988721913413745164004687591756134623981243178681298955347503564373871275762211388104245736909674713086022567055694669941037257163549471197459662707872573912302944093935937997183188537865143236610200703133005636487317199708938179903285738539245996894018411351947384085997261089492306262762245734276247207230690693928140084098038864727722918236092840988827312306482859268657471409821135741509439277526201087635149527785745725750345216775337851377378550861967189188509400298125219618018800201320553545376967158835041778082448363313966022202967030022924241012034649335128181393049184647079317586410581768330125851182844046580380759105321299807408123909364134326524316978879792092160902221820358136004235604564191242672762918481145313847471413341860051317465922041688009612438815790952878644439232239024045346928120873127054091461041133211925370689465384358870597518593330146015223026092007024302338590474471770088789697352033687939363905712495006723802330482460851663297402166273943883941589243153026423082257943224671206296013026452139873191772095599906771693050323669033026196911213913175594856342634808496140414847480742704319931893256586686460017204338601496553616651721436132134708472340323811450917530409931368633324150101994002109980937732452570475693556461017686449054152403800883092624669347717183578081454318954664495308490103917405368882291570722880212254130565853927973235575146510402564715093360965603590789783886445732473642158818753880998627570674626621875409256733421701459089318249929150587855103556496835932241767369078860046943631157996576822700123722018330940102755314644826049462544524246773480853792512351695564432875403315674175589524103680593105778450052304867445521116559392697610419370476152588266555218237373938537802519174257289866245225495268701951094887826618468193176613216784058134784510633176890812196992437435506556984767025401709814061806907350994608803774982196297226673348259101740994753361719161937830385097930371218618776150810339331899263058222601696590242586034354013262854008798008784746283493378199848342912155004235892450397483497652438650613573999165187665054430851461313864807825324946657700227971632676728188043834239932342678028460236456292080212572856013164426838382732530718994145107014635465398333960327630476567352086471095405921549658457710361522326340670525708619984499377994105755896597754428700598385278389170679545724011145032645200565976418265860605776334339287057271617404262304610503168537527963776101958365467994076627375730303392247954302803732203621882945152905396417416953287166280993336177111459228518447274801196337776366032257092890528376891411369056825868855665195813004318050713420751197338611167206406623697161890942548268801037144450189631592378321334048515484402190578269054287720475986672409257952747721752310603908247658514427023767432386459274951066743245831176936411758960113453284949485356977887301777426757380580920377476350466788260684612068688402302590113224135529710768997893632664778305655207440906420554432536437577877774100291933913585059868105833098023529982406502608255895378008047813773892797772089081693651770584094550514679228191615657133724771716839872027656507672892712147930763387208754536758063033476344869540047608766402587033033368952853915746638630401864723440466298230484017088304452579650075102007901571249059965403747032280645972971059033450731740981129546754392029290810678175328568970424196356214784936931727443229716521635201320054467083514795568250849462050646925928185308175008484036405912643170805978510200838482472379224795737417012830877900986172072720447298995389948848202497016786618585816731552306531746183721770717592174099529358650004793965829069513119616850575758855213954667913889852624906372879565728650307766819914653617768295202569087993200990629358426579861416476883675397410247829651714254714565151515313278765606270768089200602679890534534327023292419455642602738991410932951145114313775110688829041942171717129585359135082838640942063774434929338866276456559294788629804170810830327309669314867480015011871632407686964434772723751313534256385203613693549983661090516241810870195825462451569994012866589172990344304804006121809149752411445568067053930251341957357468781713733144770437117111630380433274693147153366399259623280656227851997615299989669218219297543857994194248211481597353224427728339021160432586724249472136272413616272653922840670824161737179773250370629818665247036883228944665560437644082751315237028422457175919355533115971208313930827301839613601605487398466114226585680195564537824978229559193663706249053928988183997641301079144144237773058773118928438222292094974475597000679633653865309968648937108741174780494962253074866717281980428863110255854241677683915273727534273442679243113338047495682116591212357184069597415099243253814740526453245922408505132246978730260534748731233450571678075270789136207762563071630792956560071101103853856685183271848452273693323189136162467494199425614137437474673139457528149924261857391798936887891414475131708556253428917503280569572501375973241595545392279856563130848212528142875128495537011834862772989251342378296407201543428807822853273755495618669764244700356405107382588022619341760999495289660372806573391301618270744061565539361274484450697008466753943598273331879795749352376651683397233160384854815937754773916534287354418241943688400526100179690239365082182946968476369749132693686649435278390929498123836502720142185252436217269150911164448609579390777624603332043690094667738620965451333479579818717045157614640362809935265474148757884778560309873215136776989206194922887412606795435003454928083032916817548621744713729528303012796086437688204461481973053327714668986728114896425396491989118035041071939023763606772539087780227753841287175560573024951577907260701641210504885187346484430016433695400092308684026471239669006445373026787458811122725132174926759340332465668438120887028684986190485752318735559149401289845320452407031088707893455261025019800308498798110831479859255803883365825805237865848509988018781851290864637102477484475361008328811624799779181054573380209876543329698801716238208899337940715348031114023223467262319176171589484969020640551233030454054742235700461883079548916276611835598878640408297956358188608461519611451687939995494824892586204269149968953087423588491835527138448962431505903349326366010972711486601684557583992598899685151069763392585266488347652888750937535049685002539935924083299780285986971474401491507850583634230084551042620107761955729579318908621152570838626448499340259925595500309924423146062411235267210705271743068592065971231429991890730734892024740325357732206528081657924482597826776412246861228150125487748556276374742596714374769711302210121609356636756015726618759361631671785618031434845516012075027441617469859685528352559295130775536847192591685675397023664497319138321018731797068456524339862328158898341894616436632430229812490702639107463136207432769263642043878914617154893688059749419811180224482293549982810023586999997449429581031313103935821223615809405758048953723106531318907877598241581093222380310968128457827853618102639139608993609396371404380214992787119204079864857925496970324161127878344072967082237518871497095522632297688806551980982941110212348505583901544128735873086972457396778769036157391572053139785499422643428860387317774124333015670904933909932309537053579234667356463808596516413834494958455129837747812581032121598606027270775581615030505374351148902989500011347339551766888900203393832313310016480670691831490687495516312132773992206332912043398416890899472433477824407544051061096641861693078597468269067653383036177491662413304192528866072379703508310872891963459541220670916485955598171837914905618282209242290421462942907100088026411597840472584628488669943276900283150498778799751040775997347848870227010542111529055918527279967580761327416108080484231373682560858373108793375411306143495220650373443957062708331826074799099607918281107047847969132629474911900759592110559229692307276845694545687468004623197270549645446559514406961676432439048887535834238938677150311369093912464838722618560344416594736366003250907440065021938966137289367244881451735954637218285341658833157295425782508331677918711925160433796224190648757960634971691347899907740257024653592771425912977650583240185192968432067962000955913179881946418244460896335924719626822184421787163838352668945825093546992327966149252234824649702916591525450350694550817624305990198925080023732364318704189566531181951691788058328025806274697813077137755032487210171261599710719578994919270368242191107009977955573446384413756413648228806760584048969305314154463884411881233636401059326739322961531571307768314207355821498787323662933781557466732574611985939176729891362690700294102567424369813467406853531325534624995602785838650650663890968210454481735824200288628532612794232006342601051844346016239884730455461403222274592631944818288319494046072603405832446160382271559788606751031440634978613385321964418677548932274915476621463861379904000428691572361574822081979724224751395988207050023333441634395440133278762248338743497679735110543152630826947346344283297731989313074347116740331614682729181646868863135963715954271343755173352786852064942562310253992962637674683136526549417773435431915365356091049184510073863195586059485734897351830769907130042077936811402194504386694674859663738905600817683717412125928864877541617040810152875835874559418683199880963701334350238113625759754047500414671631511712390504060368204877205395750734583733530322676562588297357609869741619220187054284400503770006904000366728451025569293426215067460451306880254602824706972028551892330990080162671174498565368627382608821886494257937134328468787307831019277276541646490599566289596971250973877272370327821646613534525030975687894812463208159048593037722580484727000729275686047388641363721663370734509494568114991479903006830938982805592431504478377585295093732810861977508503608387526612852059531872796524703962176638225297719355608917056909497609431481746040381019591652639223215039943537240529194813913330691744649917068452113771901310682260848679835028577739503366983817407585944827463258258920419418528007021959224475282571679805092201142626371594513616198955362520367433958668354596489254395698971597257902449966131617807066187944693158646344219034928191529771578060464331899297037279325284774346867331053871140404711343614988188916622521513629327962868261754904420599503697693700240244489640342200412278133781556086034145488927304096651829835094485622472235029108614947027280352384963124329657610193146177852607407707855708876439516741862316172067516997631393513452393896530733460363797398105809328784091183502774585928906313847363422781572907476530686806532823526605267558858866911691663544761915018495950802631835064065281336563946718554978870598784264436289682093494851540706767899964287831797445695998384649920013561389010635804005368232253420299888682188390856693180792519757970803932922013727464196171192253013190521515994469140937861655210668587005158482936690715861207085736452825108173365809846729417422666100362465077546856145671044306946872460750756458062352238983558294698780351387158950036475555784261465112286860285363095279101894747128913531030745388161605552187529517779525077197056192624949156917689580594427220885334571151836731928915942831461161516853192719596398329394412093675350621713900843488777790255319627469235598743283759347104461611130450088070729896882877444210878912278614162564317057273873719050528275792468347559976952025239857779605612762212344725757347769851766971928052984592129191200403174666579541623894458171994835254692672935066696218933966898304075158142336858310604848183215780105193493628742406820523634770348170801947880935894990997976869445923481446946795363411394507704856173118497864231066481023256659211838533009651550220630244603589568298195545803459641807960764784630598282465142779905782466801201657439256119340634790684461204896105441401943526309677124880251118697742838823014460972387788384383089964386985107246164396347355253093601351786558041467255124897898802024808985006254619663834598059455683917967131101253735185063511337525256991418067999719760207458929797616932087235831450655292786836615028744116280450527087727527775627455220021197961849402062398982924806718817804995008047743415516599215203312847424808865380142331732431705356879800217675962769100354345696705427772623739383708035279829924319779516079315597801450929091875306670946125550680389778527159081324462907465029455066184815702290020168594427488182868107551827839935640896587344368015332489610304929164007120182054492279589987593290780691211770517431199543299488997875472550330910482366188958180275969113270995341576147987361838573850921461604866552929332119689122617670657112442699688592821556138861895229539485348065619597484655409475473989791388162918855558286638873691237403627726982094284817656697674331550777783821627864500145260030774580685310291681212057391003840507723212503903021530104860434076700305933293212192878063329493639129665145597496839089138837306569479023715686315905689533686325166439412758022008883018599891161709137884285698208317839455564972616160664941053445544009893443605354537792210357953810359276500233891473809721143203852960758993521331515240808515368425794306482854825501458541086097364933013911505411302734826113575475319548113362973086523551674339859453139546125616188623079318766310216795621414343828554500252356368616754798519966309441364105598683454491749671250871120183893658246184913323774054235574685198206475756680233372368803819859620070832140833232086341250818729889248782029963857773337710510486248489598613727540302616007439534249599929137041812934775857623355581329851757627300111194707764340727292788324625191238507078903821887314934609747264030672823906890286338060618181694932628033441232860954978772627103428187239113831461083195450311879040803466285686457167114894028641824357647113299379000979457872048609165603037041960460070917568695983271939347144359422493743936107728756825562509861487176915920095105556726939119301466185692854626085683648057357303511187285120713098538466627128149131946998639296815229319402877110595499116042031077940671949776351603423597038907943680957406738211645038182231613536513763415968892726065477652738622572893363720976562210248454444834819811025319466927523061273449982275787624757961512402119275263911725124910638672584445009020421820367732934191193828692694196868838982829399635850389911686819524744567259450160129767959478293047710228336291100996835441294029141976079812446098101047188231495423934133957873405685490251174952568324451897857597695400189507540969600623668887052397728127588040091139263533932474218654453937068989701756980621130520032819031380529097876755539937705581560676656205354151269861531106426044258478797474971966404962916140974547963611707623801222472666368746041454650564631946773545577945948322149663806871185195126927561451831873413734686712691799440439547913823302759815622996775347180737309042213084358529511447916265271146205176358541990939763697232718196929223581961351151284028910909282432124805590230586063856442104591665038846846872143650628423967781425853377592487520415315092743339212147054579601019136361587861972124911783084004603009719720562462739999900468291221585764717195714259541690658910033110134836550558914517866804474080719428957423660100578717202144241488986022739671863577145535191704064279464854244955185473099806449023623452793554092269846490306975239290529410529208001586621039732400894758727314784829319703994406631143934309013382838921900512032347822008547014059097906337286770932579337302154597959373014702231145013032184941242965849763997058995581774800259202375349486342760257540060417392376134063865318546241035292902813907047467726926708910575035259316935784744667908980201402302429418275568733834334232327987289948591943829571114483103753719348396586754162989063968784802525105864246135866761396492880007217698487588675535022440042938495681959092725951375358418838803032070184494462094700709527522566062918778512566758535518857840388697313570905302355319496222312693520261236859579818498814890812385768874499258023203357262732970948907
64725618769434571775794103314659662021589166868326532199759854259266787610847285872354350866862962286486749976182248606280970952847167551490628866091100301072371253620890049250066073817371172745784443400276815809605179520292609855474286593603359831863703437100836993185664534082381166393374705236996511603662734100856414561626309117732095092496576144871687416094163057448766336080545031806841492724259694891482320980900346012094892019191541860946938317191702116252789258078051590457524444430526041667018433993830095698981693505431845496805961789363630830192060357207520511228370945060415393800975729535400511289334520810613531091646714178613735645008166143621027203886895718487438037854934697246613484241702437913590075232146836751580747369272238075858780308243766112978042129017127050267363975370573830238976894583430696791470116182054571454205407829393613042530621623571276385288743381176610518899797346731096878622406181620841520594394180132302636780028397679351177967098973104509332687455438706629072533515264321528357077098798321178273788735663195510831198089196381681327108583975556985749431948509934717116772043971705495790894004375424785293584003393095997741985400853450620568103616935554208453992947240482541718280023297586573633640482640378038667811938323940169487487217394526781828550717073385804560948932264079817480557489896006618814494880964112524169449744478319393557297812502478519092270867046889025892512906969506022945051910778171065569954347126276544055531410604727044668372171393503585187684590581888330317675472329361260510570474552077036714996383202138363201017941143321072154024736804710720899671384406977653871832935472014890055762325122064034569783601435735797819819320035286338320975938907315160506286960410571795815071336996854062532574117361439792769961227001913876489462097886176344546634288487985551865852075638432821178183427595697090406120145939981902144863530087134543992031230402695795599222201550556841154420402748547700974600342521663662896151100909303666158823853947766003274430016381727617296875276213639752603698050207966568436814667292466597590328127820225555752957013577747180662618867247098373690707258404659198760708453331919774074770727179725002236991485718629132167646859692595468270113345960181502820254763609199697635010192054731269746523385808969817436385763434283860515059520553265519751773730162044326601161388972545393159875974160967097943316698478771473960317363422805500811794088198867954912926206804953444191619163191794026026480000636635759730842074142239415232720330767128459037553431378727838410014818356182027703935578387347392130233795930043497562368349976336788251185079964555744487205091431446476681302823958176062173325593145541412976283561383894419223155907580951250715817097608393489911686701982013255550515417402267644538211824884283532451354059614786125544728540997791902164600552828831867167252802456788987537928642131442949665419667582679037346259923772846052061708617192204042899783956814418394574444417290904017506991558226470839981280940334321240887189278825862405270282978789359174489652087031797932939066079105086235708963313115575778608632933872727293948501925784452053841273470000182756029326032005399154615992781656098751267710880573768427891923600273743424423466987035284640817713672795490644052476268544638760751852807629958994711789865453431354066603149376382187113788139904727359030343310829765860569239930971611065292085879162086648803246408435527388415496379053433072973578711963033871714919099483414996312354918908482305116812782805991018221283278193840778072036365469093951206665528638702638472083373350782938297008606138318708970632042614836449150692411442733992642788398832469417416775177277018998842942333683464258537518693004489644669199933353613706138573120979441073778475397820443970445810398386215938338498896163095970380717032281247677095845297813672961385102991196286935721741038289006436289934329835195693887595242963773309348093171353790976475746957403300859559414652980995701392311225519249502022888833336177616151958512026791307874086833019254105446433225848072400208403089396749093270127456895225610259089937587428758453253098496766313690905702605371835601355074095296193408012973075320701882851738476708855252007064745678165017874195577176477045359013279360802344847832919360647882926068123191192451481808777622142817032329971284828952386050966381199741496640354722259771163193095623811987603926802043659086686420507192956799455748017584381539929880535638043398704436309096174495282344930414961939273541607977278737768811286713125400707379135869039334989374647489963106625546001716576554453691478936186017297919531490940236284744441810662451351072916001803456356195595004254824903507697144782436950510438123907366674646331078791247653525173541781141286367701637573549176468497153903060036600128446466558766573414358465754677898669532464346154208866861250070823957951746613856629827421460705543035624088566739474908025821615121788994065240957065940172894607276623777394585849062908644595029290226282395042306719551469445684080615068377027218941876583598503283084376239976372737024624253094982095127352423921018614306050978208969677461915498400242605144549311003055722116875391875182604637083299088476999181651736512137296022671052389909300086122091365647131175156240474089445772308746975617798760958190750076715258876838207339484497948537489465530971279119831015119203236600261864201881410638192258889342168566277286255802910527147130373592421686340878342485558160660302147954785729661506924258824431347627897771001175514800989894699556523083855331590717560279946234671838104702961483468143935327702827680391617920946866872378154025287037625567197721582223557770187893308571913405973122284038772406897023014722497019942030562657737238085529601270392740589430273597307315937184133753549742469724314861937047353498078832926507600780153010692998960010542135264290537257865314622233213345926800589659068374005837572850879166264718393443933155478249365656562932742551696260117695056694629136349375477163449224229770038579961478934594978590640763575353701040534759898335155646302677192550727756308694619972292186234253778424742837735595520744287719548040132576515701164512673146418964970977409330932201729539772961560751454201970927309499867344261090395680934214771506533702967474263841093444732399537951716901044718752384094099429687919419561886703037723878726522742037819170289700723539206016465495487268295424934865555021186667668256312089562658248181878010570356559225008779892403361303784160074339396211793406254570644893596777738805975420042239741068129379599737194986534710621577815267369575845074846610277608421317147412975159986100218946787011066071346182065021196464849305226737424514551086834219668558974696390735290473171223325797676834041609039351422740060276300172367392092955041511527012989480246542548689101148355820365895910506428003189160253082721979356376451930772745056058383034459709597589919421367324163248768767827303431268503973565802640585209166074311176296564156819892478735143522210187795939654575696766478653513040231774420367216900960404128768500536648821875116886058357154523850744666365476499696400904639611856217335426799254324498823717011014811759952042760160883802614465995361911941474390248413598112474940968606332940214093636092943743423718886719607935181205363720443725565685326137377783501391026232535583847624302892902986487870586540173857577823094772296709942794525498338501197712640831835233002711579114388604045164632828753439215481920319831097742620657654698729649353554617486101478722377662702892818792812931834631605412170324548507434099787499139563261423289116778184867644011054208485186086454242396872066877520487302433666898472107241365554239564243006915836905918407389738835817413210413638869355873662996911581185284821310450248184921716370612640158343930179175071638119113833856639716487224610471819684413909901140212849604771015351183590644513254709739413328828472781708152677362482352512557573282191487367491661145936751805857634079957800053050510526689970828645363875751359742049943818838993176923705134060411267185185975947217117536505702712967853872638669721594204111883256217530918773432876333098838279823419794128305240110783066448589388583050842271126325120257076364842577795473205087288517254910062765149183262112699934490513303403144450287786820534398751382983200160681231729565910399101280412263097485879714466859108090676268820601487578804392064119478594604311712520429687161134929960886230639408120786299766533975035763285505374655434574500269536472407419658375378594834916904643264715554965520835512557812977236254990081699731364060068958900204588135451085513424710572900518857504426853787944514111713584030249242353650464345185243383068929493109912608387814124673094870218443409376651595058451914265725711675335232235624946375773293348769893316210147854975910472723400843215512952988039395716230590065311082694836490756001400363350907485970552874246521795236037180334386196435860103636950454806951548040824481134727665460835018417355522760813641851928410496292658337140954405474725620290420171185138312453173065216559262059001117410212185849519735618516615383077522053699168081911978226678510623671960163924304683697080257514152374365072200471029052752522117799050467437528515507189473663724854598523725649166572990418575121080547862275172285552314100792930628435730313119236370640303737835335572319497021959410234006311979924549654264242461112971399489347437119920885386907682978039419883174109830100117648316231003819961339804373151524519692577965147254142541430504223836606189661142676266820715913699489890535951201943204199882732850477910732102150944589835650804783740057242717692590880395407069844923292004667297956709978349926452063083712282128212536659477766769403149101418504022881826478582664151159019198422451136661142238533411220385618285953466191978308962067250906185280308188580431271090597298863531662130959417998144369498529414771944748194786208000442602168110567998983015504773574791649452681197943322316113772788330201341817404450662764972250882339924687797662594379741843843961954561557922470433850195517934333984811251399012183636815865731284419500102787926946591884612449798034807006190389155848123576920661769732562498591348745533445147356293498849945945305296605313190216641065951527341456475917977151006134628981490297992035508064483553329181447812159608748609409712430473373869922629685490161856937580945098173473330758736751768264362863106845709984545165496182499684348350373819021481715837622716988829786634652651749276077441705398725772313106652173049661504564668166823185211782422989812039334987640680227357195979520123819164155933165595940902740220134550356971492002422646811034012808803326887965969770970804786846287559941896757083262962955515120517126114594175462908548324170346052696372983393943081761483537606929960364389356752577263547445288403362333304480504501506939911899036554427683644820298303742637109061762694925339053571905313477045698281471489238651765516368989657226946550483617465843387265796242471009830777472004726070990969531394387936195590637110394383628062006249365784467615624508846043843438228216065311802041364753022139849092177503398321187786146545734601108966701334232082798249336189141473351138081373897760506072772576174399669165523619211627557635381309848446968390304877742747532803987195566585033815814407032523506026561452925030214362835617433120058038411471619775008907672246386759607744580562080443733469702636483677059176130097705932429598668454582434519341899494920846017392655455027215091331411463118864410615578763651119632084633764646760709816772222736201997118913527790485860381522250583562916911040266643430349250068564252100893699228943092749471967183994179827104024688446589258666361231297394883286418861565335422338867285162803337482559237053366896821300226028135448035890560186396917937540244366482342624888220622400353036328104079103680506888554238771013938713874585086119698291856778807627044775746459867212870324481009214266882209549767981759793715063481441734581508922991801532449440619738217476519693901959337671347147807204961721513438618969623396563626122553734215642018289959247836016290351378996977424265790714613659008125141711435478395076091664252092531379509371633638384033228137809093127922936547517447106975284675001896225187084174404752839495871939391883436431767140147128461769973872465827688812376945082282809499191487896527664248363373356200141303344910408879761083665386666610037026920866944918861306571411027355350404587255400123275146852803054594988195597820160741942533900676734657782840110071786952547954560467462802347561327833517777684658078261981776257916090093333858120206407794509134020201790255415636168361992415119418860304039167362222113428488520375846141713405061714451272530345122459559410640297108057399527361689715455117228578158187428938879780079960765787553669427466992857647899847146208346594939268073792017994895647684595277313750890442507775992048298431037520805422361682755168887119363197228691028219638458203381217302630690536498433125901187967690018001553442171335457745705641531396737496911940890241389435567527804934168797911049693068643415923309123053942024012019633202848938612501908752779510273073639750275808854140283085171497025677665919265563821260100614096178448143220117516851848522143608483750959763462632797951117899384557209501138832220549881289020168547962415658182962919434711523356435337327513666272980418241014567331523193921242837062554450046677036185009854908308666330694063189312374854649644923729113864924972505337998479485112650022668072925286243799165681776851802990077578046155056316732245637731594506214567450082111669742856338378540917291912525640748317011200986573476425577722489712901854775808126669127836036438801675328775661438648066034027211880080868443981621122381277146186551670747471245461633217990030814147727336613691135281170448588188749003999309420738157262738607502425709406173732025868769957478780371083909304753655643986350526538160187076987044383155039880242500385854702850210184935557035977458450426770294598824713721040192228020357957120124965603839057362187271043865289224489555563062922557972218048428619146036582888158192213049335725878386361208563029673000040217524160619941601015323539765300273458738206024367366882683754374292556483157820164061370715000089338835631127244699026838250545459573684016477929358191554884615431833476778615791815180370594821994727181595154881891079171622914958999987022287410045473844523106056217365157827963290348158521084099556361608964964684047298766540121783449212578861132750859929448036645361214699332489016164894789659017227842418899816915419902644418490521304659943212319450063955009910019929020287082345937902357709117283691058892278879180161579310290368343258189098156804236653488704074549432920651292372937755834803507344928076718138460044327892324909638960345230851445604588110095827733966872842086002151058487801914188946980256378692271923448945724772256304580072890270651145903306372214608869235279087617092981618737448885001547342917957129572737898050361618888561581008551507357444245292347958986090298404005246203528618273547996904930949294179650133628479289191051895010529542610404580817350627270822093277393410215774523833920939600950275581360401309002893715371442367533582686071571429141658634627818509557222647432365254183522540139695995113384470564860880287221450315110209925805907804279266812325796070608209653675951427600750763375362818996490840206131455597836106451663988518754516239562511512225497026539618356429713708152229598737537444150403711882433032017570415044964523482685605711276902164345963694153432246476196057099088215740684058418459345961018409395514207562560723920589233975753514810157558734126260536213126539975940160362732329677918039221423477570660654871745097544109630684279881928007758243433230605286260230851179678868038823334969516600301319942793416589185720666274375752473942737835141547297944599100271754313819982316634237663830753362602939134000570115673295833269102990973595564625062759111221489465271434806357656405632586295302485680978503181453380710977803084005207163389409953914642157021688043936559663705476461995244590539042216288355723388853644418092842801766903406556444740046067927054841721862971227239556035727363277013647096658554825026839135432343321421581495268317055217297995531871072053449883099302671337552461190275736469152964359478475138700864973377953763334356832836126524673950219287074579073587597235773897170724353232402801166004606656238573962729259560615599445205828729953520542345423708148800444260766314360261581722359705820940969082066342700446983018684765380278358495763986298455329446122837301379968312329244300462494604160002048782303728603914398122078049318462462065222469258736033317520579540017814635446987056686496805457270974775330346444190917244859806965576830461827747736708700242356506869416937660898562620556561080163638894444562155743558065024763214366622071979232536576942243442691306806962448822933167122466103877208320363951878138712469487917125399644673472384739713843000303274687900967626037680294876575307870231412377464677641925135559077806425675765688662270374580748140241965763847243967643866174336104294176708509794711805218844480756592500648838940609846320156075298613242740427234734072625605855806519232041457343191108627969891927795387194476844869318167210205922267231526418301722322459223028392253555188096626168575224577765892231690284824137370331090170137696758132807263514496306532922155746587933222812723469549634363762837175460768376134645309760408939401836820110295819631240038535378471591374080014925720382022359539276951464534706141062430876576944206931344724299599449128010095562832347206549122030376975327489257013494840899226444084478094422314316980613569986597055278480827622597331277391563801287376952060564076895392669763483152293738925976737687451046884685162579680771467890974069859341006578117024654786763720993322875143651405957341788179822233590763394933928052283357090601271951786193103252731847332171155558898083722110370044929068871795466271312451326100835046073592504488619970289349702101532880399624877737462238082307860269626181799023692648783528756084863837791792043263272527535747877736381784194568502655855737906659675937774685073101009722803576336675653153945929014244584914657498588947662941413336453068497860045509516040879416975854210378036681443569993784684115725898593643352870625566981173634148483815346208061599551392411588688447517939717517711457462257407884857545241613348400692959075758441107550224572223633074525759367750812119422683475377939303174031197281001157594962011719297647307182266980742945130534086058479026922055651246630097197917437176510148997754105839081950443230159097521525741674160704991015247967022949805820530988125635531391200220428258811189403625285736462772034242573877586229476174446093919348940078011561247587968583477227429554366285095620859540549185529420138070990492850963885060540708563933796357225078849145182772816122058036951395901150647855558217542113663937391504153896114936988651719571690473090381208645063710844317787935128189648826737723409046745948805415628229086961708655425100328371786417839200096303042054737873089495604327728636509398950598375304798498981249469017762487401761979757766868173699199045131077020625766228349954729683829828222047326365928911298947396301425145344872446664167076037893091650212715124639002793751591999759449499339300518680113937408846389362445270907628999738577622156652308971345189533811314694491397687107834311724856213863194266727673339160843421934549528218351171747786637033903322367660228412542473011794191040546335904547713738955531870734417724609039107168748490999888038863820488421411871887473367743103171635483233669666642252066754877272605543992961064797762103997755855541262168322903457505265770025613362502779102700409278613497250882194332949514515404908116608134619628677852745019334535129383768415855711661070518827785989368553738259378982214431449899779192075141566220192120815005745556592662521872652156080277575031955274
65428276842517774188592443907914744348008068896017112575426992879159688549758721224820596391258784968733040883261730684206430840935048260508292695761087893528155983500129309552098696585768056392075137106663969704279234531673896753299757482383121832383048802864452855459590975361497747741687859525145750058867080128568544433740859948557921266917364558336271498260567908291758637176972757340002734684283971801074494883486689446300673593001274374017046049433420604165073463087715477675789511905377155616247656452478820119628106764085021890760912696211576681105157521498649547081218106733369096827876579711924541759380835080458538352847480583387053376357060237885308557570793430532779501051369459580864428958586863016554556002820660004440656898712372059196661880324129850773684399627467510052590295100589122870461313665860510502933547307737851319095560864749514641112579676998738222399297108295065755157151091480994521357173309659622404964986305783473714277841389337650794490614937033571725464246167978731460166884901808024288146737027190721885400485028699418109437990510562977988051018899083068447452571200702710515441003435869793329188901608736211204167714129833345225748371677727499775647466807336607376587280352688663819447242327350546293602971062954424649423543880835337111939361017177416524193389303195481811938388866303306112278769943952249410637309812732962580058918955592553657870143280616328719745364342175942531983364638928483426819173237105578533092128718685847059594302544542483029318035241523379276789122048816259510458228448752920113863019771908691029462594584208016791663078086969083816525466211853290259970462895864313452323988793480977643931228929392018705103304493326185702429566353937448048332924559970007978999735965817411480131113356452737827607630573263614726202118272483723779147686340106950533346426727022515764867694899208326784143655923271680350253046174261309740908162996149030031234521058560390734816763058484733640718007059262685818339990806617144967656154526449130787979565188325747562715162818914584408472542658471255952677512223033122071485116449688332656438679015349575639139759640437510079761586225536593004657531619895599280093783956252163838765454533263764424943465239530017104696388569913007681263285730126769557014828749862475764596150544385663215392610303761110173475796931354799561078528003712815857963150426665077160866424859567915758405575252653533093785688596667123543838404779556268775586626633277190194329417944594453507853103231334165239180955259103305489885762747360708194467330595308884375279010122349427194544582620524677763093798007516682122738267357606992582539224800834397296362071771470999956832571319494459810123684557394738795415432800875020411304329529284196757134800761807206573145833708624485487664783248663032631447489209501279659511820203155817734518852343359613934141125370018039921187803664886081562376960991193513449694816441391723012237027986116747144201557766031231406372516710244384950932055749539876425495729306836099298881933159643942632385627434234696166270649900676188680918339754590059228394173987351314289225120390239132471320543807494336523577225318961616675731260791317958556667642239662191797899963965827843735475398620901493692081308846084644946514323952093033178534866138415408684795153168166086700825046828193432721821044337112534106174945604176754921729349124311248168089500226621534980803459307292957580468693778440335112869502999050374583896546687494413089538920255143279024976640188319721487467303885826423635137190093670037862054398457104267711965330340961395997820374741340133469521432576091298427809723201799809831541474415496640900438832233671578959517673295754879472972439033081399155322822798546077608524771999348755946708442810753043081013746403485729929759484529725814899127746527157128945770539650945602119745123141279542704475705323488262100239900496535958007241537135099268846415129329901232950994677555709081717644884015874514156051032276715436156007280554007410884236037140748262947741165329314006735625326489722710928876258875612956410142477661814330970747245167577906118135570296003772046059925085729651780125581560903901151268014443559023314717761983290028910462350560210567840475398512823237334161920776451442612716606939612653615241340811413358868456801827174601596543091137466603244477987921127673380912711719754561827586636205966783047792367765586913739344616472840071269543765870794559389462699977804320280284502692556105686744504380452291013673219765568072202797288005903811873846139489416713566754412754844448791263401847978975798529080820493613358979952373730509531864271992052454679627212039829439004377861872015010776152110358619229609892315569229120956094919872211715829728095382237638267227416715591534227009000621740848904292108614284210148895299914550469738788648976177238687885696069703268170833126087419573756283755008363012478082085029693398199756398729971787463049035563739324826139887556682969832919516509084342790212383115598678110043886617182918170303598451815846774238911605665035528062414400674430645040778239242529711129846169438356766959055197407775625267675548447533187866046685189129262405892939700450530947872091742456288804502853166776467250305895288609628495943335938422710573949091870938588695993217840503032442505105160703981951398118844797666592905862546810071807176543955621091115053115135928781812207113443511076742288393509866812681120383428419960117173740071865666350909569057232475325308465137882320786378151056924442360713902463033130444745464272334618593334144067638682941868093703451729680371306221956279325914668889030210312037600267231831831353334855069862018663898842099358357619380157153397168478923448185999675238697180905408670222779392058110393467321501410544041785070820808415101622177043809651789838052327908015936992549204567639150407892176339506137338816370753857406476639627616100925384601399220799101615794088815426537069746164756993251582753283086772272331122109556464160757899816599190150472731539508148284553068858138920484945756494350117928288643386948704493890026974709600969542315903024408671427415206691816807430718691244914443126024153613015007261788315596583909985615353123505485352100811841987026127872614470070800836820947821427140241501119600684503433894782894680808426612902761083655178347585501397521429999537900749920847981699365107114470438175678178010956023109559880857863860961131486233855049749454478315302797220307654378558729716373914146487747980545602678583525078422221406186001616534159279470484233755540769418047820816983085453918635588371637961096350471599480407687353570037150494175597586612428602302307375972447067572929128072057492930145395396090104949716234285309285365986056385639739373281111164559271649604027830360904079000077098107305685442310157999694903218321456734990145391205403703852086491290878164613224434168418264727318729960275989777076359440309946237071620615102946338660125812595608371978126714679561239719417120495340395494956168001617579054134936096934740695871349415583106636332236071469432185804642832976402416659001482794144003247898327569278486856200259734159714616184914306638930914014641806840896198709218024055209904368886460545044536342579402880593614848507857324255447513715654992172199591170520408623543130485198055615340546660303828855417396311073725898078119590231421638231836646313786620242292685065549093554211801511297476966917630274960809219853676265193164421191771025950384845207130265133979463993473253872261181125963123065996088476786505862285654312508474881458169583845105681275560170830973091192121857142884221153784265633700984745252348723129635556630316238416556375960394058210648394698194630006984073779957943724800723419784407493256716732828401265499333683525568350791431071171239199939479093930869911550556730821579933089383820214121020779604193288679460695621963082324706229576068611288312809955245786401041185293631994601961424761640417049130883823555625992255038369657917160065035356605213847110692445963971586461255166054469423675520021668982407168722017561283637643400387040467789040691341137645711838056749915861962479346218896701054835999000128982078967593751344832426210092191626638267794771523318791713524442280981774280970065549522015272769409620322842559545642123600827651975038318487615829120435421530716205903209173244005371375281255388615995836491718786647426413935564928468876676086904555315000953169584119211179154569265456748027683080470827486479531016459995595850696868622546676246989095726992920035375297031440537079241760780052001761562380904837088019522047829146936385436362516109153348929552696530237996260612354481472826555372296407445465274675479967574546509171998858683843028094665448882242484354988880413836798836193185129540177571755322691615405291811455677249482278306404383668790809141856403276382886458850722764843508877811262023233887663101502325315754982018928129697599335065774972762747096169354653867119768228351827810361146908288340746068167424390932778642810892592869274603974166765844421207227928289245205353541880072660104663365500490316721145078197447994289612162364642014651428300061963223180277162698963457430834404717815431600807372801262613006281664071857864570118415596585698957490696144591531870451405117757404077797924015861332453028688529762042070117065188865702722240631432288380949567428846074568137890559557672642626663815252394357706688648234118651134596481595418596529468101768737242488071000790391798147907478326344882415879545292715730658471221619069795011336328015889436479695978410339017668720578381892170555556607125461390564515204300255293007991858271253182477132189153246643313204187605291735597954047463960639596909855985870374491222789484575042586105827860612928388901152534784386359359255668604904510408888393135207224817727065498393901140955816935620277713143583843140764203433806695020587484014648394673872131410082607316198140220833237816382940995782030321800957319159721513823240584413254271247825377487330709518000682436750269036524525545783582962257545351737345915284752629304766077670809210807610858459492514468569445950042719160597718751909075386105448737578642942360138161816995262423118116886987567636503269863879613774288843129519514897136306716521029655416609864097688837025026715603898929124118964730383396793933802822034574538867332268871437680498987055992374528742910092969954680843371386549789428354950232436101384279731325772527353752053594020253846296155861289150256023743043738599207462023729244799347052865266779635973495495361314640515888711477700053574310855506815714684869281576974355759376923260138225194008648184258350224089897188588933715404106496490441438494942992806260365709748078356615211391694817920957298829828453924720410740533526034544220087979906491582087140419103249698222042020172988444589454921220388137612257292446036816346660861453231113207840480237007293537224408358885084832802366557654788505434641730680791764994461889234425762394349177959251684066070180895513465860380244444311978770599543729608981912437826162370585271030994280096614774865826740231848166646173763008330040859481411220318876154612314574726198720808054740050369038058732986564743182717487898460712057155598393225616114149679498651357966543869439700364823168790399604971178087077969437953669944979044928911581406805117181276751653349892937242675849580281855536270980800287247493127132126984036229923857412138599160495552669538948499310009140321734440180379292408662753542092654927186795730928987588638176606697065321331479750294587183020423819294082077131810154769458422942136413852200765673347807567480880585428384136055957909953360808817068563273810086440254576106010847219725362227250325350361743746590174080222262518707486318015860108223289903794274955284048078399539876802140663406959617585291103551501459811193477235430009405795409293538876572040044829986502135557681739220639986575544810922752021927214144068246625042900745841068531169795239688809011923188072106923207592004336722861922624153508466063767775444088475294234557929347674294327431245448651421527410581539893736106851756782449640967404233815686068720248426455031107771689560789230720870435712626956232669412443957520727574282450298599359045528631484859541723330253370572671702973663314091076250489069774387958652575811397702834218677980598659672585094918838110688585782160477026262811362474270127528533311345711179442507318717595288138451394457959608083546993647855436066679762460578135230894541721035341078418935772845692624072201774633076957804069103565887725523697274311909752707971799784880180190946849099223313786971441385668102653510793801665603299224938528153572096024164682413371447095697279118668808399834184394449863040678937083222193439118508312936709906582980367755976461542957765753780292057704514498168886058553927298052450906878022348235087181821465977679195501312839730086492957729139358114637050677339857452486540780586151006343295568952911220014131189100097827370967854289901066040051826101838528224255930485818627259275065301235715298611791322102530244808894657472097822728704878822632440054461184111955195539735943581074762982556297122064467043996010006109057657973156097363833645796722879990104311666726251589217978860418831501848384556312709135151792099892183256903147756392647384089687185658750935451693581198397427491714952792419832761243425151340651343056921223090550343690783050462187554465195666219564689064150165426068361215684264970240920313174715220215497482368208278335567768782846074752755191260656181036446530078268885904835396469010364938106102839506608950169609217436855259887876247302879760243137800419575384876551239710615512382962023206857170531424357077811403357437823491572516171170762978493182515367786676156711470287063821481985865265508417654310223512939020838854138091530903516614004507976327490351425723494590585846479945706910268228821055131286047068532405982757404662248431590466629500453241174293961335123554255824771924730595117692640733047647598222997327944517720405516872259770441571497970621055490281035098665025125580635297060569687228833758503045085503749961885977023873245679652464111176956083925586550023954281675865030804429125044545323221293256400978102082830763442029632391968988341902221616792342615675158414645715485553311360210843443051661183525477449875960276303828248712849751441233628978331757142688619320555335845602300276426675992576955089524964278435039131504128116355194229676909576904806716100151052595520211102848758069428453506848454571885720006174203316177653776632172209979183853279181008569953619431114266184250375672914608389369834859140942205718672139678157430111108314592784193249175139110078871813903582728057958484391955371788548159833003859329780178805873215981750476323615459111826438492793471835221495072940365641579461451876502715460484635934347853476355529838848244148830693256368501828956175889293375910485644555488324873921525889842712327501723604665286729655142620179000374310935148103370954451600526407933635603540307908191701241162125996801945689281922952064459570188528660425948877475878333896672709799865401115234970992192302965319420589149690944256462966732400679390538747652017426442959686090733398882731161796560583927107516244508852341853992212369540854685167349052891756432182720031846778232264694557539520363554228514530281164647419796642259406757228659856683285333968677509560253343345285353745113840522016824321106195020151356196875324590054613066354266596449484629697017060846204070822544551686625620195336193499447091574317835649089938965492805375639441132347999676771050068572904585800788396846562546306654205403583983090662793819587667285889005758475060577625275130674532369385572421505268086894114018287504919593389879032404049084725598069632723417720179050629209819818184111806705948249299753084314635517719299455582790523536988204379718025251469711319588420886980117529162666991280747309136026019730299701959390884939294822245369065080351624994159470498040680100492341537698791410353499029217850986856881522256490757763287950425485690840218807107777872275961169113758449979110641382314987714836969343113706633092236652753737119057314052022510105913977270233179556349723931708659719339548856800997379216198321135644608593585511703923579758790923941447317895992146294986410908337813044496097416294635569779040428528575733595594516439360522614879428631575565346985805524776872164610677099231614008610126244326961876827133381095299686884460056325988600026946131693535189711693068729582114144953398443153719963259504146720615466076063669148767549950120243786041708409292778285812265733042922633857032203387810826408771159463372229223716881056248005846660359503508603867928797601181040439529498987306514657075700758916195257288878281136176358229575222906365634122621228161872803727390505220403830733867939674275082329258421973424908400344331451520479387148749094324086670436894442604258744308719126455694576866890141771832929404350396705615466738703851077070367903675804254694602743810355944926364006431423398763074791912700787499110244542804055340713269472500750077408566144679616517630702005633326975124227446825248672674173957023269917197498937909293786692575697859601322679809787235193440247226330352325673120768541733187792442797489910314590321298077620323796235690227072205051251599968576305372827847699655027830765410024167386444276833651045673868441738941887395132253735892910067021156898773646661593581321074095282448078672278271222289385882990120202071776367487514808716533082597363174146231169277607147184914270034614124414780212859090925237055286911985871113426240311284590037246442301678085646032243247988405341516869012427085401715148890646563307106079762257800658258068323230759033847330456276708735252086732333369082867144039222848873402673574293249783327911211236662025822626026632661590593628751933673104457014892186569076610247798781010500705240159921356402239751425601078636831401904908781183896078880383705595366765384948888317214967603930114059105041748925761685030371119478717027081843232483157568333258141911367295827682373999136677731925676308648071456626033046372452360406840724148745434577926809672975870797144525263750187984951069123246117905597504595419211363098748565901658918304284377396615797455570199817476412681740444163321762378776004567061448178936765464635124532436713667436145527537391247734769378198526407201135868047228957334716766756507051521353261909511051662788149642230217212888326727734805487786578899323272741461690298923058452357957332956332547594752346434378908322695972276274480799113416663936008929660263011294948319965190200044092419206731619070117887087044453549986623678399629044618125279394032735187839885613220489636502788904562634785478685869708549542681853595213090758867305458343068938071739715783229979113001149894826105652372618505173608592698086978468314437921419892676417395834584447623391054236271320366919548705717355560430174601188080450578891380759411844588169598905016625159491993135760030100805925512874641625434767149988490506772613475710193875053847835389091611342946639541387851846065835314130923026267096346876195264779099886664434951960616246515127059169456813639300608908104952154196785560024676365614625225749712415755034541804021247599115904960197979836532504592548624235414119089853089584051672753498698748174403667039483592881680593126098596290429703321950256336612737776154545679138630801761645535054244592032486471098587548054886584580707231750095782526967567753241382692521286084695688004520799101787675447883582906878517697137708389855673264433950493127376838208268922039472763202461793123386200097218252220888760165391469428088911231359905232217495495184898864258752289643925505840745833142911679645841282301067732691225334234894148324638222501952739836705418043798032866129018088939094481572579523816395180265516189339117328755409958568933136347970132341153355303072838200178298457509590460557937549328580328628819206476047934079198620451250005690773960624567724108595084747906028132019475791096722659825859745123060776749096182517866502951903721244795634890732845206934770955786943949389410621615352696021923360827646418861186981175913623038147867554831
26833205239476636227876450216751724348219027443048325306902969763187711539449215800762780814325578082232314666813661819010541422861982024222472147213046860588669761149328692323390116909700054625291074662497875713571197094582060863793219239854074876144360890599532455139445723458078358299151181928065827357264353381808274179172444211087755395481637701339038636162690441329123127275708609150100050704736895715826641639790393731157501915127632152240357596306827300375520900563933167740667261428338988279078334757623416625974417837212625395019188875224322487973962240972461066199479205817795901975188426395059024830482889372696760111903888309663070371873977280671091074832703234851937545756081356146158761328599486901002253456454441029271369110115452599862663708838940096648649222519594087351590430596657683740682288558670649598286048278503574952444439759827759517051344976624850001534158957353615175144960035981006207514328512376301041776179881733754502433863513120086736910795215597111626947599050451262928313030768494254770041637136946372997072839648527287535707701993861792305058766777772863480640627958252293626800336196683618917052642011791627628232554811785781278221312618919939425751036477487384815275096582177436937380953898998864987042613964517687140375349209743349496160816141445874415737109091863594182398243925842659410136141337299862960349113803330129630254811475571105463330817885864154364449332170636109343354322423090702474551419929352310726259137047046678024637820536549321876351874905112745040325846275789735927839421661467310294634607818419196028073342258356254532445432546381130107125767191452047297065547793379318874891563043632430454577529121661028119308094040740458786204082366403027724627537037673477615663980471333111714602128585051846837053803844676230111212517128684105964933107784794270188461519294268252878520684336435157280290373272334149488011501624399563427715934824013407639620648421540984406110998370360539332588608913818045661584351179972210636433379370254426219772769581426135087994861224525683340309991706016948939271962546660863056655274725449835525891369347022802992176824745498336120471621065543364398684040797479486522839725685210245385199593650398900440454041002012785868782630071123810331056467464649681432351156226988371734333986866966597115306273848764790710001895570697624073713012265492140210637479919367724736589165689994502945175296138178756179654899821182681993129093808251289574510917016849198482218030319568073344368133037250390261130960694857725707018029582815617361055208933098459000070903082710377163500751941534372469655444123490674135202735569170702791950888421784283957542761655564445383701455930563303536778981233714694078006859184565272576012196633591754958902386427998751354023207805161049900110257145823735492288835194383456340859300981188773438192535116461597139787840434455547676039573479567021704186352119320535944583225503568034900478027676437358571074202807194605941912557896161401169768060667776599995001552560339670594157330072823186970298479447488695871158588919550426027008568738990772810917272848786024974168482801599587424191062846182929289516668788015986579316344811622331832366894301476686572507201383793281542277927944207827443634880192521822867040986564950941994342539892089995757312296452653725499537051854131400287494821505828752721655352592940106672439389122451483754721513433554424918295511122714835812872604457883309252448104542038632738273511060720488738583165264130430210873357655728584350360905838602524657234515349337989838194131565060507140837311560630565942819300477586569384300843502243335920073032973900188692458087858162455221228942005796446256553303216431953002514282427404872447998368966073455278659855479073160629295173407485121636600448865126398149362896934388547007511725013018790971709674443438223321350636937362520289078352258028237544151374809624374378343114104771587336332645192452187644590950985845365657148604580081642114377526923095201132671939028733707636885455980121768847951175788474987888576386935776793768437993236728917798262466866746102497536721461273502127419614680302853539258375541872180254050344231468393564089547767714190262025132448539004432865184416865214715627554437129066842457503774247287421013627619498495321132554118719283324019815275920538626254665298239252552807964331538775841892346885049297409817338403712791283928300252996809281173467926866297427010664656096936550513016804073235266171349025452361391980973904105788700218246357925656349818549063994814411952623978097188733690345359604758790881985440118159436160513413096361179277921070700978273652873131303320402468776493481737084022073676565341668295847482835784239748095901437614269617072299219928575412076179295109769683443168511445690174611941350242222866566448755719744870775504465291612693786046539221665083864917617859909092711278367939672000729906926364205352358539983349315775353788746255786440498735380577012455341081674434886577855126152959539961593451158866984373215822076653301876230020817807025983251283914992319967593419568088126286310115662721029727627340829361967290358216698286174656699237785471078196637415006522515693803988548606064640976553687354157178668286315781161177011708989050105984200477556380640897681607663758307277392528499770492506840024956470172071883780082948446723351838483944645495735114592916628146931139683903324707560851208778869973929440613956081832808383127278252455869792171084270653940704414940679790600242251014763145033493298037059271288277567515530648166188263654352525207884465878936811083242541382153947495215151998858618620784205766764266731480350129163143007608272321471502347266462987099493276299158941252398950743578098514334036543825879433669593089020335168899908974440892881826801097145947316484813381019750964050179923117367540339155817677499663780302407510649720889440269235098817887401151236496992812302644801236658148772464741536042278979821715027440941107161239735762669079464889005935484334398559398176736659826501450389616281430535245233290958483681347772941738042988277454439474029888084991942909313519990655551036204179668628666839932695316083524715692071760601015763928346869194253398712730374052551149685056898573648081160346335637262785261561685567242721508533498929347001455470858351324515182506795461389919540227166683531321524981916984352513707331262664486132190451631613921895513409600414396307054310220764584207338978884169917824697386407695203821633187376295797578287496120308522646810839336481630290996670190886015367752989254391790897783172698335303687920397703658719674323593411315872626126843595118310348271637356415628658306055603451107818842452555584127560358769319596127069443413416698965036428174207602267376973776165294339649776516061084339277882933718309207439850051809154244056787663958023649693016615408181540947902836264534133123949609294015979337839218738736614187236373441653103408874111078943773113280114161149604605217463684103027299300610744261031208273517816699405099122668647588912959039097782415979553283602808666328786151583692693751929309137341962497373787986449745567048057414978950721048448436864809490944577305073495618481157523600614987526211422068663044164600576425166550084195303385346288538415673876950650307172213967560288983587036551037781816173222237610776430781857875062814441854289269437695550066917860276341523464818927212213295873613145344222604415943263655482551483595553215072083225555738356694179275644671248035321896345211048535739347344814743361749946556836428632075980303063454041068179614839769574889791792097245155928828782647169007805029279443206224260210744153284690209155799450168292961446022508365267405101911185958464434453360567769929751656151773701295931475615399344726641626070628140343177610365845930313272874575949387460173508205126352057869518863929315252675801331257348618999520072882520138307155787302481679884991373130372553096222896555693061780668555564188680298307493946430521838469224730011570646555024593489477465850542684347324182390096827939572701754294143767456331763256716896196764064930140514836853184401144432223932744164687258712290192371500017972129426013620840592216171984386331999106536534124093396503673476507250102838357675132816463557701421839923787492723452855610226974938330817627017802036999676638995478897685585996806941760193847781856128033534287828815061450685949883239021458587993532632739783787366556235696745124694042234597046203403552745858420404250115822904459760585105734033182011289521285050170679578902042453457873550407561065722568639226005609617613624686339920836039247298521111851846105231882512375433026770386584478007047028838270082525640359370494499524426197957643674667975437956231781479831386267721738840292955145129862246144626433410025956350253461241550870570720170883220104368015650776476535947385857507068832056086306098669656258942564551658214222991055899329867823890503864586252611595116995008256160936953092025632009446159885166973186815339124371233314433785345541822230204037456455525948337710366793376076800008084400751770343140014299225837136875666583304038825565322800378474947681203317151975846452053131437439682165857278790375326864421515188622187093779170692165698448475815298670334227118934780124284034070629834123752323913535579896621211609806692560676191566087772394421496974155707634628756793677039971318498586988973453807307999129704188985894975360507543886999641351182690948237585976906053614025186053781063535851841601102205170640772999847796484801500119802475254438399239873730666809221904546371597483529343748346569588361132113263810495752280727602338869724942482666663949899081966205768306435162061600083356088982732313434062288451986849266048190601988837433763029730054047335277903114930676862915771468940869118583888613128905915555889157242598856680877747374722339341916147931357110207959114054287318467629470250858896344527413797828537059527089297140060164903450025512558096055288897334770051189203376595190398071951403430348839527908991093787490177678762725068084814636673142121968058545391423877284343779728018991829147528425641858329221995730401863813170842004491401986490811606130729432349218811969728813957307927421226905993511253877915385003916211876846352538933136574741033650780574325959823874109161496525208327983881585597409234057755556383972023892746052017753111745466333456772024666548944746997807753264405432735359322178409028715672875453195144549691336168803117056479678677022538042803779675592497861186693585916603147509043996010093524278166261891244957329867715794463606669115103438173840090406348154499129549514325704966661681205820522857232398772359421559407384942018688628307766462289936899041955507117709712187103298147226414067697105472509918956523916044443872035973316891676975017869576868357094803856150371626826744218192273672934438025590129557464550527951184544366995671579347818815488613680713130496887890001530848498161148951163844598108995611717133659483645777850523692104318262393068697924780365140398432613726698283146828282137247285732021932598884454696235192321180291242275731629700988788653596404636185717043180275457187700078308515616774750203413974598301567132410519357739511148831449016373173692449179986190047499001348609922596225769046252986417573071892302833936976729657383360533109503689130165365474111796877529704379590457517838958535466435263188278216680910776262464705794078098581196641636990541172654093227847921883121840387962716670169251702165604442895432508792236852363997979896680303278640059315342402713155260956311702251633116814236283798062228987269347006116336571734076313556007085131688664019823806787021611620596681861742280211304965290135544090176592715558175047823079043465716674516667806505915943660103698034430653050069953450268881261060818260140273624149427634187313215588061396429444092948300868904755431601618130121542986769129607906418461469719720424822793287636926778610054662623084137716618552745455081455557982408680619868312791627186390190777117518356420502531690898048522890425262424315169823042581468722339696669421351228727595253892473099119799115449916404069407441764547576333736261344825724208156580823107940842008716126136663243568929735981757870411633530044224938605625622232075386911194699179691836338784588081933796593647549439337529700672344711695020535265906181926087148494222571870060725804483815797946057841593147739635411680660464210768459060068240036732629506078957344793347058279905761315298601786500255396779599829219825343242130142223884817398308591565151303438439961603032797673570185803929213814638903404483355437262642265537811540211307007176915214762218860097757207738238661550556518990283178923100031990440051354512311689851810840311897538203098636191596007233307970207782362910364820785183764593618400849486493774686557760223981846885954279824543683436246154699188589537645169492915968752417215134775933811849241097020528990832753260416726426937107619129156567363837984369387844449984802978992655030320189531710936140190910505436688819918481479306238009101993325792454841635847157137689020104640195855424180822822106743702074456789614367781062770893675670537339089495829919782325568097777910145843340736051891323025389372130386032189156209681284378409752214346851340462543768131728539800991888141561949719100970820918965008254139111266863029814908268457943819577901734850451861254851234431285342958160244797838926274931588083500595001303385106180696024514094813592754378978072462770796100670190750019303622267864880538336379986704189733089846416908679007290540673767018141387661243815547342570972836179469221015199233487951809318283473934084248223838977425505931403677116713699324458784450530277826826609806817806231522444525720911046304869070095760380220066170520745186094076467719916157639639658326770258712258669929463338039565789128518147326308079337397298055262491252346608900303646985376347226187448805086849762751501635222740629049563604020384271092787654101039172235792317366710342734774056884274383816851628827842179558012153619560293917686728125219776639243264987292973282247743872678532195963169946611878172544333146460323354009725221890463551826763937660691999178609491759633225400619404797666093201360445437946843419367652969372136832480251922991662728907396553167082062824602908505483142150958262865076911139420236705147819736660711159226652528840033115429989753163200532094400339376264925555125119771091926421772995934076197763203890334950547381985891342405223797955271263097261802893317207940720028262934256085581926535042238653481497143462023295094953998253057578209121851945587695515499816229090088680804998985327546700373154452177407966202827291296845211622106435930223636685620375094963015908337218878500924461665046968402112409961137894281887136323264491561832398981683506709444915399831662541383309558586953464835443911111573416896031702627340432512086164908591925642310824148440553715226663877902063255227706968447905820633857982237201546365493468158472472238566387949580493691245019196832872003556651848909485739680659849211258007566856835684346592442533250590606290258802153718241082146932765382578311834769955836916295367151999219969774816406257970834537619105123958764208714744674381430614981272992765343601828789588136608502118981709520739954675065045154535615167875251641022728592393528245053553793947088819460869778341396140611788111919774414356136040472462780079944658138761060199957497601267257549067661465196640998144264823881979204431853970644433093355551086164902538661023729230418944412316355669744066547525066874517186456951146529203444246622035471807633501295880339124645104904472282043171685640524054434998194635192146747972645217421924734930846265701445907173480305723095102326117379335310118304019027877919869494461652661895393434277867781494598920940994815179293324557341627818720445679462406293028762540891070877206156884693796710775692130519148527101088378464040474030107325944238498540553705456977208356500579912395116170508304145135690130524690180972351482442549378044300967390283698830161674760564357078020771935515733516507488789759720894512859153159654554259971716481445886311098888366026793286820571513328084862670215893347186600546846326394498168965311989909591359562494786219557781365301813609067271261688319037440182914709949903758864096185657226881050987241557659626750852305393021662678347392374483022143101436182794502691218927605195500475748268775426580292487786955716726880271241633119356104642498435930590040496133529071217810242445226519841268153330003027182898671736008313241373841047140043036964575811357581510191781940652133953426293832606501357661299818867548090987133588338743124391493719237991146782819486051811861391060981592076727264966241471286997224020867408394424410458655861893306348550059864466436513584275515627518706419074258785005791320330563292464908092711257343402889235818397231594782316114822104005859776270475312111222291253183799962305137557127349388939268348477012584517015996292803180068811832701250500579903954992449450179290545615194114417636682923914363267585627072527231730932206866067051810156247546379015557218847499555884873347056489614294860078588013065936618734010271594040054117969610666909830725334485745661376782558611539233902376810450199363533872398540995741836410149945039419539916020031296691784440454333759733016991317093769851500563848715181593661168709023668199124459426329923482260752521786584826922244052980660026703683717305996243184758217934447749831954531778477540204152924587121657292014057766302177619654853861419640340998207916936479971350512036827218387516199161909901190373883863229134602948780484017420296193667029449826841386614816751316468580731734640355593278601885138175495781827854645124735097601965191129340515606039230874114497903993445202036254549963025500379563499054235905790812482225316446435030021597321311428522250047910942562434669758187266462533033143729035441537142007532577440257972247850086352893830621764493982339772686274432347640409087980797371174233370266952115003464620320951350271022046090310681107846890760968287383453023670771182655183795142907497906276903114937627320973384589178972535466335684248676491759847222574766249170145635667088937370677640454598477577871733327725941510626286498780514582157592610661958877545976071946336975130222721986215954590034371501383045080266171389948950286012643529154166037758892784135170754629941726090366172213164051101236790900421698683281597927606123098375380439760473188303964168931690592484246526773541019158481802014397369646804510705372326118157145930078704531218694897253835225528746723449892065011902599891460221375583595477046334507026947100343311264882588918457052292110935968466243524714455600601871228049913827342216907794278255724391231878909952619103040985985831088053664636896149888614508523701055819136650015656179116537791911803307707221436160108539899826135013726504794017033799493010412591914060926410158874286663183029385226439764179642056494646813451129883733699573514923091000127617465906182597169620813742628156669006704875991892609374678331983244942386028404386265082146424690342367950957595798336923737014831043035953958545607653024089132190720349913574946750696624444519281181004610577568718795660883781013563321988086245543566276269360181940900546559513976524613292550256089110032990953570758803841310550760462976116856516118418914786071846555752321334425469372192356664300653427700825574609870964865010350247941692604313425354466283352310058562914980750750903309102538537353407994590045544411115088297842158850055547111877576230180623559938992340931949980328217609826569449762433671705634568664389875625762442895645884764681865579575744359739095181262422734965990065187547476933610677710721544778336927619405850795592029102963235866929151437771911746616134114672116689943457282687226369500935006291205095551933281714982955197800112009196902389529245760048089731762073293129875559544698636593506399555172104334809990210479760603866850755709815901908630431144071417882740573641228467729503845619801236312424110377672582075613171519363364760981174035408105338055235337750006561618087037402337175904975162914630700007074899368647136888905
86672134471662475519976021055965005200046127839468185194633468076216349493292619581841606684993415368368610602178932447996259349321017351496810675935120370470283068156074765462209937772657796327844643710745458615332515505734752110650559573064600610086547206136639965820716002210077301197129221768681988056534538116761405713227448409743595864587723286360657193177401671164227958384360676315778116284954008999109415029553103197478947389089028639970220501500435028213989361386253221843400624916828675717956202289652561496822909550215668344873539116892740221794656483096557371889762202065526483160651399851803784779518017463552503850644765496697840071925993172133934608315627703756555799851376667336821195427449214431262140366716306493641918286995470890912678049533201336518161372195578366386983201792123912608032765137897333113610672959057627957503449709880612554776534158782184774606542030426218382549758754591204541259328171010976201200733888585237922428641935365894664448096358506075172693935751756321938134394359171303870299577137390224563458953374020747161966690432113014084071147338103607994336448796157449420260033827809886420341310335618046816974390870130042506824252634840028638321223481824359397243920673592124474203568104168603944792322661908922736880123302788775783876272634200992033060434052136996287235181527324896009792787843163214901080379737300748729244000401986994904611564224038874792019588493755563865837023775362526336930581952439084027655075867541274962997608999504674925247420405561449961908830154853470175175197521059054983492170660690949105613851566042216931554493307781141555410758341503497505594252732542164304911805958743047084649701426751154177464940613022089356648909412555699314433496073168516568385797021388144001976041339945249076523172085738683347465486174547495364116214977782113118015700915617256045956991557177361115452150764369130248294109384412366653863117983587763989926444949933440797806924193350149950506669183802144095874082808457746528935634364084593304413036992885301849378901040251181162814268800279211080681953612118986878816790248852548926536111054382445971253208852609451652385233637934737185538222375358922931608782198568959747007216350316762462539524948774772765399754991930912176952109749015840972636041827141049922376612680343210167725660200798096085567696083656852027913329972547551286774933127525684808744695002150773897509065219465758424295282185875926767854350235551822868334255024560134306871861775897924577064101436745901707411539632906539369551543452150977355861585137294650821611547862290989393575220686921322621080215523244203327666017138280975267220055842019739717517927765910065391312574069728304719974438473850016216910778584366353645285755863932499694986201575397747793180163457816053060823617728111422706140307547040124639506642926742911461244675184655201798661911643783813904705251527796752204744241097975768129888822166576366616479453205844049592804940214033346636092229628644334376963069919440760772317653243529181462883465059552290850062196364971942042741937260877778475761961366220172517166078798172456372655332377773205073997784508525430647167020913117450052667110211075660649977999322860368895709236350266278069475505899349617111373969079219879406776439465851235079681187889135742993287948398186281866703380822659301626766128084700079067153995344572167823512725757445012203593407180514471251555015080284132498243727926271088161414475714698150364568366759654598062259310602683850305238612419249393682833031593096164580592191356211700086556360261636208606058358527148770842537966932210499647266880379044528833002857381480997427284683995313142037713439730392056168427584713419172046097862819109279327834215101981204321849823495774471808338290715543262564987786111824735131192867111846794990636757788951999904082702437580461713037123712846730894507364824050238438169713914559675662381785864119154342630307776556610616285489280553741417443341024424327416862196046319199044959144046561660508708153898290769313701747148277372805152464579654088818234701083895564836412706863186693974796928759907224808371102605545414972393583442291490009399269692991975006737058352598258278146923615042443411458758873455571416574006663037165929094523289096139073207988292249914956653782083380919527130185329768676737725188706694484927378063927877814414012182493109218586951726507607756763855912427490454003051076302155079435586993783924605548346165469174291375113250288949232832430037292476543236466849578507276442542832457223083698791922362541522078590046043949091981541727779433604310886945102942312488670763695286283450202390973259210754848328813497210535009319357151441678946775819177060892813471432386849839025604404055885579744676331962516932965613662265917183693916514336833585533199309659024319768383468632547298632264690086978497380401329869633289231722387587613007150169962141076555201682045443642634635078105727250778791690429240350208507340393199681760580308600073261418901173362074770839582735063714551073527587522458654803759529499244931675971712257322898461513214532175005118861259960810510049545318175331961762357453683266666471892411383722652443145151727417156158977926371562939099906120609841754942386805386559571748814124181286750086126535869327577559537771569451104366854712186764222865115520057030275957865404741698638307604936204544180938549984549187904223980471793391528950451714653704125248187713024430226615921542964719712634407653479155016517311907040189755014841434457051626155931685251670770585425799636283825995572272884579442419674592848142923437114796321002023886207390111544471372537151205463090252837755826557795539545308343419508134576679046996629934985095773638070113283453015417360272020672874965711894714259313032009768656912306137490762063361912290175813969681284121947170899857857179892537965187667190758558850656515544758036015178217915781310594022511431271257067276983780821333933529025028734309355930389065326532790834883029108613887404459328116036557994685276144402850716451243065357987614929896683933247475104020842470008574284979597095139079091244129927991006103782524156587622638183120240957885076371248693626114520815759292866520956996128381553044023184878163003386116023653109842167001128849563490001582045478671073826774105861923651005542891720662134634153687698910563468606423671653204940799919295737491393179512810919421108262065139209853948033658761781588509822005706188975144501414038481869726010646909487909636590127875747099682796065050760600492878715946357749535200844289018729518452930543309064846611694926007384161916686805698869571932475736851907627132130652344804527692387362164084470635811534562324751672266618184965297635464732335950204965401562792961098390751221130782911106955670784340323859688421991695529712930441603570202930882201148932000009589101925279387949746027194579807417639152917292079748228942223473402605450021688005831011897672478914460991917034463389955586984908396360502655914031894880282899051226234110856049412301153432476639649267338297990845203892252730727118422492988818781648828127658490839511128970789642461361593283447224740832148771148130652303920423710903694253267780989254792912647794864456956937603955702824862445564804233959809143987382429685201724769008001755435184085873804444939430626223706474630942578313558944864905556520093452135109572653847991910766196988291485963464609750899873666858593169060325666525577833374707857042341389546539034976237626836491319122259066945425186142835920637240855568665907479177876587726213087824263911667424944401761851108044374506576618130965977559245777066014251386801051946713242162537662875820767594330272748386024403718951805672731357588449779590992484401577516940108447255395228720632456202080076357099009261298715331621085442639778864720442397287331856624900048709885996393178779950213839114242669108154784254393490478750985254989479499647374484486688470840874725560705359408207918652641795756401786678676819570134279687614445566397452995592973129507410683495982089651342051275223681776941360840468496614640797875721831093360935801022277577806051008064783439911732896097215345846211137371431159269293875477590781275320210107662232866305800707535528758116278423192846836580143466531134370224897536038928375506726099558709966844475168851835445634361654982519575093102332481270173198794971772867237530844032586303144840889583401538771978533709289400510835034130058264810914080028792454411178699079644610344609237304127491740954006760066101210404014702825525568893168061531373104619115842498319297073205380792706192754939140269548164594445730983238845546955190118017736804224319838495878966842301626566990932991464515564165766135889989985658078082085276489837648969919679001147469929462528096255002362182975498376484345771519723272430646745381705740749755783071602737887629865187296344825487277540445907915508729942277177806716785425063542176129931370916867589367463831236980191226079799705659740217704667998561511351210958528555911418522786696101050518952068408137877570739170344497381491106185366720831997506757901558550050237734699746552610176572961309478487051992283371071351554590005909653002101730484624971524842917462801737430108804652879161566092478558577439058901398560695455489543451117939056287196261513357146980863251733066471994464453852892141328731989711521677380757720821984763170348542306280232971010762097147907083245441730070303062673859384655220809993485746698617168863413121322711968810729517975041247856854920697468799805300173331238970420968606350401576852623492633745000198837624409106730922545321265862640252268841816213758863252864143165152268347120545740209096888694237778299207017048238278248848614173172240986485288382594000631217370586524130648463241821229134981916461861043303868364937862298111823328390358932564296692798889972474768572195829770962510386155013888859313794285251950882301898008297081602969312015866115747124250086018211754322946007826069983200170986905906905371592955551059375417640587629169683164844759955839254951985049734329325693594831237560695365393683182020898876481609521192694711375128456176920009576362680222611131855692566251590185307146845699598251150823262220007784895143614990180419731631329105580830041728576043712562669747931850182691935931564124517204199142373565855103455841952922707767198252290807782710122464163573020666426186895193002516551997972173756844519978266892230900182681441189828705014798350789973767903635880966767973612498088827285403563645081376575481404786853549631223308381597544832221528538069653148042006957210302320725456695411587831137635227990762164988007514504730485692856928893403029748938414190114232955213391106551768883576065123021853703075925569703307268337941210699713089775760094556749766841180270980121983792066356524611353267116096973609960032390712038308253389153143174566239489713775012077918528710744235457647215085470407286731869102888820668126770992947225219536568329777610782925179349121010225999511466833036337996631062703225280812022846327433762901851801803928903465372646501567606817415078692432057225001937961738742932933548345552375891615765365349091355145740139498637497088208428779317303314066961128286100133318856686924624357046024768803199172324672112811091779789417731924638643398801887921377781538607351814140738972891878111546316123228649794321741512748765294994659337504438809124441989684281294120172723561894640167583263050693425693360158116589387962906013470267211332907613468787981609771529514115209475780896265637375126445756992342900469918330012218489722217881109417120948607075433640740327370988695420090957695201144495809022674338918923432255551846253880666463870957605661966448891158286246944174414051102214110896678236758075479372146326781448335101197986392950273608075405640094737386602284571589457525634154894123755792921072239374654475176054352488820231405521957912679008835193443810180823526720052570347309147918779616933422469974406287238079056558206840590376278434244063074742582480489529941087922321247723259298062402651677758279514016503444587944389013720434341470011793234840830423221595802674861753022351832661854245669760004737584584854458918351666182472654624958582766516754528672554090134020484980546674795339592238993859999664603470314707523590833836492866786162873721901879770567967031444645071167434430059503802172433403573470077299286936384984950706260534565526896143160468006216641533657799357567222710357753690130963035490031316717095987124082284863624712121878627906947924012875118982149008302977439642468868040316690991559087798725569870611405226415894782512487489037651033416022835107708424748270424104841276412225607119202658720306572721070858049458387478901362820435957511740716512139186928017784379700311913806283941404828191791560838636564062671758023266790482888320063331451830088865510052427512656880471969920409612832795671890467016552511341558221563354553689441909119554951844723791149060409040390147121887932779687875454832003226083021484157585156850816631876751734578807857305937466359997945213524785365178383773614729101469509833187404371649288129008689390126059409733276168239665534993386748587509992837426884243568499387382260287379983008836767866932442109024786446707447280649294049701435724019711335717397804905512301853216310187190969927111114663360805301501170661457934505674208081975848118093600407312786376406422275377705428366613709241440916484680535548018825044350697155912679980505202353699040829991168769308975234022381161534540475302033894825502520859353626019210340186161041963329081683472325961738832215194510209276616080239283138814647767462439187613133159758746699624779656366722995625796554331343374083864454630351711906285045368154580567402503963330286229220683031331573165475421211286885157978653126563198045691037962405909885388753242144651717681411727136544151511148248074541715232845237602165137137804687292873497867896361693909929474353487695531044881957576389760394597343048589311244539807914616038770705272803715655023831856262879282458646260640826789940959780434016747453481482204872810630645109325153838120761514598249637798056024502217776612347539661851107060935116893547210562452972901416498913191544482735964508378545607247617700264209815993883373423047385890287541706834006562632214249183176735731764559078297662811226906956069792673653505818044794018458514222238863646270342093772623285578869716914595114021577085141138031305513043622290193384095890123959195883028104359581186540031697287364751895866086218423900159452862126047193391239103706194167741430391690630535620542425758907639511643544014939089170080281248570637024459128470463464495484314933407304360671239146661731568954120860873460368175409059940105834663947095880430637334153346130555923467747617968123523325751298357974904302657286750704844375454757306985529964494959627149576389037240381328063343624124548484366863120046897847818253572369860091769778984070845570515377916264199108444108178182771138993643592632946559046634306297321002198763517848675183297648319048255839474085856473143797013297956698048584890488876251277006937296937781145217835097797513338853761431984638176369060985985030211106766531417605230961303815728423799232350645063980900078953280749091116156034602899641839042724460904634095468633527231495147151447812179832096701671831982923563331148079343540057466983861203397273263794498337156618090536847706353044132933275104376402207248711557031907626576808884816286387412190859319099942413930092118651970597577392546639134799366469958483975572585811832394152659496421964412705657342899932936130831883454589512378129659138972949022832580401392508173180169160871775058627783150796695912589276743641015797089112476968968852199511978612813174929655314256365519198775679764825239134506040396538565894575191952170802785564809714139305936993950630781498800102432140110381051812154658508207180647462251819755618529413485399467032870339305570763043084694835638961285458568913827330334781725423260033084351198460750717251210743344345337491380753121721837281213049577065169017821074218413077991497638269975165257527286736871832497436762103023944779857729910186952604138111299331317510443046967740137518078150186206784396482079683538189475540920135664741651724904342307514638643716871301441993157826747252359988525686088326632512341211218565776692497699230651866048085856015668726041043156386939819703915605499729901974038793411343544128198178822729359227920355602800871393577105646706909349119921432185783388108582465314724910005711384015916367750452588973591387991713861419731216850171526630634690297352688023399778388718523270796699379322175985654851336395790976876709538882537347410246956309272695151462458779199087568204386501796943818325794577879261200622968952918196025867869045090253436460257520300734250371988246588994750675629859905076682338832529210723332695694246779376213989110632820699814151366802316927966500384140954346259549592440566008576665535161767561891143888019713992776740599244922246661485098335688366270268031140817056778609632660311814149653576890548686211592728352166704859975257451625388084524345140206349010867274414348375008461345121249587149938928329584962437881409819730883680375339533913636704295193637621440293533082907139086313717012763490665393364606304597262839718398094019969446299751450274653687186676227607664437433005453305647973975212192203230904992873343264689661819953186579421357762365900439955648373993038930498662861704574040463740884808858484907560388513722193909794286996558013547108143219733834235735097559524133089969070623067436434991028722063964663503689724780010933705397134727817335378352111973194595733552244150211514154000943116615998805494470768785481221434625252865493889155341982566916456337325004839455673580492043722391442248799559715625139593509064205870941326918821984782092729640302607424700156778485573671462615554967439057704888531077595690346228231467044314683405125242241082375891680563312173879937884550808380555415030941860332275310014808893053331225636269547129988464621517119472106530338621980562802168062177470195706112906874484309240938907872464613093144350395017437423366768718882468891025883748614233543011040378353160176491329474558739357455836904394840499451157622082654736044617217249332548501356961069024320947075243169912636066633887919494351525838792032222121602258289690272502580013075270382090791333669265265735310374039519588883367836564489129431432256818597750666546405946870394729694320762842920433665575734887228828278589628038954521899318401216583471779209760112562855643144625716573296191397443952148023065435688929233810529171239649460162937107417516341356963786277968312951939570179165469849342067104794467457934183314065491806312438702493173385681302899954047330800369298377050065501610424884506218197277559024032585366503945642957223424298391430344834478173898733644898886334438464814422785230594895677281274937664148173631966229897476776390099197573830381145901330861076238344022603480930975228655248973380098950644685079014292259989485373949978170841017753538818393550933700760099946591494219416427476700214535974295760940702840082306228949634928556650675584879459908330322365121919693412811262131876441856711181032997986064596867485003327390359693374385351976396057206812411029125393619194234314902411307422136203997072824553007153742391443412836034875420662878766426525544636240547476472083374418490997801590242720586001197897423107737194071912037365386216042172034646379418900542150167987545664824119940005324869380330881355566015832032559520225349739072203868413784710437661249856563994380426277499635711859848251808223858017367264230902642074012269574197701172633982377889497197868539542126601468552254602144796410743102840679842698295456812368090471144852627801619534038339935143272583636229528927939841903240701889757107634294697848684425863418824874197994100696194966298212266643164614990730697514910975234113079423097949977977523224542641356781116540225622498856320616068421475920331880915767892459670725972477877947901212881028628586938335312857517650188623902077821751757360765978086756500925592699616813340621106383932250442919513944557833192647947300102889
59623545744097364077123213620960285759681010832651638417366774185998952920846723771776044564448775483595700795770368263870487366524363006552519330870205298947105705033958295461268601526952173310385424686946228328636906823601395140257364678705492304144692498338035815419911224947146465884973389786833595413576235811030894919823252408915959389372234446372255773109160569006883632190491585484093044574970657871953226251019386170004044439534780637255581975266241338201520188977359785090613973514714424495644463908696145805250796062376335590658978233395282827166722149875779442566438630127978383238271012422009458190360023457265753109389191861192588371422950819609274179002537502798345008845047406570783581924357392532424337689743968753312408815213932611682154061204803748873321501164107573597039854279215317980395352117617454519459767586105188789698700332856968310532680866999281653488071960468457261542926613725080266667842635267356834056134248988447702718084969684109823971544086622702039948337048363416393264052102151242157067426247159850496767565317182925346148704705214846903230317828502980568038142242496798753805447107023234097702500746202464724471236529277639778389878755167269873277224988283945202240384940534768793706457114312195161615520070306383521278764889259024553519191985452621506422707584729223357870608940242172830795421568155638893118570852043076726446123799769748726205226339818524506474919390048316286535258446114684538935487375889394988189299929512537699179431716766459038568140794438430847297840043645670586134387744337772825926956514666378903745315628054722395740610886550988121900636310133612178547273821872442883240806066896652407668525813250438392655123768284765065121399944485370371086897303199064111904337995286888782419216088593156840253957572731980620962929068499466193593724686106353179992011987552487731138474867755351804248309626441260184360670142197961216231676659005612551468574707729198847668318963760980524103657243771333629516720305008260444233380095083130290513023488140269074919007422214941712954242107904446240400207730365406523734888556453971724891655443867314766620433188322364124942528308429209790578090912251571158055988521465116888601913736891912541580135366470066940168839203894004941022356647205806596832802423893474362792001336587522830004493394073156747965456475663526270115044489387846402802546641616112965617987075278303365124239578052879499790291804170490670861227845737913213856534075469065807285120216887524268212660817479392332590926476422456661013368042781728479005360120338514123167275203711206396126535208620074144641173703805235905401985058012957666867238133677913249816848387390237647123901108010814196865896299246659178868958760021877517415120264950263267249365200026938949803759488134796387540525310958593463086852695880384204628936115724637845909935763654389086899481008670526783876895668977370557192100237830879430730755365311014142556107416810979201289061852840047072399861557857480240587995079778646418204449895075388918722451080418298427253881153414741094594203119185082510847490946987003175428668897505717213906827266964697917603523175346107107287303566914211577007446549231798697375218016259992569563802870066248763054991220804303493889940734822404240198889542970146201267016893365324124008131358409262401447807828849479250084629450969399888199687655667565561185909756834169274073829864516170650489780790103572916168502587643348946270297708282986141238511461631228346894398659743587208282230766654350201722967259642580049226652092949412947476503499460531913297566301203908121247611318932548547852909366220525742785926319553364021749283059760642855535663649445377465414004092751957232774366768343165753551021764825924933128779945819638791780676720428243526919684591646862728437280705369850853636904864349384304340563114302552443696296490561027097689651061968055928627382347105341142186249022112302420242859807687627060785330373466123322891607433522425665444878929466778788828409790483770025304342783153297146275192558414331206739752778682654616237328809637416575816835800645125059237196419963290086296929737911195456300408994398642447652157272278052981062040385840938970994732218303394788386805312074388817635831876644772998841146284237826239543301017657387791924906905235869532575172256686375954443323091705604443847667646581011864777020761629222590156326004547311674208993539619169623642693009247811603439863502176088661041958620658118040632153239936537197256106987872120171881540884988391956886454555530116363062569834466313343124185162791135242975960814119610912132341730113307544145543439754341657714678705077335472284128006688050614779441036011043789530534645806292237813353659582091706108422945362737057480262313807013232579307194934454468573971827432317548147521730415999010122343145663725527658837540270660879480004039788117067157893614922905434895311361617693253912440669959302342822071511488679305236343006445513885419657276826197139339917135074683721412487024656157772935259275256530109186335856491818447511348603577410376404561291980047960121594990595262633096007894361304763356192956825384078911723043068655271061256020781479469585404816025461784313113309534391826958906350390430103521430132225115797173594204826038531633551938565394153050827011447907573470107729631999446490010593167964402246944526444933423699263291446829007034565831783606986058481910778845980385356899162113828676410291091792605951797988030559157503255137570105978831063913349093263218401570276727353645924020945618822312346251405704668162163470669951498061968296586266536183970469050697438354780301296179696123061513150455557241354170422397370101731504078607364714252533659904720944804848537799690349736131850436704972572021169116694869234164841393746550125219474574725019542022481144687103589332898605167057469972855224917141481174551591562802954572350814168759557934096242272719256182783433144056665208651906296645229761412249523709671726663351139358389636465812022744129405844453125801176716001838150432547745516390269951745940194621732296268877158206184985152327567143153799892982649048944109236646981679895853424887110504354169901652604177302048751041386996162808651750087058861098410126764615459379408768486599472118644041518710202808332939593987563174040247668670388560530798898958819887980117343631749824816509253356445736829975755521368761313361435051012567012089928331546661670898376569032152612895071100622223523212301360363445562975330478885918990867943031327228774375310180486625724004126845986725596479801439696721755690976192609485234077012157807081789384037611893827400042257564056062521940547054342839996912907035204483131734137967584867800957601797096228161064844724202669647296541101795941479007489118763263434365523985098360359649755451000170287126252258608205684635951760199819914876999726157313051359394289708033629211994944328645820489030690543622128398682778616991287755598738631836697074212952738717825176665088467332256610236849603926239201046879367731771363923242585353991282330486967909304990009635129950300208686096749566096131769469998955122825770060356761580699103175939407804070373577525670227687149081828619388448949508454906416358846584198186758025871861343076517811501575581267652636518671441884620016954862779815112674249445237371387174653143606365760345702253354243973506102018692339977970967388566730727332204902623213957348592303577634941700088963209536331751801548303479407396163969867568789397765223943181611671857820753551947522468698923258247519715541999885168727335746139932035267930938957415142889233981579585188483440716082392454810689478276488159149273439909026757988081996520156850263290276036902031156962798575848986831929549884266285699667399757897407182967956615876412047294080339379095331974411959632829438436612899721423523196240829703285255363089664924805759361806145695591907186011400189709142245651583890012938029508304966559803660815823950560545422819282386185882045097970096573775447335768730180629765098406893398023208652899543707681520677853282713162992873411595972797065517718100213282617989595020528903979297511085131969944343668391958672689390678283514461888268782620061254348873673676738780593400005379875029693284563444378346003457782081855541106350575208998933330510284404048070346347949831498449052508789604435078318053036496381387941287172412127860937187705644608902934912651205159671479054303160033040988071675368574644950868783360327684662437143437127652290115509071680897703443834071157381112198117043248165410846396075694596005381248499229220471951280132152858681731425313750104687916548995951479453012158385480661154000135185493244038235895259758223101684302196344249243951227903107642082404812330434579263170433742747455014906938421297724167945309575707845400278618551498021054064021333532377360636997482562284176138962319869549922155558877804430345251330550018222256748735239737557433436774658302778025395720461467675933249658861078554674398179992935529815756428982807139476273361225545360519160324091610914376791166577032656158700919716199554543533709360189499013733015273045896767405552562443493821111446255370462207691324929854332967152494638957149475773435267851841621031093228538872264590841094523823746663014179877273956752439627071975743024970595296153898753469176123935937147908396069329879431275034390225640756719651984535931101708327677647788909257859858975304492271706840724415324786982732811093178198068886829510164985337572257722666462954793809037419842450375345964724501419179664211872402963226808494717070164338105234756514772622181816223014728164535729994645336993874107615898339621458019735996553839924234865963962640311550036707933994909817972722765190893630386193465667093879152578505496076254660087088595794142033871152263861025657461018741579693182519949635652621331896822320553387802261712393700767400758314880212866631743336319723270220326838386982557167447650515634308187393576014021818952140872524912561947282534069660116039289714256050098929472253818298649549758209556317771181430083476545861648990697981297887263753895161143398504644767998642045755448779220787732587465220394986129357474365509376201400132712877944238752945150626098654469393929908931886459478204367622966517902158811031092576997987708477023295328549208013679107169582783543700955665788140212190417275851920308917555347938879388864585737518231306667099698697957915945967857733423434915927124592926542532421990855265386252728960775326757499742043912112484488278437484986538437210616531693941002564057736093364553728721279240854653918835212670964174203991660523403511554982055250762969244813608669167045869971052817547679936069203899921410367974594616781765293962531446010529228580485594524899702230429779999578331214471193998681832774710666337752182543879920376856998152683456902009771718469835402940236876329624680740643014062315821038437389209917477780220632320753628868961551923595018840015287652191605632840154567716611492344111083178240572744729623534001313038089796974446858986300753587990429279036688800837206035809614139721944657931978883485206250826554394500234638948145037392251533114692431256896270471564547911728968414730865879747563794051863744145572972380187799966240212493431142087446792309526103516323684580446638399600360623616913991463623913003279999418319252632916746431788670905053571448620403381044550003294625565596313227906334558888671198306496410053588457782951642048475609445899965966763374650073466452567106371424138814995296813247899231851816363306137311459557238762308148076487328217787311660329779086446355198818937708675947833725995638924954236122394746277748589303833694993187449872112769959542101397878938630833475390724889269020404057980245901195670821277192496887870771099652402802296908151490326593335741990464099069184464524311594204000106371715146315291307569247697046344459034463534607667533637476332668728400955597851040356525851129970929996140627296077580685706133949556242300671358459076476689212907703650081164780709078214841794765060361529374333220564072289410411845633084963736477189668875877151254191033353354443604400039910140229666703488669050102071692760755305045265635757299825020247444470063297944921932598925165910554288546738751303949139019778552614396465944232663595783674987439615900183767216894901335576014863548968935541352764471822431623201091470474425388622135959738572137616264410569440021562661438784002270285351657472868080140642441726745194482903985930241520258989317837285462156266071095655145989836275551687665744857275638034552418188434675595078744548659046157711556592263458481976070482418332054717958167436266478671424517561745530537436668941485646423969303981569025330326247674926150544771109301842407126759610616513323116652053254975306507023881805417008939098463422217805512446731566031077157327474971627902329765038914426164031759166998330940235794367930814248784417691535560353078998333426053041168177865939112043366970569767932571116010467610395683404598848596453214271250857398217289241338795137394015239658097712910699130417996487425046882251369262909257178675680958199667409167113088051850578803031277092437780251158835307323949090101975480805361542181733029742457874390948977961837327997458763878663988885420476814888309113222510032610232030607618423730115388604875272133329666711105094109980832053864420705291661909012083915186839801687139560512271737055730345411249087144163191937775889184412874250217781358377680642263026098137761030297491801448615853076492511176403992418451295385405324280041929294064430639485253667730129561352653221947648056962785539319117012182872370435078950691305362487453735117965463697316647780683915880824090417340254733623427868765229132906712247036426276383622535532694860326239584725146280450151104883878238509859940667603833412200398437400740790961878060014238844769851820465957556082994172650633668770535873579985714201827692648783881018628592454900246936113142555280449994208846557832504946635255816556322151936181705502339972280784205339299137100205039849776506147247099976973500708835981686507672900182336597452776497098510274580378338233861467459011383488084574872978886372782964003576321777642150960777190975411086306418340982628529809008741225231588991063260536607244835573723312684274798029900188265604795677863624702379115306980140473023171094934567399198799174223236264552203455237889161417479604538151773751296622166808958690499352453381559035797429408400146416750476177702350645035762264786778928340073369840886367788209565363571067739686912538550269318730258145941045513384689035825788764913285259864956798033939286295885709340709996881140252182119781560839906602755225691363670413047383839197954490571504864159817764506356790782598648553300780030738052197155556623489833156338777637005618650997451460479159785904768908065149141407440882805760364492095579184314528268175733952704024724143091157179275706008264244755001959019401430990143656958129198928058999240979939756928144825652253912303042665683170590626399197170066636469313836097351988999701616916510862982280095499426680020632729929513603411477152288399317718384879583175893878609075746914067575534299530838134494865576261613265804800424625500535911950409663446117529593410451112252143843281923307551841361668543443307773178045900076429628873534835409891554551538626769049523028602032731607274425812245042563247349393957941559901931609583673204690785480106551805336399767202103547225438836154549378642149114798333319328253778280253217783761152608130129835666916546334466434244346334904441979597158957298948272626720018152294082947597249539396394318423109835835427237354649761193516025681291368655945421298040879703329567852789995582114167092038462472248238190475466732725198550646525792527115723045453831644513319122794348307569888264118205394757957581063693730693930125321437988840404071725582906310954889963490976897792188152511012107973868158814666522706132996375829179573593169081943413923423239791140094491035331065546775112393225007038734934777746294411489572180176725056987394013480005002128583099066161378967295154892444325784126596600973342830010429929079434861575939427156857519736974563237422097252774063434700296486420044550317167458496036846984126361311844326284984581009782570599523544316724146945065380589652353699192703854584997367682936873324863280869812768683036044278981475440547847317397590035488597950278319476712822003221294399011841435644983370534489312896473710122033711579378357929500198606190986545311735611695665760778757570196715017398194753489398542360602455074559981868526992053010061666172911962674012945020330944451861781089109701620814642894625354429162273063518122373940970263976746166678710801716512525945792089021972212940784557490953996203892494910973424842866818856892720709180414802924366318671949809846315012009240577444455889585737837679584798453640219591256590222997644725360064823427419662119058791102743427911533263426349583166054335247818656219081305977025293874343926225394086215956068729377731550545480346119798599367015320309283975729992087752550210257292756771437785490601694464060321613179668921108718571999417454341536425077380457016742902590340742655067873528030401079501574990895733763101367625666559061870896342496116772308300815702548134727386881889935077316294997781812059445782461332872186898020203929625699732821656206437914272637468517430796866672711380960836045892576250285902478795756012455591046079915057546704142357071006786284467766079491325227841055845125501296090246797287643227231347237817923203725393659708055880603933454009785533961593897330604332106271563414588536312832599887869515760766033614088641622211166255491276451411201713506316610076444518584742002187541850306225012348945721921222403586111186648893015176056944648301787796908733385604319342409983255798023864627144992210114848987573140795437099937897732110406994920789064916907082022188687103011644312467435164647855620657208559621294961227781705710280953897589093520866410552555356697834764548199101798071000253305842551724745644401304862263341469135516379857893082360570502800850618588907573171690785018652247932978007124905285438062401505704158142850982438582316740370402781375704247578580160009904593663659265301143581752789529797107253651842599251578098644965298257978628289317852124041794169448719409080762855320346452078439771062198241597139973203462757713891826444537016921248922514155117069329629464376078202049824564737750834340789116250513756170236742029812857377053203894653000509307523244447880487248089221105556958855236710626554848534543180138855380424183598317701028677130931697500387569300272720185227450497244653194574977071341322414002265806190612953288639845528692637946420991469603125611616419884325167485781872712077155519016359339412716783873076650209314104592141849634835820921209181192936486345286589837185406716008535765054529129844085490437980563653204106910875106331994533806740538055904409185706933412144586544717357365158568398888873442973813001876413527411272413389971677437579407965371861160750092844349987739055822917175042125514506443947695178650539674063646278919502900011877860721999192154159530241041231895435591185370433577965777906436473156692149370991403662815959614988686169418522205010098373230547742831214487675776183423755075037825458889148437811574789292761562352225376993518684253176372258532461557419693148448173492031198416703632216037348469135059740486050474243737784245406173311959064909429820120634760483565945097932623352342458029667712141208477098177167922152790524548662867479754507376274475235254766384617823659106558092093071563283261997738859423414384970520606791558711338682533350975313415615781409018427073781381341220165607738527571227553503710256585344172233643342656264034263607218249518390481423785125103408221522037409290015951335305105120939922933491799017672219892368469474746210808918881172976234809767385143412291874410014480529229691408209046945207914755418644214171438513909341364602430038270830456756781610771712354905460158049239199978133692387225084180527169401876958454651890780028244005807692175992407499635844491450363463155497767382778670309910990042356399582627524792763206355193433673655059536
64029634969135237475473336437418111114460838335642806719274486895140951019133674120557400309898936037161140300191657311979167108223467684632553439854236664876990131994753137622917289507946288490389372363310521780740377428116798934225248527086188244997826587293011975437907954703776896121603549118300407014335085276455021576249267829212557632104984949004012310863158775530879436663167970207323775562610760241122162718239679181302587961795840037091715875994302149419955174257488848688145733249846451073060885999944762793768670668553085830527010574772662982052462410743179170464644753929522522955849346163495944721960684913744292498817338594582268047288428609547067572086268512840977932629387924542140771295030690612176474920246650077152928906165141893237043486969655329484427371087094536047062977400171021254382068589382676815950586283085919096700269719732735980552947495383155616479421118895440164905813056880647981040577755491858351736154781586509155273437988873664564810127124789319186872648166886976305403858655632074108435871820795544319124292127091992453518383047710275303447972727457085607553204318108694435866541186149523988994203079328980818164930679275304643044504237571148720139376278838412804729382058208080479802760830388275498545743588838352571911926803839929454571522413504159926203451054171168231052311560130982661082828700842009871106698236915047274385515991297284855116133980094860771016998822627513491782594891797627042884061374280803342908527806077026310332143911039589449594516960038685891910541173526939766932495634262372537142442297855781208441526571486557137524909230374106364008077813288004804365723409764845578834433161010324110810715854310376452585979586957665761073773283286541341743413828636561616689206050476648416558322652033645509076299607857102294051027668993768382231427475365920150261315278558412999308257105519869573197097405082180146441825076889291595132598336842252940573389630316475493618876290855647636826953679299749633009275775789516809521234917754612872675331139320897321635509551250328913589020529620079001098669056102737002633434414614033451117199092887888413636451379474332203726727535938407342436765362275548888719240544191424429898684783716450854248818048390052456738151290944238184384464388108762050123237375000182617650852380115842000335494856165927704648724449207945469509285641693536503589425930568978878283365537310874525918831954686153550159976853911635757961436005499200859405181113223348883170732060178438955406198197974925822183170868769233265799392137401408681810626187494929587933974468819259711116425282193211080235305765403015119812047489696508217268802140013677369010910546155641109714961845600161276287615811099117821890504345381555107958371953261021414706725107463861342694732671686015331078043895059891177189920946263160773897942644370173567984828987701064861390678574076133917951908109903498578830373597108520985841210743719732172296433711700900569105811545161798672260321415418356419623601866801663932188496745051139880446852985310782225071154521363126579084258542772901222364889240324258480903260220808517394530811859240437822006352238425522789129437278782053631775840512423338154850999424067242078558426723104099516252529946787241940320046244901129407351496857711896308377770014298098684273029866849862721008000128132287838732013284303231505948932944673340377707732397620574957215790150922764505426729337883787953896192204372566398929579959018899457631135507554609286042052402891867650317048092142824959824565349841660660439454206530358512945474009968927454432241231593587862987109301133532507912158573024598530163601921652536131275119591341894898966161805885862717021023360455019814551597799679725914601929052903771518934970693816519568112805980510372025602435995728313477994780516913411851916314044334763369439320973130307560377312389901128404763304281554481407453766579641444455726637724478655634513509638366743759862738718801678646389967497173573230092924447604972941215430281646128219941314203769521536859911487347075415385562388496881667594041064895334302633050940590298911622970165123303309907686099941283375734521008057076495125358097712880981616453216193543264943774528724961670695186299127581625990008785796087339925383616189061775104382206952990606667727309511577086236833260202070905919317123384328444992405845860777511858056531820391557409648777794690503725566916370200405912560032649428407181496319872280035846336499309321165412734719422656983106493370090144910217513070131091637035662606522495147672750591666917778206419954273686496355711016460916797136509832812421506817004673364785427612504337199983369714084545837358818368628780311142563944580127740972621263220057278361587996605860882971562654984639842587351629821808839911826989004841576231735455395488639769287596420905699297229197400841017165671957038073901208894009338659823258753909442328439613148919072985861610667580851676398062178254866706495947637698288281056318364879502779532677487543522387953766059232527426200092076032082690915158162344903647908237905947862900141542660162079513405889598445541157231460879098317964864957127197573102539554494315797666154656275955708597009064875456470543230795352760070166031848429428558163037999756332988853117171941778327719766130523463922081664767357879792928355935425636591793811243701274457445225558773225313221653757511494775576759739792959248263750028184731125454505071564353998834923413286235514320320900814546117159018285740507709497003539180496643139495730276125436175956195860769397841515396751803242862311131362070506819970836332700802172495945506039043004057015566808957385065895623481789194890536188113260671333307674584804131472237076089844583174650043644723364532999363871222556410348620340782158364530357515720210468522044774034499560324305641981857105315904789979697057960280038211171721510421231618227203454496649062390358883996592924067199562176940603160434645023903725100476385104305637546348405656434666084341275538677575110830727784197307272885521465015769610614692657936322816526982583643944923597923928312944019644416646074237127700021477023881732422540963338500082224172434461871718423718364752424452595150061723478103301091731826414099030897319499123359592146954792179090345437141013244725644535553920129264813837693352142397022944156002725345516929845879849456488747781024911324178791162269762962162628375733438785421759401810756974234975386715831068947669869884596999528477637552480864760628693340073758509887520765869845898160012783606609389601382143963117489110494017786772655830883444675236853575761313868949057843184235494169630507287109254748450071658636196420818936928815335941438108905778157186139086565167989119244072463285278159282158930355855927671831167300503981897495662454840527108060052892247791113349834939481306814495106726520541386807579492725288487590335066560973686575966979446877780000091216332288257622290447437565573699471014974027336248596683027573835576214639887868881643999755347835102808052796488750312718788319152008130788524255504362003221568819781900563852013103379618892159375613257330472995609712581286486214842266773039284289825792246540746620670692309446032932183130157627270813329025781723299365518012031844084906038876370345136315228415466486278930074572524895095915754331774842788912913519113303068887430463290627464086859584840705585388068731109427591045897886440395621101928882340666599539410228902629279139075713110627731262009085497348101827647845583844754920275594596691093186343072709212618659615911116607649967063444702218400306883570966128049467724413794186103109041633874897433577448049765255424285012990861350870899126157961138601961264307392587597669630171784732092197868203613228588068803093982799869900413501524001144973680336229460281210348963411919565311239042417087953577346897435290705284058063569191944607284403774815823100232812398465714667305786823814459686897446872173016820596116222619824404664946736288583965061428624305702523506488258591923453461435939949566214814262337492710953893152485236068777449345249509378708502841539315427276775933803998987898126370777233300989229844848602654910587482546360551997141746162393092499485493555651945602720426118753131644878622172056905622812233025519903791936172165392597035955841022148253983059178689455865359218972899605778476360044867307699486369476770925504549509459599190151160113882999294239464871288555756494954633745144980038573247285572544155555241402551366778047477704318157306368455289989373644986786274146733608704428329014081505757177563747542859848491182891633199422817431720097889490099307187402464168123188031449725123031953265447297718972280824773678941241124826633649727187927569583135079252224989372474404581509926219263281515630385039328211618111834879636088123215920849035344557760790991737510727390367733769720653898743677336880890063937117526919135829579250388437932515080546812842483043148959796750270328951570359743517034999384792885937846932437464481062456452288566001827902087912842774447146414215230923799414027999439835288652019327814013877774342065702794272825281309134049551421284434189267394275601133949674826446661189696040432702677572309062889502184937022045169308660568507394392640958183840961277093954795926709881925706136402039383195470993017195458891375217163402694667960371058937622779648345051693336264464053005358906942776640176102051831085114886380143784390535155646786438541775661732783290717548159943653720349646961695483488262056108035429387408272035873246581701613849745346078735252772639266339984312784142900601222658475089021561066952384470553701761661643936242219974447683605092792539165929916513130864971318243590717007239432051443196173511413219232850032598771400218095584644045935070900192366079138053681845255879389948093848530234634702640699133928088125589716398602995264314356933580081261215361299805124852892054714477296358743071942033161932358386991155093464599219251380695996686906676826460791329791589457768065509675028841779417558038307010318648144624761644510187854850823911838521445000861751604437212926106264422044110722616712661918817422419041969886097282822367815734244091838780712251748072404711320055355752415885214705019941804031615177366567432183092995915750986057053146739856377910666369465042733389612400310414354841154768851015878779969782502758393272190955394726768812789398108422205341081376294427131232274271605015521412790786823890115814322780865925128502429262354232850128311988411470744706559628946953946003795904162950197320936608748006711324158770794670599655508454281471267453615331332873969744079533243137878430225783577097459512514230541570408749667768024854625448356957214662305962719041999236084096578320698436558669732033260289029945514202573253294805965707496243284730182756664466180240589725221285294548156227460475275885579526853396595706462965627675279593722087257573126899429279441011611397660671938033203272334216563715093986681816535948161642220820494866582307817663597134430586699359256024762706644778577472640455196214553420102458558083340090275948964356655589298005810643529815630756798309359991364279252379126576351678725389222953005344003580531920278151125421328787875859643194178047307420277771106115095039358173903188206754594313557114200571494577147881030084474728632789090029099627026270502180408908076304526638240268719951707799825903850985460447363436528942459506406018655763293624913876887524930035995645637294546462676949646429814345526976681108473401036144853339583604104150677421504254500920553096861967496202606595071935985135242354435307447723333879408958445284952196388900558110474086326650916630103690056016389485785355044517212233365894832278773484554517391165866929052584235697112811235898969002935652440829736151984442357523390114862124643852811851904129914912023599723598489735585206742801053901667008193180204966164813556797194387856627297088222640068201959801910599970316205972919562500583528573113160976410693463136488014644163955856214461484789245869717744939867438482447206565858285672742483899554880498223793566582900340632563508795989659077128430538342245497015402952624159315827934066545008395527398667844722444911117483993635972374432501013988260533387618764389479428899325497297156322344744204819386957898228561166865056969278629456634147540907754454747367904989680257207205616504773572499089784580970993707922038910877948832295868564212024455551222934520760452021983505943728185712071890056897783009533227327219528223114241558304233815211675462104552469602521437803907776347341725339700182174361728646145426792322574616548024653899910946629181076441399563688757704634125946245704551378795457957636963379744470050693440198404331621880158679270472280369329430659310593042960596096395904135409054650479926231976931694157766587096149088133980150444049253369015807532497814932834351109233585616715499977443225769449229258884261288073832064577533073831679913407486108796402847491912722246313787232109818010720128859152557203607784290424955850057854717762273223546939961591887270865157252391515915366073871429473654733343676664329167888512991751356152100971940657766665891926641975762821905137322789632984248848953650669232243903209704238957900472966257635558284121039043476273955931902708798119369890631247504540922461637563374988326856694351604965051209285001341266145302974161463041245417687918147428741865254587811899703956052388872652764158219082293529857342349493161811457869193991227910576940596803634650032246116254232755234094238468175143122735717857736395735976206938683723939550979593404385058652613544734304922753084901392450152697728880351073349954825375562265069136235291957821294928014841483839683853564340870909253752618871920785641718503593648032240213122396475132878737009802149974218551533819304771401421992643669057060251614832552107228124779464287981913924503483735947709666789425045573536442036095737827074903600787744838452188709460472041849219357102226059712672102592166551127883270678255786649894044017981818347737145785058345708241887958852228655074319375665609738845857403155971498851005048468439313704041370776166906941445132587769471597628049784681237427854419737971264649876768407224787817286846381136578021528234617406525345537010820951557830454584452592072041301677959632138775201370837367769958346691972042421321022121023954782605699200947018832655482291920820692965600897756589732118520230025744652365180921141765839354765158994742877164537741320113055222590548024627139233030053867610284082519685502627351070801146308042815340007103511368069943197783447803822228670223934904826913900816381371801360719655076463339674690810340286131990595067918539569172270591408818574283593382441772545429319120258352090241810476696295353524024958722620667524749482763592812504660292051198277515782159373625173465498200123653089075869124946610931153727639108296480850379850975132728221399364603089755204390301404101539118078250608119485108762941452644501895931920618393976842234498527383703632629282490252118047952966728389229543870663222741601720681577222769183510121337895201371497781667536501406069462723583934179840987541905362107734601260143694865456610956550292436189915661988223134240372794252431216054519012030646449469826210157303443041418827458732579713312069260807904541290116310112583448686278056155488030384324903360673842699111792188122230860994369641619615151381181703364830054177585598491419677763095905982028236163096960487796858218710492515262202713611852850465851630787440712936152718693706777824274707799578877800292504724458260465590506087055841066097213450420407456457749519147769165074148304475484908886158088886423668307154728788884450829530648471599867710179627478975696938726264025607360003476578561599201246137227334802075183420906579188557011442887280532074147054115395624474729271293294292964471751087622193796850134495330226489531470596048002545358547435206143124699506787443322873560774753724408924838442992357381917927497218463585335026642327364710089751871269154880014765373877072738995486794120767608255572439442219562591732573198244032733896490348588523363573845496030476966381003842437045757843557476170203536830735004273746997167965460773634906436262416127745673220525399061347639575533879826406804263177404986041928506426889488571291673807364188782804558159696180548533178581704421472459109650727513548730371879324266648810564970391089600501373794464037003331142339951692702470950759377194846698905897242853152393224444834705971256388093643042593859181011365722771218062889370901334519878117970907152178990683086876417648632338055649209782098899659014792960707357616199625156916221083203926844574488872494275560792622280877214582539348257362365630095373625374496793810636499006470998470943652297457551393382125925379680578705555961486694073372738959384480951713210722486135692449510652301253914656134106919333977674020019591199205884863869243372462419667787939251406460272666007614861700211957527482812890771485708320201765827628843203035401010039833613725947655170082276247453630886054803056170860673132580780028967888360384358806730287128788271174594289552534470021513904571058475792300454508632090805084436215671404246482892348650270043236123247230218821171515123535380526044959578055974554083559691062290972644952069643255470502617937146796315874197875108994347576987595013823378246178098186720059316791044017210711552263923402660156154242495794107148853061208703731921777869354303941138697855470679991369736168580084785887835405351747325445293253467663394780571814770857942565991829316248043386117102329019970453701640790900695448066960753101775565260370071903027217360524066129119752998723557359599374267803814251173123546271421258339116780119733205391253963022022354268783449388239237942513439729676229908030536630365632082487974902498715338607486377330671394894338334105291087929098686705099355056192557633527231552453589455350426513311768860969366670097623038944591652365093788225694941115193394250638304495432938975125013257893749248535010480948812696401392963466867766894384822468309118299810461472371474590129073792223500612282364801945017556153442600418671231007680805104818924971873213839484715310075651310240136421387271252544271344628837220720148348514954284062129477213933520757416973051764356781833833651576497533492289440440293712591113133098309173449963291942997865784625921433649205972080327293759642360620125250358629986087584082462565857637440077727827340310717729325760902987992463027249251861459981341254522309191303700393985103163814462667646811342689816243073766670606642652141283113277179456265687039046990290029543546693867197802143561262961022367321022341033868987411818721179922994661912463187293739997426306578669000430814687666225984181563772241636052809865555808139673490440551792982589751887149825041983768720014508279647189888016076563658683446599556839899755709360619044942275606003400152207622693292908936236945449564684826098274724876090798967850825306125830719201510798306298518887854534498269408604603202632714030552671507528084971426417271224333347686899904793927706445189845676897101492711681314430334701220414984964640033030398940167733828699687173997971917881938284857102329899799045346004504388232150409796789401434513506537236697340879879660454659697076656754329445688630621976396296402904178368250035714409272579594356107021653969505929685277698880703628280427816958051129196881189351074648890493300071154992641518493827729803056119958885987808418076616825351013807114277925929800099835897136850085585929900285376865603669540939678669319941754889173965848565083648745283305022388851738436987737408455109973209661281200473312800709470174386784681533635437408559488619395103444994530687457734277985295746319224789949544336186553495376180325026773187606667701386482146907744487056843282951536026730918103976636354833975083613865782254243919215347169175772530686469899675986338502468886768911774676980881180475629490116398888443586284725353261322277884187984317959640450684126118737201639464721635998081412060891504601044111861546474679437764845462483254013740748907725536027977612313923834970432745820740773530782089839706133424919581925926330430560255335826699123366736
68448525408207274666967004421237526372622311073301685628274180613972914946045971603618639166375001955812631985513168406394644057403458015488193744599272570776980136358248125562906423765872246455277392129199471873636777903787475530389467302769877924334086602182733690710826382830398593683756846740034289392167978985407896429844250130524291501008401486885762519231827401205781745551122301721672326127726785039372610886277651522296302694171711046921531781202976239982135875027476685246149569256212883606334786301324834604529156442462943298626716070353789875955845631434760011333963269189007979252510048406997367005128317787770561486782858257900461493511291889395440817448361061750424591253094814379052252433317848286712485717350336791644289035541493855678557102553953297652621114664177181841496198670826068218303716086971901814829399721103835021521258684917674079030927132128612754373451072562732852677594757866069651064995981302797083060578524543281833168924392067696723119198544769181537561761709685075913003865136100028292112171890251394698283812849788216564222677426707221248337311442269021153706714106620118221215651244129706566994523487094551409446918153515472092440153570022605269014883037903286684748227584470601261184335415965340194208171121124988555202091227529453491529371925091021297125202169592069573857945680438603791153482637019023885291111862037388740210039373388358353872861274681227419011988878358269197302908935435661477830507840335352263888834907868969463935681794020239597015785733504973130236598777072364032259384759965276581908270736331901824330547459511714977879770463237465084665087235730020975246553434873672240206945659243688447306564950579647198659306530911512949537056127718612871412742200852538664707985311399709090290611372256531202266732868703922144653288324417065871554493106274546395954618809379859575641775896732227769126490873665986120196099423035333174158678509452959181191003872405892163871549121477822438784782042763713375151090854894277883687971343731041453222139901203743827785271770694927644131052010520719375131773427782966670198171890063814531369228892532521437254693348000501141430094505030133464128809084214215909800669130218127546806535952252269813532001407505216015711745654243161164016894684249450636357531365323680783637422596983833997677176523918054898489356254894762200138710248421855875107202148411681667573164251905647054988020883899562141710040707659230352776149997963285917517887366640454939432284616175549391826900106892129176352398618013115654318710202583256580660553858671865650985703194774072921853150901023396958647600425099166184834000877751097553841703713159763129492382444293522746408830841741928463658785744681916034166035866556679742563122409867808854401050125629769786896107369448605058902929573748324244975644834263873808266946549022193466541082520265826911641288452851709810801867696257568620424543064330827182210991792026273831698266703098317504909828353873052845005856175025643720811045463404469878779405334511762829952259254104672591986303152278469417640404148688177662866223728274256439164206255853617629580810955015179996716160426022905743091338633181241948093313674033212411333055789902861910122977975354761905417350809321356843115122877455135600360316313353899883734119780958799641231949866555207201714120390849983350401019058349692675177335641950149363639481444312733095045463459620981730974062943643251653609646262047930220108821184742446220991969695738481870489416388885912063054833880453145458626279076704513789449300024520070997295170833053614806215836316838197621793695550105007249587740707152962068584634860101410865972977028621785622793100085896778105039838531837607600653923459727795542890074202683052645280370172940730870324152321023310319939983739908801758218830877511505099660599299999933506932999570200239892093558019486157789418946991748454552137658942264589730222753761226305719989202140216566320916859154321668292019159800362523407399031917581210124330474794105200806243866769638674873205834565568563839886861211244579501209921075300921459833798387810751376439157629836850712690994498961849001026489534853925935575851268474561082741502867361897008995875763789306073725369216345934385120135878359935402569191884150450426838197795400215183351230902485706422404236197096860092880858531168746550735329600485091412152987067456451325551221717320420165693437927274417181261551570037674156242728075155232452638377522561439522887111504208734213899652232051680258260836053504871326978566963726644167697534851037204131570561923993595887606267132248590699220783645469929925922625545547127181833107608485077369653200337405510528071286934954515021461534163255045724105106030318153504849675392055156269083664039163267255289329763331483129869863588967499687504319008148936886590565104178044187738924483395748229602447979819197256166270053504188685143553803384016911724077148945303574867848729722007889133926929544961260339232507242730995999639349364224219097646252821073017590534434762055022193245820324516897516512108449979331331209468673048442820562321209341567768357601343458039522516215752493003502991368926931768112763136642518466109053878727657519049689562702311800810243588691858023930813053039135915201930129976570765421037948531440155406767840784447913856888233801075054747257380810857899596192645290164134119362987155590348390404857810975067542313608588026741978442340124458173652779480104821685667104865929525978438901736751447734718556700757700406944969410029769330645433352137387434531799997517715163075810233947132337613884593253072378909393536774344210721091825129493417987248036527428446836606413905209551131055730575025442953540660319694995747715633738980395038622460333705481940399578377234946493953167729417870063486522886176502496882832525338145733284140354133360855785275346025091873785937394821332001741275119689829173198277857851840055813824407503555052148483543966598428557644561453513755367754472559913130638768514457192917999111904787792022532019767418959200888301539686983276795822895096438152900347045772981829141769450007219417757396146727364257185425777347032943879798252655215756372225973314498290412182279988134517618118231703150945824399253488937792790514880298717897973511602318686556715179786661076228210089204223153322331188547427145423611692297109048074032075261139934717198654386462712738225069473584250447901162677934164259998453352715665342167101335687038757580851442851631556344950529769891760130320300852108504584026482695855750950528553917899844291465769908413593665458416258583455605476317578709508364807941156276876612679140338814576290461992090897110548473800543229741081812799840557081233787125168253299059534724373840322364073269833278728772952019304176077007413881420183811577855403683750335380399649205020477002780787791416813385932874842247093320092093450168799676847708561882306970541361183645699329984894482780164723934920186607456253242591909067906102575217685916098548646860974762257582903598064853976465455958629228650269271797226062993919119100468281733383030193691328607932480425512810109043475498629495430578747228027671691018154535424890042639790676521301420982407589286118091280024728649935704397570809040678539602663697795542826656375824418067234294668260359046628109615714447825364293442018400468589130670920507408742379024437043165348498114627415059994076742941959787445883192975608995039234349945351585845522126651463684555474171893605998721331082671249299404247154157952169278234982414331489106238903264227577590903888418276201440473448308167132382951404217569982756125523767348083611723084465213432166928012654467816717436589871870298076060892893696353676340301003356548702175933753849663741025229312914713714931269382693556040172792410113924846043829797403577259540425379609626732397505310489028438435427345349320360063720206752638343594159593080167242888457408779339252243548764432878968995666667858056255040673399481978091859932965223584370128269189771774523750294941128451306815520119507534622865423131920221787577850444555690170227054503830218148642557880957367692822756452680563694955245045160602405128538289322434369248127772150649591932166567278492502064450497717422006692818469222615981485268808771663604078389184632436501619197566368569585887563001938236416898314782413464798131806481236061075022071209791068953161762245943956708475419784594228397996989423890427678866017871881922607704445100310777834185165888670942323604599508569245425599419339093763414187248226065175398739725369754951230853505997195873710007600051311613320593705208939068080456967308990243437285498947025327007009707802527219691994547998200421159059349761314062509670524702002986257531976195487379961146205692336194168458304795569301261805241454897540721419551936878197415334638912526058917142238807323013504052994646912713430793240431258713534915510651280177441292950918370829453905327538152842045408650081502801973099524420912771939124355111997576200374813544012401922062698956910797157148891090891023865786443496848423544739521385796092930490167752014752389382716983193500197747024953242432712810199871467716978645793255317146921078075303552780110995082334567363936400830496872390858464293210594756486898012741746232802724412893083374509682028630667224362020220129611546316750343463886778486194003727128061504298756639880368981405660227598341334223450204031663524211933827478871374656676850171572724849645640865058323087083805056116880700271896546325906645503886262558064584518604959150522029465025352009183286010003070605604144719798023445532148658879509539009430925738240602974955301409389292166122034745598741464569666727414093484943307431668016305829482822569882151124167343544390727996975625899462950328091114765776289074463515943782622327236653544361657481090484012251997357423205231222017183490544599392792471356834247225832115017371829171536887800283585813164792695365857760114856904590609423587355168456123105525765673371553824997195787530258429697003512289799040870582842659686831560630135477119225330046629416242335143722071161557685467323780182686376753516549139234932517188859307746921625721793227006298486212036561810437931326876213066056574941244920827863334477990350375081943178025336527958887720402764982278377588092052009934893549756095910337016679323226334764966935117058046502311589208205802976471646170391609191392396809881309293205106455578246331972427203293102705253471901739743758664729223113863914476312363282464111441388263020465553815742760080136216457177526246689368757460237879617863353281188826190072941647855444997749934080851377327927842088161841141012133843117703638122650046983688589331496660504004458203341938122924157679993549009991605485953680049836922860850503377643742232065463599500020898893635788800154951445938152557961595412640406194317368850759091805221864715115617074150221608629350183593561921902013618716948219080431501558192384919780642683392287950078547580292611694442921668114256578878610049772670398919514278602521527088142708862259217140506693708635452534450116941595845177804746596700833985445647754163371788897317666350368211425940580118541939170955206137302716890547018324166209355949121801159765963134039631287424563313590182146924749887233082701459342220943771487034958017662862109468010853660900892453284900029652167548481956510440608524741015739572860743222839435455355609654415986989865676059841945389567849187976421695829769144067432228444794173134922005811829835389908811664130002748623954296026844301875862218244953527348968195678193163109543678283829610464823000961462901797085813772748652889025062935869409767639123644029189406448593733549593205201591839798465231723503222167898617386730164366957769128573347421087793117169022570227494561402456285679770380519196730038954700231560925309752491313981198758736777371049748763606551186168694586622459170147907643218551355082631071683678625265194799976674438685369396800744155570623536923696615429545913257638454448672861337182929329813744795999035266921450852657028590954370679507352373549596447304007200833362232179465140368369920721256658074719591598841812928567257974777007475592983566073849158500096333218533507688724532342977494052161668711567627283532940818812075010623152894766214811775995417638169892131354098941223946639069626556662891843903961380989735402276834440444716250228388018787866027016593956716727041323415608233393759725277222255782256423801968523969438092751447971915377556979377210068647099878659774981258086612566639731528159456969927852826458394885518095231988521574906744363072894887710028017043868201339332939221419389435378791181999443556295314939380614724196120649919153880264333735128509055043346711657108980441012696981583076500885851781965021187509497831234946913782422606106846049755672415804801612308592759658169087163850513268512801086687052996353638082064743547028703077930957754834296733243810488154187186952387483860561127778602557371678668079792748781081308999983947776626381930648251467956480594724278216610964174248510359655672770280503784115970231963481698473951759330421391249412473334054881544895723225022564707867804580919756739556661907873287019475257306744685466269545028917616446145766633162790099485797969530016058120579027909497280847580913531257682067834839472281691141071288008180856367130360249516210203755055403380303698636483491868699101282446007907730947260459010594784865000114288735617471300577160355992459657906120483950047930817802295331829124888443250187505257923395395190957398552586239180387994714458376779236706745945906904327835629966596880392804642190719897269041716937602774422709238056188391200883016023454082212251599991251478123712416910304203962394381756626339777511427535453718794678595493436261956246642365832676386874359271141943160467962807512401059810634273924064094217154854533160825303428944258379690761479544963968092483385938779323084473354798696285335427285813527678169453792704718530761468170706760817740413589267595943803834626816337786007233335910215073254784540818774913144342918651078869147954967128895340860512434401715710180228091591110319076093370810188620674923595907856612197438163181387010404290912658220262265547546382667709463294378353380540427942213698771683719820580376858268269583843138307082616851178468008237627087099814037953016728602668738777272529758680782743782621593457933661016968262287606127801915237290933636584387846873119850118937047281782653469396554465717070765864902881069815004893207914611908510510995012771055681073653579267921092719357440086839944067067379600762360199963471288233873744848500350481168445022996811535658474371169447647458559323874256610323754162840101949570619944647825473362171783132848895321509302979272296170306383424601164480473399253164245213026750351036869984994455526696872370345433818977421453909403108818270816279921099315154992006697699061268945209193188062101340822538740369155129583709748719444233743378082216660834308599151435629713848054460956837535392282703932790498570790016309472000753244281138090053914968311081036973063141605710246457563573173917554094358235775228971375754938421037455155954358979887271273310065102221932610201645715492507963261314071693023919707497468558508057400310940153315150356646496935522918887655473595291590519509238431127908645418278272075938207432441431141356220306244833125708472078027566641955657815622403868842084300163763664335313437153306396692952954481625012484585334829990600169490789190378875897763434134217387136464909267637758265290946135520189831670248118312654950109448777051827608237336323519875535324883316953810042128653894719456662277035515185727675347543051262124704431448626165198046117076287329584899911660828587347094477116459764450524373028327122087353027511401053191459744356489670952871417627670929591055338922876960403781286760515029181003540145089754901735686713388555950487460229827983666471437220089709633270785192842325588924924199583948727875989594215139359298353415685146099513552756664592116506929103448571849839591633337507015670154344173204139677665077917401322140474639327057409371542925541800159558572885857267782104582007241805763981168726216023674947126588181522146732986729410796526953485789815522377710013369881271972856216363572667643264206065355737299135575578335592799080943864685234834924335894558929438316894593741883817018326014664348543159410608473630927728492537197660276407080731274032576667620507226680159102731654473021202188360224195082547212883977289956055374381137825377552308432589053678684046245250992617522696084815830533168344997292308259669494421358239416101919608044689709864524958837960989003755647387836146224379991190601577225507610921834956383719405974368374641113166436388081194310942056638219851809836198918736074625360787516359351042545981019792332683927184857418708471380252826784722984449891683115958231768348242548566493700441258738997843672131607033716026531326905594931487160531723273322678131883902192779936313126372284857914582306267122159160833169798270608678731638144485772898967376557433712890956294597655118659600603585441286568627900149860007147436916132933698938338766490269947851873319985818006467889920917624517639565666899174104986063883913785100691464977890138491640128920517457362859497518743876497342858592250225307698354800329075311184314713892933402367201354006073905759757314157424292678784152018524662770087462223583504188777669541230012474395205476549816301775090717858632765624224008082045413958730789427068121909546853157768791342741652379604056366154380769010961543734247970856726371173037061803590949905996835616263277403519157261355494558574614536767954225776769567998179591607032972658366595612926597230712255646617194486731272736873284451564490718019551045954691958208108824989977672943519938909282806084518563560751291646526086862401450744097133035298015188155499606325891436381836483219886941141887051570494755273509785202642754994663780026977069809119986304154478383376622027369551640664917143299148550028048888584125685295111584449585808578468064362965818138425662746332390659922079859551633889076139741671306795809949430040401793638161791426502788673920024581356291956138062113056009369462437029820966060960614085092037870886147895740114489099708198752761812758869942588299896346979288492761188022400804284143027544135900453271501126578713646404768873487926085110097252571580770736035270553913795585905283048802863266385022130486514487354433123395295031248624843007172130628466982718791999693469646483236808616874583719317980083324741044029165874994245928149854013929621356428802785688512696163558684387693360268546327256140654664914798589720823039959187524632496697418620127958755173938253280732530215198433370177436251383327957765921081238974935719635868714355447528958020169335801080653563696598027488641084852043192483040824819526990872983450395449652516486868937280722101507968966935459416535618760999627138558579869498553399968459923922675989606234339079093883521342723151196527282430057064783512999175434302564721197362533389417569679703918742799664547818457673965357469742123878058451276858735992575011507335610532827566474073508100500204245192073079760446466306995171446581399622514502397830398404582706197367350126250770225350032477503904290249053030310977918970429677683578186670294362420984848653723777079626420948595047327663316359007011933822377515137301283375739331873357319883546609093563529108244641537764627198627765441098484006335194432767161411658786985336072452216088760607984026661675079657272163185052723172875948963223627659142540100742973812808356043726441608338050400039732882435066132923690841593999007699753340531193915534972827492330364233012683290762927847741392697748188956181488743923477756993170182104013317033671544191071639216809695395851060389830230861268002348210112454072687234959975265473847211059234893554902914929892614200207481543299422824814954327227534749427030033241391786878764849642096303156620043988767343319703544803323474677038961636131505832210790407804148502067506318444380942185206189646782181166252781569719140646448088603910613090460199388903783802035586678183302811294728952580391164319396919642153847618460359841237535030949536631
32415055931942172215852537873769200108064540898915366833311722807577976806649666848584991211131742403421409630411646013267657564658456887828891158475114597177121835052423346378740250788655475266201492867390755050872143267925548099229130409320081414774806643417317627078279680387507995758494561305390571923435142477846630007427001725652871811181526286251922271972959983262485725713751655327794447526222160910916625360778938585643897144374212832879156814619882996527033355144485406365409232946022592473741548958870734586359611353842916736118079265312675687518023415322645913672420563196973155198556720387884804594384541449232676353726711896590836431031504845867150125059472754610008270087974713056221736502488995104878672633627524107715597189353803316211674138879325873894918271220312959995180838442637894648378474304137835398275204281657220592999554465440908033901279510327447620149180783392503692104025438314201021125293574658622318513793099829902819750213177900400408737154424681794169591219068085490765687511322390273205123725925196333357139577429990838220846926044799080915557743321644430365313173798532282876761101225062375210567495451036407166751216386357035414568058915822261832268178552718019290177418716019262565455163155639260576561951900717063464074737564176379496250372742465178763200483406078170478988420235609115884070517090765454021094506932509802060752147871384229068212108328798104434179771548774919068856709857537436675280945298036326340397936049745438463705356343988913579190752579367334680215768623006824147395191405798205673058751226080144382600258004239913919197850277936438089400458001017702508449186168720678435536049175942839984701210757958296894029817413768393621705642314230109717914034171819183479026300048305447606159762951806358113319208183350087688960191255686444167673164353168383478687957541470184872496912759445170255500049962505030753966375396965732742324282676188025836947778572003557918302732797098760752591130716788319038147738325177779977818950075498365527632219060856074169080133721194438337550795407038772842158875068255921927691163206355675241337008097997194761354221645439117857276032368142651320870049923539314968801250073700439037420748765086034418522464497952142931788802946439145605384963594734343494359264573807501746460757074479038083510082407521639074339475465681337647389169837147341673220759217815402698037523209495994152569836077077298842615989441235048207746384714085123182066151961051131689513431634445655876250497487363335253534852705401086842492722285142389197938061032202453808964401266527206130192148146315616194706531669925625156025876794442194124196465925256374420138904037258344995221862471830791560573841838970888612171245806446443784451324725878283191055545214244371572587737051985997438740212098605096880595475814005431572742354253700457300477194306970866690057568530679150568350085793392520860709916394912300998902867245047834282419967940088141309172412053399074594690239342465532207944689394615315646554568110425356217364576735941224323335228778275167762197162205599356693913248524005368826047825179019820448468115013459920383472087381698958570598257806691897452769313035996814695505305450107293235248592510655522036556139680960499862778309989332139574799682102993716623572634333705226417229427850425982098437356024050599100558878188386590083611352675749175674448826918822819273402125631847155229420938976863892348993121683559297404329935811670209183549881141936854692935454329811741243726315220213216259835086847732863285143506074740138337913631048971903612035689642983391804606560636660601918796514067728808219318815066858488599299825016616038839245663411765942480657181102421847383263571441342676919771646788142488879015272106927521596633675704832389553582347464773610374563268241078433746192987500649328215339449408355091841011392081134800431750054953627388735856315559959020586144062952567574034003426394941006478233852181742753032913774666820342917179373715195595347683401684165125984485049467176906536803701382351647484982837952850320214226158796876055759274231556968075037164816986859336968627609504761387260214788365789783420216685604856532970718265970125563063272981328960613472986901789527457438341443483966273877267954742490245961533793054610995721050230129467998070962210120504805390128588707950774401228119559217391324943474437982801278577020622155559193792027727730519412054958643355654222294016655684392223991905264236760688803993192169042138949079383804178634508196022001725090409985273360218933632425230292367129270329494025275808053945168183505670072744123920504081503350304057979596435607254648798440085275314810832431258887464426824533394329822872386811072181062773649234369189214108154579600187944827593843644510093899130951901325524198938307910643821105177440750842865507379615287269778365368318800039710050974490766163861406226589281112972827412414570618964916411617013958859973048975242128877018588218083868551650456335060972576208471722680716750713727484763241481699965880406971582114557055232519737890501043460510024350492967669845350985045824658340054943512281881234020706244770467686588875112148841119524342096554365090019642868386781737581190019583677873666935307209564986434397489814335983827100095121002799383890483675094902784230198967744361681554509532703830016281842796217766251977059106462697095418967373918957388960119413849358295049375622033186486680423608572153877146792786191013959589914368686277501241623979345873872593595182442543624844124209394566098553278851363434757354532216593521383491754524425573361345265511562276709714917014116663132476370830615460299204786760099952303329259836954743108928102430836707833733378276195399048896607258810103376975652796368499250177492010273962811283360262722657742814195609613965405274336539806523521653508612496261863860385809720584573926182536741528289615572234479998506398233657083770883382995405215656385127787665930825941002800065818950598813946624700561153229474790607782342665765971015173369402018821808433318276884201416100354427320897786516279248830591174581151128504778782336084719806828072902127836456249253470524403679915265928409111171321210113108331393303990805661079436491832092337092834239759382973598182160209886756054567152976139241148144395093124155266592208872948155317136157358552926200475605129141718955116605214309520392568347082380770871673739306107168195439654773790221078190747567657518269133275282643459513732816102121351712078356760140931409576889528064092140881186810261010289417713463276824300584548814567863915087771996526140975484592057605719156559235905357770489247498167535437206486395441281647443743779658528584291113322585267742749818325476134174669250885153956040767856351192705439334085759457395563680201696131043586421481095593568734871264938218755490159770343961185240950634919445632317005342645660512050901713179047011757606985237964664867745423621107293357617830358099213698000371547776096501392567498752118167729670253669826275765148792139410920233909040884840961755371135917035281288287563678065808145106181070063829165456256034457646165034600812085636368764735542419849503304796897507968900275069812498070875283543022379031759826628214402808655366605793725177492263093590979046168718591348307449369829444579527763901148600574703294315407371133475956078261103263111906613670631620109943897985944032096852691400902031800499750073793770799104445229513650230792729826678165977133952066422432727118419007792875434234878318289500392138264444653267693940845112492370025003476697763618538073274615659725699970248629598671887830851932145192461718774933718691123396904457027265754650751014616522400890405429823759796265787828883216768693282204670628930147412892138438835264234446018050378764021902032656107522512743297865921721015893616543724185062432341668963966895662052777524413470190294393970781990554344199245852451412805788673714388118712262220015245408312737947727664783130093190067266673129199979268704708970938530665747099259804176721233830978649636947823133062601501814985952378488501934370142994033019230896690758802878883447379855294804337552984297059110807384935803502979766587608339768751787043210885421871967774121145448567979271184704602280359342666152803160500630367217943099782543341619549358348674733463380097850135501537309316770256953549565322918778246380279366024514216983926652968147872344414765178261152026745348012969624059675986165553715966509790947688909469360011425251922125413536527707298598713928028774871176634673122109379297600688104690202836000358741626581385430274280377652487321434533061585055562553975290956898165190515550819091801329901560561140774426582572299711092159545963424181409715012063671602309706930108835188308494561913831396845200825480496815396977292589601800881497599068902853051824426150147417181768468158382569164069090300952028750346472077895150404405238267423303840744140368066786061057090157007603981603524625208931402804891854321733868188389151240663961777317170659284779141566149900831012760358487107692772014133050361534509792017032170829745944616214229935034102871559283437325955397166778020559395878307848037558753307739267805131268746128585100961270019511798418843796478636264075274193724760874674380126387039829398281598144873766106842353682370537930283687986599110420042787650926985487106276331924831073380537632182848081419406832331439552894773193345658318565044438894735105198797328660904477055683896505018996200424067813779257202600488097636329871242708168855971017159586932441743050023635570267831716680402808952276633720244931056239406157458472145050944958166292049126511940341041939134143844055373110667390990649254517111891884059945977681228075441690128293607784683242802272323830174184961507944796421201045097346010470013108860072722445569753211358935227969503330848570372616060626302399021284907040464341038853565345109873737990383679216330835202734851297516816597231120381521435521535598106216082928851927822922966388730983879069381161327152094359861347127997928914239871831558673895172644543894412709815585921896993717102766682609215845095285104767585314760722906742134977890951789163587068531914798532562260139395295443139289524975537949725070931896380902714438487139086291134858574612294588434461348093613812374170831772875056017130819885150146991943555653670183209849163310890544440347732258218650901038361020862262527490290258182495234776639705097402607737443945292826704875729152182014486854796625870626730794336631498652960864281637899356175564240266916141494893730227920525902834597244654077468997974690323616378854355793318355922766017856014372372403070589668869717936441285857398577326436425675402172408492123488086222848151223045029548262230742835743970196499924111148124817541890018821023551145965510850893853844536197134227207428652422876639137255306029903214158714856320774991076985318933658920210019042097895557289446209985075891387485573403933719853954481573030772104282661216462285516149444912977344578480742833674217213312589581780726239493993434569856459792519669037651495585398019683574528180102943088916164699582513075173825359624865967855752987041293269801226683058931631749851791895254260334168810701637071825340209617803037018046187340016146462516000599471900080301407190841288268904848183549808889793685115388753834692467297095713313968717192813041274915048906244895232128968532962900619382063080981988588377957165599478843718469222350148037127679363610583323337913093859773884542431126290381319296136592245813877816621928210715719990594279987227393809690818401369717221644026005086701206818806822005231653947661858995381283059548010243328603980774049327014490314009429645297110452324090484455235139292075809574006876240200954349943966774248426881591598920038872892086724840438837930670360580658966072153767662136410735646310573338546961043438406271481619831594837285583660173863719418382106032075112751215869526577607622474422966566601425902914551137431693515292289635541236091559201649330945228221024899235702878413023924078255794229003360607775650312708483129119370141116439580530899219149061688409173630401304700412115563533238438079080937950364901628744585196729806176486965101151953036457823779181161597413578842119625094703910101257581548153234725073408679757159684896701744205945467572994373824609694642409529013578342359715407447182724034699236442293303044803504462286830418821188317390670973780915947957214544538112259121878339956588341587876770083085316396359960324839680533613929442355191836289964589547441101923543334889955595914404083123418285145920489497613017996277267276721952260763687724297855107828645962287790383314318664033782000142895939511875027522581812303111675254216544280701951553367388366842276131074921752087556022371466080110798742254859038331926642440392998886046548424552988006349453116784797865442837857742404870892104930958647055238081220467231552421830238445958442813176285392976043333426223880669214908464665757000236643866444962311557871725386276316841465829385836878571859351362516720289608450773734029840266756916789802192454457288906452285846306611784086675392194795924273451593678759386626232587070446650181420282373111531579712427447599326812466938167472593742611103083367622151229183418093191054563467799394727986381826883487339172370887365903639180943973183348141760517171161678566481191774552662200698289470149011189456282610943903232439503858782434403841048786226252784482835648816469871643606133177672100405122246101013344369128093532638365238511529714753177167108092560538325663257850493044578069906173764788730711481132126022769097599032505948164469196974839126823200102373242312570919147371633212832971907303037801790379593549785576075237080311465216627579553576316711939281479682054029113616505843553665117476795151327645172590445466471204143100892127751451532689119207492676938446419477485476760470894535168979800412704296227597925506819074277650015011607882587907875912447495216186826771082205420226564174431524568798276566707506286107618421504875567642469253159656373450285356716621645896678276411491482182410791064234975566192112932956341639235837201229262196188523215316981323012966169264147260304248847541286939144058834880563148487204692442933786625610666219864811840495924579352622179040311833286634448656725955088535412850460411178333449288873775132438476813732583111152134495630141770646463880762829962998856026652914201006400251862724673998293949938783474213188908513195599014671065036417737773336275343388807539185988449560275995002646651191895787492654199160142177181362939813438112541884925972762720664591713036980832749532259069423755042036569818519889832481350706930665009478749651953087139335936415468089822007742448708736693584469764476242631461471374215874177757070716303200095944474347782664504909528045482423194925008330991078434042810288168809610897700468920423593196621275289978349011938327981403902684574793610481746073495557817390447580479783557609178105075414571978558635486183947582460321699532917785153523144808740069588299875283148409041052874052386697673288912858531317670430450968559492238477900030211205246314906461684786433116611033017009829315345953471773743329809391527785730252264293933064985198086442663237418762216729255203956899033945851148314153160836553401413416205338619331702359070391783057762835779232585189474523458100883653851552034758577957606184471051276796350795054706192077564668907265180160242041234963608584163139494603775309023922354797226624332660532698518031762944736060369451635249855890499889836316651653775875554453655164687300622517921067493546247388732079420107439726719509493859080760435521039485025951903587086425711853584664132182252140309554953425525749718835425496356130348902946266083634087050271460003407106857643183569057760617154874395549646888664629136247064554893085572987045761925579316599408555958949820972869731346106998781316040284466477088675233596441582421080267514576058370059236989070338192721277515738132684923455800866560743533472114049513416169467880434853286844217062539011632447800562700250724684835448351971242592775261243936006442348583200275152538872146927477890215454359343931384339955874076787623758207734218249611687120792694943400373428737732508854405730750330757740281037152874449083565091045419533500133266949482131122697547501099059409800084621906899847236746532964893802519679169830550295998635958047022767769833142780418810858089074551536279446674880166728059729142494737158602495593412029239095823980830988379324935546622377560491332915561929038175376150173337999512595676861257269074844715115331473552840926531405969986629447544451624869722072239346930950688507305071988460619090797960752552161895016095253250375139255527397725739476715059177386923610274924405497314863930502415568029861473676375074133980152034705872021183082345113075529375003742442074997765065050426456069335789435921167681052113910706866743661635167854097518331760149403803962086143764330017591159413046386513158268281840048799781498745804869979198576185415872345342443197641401516810686827578228570787790886233609348476073272304096371760550478612799703699465282054334752498800323957411092413048870329600589178560902183520386693786759538323532684148209583515731972658185462794969783980820621363092798265781661294574445056429150270003458217453703127730144543637918457962147512592518975306212325080341541628240377306241723271670272576925627706660202010307010950640638399283210726368486980563157166224952167170812303944621785314616000518220775110210348549720913463948738288385351844176676787290317031037133404428546050537371903210754304875007942813841114152127365608265280436717677802265805837893871565902514286077997560140759759625332109851349092820413064977760708089390024202769037626600508672009803125449705952224807196725936551004540435523667256782694238120690904277624577837258669436747709953353556272134280445944647267393029589728938419382649442348717599520850067547837731577602460633504457635970750276062643224144619331854685768263484315247802047246923501197166237289767259788876614775890660763285387819635432749950577914739592416297485982424195095069351370689111997173787654327430348974822828706502959330468964442616395733169082307521864638388086870183586600481229511068364415187269873919320840278852574381890023301077607120133891774586925182690368719363745461497100275127403255271368311618808101174230441554908196981317739505454062414390960619665165311659694974867217678743193663466852721825664929939840068151688073927463434557447156947988847669555321917531512360134046708214946604001032301107783225953034646905168562545008477343831342290107846688918222761525822211152851363919490768001806162871397410310162605378199813236113197704466064980210985130365029715961918660461526069452689421846301475603974683847340207025702526335502106225404943421526479590361618535061259869345452923165228646214460580816118103905549829005544626252808458765502992238920745503738557236723474963833577397487055878746559531207904382011504190629073802215713645743888808722426798203994008896163755673303990423088783239359366535297432730784651005488770090295628193061771371375571937704617770511967625453904866661260870496570316079702908814099622044164441543255478401360746651222503707566116642873767571316787042660943110932997221849384026712268758425039333824690896224950277314163899805299507214079893211436022411701488442049657270469209113987623862597054219837859845861309371055984871497536783105574780142370619973785931115624895069727024564367209990861930528745786327411924294193914008915172924591131479599220319244853529108548753374917071580989937992938239571332790676751019959954279757925880358011536973513889779099866147894083192183100393793949923038356528904630180746881219006469394623791341912891465420181185257219905570826791872224211830614364467003803627175014355852459349757134833230461096710591619957724676754559924923356437090811002470918902183142318374452908217128134696943042519911815738221375888303810209604732853354184161827949637855704308379721307571022084734034422526732150127833083974019563419079913902797049097222384174258148247881339653249529219655168309805120157912822351975376861953994802904521336874
15332035388821911935525695864380591537605195105536760179907233668377154018257319189096882974766185289610866913136284881787462307475630849017942637502016640372499887793532962694437084196755428683264363990816770836165004747894409377736180442251074133685784477756448158954029446622796933551913999511716994941497911539481874174048259110468766347902560435410881233995970650520191693403991132091265472172820095323254251876862283707708928935640375287691036243858230452382876366079737221608957940186943754417443869873984960089941105910816812829163860744915804192101276692581097142599071113462213798590814044355256674962549573521731756762767523357337866046388471713815476582241311646266260147841802410270693843863514092424154668490217577161368300513080638235165075784911648386636137880949776711571943341493400949715882154401348498284200962598600604205223755775181398739328897223660187990634552032362522060214814935906118964946648231180342367740667735651105045658293368116614376941357621820542547685970662302855331635687878459889627551934246394602555354512418322233952569834689991114774797327172749571471777000973667919058483399333250453355244929859702753724821527191057102343672489567976032248380392874675608880411183749580923441625459106275334866420314879070591989171565527555704798426030930012273934229944642601116830788818196222704116393418483360403460158728505485229535227456269129459184187064431547651163758325371633310912408233155789939491987368835792981811621776714160274939490217109438855517896891103735461201399531097016050104472426170156202241651947357111418443922069409495052900435766414504245339534613070575732741575611320252815845274778838642042722829560452734739653821994657690632080643509899546682212962493707961640871018010626539250781285139193731372100090526449660139584124584266377138687693340194032052845897840435486279546006931481953562205246446395776096441312096316244406555427189600250653120603514191576068079830164571576569209733084954884920340300555969227428906065930751043569006416714423189177013339416672657727756731164247343017554205792364882950292121466978103774690722483807608155953245762532771575539682337645853706917824953416391482565328463153097068092908342600150442576221530027086655159134779707883198589833720204597183084199245489913218986230649323938773719815524838025914573819865897255641048836790589057345984362367082051896489466505497322174418522979164850634043837601605717146095597004850034596556711608066843243607388246329652485273006463900864506821677651211740828206234844455837128044496178273096372439302992254593289535895462863288434521034660781264839902885018245797720382339372739828007769225826145590425851611058294210132051710950326294844257644005573196280782724683203210512966611117085759428569823228273746819235792608175607997941395548076057722111763733586976383873565439103859636324306201990780059800493620502947383968830985317208381336618355384669856846642585507583658568229077805050724647539155713432892425966359576267425707650836433714973356798932518534271271445473957844754034105919263559313900128808786884577959130309107946989285006245767070275836021906556693675645134364197229691329212372339147378419591316703881705181147046304887397244292493846867977028375607256286464069377143163618727233069126294770829296057626465981351517684665932249676392219210324844668327323196199527283993476624467335161551978372084793806833677036508830249599354973192580924400929871672906778669757976956444128808687482898733861725601610355630988923947766537640420151578465388308192217436960762010574246241816439783101774628459578850438914960368770425630662167106467789571967138533928256089579961838811732443342715421838420406209039313207164705286652308624240263705368101121205118943857313910230253218494179899646906593353615225640887247843203961873163684828172616093096749922218806008672992967893018216821846561743187889895317620073081552773422787648304892388695024973783993221731070851671670883272777926788751719923045348517748088894746295388876577230071470380187202769139632016421776852001005014225109649073603377125867851687790052352769437420434337509473158521412775199930455657114759072304990496829911920973169531563538032183350903842746713180050984479002270754816530488507599441308129002017774284607854839606573782737983876773035688294706434125807180742897275714868341346933292777855288486601031177028004393606569653753270209099843383947605669000241798690285093031118002265805842178661446775925576270688175112816723276562290170263176917470373292410233552067458404006312571018448608673727373159368329187808414119313061587460272479432779545021718666312999739096477858938202215736290977039723256773918769847835301549419793850122030578354415932984441165195116713135224662912624392636396032300007264482092769027312793979370742801312505578330651929949025367522107351285696776163931353027360245789618499544618303496627137672771135191004407224654451792493020554089133064049113548892837892583448212230649157459112482493619522490001352841938870684665762360966114736241283848210674446446447232634192125792139432330637547154737957484365384247863020629160550776591422324629227892871613810569635083675790958402481127793799546952567419317755535857526602003028840980435190533358293850896214256989257494917391739062790109873867976990741030302586205230501443562572167142544033893960957040269174576045577839522582508600536846515982785261779364746364764566493663970898499305293838777445716114027718962076115094148297077101555913598374449624141971981879300040074002795074581555735463934137740609259714099060426353244105094207237519240396347235537897129313473348598651674581812464834213385467229008692993201028107317887584716269106044623868467115975439759293391058882370000285710036571509587774277975081929581730395463632271475475615125855332455596008399067076094964760391471158726490941383834516801321987518977266984314142558011432770124345898588044177226328817424455314834309631467991234088494821962903124880796409504398179892408943911062697044704260393647275343652456583310586197240379428014503995162183941505704385852112605236838538794920250214170393473061848070117558229565854074792924489979352514359698934866904303851905011554023568630898616850020497473870457225653574492386378024300484660889606902045419640683167086247442210863227678300917808736275640761696004293500845713346168811092424676928193593738694963885987845823372295327086463651102053265070485473658930580215399635436033591070325270551856669206790126395904521655132096957413802441235066703633652322511756929300111384610136619258099657786237231740625236672270993761128014623605509021782100602206961975783888567115274093498659535012311799921609767468555510758963580637204343164425088707908116629499018053213330833018019781530818926035404667786221809305422029468634486357316572350879438923919481326013623654906503145477483097140594177619880442701681617073853596432648035587905458550394475050517785660159195085912747107929731759821055799695583055661333495923031272672634108265956110822262786994320582113133591463108872257622336396733954150632104541704159369702046696480891246207859900766323784590826278138656379133565631826502874248789973379589114867355015803685271587111525604681485522185846177066915357776005074002320317653042858140147534930153494293586321974586860213829339902752982261763583958728595014235023922949922162018047507136850839884855609009767277289667954797337307223222124171860561652442225751521586208767015349984763209052067895188503709607845267729089946516315371776263663365551256290383364409354392999375837434051704877204184945086802364843269764500942838858976660868099554469677803985829676723872319835819762280444948112557909983318099366367581881735824624411406921000281621699550732402340235839776651983530849188531910268346702225976883835383273523121817008493725240606223047041118776679286327002900133796382406657672534748511736385451239018300596232148315027216609660989449876335868991617660827069236296287519721569068890355325277137785007520731363929519967381885866601222498088271186397026621437035291455527234546967283489719625932565048192448276192811261681894593068363994162718202026323617240909556510386717818775257389711050310284981922297512851699028449230256628919362463636607461914816535555430246170821569684204662594618889134100322612687815229488539011897728594171594740543097515696228075287402042203438061610128587244066776952566916441852362210766977515263255354193209926589748034092991195763775113878841624766312146088375757551792993275400270105231332889165776444498938739556348917988889410899006065933445753191206127881559986301947510872606489458239417785461652202448858897000569285265615719243566318165122221059245475846251336153524448261525100976886790709931849565634219389569319657665620655863804514221652291817619322366251854628363658007395407544339551373011802383079649657357624751982150461949691136947127019840540468890595090676206877982118938543261261411711570915375901100463084473921478715209617094824220280965292975108308970091156351297765719967481007481323017705926372669766097040605409467371562857428261725496567368612906018042830918854008722326390879455857520373590511308674182997214516569906713998044800986406289333540756658020538931877368867555940394009063009766309123906512644312375303634602110921248372883040995273887655923536637044032254437477913111628640522827240740071173537756360975164547207330695731927183951126579616625818467178669316107125938941450741078175023670307571469122510644393927980766734808936220957104683397771079476034931247821225054530568798883926397044626324845584643641669083375161112536721717942645662210435347707286620223112977132493067916485321888036045778843938090559372512362805775438109720309456056892126920606934314421634332186674742525416353946372659354249213138692331210039712002924865072918225547201668579428654548189295864339175749909948916802629514487202710518337710331802415950425569098723445847765790203080933617454096762630421229126296957946980042242370321835645509087508013535055704421252388651545673521619246639787938385772227091934804085524677940904679499970395259985150330983168326251620688311605503637759404772002305482445284565894345789249448320034128277227561025078651548126675387224339717376183200482439034671106364341430106338411118340333916607710027801987278482017948641323254041410293275147035015100862999226403316052298123675547967925837117427463395487418218343625614108030391704143083547618407834699012715195567164904288969155788362815276219663174283671697885731121116797650559219975224340321907829981546755465231932537141183208776822524180747541999645802923915249041792314042880014831490642634982828624061296239774829447189966096388613637748000548319534217957402614600424705540750616455930111391020952931885807173255998650591210215885190728020598255349226906175117010701359088051077477585054415359527000910361197438383930448493265789690927534104040901441447609023881763110226951759812790402218195555362549393225481775793164239168044420213790356469714618489711726019982008635144945856233008416354741450309290450174998080400738093371040848009113911492012074250161187729471406400025700580036462068610642317945942381129911422062839266093532204935579433464635509799088325863240356060980598271136978529279289923996984863061728544794316714283504089458235456439170120275663274789770135588451294142324052165119451895319771356717845968016257285374584014004706480400399208714853033014269979583873194667851390921702547990258971908511710968971369452734599342081907798741411336286397900341559271290920112318425845899660822850115407884893981946687584541699763146993617114677381618152749612169743294774443754094718419935736931456354939159082389053861510361510445188860384550896714203859907422571384385087144565556219619696132301517607748893220852810453071340571280833074718022986992040207669251179837249661246848288500551325989136936387869582738059433344074017344685818511551419546735767968931539200235579712963901825970798725234183284915549876766398425204081332272937953051888526600453873758586943747789284902938284348861148785865414085244637866340230719643707622792904741750419735772243748908571333818754978343652337283278590736250434090820662848110226870874952307990260259158502086136092007295155714195395576984795406088372554723237132415298463792844925100562090195522580325103546367795607130076122486542806782254428585550620747321556152212813396601881495429348677197350968020978336534871981298736708278282732630301849102296247702826678528565785511861093641403959691728317312562952360622938088586515736999613645823438401313151523152622375381391212016694492687284255778012869251075092808921998065149301574004324655206403201562695721642848022481796153278905288503475987308126866635831172470712297364774595433834607527676215329660159391699299361771798654078702038820668057088687931277615119467472546977375370228347727704053179250480194233295914591985539339099340970017404119785113492263100740476789618186608258971088825380331273001720583998740516132042091675703473100316811888216917537132316939766113101174037359996187529295457472207576390870271260057732517103961250635871872172619136866242855772925459650453683779967017271242221276900760668989613327697754375122829160575911604681699262523893419246552468793955181265312418577559918444294555983263429434274054355795010038934432928376484412849207265618290397981301769453513833758901932602253660929978503647669213779521034304570514566237828111260079184946443202417760033442779802308348689379879779864438772912260803632783642215274287916881452592737015808736535829622230978166185615879656501126799523453020396939586074720214650853529117219297929589112920894594960533431281282571779278333774910819539474693061581506802645241769055497971942026851953639204994318977991363307325607107564346061484957236678448194406807628374430801037760640563755641833744865695492444349492218935531505161284955319661573937687698837366541742356533124571890171479328942322974605005041734228457002540076939436306739288068360378186046392454074842651552966525110372924728014700121476806756092148000541817027204701138906091489630424064920816230811156049722477094180688889032107027237178341386696912093953637253576308559037592456694832740452860696061464193448506607911959511283177746220597901883923018317443027620172569310665282681628831167341128505560830617519966270092500535014228884406760642781404811323425019791824935022409595036445289102823233304831422962839135606740380640636877676197619322071642404188085708664866489883683293982098357750918184351313133050206267907779831736462991291035982732519540752195669042090029921772196900307497375822375495413929324526000551295948619517912048019237574721464888168491271008835807991499923688640454497490275219748134487610883188110116973191373955320991771408787909913673765268045781665758365413634927388603963038838116231117488111658737040699668732792105396202536850366612714480205866152272226380478456455739175508866873701192233927954529454068161950385456824995521423247449565445582099832793134762199449091034138008499173090368753815311397411652353712045566248107232790970220016726984189040744626544359939751883235100065824724940707284050097769509947303962169746995137447244893821289931130257965555493035746190931363619251937528413015829780241042656051540670329065116938530442740855686465104010564171603882223184625756844154786510790721890898783435737597628332216058810101541190545021501257999871492916301821265962914759172504862744923352986517881088280406932442077441562666092607407615220844914005758583855626193754631574287502516178153349780839157574892541341419472977831479796708358784868771023661720631776862370941669367024838340296961589238675062041573095325003289818440248226597283163272335907442844506230307370436026518226203554883567421975694816202932235660323433862701959804073823014693884568354619137846383437172590260911763221927418111661712432584597062856911455031333661300311801800288424210290709777122270339920199633210624521970811150534703156602725068267321785689319651419093384810097483712146207855590065442530292543189468703479713633077533772048743363950025849917930992696794927926982336064756264502583997440070958561200727732592793665695994079295780575680084186446031473201536861698599980411266686443340223660702808988246304619361002684924531933390529673454540662402848930865283763249789808208099643115298321961715761639094183950485282826656281364094297848140246834473884818167747377392618597122172107419905512564493909741909443023084805463247496613311160604122295074839869351266600522565261223403043982233136844605605133417148484159572638962807754600471889935935249560620270763108453018250785326964240635520510524216965532844298578458462794426815151378192461375984136197522531889730345148283232797561985639559460115036514922513464651491622227879895141280443410976514087658826353351848981933703427765543653785220316518500405076754599833843914357820484748259736620134738415738048437120023215661853558980620596917006199148605901465832897875610035693023147890505893997923413063288640880002131334636370001606367764837869661504528122767763803615340759800031427888627959690389465140982388415260661818684486219174147400713501346527418941004337555587006343472097864994958718237348328798132298697591339780240372498079779763911255280585346651866659763945467874034608667507694196622051728234284201730071433041916520603649047469983213296586408203407954039194556569491052893863428440676494177334411638408661293449571600039129417801091676970012777247125470996295601167336485224505045085413535356806097728923297135964022843394832000822123492624750188583069837101274302921127560875487847950561225469418712737259415306653843495639532797751177510091144105965008579538329207433942701026026756257913923847978217681646786796876171140128957177030101189532213252843305540874912529434997782025825224390694273926544553352826988601590753791325657942446367504550769934714922712241242571266398315848795912278927280234830984044347452139807950366134298039921153567475348116877774415244116303617484174605701661975544995336647037307704038757493486333378511362698795863904216107379735730994028788639579943019638903668220282971601685524252000874109936302891030029947738375901221201122365704716977203018890146069534700253026644717229604628194740285823859952276579825971879920634393346809624069895675237201676636681344101409576397691598256001639506632968870180071969932151214040696685265154432557582536905938738828752399376360850176565706921847476782076882590851217438852516653628758332726932954792222368548063960704142491086900368610933063904211732156746483473696232030825205718832171420046340934001915370602777804230768377684115589700583224175162204481667066971122272502622919300607250360909362548362678758116429159306393448566419076706568872111868953969646379025464767519197843506177470964565940877405726585200287637221189845580802523874601226686750716069447701723950494312527911958647085526912945518636416656792063638193192478884441406688535366690250287686592769633633690857173004749982910986085021491720719603770556560761614460096427778752966619692799000642002336094449013090332727857009974257864258086880996813096946329331683073951241698128356410589143928385243855162753164378716254821843186180583662342460061509904141793894722068323563016714487390740247704605396860975380691584177990081859656121925479123123244820479849244490176313368389785664662736107072699876714458544498337450273675320193519418516308770666938091336184150195739379325235609057982265662732942686483140533312128264568374096336337512435038211959184503649516868519712196648204560569299778672489970967495658920510973847005149359288425010094009840868094885682081432522331598062266495213064657419492001761136663027950115322117081231191427683387225350300483625573675674278506689528033125489349867202425475073038548173004755241876945019376947107218469288191581731740202443776991846915355766340912025883497034081673351131665059020969935809081208089727743400090684643540956671873421825853259903574297144288521132704769069182788349911878648710547550691611844045368962545824616271026584510515908547374320252301441011316085530262702540439425904
28549126646134570520790208433854456088746674405178926127773783478483934008254080325224265509697867066013435315214721679864757294522291493908866506378353609495015748593803491977901385244309115809594795835420383993538018765388270024215660916732470870620340396189597515279123942079300922510383610380478573105405812273469848633531167736226413769500366270464166539084694411793504095159103420289066698206243250541494435410313838099258416318598404105597513401392232745590948858264486405446496588383623897211168240395379930974757692676214987466251347588667533156010003596306172735657460134963000805900476146958367675609120112823917493319460385060619967918264584675587385982906318363116294611357312926938375025131712966770838197381073072580296677424590391427355112439541933785662956227368909530002824140619263363341251156250502356835289301355491475091374000525119774284209712305833124145202691416575096135698817721316056198364218363558404464069035523373574764946595644461327756917143594574716027429656610585166736742404202302410716149895098608130351770975019363826919529557393483342293997545856876780326050179515601001976410651379535049106106722861571150328004792570545254794912614840333630981940502669967629767471710597484550901447800667474966091613322649264423926108298562774865344574015429501252179125821034589982266923257828812278032447766401603238836602536792801935252132469766211892580755528767473384721012324166433015225302608245530334512268605670386693988553996611004154031573357745876502360378233121700079755937242325925633501741332401357900873784659125726007070604137796529103339979027034249980723114029760225057155039177208011727777644217106061716892442590767365360827825717352695746799458813413005574823521519508909720306675233281127308846937428206851440323274826831643101009913234316959872278758564066672443754714659926385614391209570701380277919673860764656221561608693504305406294467979226218058946344093940592355361713061996330751999051104458918899886970317362024992578720557077016565226807174717329075659302717251401152378252875967907189507387194223957981695580135174709630435924791699701928036803104242706506856439098756523906756663962165563900601885555104481608724683055777981752870160718452891072646041747877311073228311262022967402225148716367690829244941330399056062050032285891344305878957095237261169465631325387400281215118568607696377606752373188788481310742508794361534618806436063613834938066776156583133085676874122143513662002936423581266281475225725724081623495065862058365344018423290135230717986932364989836621779048341765426419836736099762097140692406501398421463661700621369253345470989793307457888778753896996086650605677573762991618388007324299486264894761722591862841512678248609601845101577937802344464357712414545292777227593694999904817238008127588465987386172881727100493040617271844514502014665729711433855182356991481344401739292034281418005626145183380230382623959736713323628515853195998682471659401878817821259726571450087867180949058026946586522020643891047942593899229582344101459186549984674857306717527833893145252333570610305267655057949282264915840224949443629630000468081200681669025292492852024584074700502056672225045961638174768698004894716673624660846509536012593539774992449361177672414028778443007413231982788212805074398870511544654829340586533639390980226623452940961976067737324244177073341960092411167326443685224406337728175110670938041098800470958380529109695683015731676722759447264045016203820856882151986899031292810973363647266792808806831820169586416626788559670811014921369275930858447235478606009472590256555743408220451652714995000294355740927624653596526244772414048228599451375150098369762594592849666422926633136159777375889019712720272524796545564179693637179580972422614793529949178047022247387804031400246199529379075625943850420484890596188693533364792772757778871454846156611073328562766941775508141305418789894264909819058345329505334697168578564707341311095090135689582568387686912063655875566192350461687552781354153064193284508994536915261632147837360138334821535964926999072527008384058746903381260608817035836733875181714976626158481594961132122719936336591740107888074505300374813821231140318458297598439185718490718701290512057364044571128654942006252319751598288940628091024913097400517562688329091663015663673280596963301269632505611310447550646944701726062567113045320925637048800333939413597849066585903043731760007271199414777208628328195146387538209247992257752308426352238446193795789056526538158312103207491670365704493661626499935176551518581804045555715605046444718356959459329017521236200571553530204764097931045909611539637758994942889093670486467098373242808299542607608952674983574847915476839963973867753714096842082782881890776217163731459153973922314470434864388508812706492462989913747932443157619389222053494208969952677819553068339792122875316769275508514973281438745724804374917932072551438256946785278598987718095564938687305569607323904384335009159601006841154947071508258701580396453644481843592082729029555550384264584174131981070432663654882578843939601580167060974086587740654688525013437497014522636856938213015212398448476953846073810271416255074664287047340349899344893197308570573272835976047571853124918803392863462276758247241548477084098847388027779979641348545866256567811273343102163783373130665605885497795437658238465858992267326654390953473489154030137795958062102271601044356594532886765703395856536786385097631142842111296009644900589895280251060190290550836080904401133776622076376868139900300045721769881712629256867559256660142232570011331001621155091615863784497762092906782856427355813981010230203380499458858409377197149116037397393667290243143779447587851141351026982856815944085645599493578844781645588237548708637595065261251397490479342930286527529857825960247202335700049603944779447706520788704765860131641529369076139706578770876395806625388781961267784935642846699087471250069820068895930421315868548089930163705403285388323069185368156335189498963296111407988341868909528737322557308211817034212093746107638954711843214623845075563284292838263092412645970053894612839944775445059061784443459804500729442443902468300454359350104600210915499606392460501961259743013560728361861176911275421146134641125988303093708423479907074033230189511810711972413122808568152811993541673945327830523429910552794798565762640331781405875110617877005765426978504563276693884482838703797842514720097766137746516593368896289743884817557781672746492846062593905958013863921882068726345574701112494794800735531261984298435988246834511741364085572282949715374846762725923069142263603853876798936579380538401337604091492199895528261544395159841957398578593586627136913348935847567120033303467450191266412804242089370629064051342783591431217391107331242309733814903214785406555963168829293151572498753685869091189530158098682138880797327546679101442516323973444622792845312053926875840784678386476136000790619294656730381415896175458178531165815218253551121023743488588146709326823424024694802923979107118283164505352863868744172608415891433379210677098825930590998437731889156965174358545779943511582792334340656370183099781047427657791632467803801687678295017504146674620592388419641147114912107962499827398410135599358506944170073497011182056165753130347704003262664260249740700630514454357458233334449495294999700901788590680803033272823037964976475177368468915594000706777135663332525888983531171830505654624049949893585445565396857630554659408566682466712838735745701732376670686912449055366095551216081331467469135301625262780528304945868511457162956794577032739489791220904519370023139490822189215095086610074351177420965356295269174033700868788166892475698737486889583341681376429395538630056650858921271304631832710619667973016735460088384994276630591186017532889910252637159252280680089522096301696188060764283918623670660608230325780529950263808802521132765414937066244819640431849155662364395472154756317456070137735515669103625536797215524076133858861120485227978417058063264132224036477474175219114885813625375071867888191258328479741827589454025958260504387619523723277256538165508239593508766075199333220410112933362077845937152491513181881037036464505450478488410526909422853334738760026645142079243276253176519549623329198557744355229053698396530217257373108396422003329307497432530893634839221594246168745943866453232174074561776347615460674562934702323020240579473578557772458553478981960416682612477606667272160995754311515791323456525731769552135024306718708171496355985572931069182492268265768270804915424471073456452294032889657305911730620500538632570739638003377707928372890730132062646929330814237165960070553444036652643923056857403251948501274502037712839868237690914911587345958142444359626478282618982620956316045609682211202176206699694437957042659085992796703007889822101447523489010688115377352354986752695107990327019508934599853525718088637674872920722238882654955096107645615137147377322603105988745536078978005045573632665597169608836267129726053452960291217399642625871559591635393019973376833373057884895849572482420138636389903798375104036437242395226704090636680774064453660537912690166194314262894684779012376773176879220461401440855084231556990810648054612998582537577056088611790356998721848219917486595642673617977440360675296399523784428213491291213800632760798254985824422393445194262956427162105124407094008530424350159188595316915528300093517562349197399652600183629763650138279315041769098840541166402113623116834519137385481022338260065328049841027190810161528030952702481194076300962856486668861542980427599181098571791256140807116528464760392736473352136753385369308271341328457333903717840676562955759474109724537405069435700902349253884692443128065366224420336681148060101915193688547615552620027572273066764690401513888221888078957008217761439905860584533185257680662515854438223683433108240571812619411318566428631157463079663451587691284761263593168589868070951748581041808705109608139668650147248119956103776777396825195834893067348581106755738481128870602274390847362634939451996830779315277128405569031285809206488753194940285269244472877830154193890006412809093026572030888537806202325883906733293653710844940838956757682848216110429232136951668194983830524650137234514172367391563143603678268146675159585754181280662073118162958085166902534781040426496334587692827500796823517338374376060441249386375192720072900045545610590513442736762860840897359814499288946730985436786414498322454146882289870573991051870828378237966419864185839116232820250902794144760526757957387233120933964294007856459038153984502702720673142211173172338841695925340591490298653586251167059039879980936748453804279728815869130137643478055751068467588147226396824060379410835727039629612279056787317788648887789167045621612488244810306894307866790409615000115294913886166165136702508530023291008028184426498240918711037187061858023951550217989370033731042394079066843374308810043161759741381624585040803090958782833363851735357396071028860954335028728007300893499002338187933710604050531034510253043816244637714551278257806550297238474544547194897274026819791322449648215425612368054472036539821681940233246695508722564735206166838096975971656577498754252766157726331144415445682274847069318993541723647266500230110736339913279556224715672172441036019669481808014127144101680465406237667756995541440622659218767924251977408686519896415399651647045298696162382335793708773792256070023637684434713203464082317693686555543253082981645272811941324848867246202071747775636817324112592233699489865764851441502849213596644104807448029264781734183374390872363931187421317886572345979661010183948431598354078549919820374016756441006366563542694511191085645712177376451061221023879657365077961846799591407717137578428388528070536978131194938035851979745140798175438176844347971235129682509494831581060355994898692526186621946530142753992057229531522434958657394299346840726491648186894575368722132812018509906558855746377688037742836281483603893894578221295065456248958214507687515373541473047191753304316382118593337731595141565069549390231315077216150036714712120054265092291233105351027558581930780578187361982767701184870638985114461086626452752374052993031965949199849228204996714666514234482659624325229026748421524975518097276219820306938909319208193120051624662634760012591843415912040062410111232760891953589014769528047726193457248137745572134273288676536098022259910045422809813912522116300985600812179238723628391664771349153091621687571734167666380849492184753339494899391067865913184607853276791373513083798186343689248526368445215175370877961258741267537977168705757100247219764322789348156876161183451620167214612532254297606317043026287217338056631081058165705941167355555456009077756357151951529999122588921069835525562989190874702825754390694937815280508470651439023914279442094239184571473749676837925865386258764017953895407573576979657648964972864052323936987381972207045066551343773859368728249690494506072767826910257629460710270976421906572816012982736714301490118952657144704904910100852005505346279059124374328370903242782226258890595743085451676429217753498455263857705209182333720423603352183081583529632125037747486737876540131805685785135300578698016133169039179936048673787136229431123601952984466312600870664001185802263105011027412666620134823939927354940787454192886485352186219707664538132157401362325470656483261218100649369205553929157557433925371528685158932256734128574056753203758701077685469502439040901883414770977192668521662396984826980362213665768373867422512625089692726777565125766155990882282075201580927468789014631252587925609035409798805908107654665840229271855320359496136449667974643342189320280154786978068181641595811687908045798433352208301977804356581513118710904630112301684683502983627886677074626502009724030946417299990596840526053200942025022684473030576317508313322489797407415755417447973053662693866195153922115097959782688624172469207068384133368888886047669262229494224777414516077136780309353821512105039584692589127521732342813807543783705344995609618538687158951692660298546871269548923975416867374093197641487636919205566734244916534828007644082997476232710526534708010159299566886849733924327765185248682735803442447036992562738404516901369539415159676394632899504316775282385519326781832556227278056437394186647005889866951684145927260504604035639392319354293937136729664908937471949448804098686596633559023219758892799323811207392055239474665343239037658841373594931906399543721217044219079308928319336077343198880582001019840020779612210957262348088679777686869041080402968136346101490401473719522533761322049221531987812595521969213906789426859380023175556275556075653097849738178559982775737498084918317616980853730525983621176102415152271393747559250542061640404096389792233853522672363676089605326625550218144932717852098510374455064143109595267152974760940958237353391470122717027564362204387512845171008666578866927801349701060264005540531470082234683564529890685763404222418605862763175005815899070638663722713698377842985566206497671916469276438535553316734619684727320030015206185896974580878211067085626718918561584271184646525315685661938719895753407780926765218457462553277483117399398951694187978038325698015867044967133768343325837676499336297311242849310158011444970769633549860015694371804183653013044537205819456797507500235217125878851058490408972090262495535000916273961388768809812747521760890945066762442273091205760888768984802537480420783090644868139919312591430914065879752206345444724418214174003204882932362375595459288984382809647183285233269113806109491580168805845223444444254249286210010675410098069754899437319522650814281346954414384206563560107564005574744282893508384216985607017821734993893684787455985717164302392430417416779833262295855636590787507290235542660067316710628884889676321951638683847907055809312927760544483925153167298453576437687885931427836854870470441595403950949185834211184649715501258242008078899274785270760250057486401241812684651639120123204051878154554413425376352040533119521774283471520038442480030072659600630639974010565859675651959556746706611800475738937650861561859948665003639442787663679263488174459268139804887789503526247833235546198589121919505140666693805385984194833832284878796201132822176035193271630329898673768054338597136342378675824215516012083495463978356875231367431064183298727504561274080750981041706444148545532264028871776186182158666986514581892421198637672600416341956200762169139074883278967942532656259159975276602976818112689143036435069763043393674555561837468750296076474758634800827247177572796806174587171113341331945928606209347398807857147074066261240714872448379107824581720442719511203052066262849364704378124903407895220657642741338866696471407313772760437721224831580278521948770810385043748398839404773859756378081804080474262110205700246791784313953788352778846151833975258083698748057798946482332167019987543905879525313837409623267853073078895668538361094278092703963155690025774980249952459429062238033570932726548835118734749385524328340785485538794588835868952434743388452080725121638251484500503307889631803577726586586712421154983258269019664071665243291989317379524961098369594880164238202795262094295277077171925389683224489797792049643052209783389258225684074309564876820871598282532818832392662799349239747941415348832204789453053100913079721748575244684821214125890273347070418331171602652573309806493231736354288215930608343668574887406209574975313115879387737396369586268475730130548310415000665699936639650107611427723530019185324273429759472827877978095724910444612307157183976885756254002444600243215696635108320160446171190216318100390242511068130612311743245493854722747083507043694072884421817130544163726696788885627586582028675721955935588511669867660949699205337541165222491779914396429190893858119730022153315807216189638324584951103988204597066212195884453554574440717341462342509829809859752616369188190889349657828653224298554762442936672073899166311147051949360080409491232359753576420443664975301071186943920528142059720722989196053325494776223671707581400721724873651043608734372544136125527783628667076569171402054385415622093449353822131661283302546823887215295270787885962326641941194081480310891485408077282763935577344122410559462017016126294324132813579455061965442452314167761995800073925175377595314393182528467460086841475607110696503988259022688963525860072486489908058536259257714103230496393164350096679614811342090356287891340170589199126789457872795637729630163964895102714326903913865369260160174612525933543789177139401601239688580408438126510505077180166343155353269134121788674575056697286709123865900218514766152854975177002688270126062208604141351149568407619701711002404967181729508529578280067986877575415078355238543769287055883935510265939487874999488837958863382084856197621222889141183887446077906308589920450268710768589790640667462436249607131786759013585789423071941260891272706501182113014319716852558818123990623097803407055296239210953925178178393077271833809701020570620249609699417752542589028308082511542870017279748225671081040872561741264970565250389087948577501656972912154510543788574081142582959428707421596023863369425467975399541338003570774800929882912053113057898718133653097354486084555853504941926696080077241322170497211118002540014451949811413397156991570947397982145717176954996737676871802250603831307469656644971605757271480257702986232379210236593262464813391690220255142433326008882962139323064036381026961304037526648154321972245637055375852862348506324347831359952315354734104149293683926835932473036973662913086232935035628616684255123939736221036673513832103094946843208922374697678277882643105221662485588608131803244141437343137786418874277520517111656797507271930560739548645703043061829616286969490295466228740203927797955475176924273808510674446744421424960100507158939611899889783034160938966464264479694752557852011430757234753169023633615644458500122618487064476809540183588821274737665
48053269851675280560345030602026985065758615306413415207919397904583335481899229591366555181945109551306486444858297624672137099885031613405087122004381531448898577916420963914578926450441391813050662802602145421494176140373158074633345255792452165763294780868306499357628659370675317442535315080966238040710600268051083224014318185298528527554130865766604812361476434392702593675167694742130154286491306800969503741378400208754150060457215023449530613823979128243318804464541484002683954921327468116427047318547248190278536024806784685770858447409862998345762753824188579175378195127408295917441938473755652229234232616416546646138684132166376365578829072044140453055122233373336483978829681456558494104891398389318037389303143207341943779023795939953652481528321845329619962504055903227559985026898718605088706776485926545766192734254592827109183779032421693656481424544320234885699493265990531167975502910199204160314121051500470747707228374336343806900567461906569747023701526737831696240312668861407203346555484065260075181993325259573195447823664602172811113564017412762342776743728057099341201974680727120833298089524017975864311454591064218249249504691648673834727600382628202503327951536827235984090640274123496870298296116531257280179989001607904718302963990976478944595591990042324515314376784756508017602037721000681648718269536774527943206532191976038686755647840906262268778878030316094257153588972038540322820059844640727632294762704231910616464624334614842702761441842710618138756510466333237181827039861616025399247196208533406187452720289253839312114109671270592650368785024809027950812397374620846173738085143139502452569879047970446912490174130228337602461359151175177660288041352441548431415641800865488340629058435897300859287713916138233571812684356196853444526815193892676051527583437057079433485172318524767308927966818165842220677264086748405624209380006444900161602225558960539260299509914245009953056576719339548065010813638721006307859371793196182211717099834800881443279718161130225969538890172923703333526517949304022357289475317819847241919522323013262055427213027447468108074918972622069356205203741092435935485158917057592440790573476721741639974784395329377659721017869635992005138589101087734879008772259236905970037665193125304020474732006909675659084930625366130605893967357635445269726265678167320932600573692395073476243017209201747519689513424910826465280330070316992803588422521779768718215799247385681408852845829855839078853454065444835439910102206700058700881836664320578193492712727658204842863830149919308447277511867171999967184707713466970914576864032043833027761806909877268444682299275834798753602813526303573943570953579405561975145021937062115913221219038201295640205612946762330452179419081612721465797559280737668761697227201960583923548555379139165726007839423561925162756814109508886597386802748926189124143274766499057581329868573451853057218164850431925772934190045229399920956470601413225599553885849334010678930036020945054583389063040382349528799937300264925065321976788808104225050415698534442460186867621247275172264626861418275599709206278332750092757579275382735513037416175876570209026494118228788111719022899738823252834930497863878471836275886069514451706460258897978889541153228507456618532556989348150891356540790888824809793410386838543543581891711062113178849209173310453833247543482588565702004791270118526344568061730090671455288582708351483391193532181274018746862177856466233890962449805533794091989238124696999968378858345219799509859768582296992628532803868064760060560864705405421960170226482703534942131442303010724946461562521918884440197966806322789711628009150011785912318222542878401312058957530676588018745316156121627420498767468301422404193310838396687619700865000799009023025792957093493891072822189781695388573150856933560615826504427099292990727439074385781931414737466878232846186155488856718935564160412979356599040840285710975037390347257810846178590852494056461517471461292461252629076081229151261492334199493862139485227934312740044730413574910163787496914345791174313166877541233117745573380082117619526964861019558545958668813840687207958486189166830992934880210343881503699336744974848603621421890692948444348956306075303932072906264504419369282148773443449285550979315128250831789191616624059745969695111601515227253781814451605138869603051182151764492689858810842152951295165798161267763135064299601340093996408065444392253045510308181530760713646785367338994014236648430346930944188827013943283702789734257594220518560646729646696633800101348732468343417223442831930624281424499380009620098013612750048899878673432033397805344256994835197187517209889731239824310570102890742342615208032727917416427876672279855551284661842416139426193859013812317072869630667364403248781458368314324250344892363537217692196807526352683151610882362967180761646968831893573723398367390291523083214075623839314069651219232359191060917022349299076839278406091495237660029245368050910524716430002611732815485425645868017248887585617471763734401100929348934940890119262161763464899138089850445534147352005407580442731742648008987457776600558594613644168833954745702460928608709983343575134594966666622594483042836758658344000153569731761568783309545853678627579038107489052530573192954802462636860991836269206284592898007323254882991606320484566020819861734407443715084932779757475294227767489157836127943055084136475392040984987421077935176372000715618813869561702748119403709572414065170999067166539269112488587464827952788470332171139332889315130736686613815276683212694152181616434935952219707315003489430253293486807371966024982493951206539015989081124028639824609278647595351590699039813072676063683489072048890252379115800200694212729393203708108849857390925127594440499266742367544021018206081049570858841522009189261350979801572065608055375064422123896142502177275542034063601919489922946476675057018844397102306153396370211828970809773666715792490201544987271520220902801354870632612700592360990294657634626914609838619255764568111240928633763399678435796629489099442302624910117533459817452948024630477180686674389008196395208046312947617208841593794780181453845670978196747059336268577613366145856169825151174764342186872230955862461457495667850936109738350669476058079109358543469169411290743453923912586612693546612525570831833624930523790792542130480837746577488625345721871386542912341307188869323982035553859250880341448156840925043570855677946737163813432271007272544773015532116535605579891948225133511217711755734543285306442689105728356051059198923564698835277236017323190269091927983993943939127191584471154857801902945865152987607951361897772725997753405945980131751054146398746069101361764379323243925462410673811513666661678619204587970918536519558026100991998522563811299093958234741460031203803170660971815370091275343246213633581678734022057156346105645815802270713839343963436770152139748831528198168490330188097730456584891857275904128478449520549717803229851756361721138435344243276574927394600167423673419718054325564461831363109867230100460633153554567938559251355056568280816671992241753507517314123407155120581371876730373897111585566275843730520382721753474960432813441890361785773347526053880837502868931517036070488803071649915188265012135363393198078912509498515587820117486877798800267091303616314947394170586991075596648850304595517286181226963141494924432295984036847394747097971305377831183868169376951229082836288481368127261480798958811504024336936882951406555130429631291000309561857472725557451920082417614150257862044833131719757568883997780413888483818923730459529298972775798584963638014333927684770380849693850789665597093682694341871705997084958192734232149652571614388324900375556481436973794761415621558053711942816632495107134397305655683577310000285485590954230132003549529811243304788724174359808097120947447616898074929996396405775250033098092068326443626526284355917607621013059489083997811136229594544328008220644081307556932775053443941458286927450705250080272492833059404419336208289279640397905430637966509176728724627655939955315911930570383541842118931253324485243522475083348898989449388519649243525074992608315581519997016245155863870527840277205778349313858988243109498309857199446066027423861337967395783576691335224237315939461258657648008760050871647467760595348942906961459559504933350418277851442076662336547092983286845020262330974007962728885057400870824048627022925544266427379190139676203757382049168396977230838640481317937598891076494585517152109354766529300596099522130123991811321101560282429779527244360330900587697432697502024697562065565444046542964270668346966796289118708300593394501164313750141962503636857666249799068219874860644824632840664117742591631759539981282071324702799216037223389497291632581335582697656144326256522764768703482859888104697346590029362814349026382255396695136555018610384647499360865624099990263523412370145800111353762699818763669941660965578475448573044602540284829872029317757725535846881648346924791642640342415804055334920236308469041133584304172379891557207840996419289571871007539756220055972835593252268226984966385401839959776832798862148403098525889665372116267717070567160066989027602918784036732918828292289810801061054373812240953946405585993010725869292343438218337666528554716052510299076094699560546054856302086607019302610924116423641334384179497646135416839019700206970684084127977752544442005523444977225874702352558726854851868209779264992622330011965728610029407899866457637728236022464611556551100215378032906813050616296888615801395098423539831292775672676098702936574127535914995588963394844205452304424579009769114936538183917512383724548272014429832166111346176287953187158050730110852876415364391429105492660163538481584867515921995963508869482780582954415555059504695554022936143046794864972885507697586028997514152720368020510671818753101978756743763287718977513043925488708477230886949629361671554252323379679810259891206766416375629628545642267053724820631865712450720143623527170811714832142480032843774165030167368020541439528694049800434841363355429010206129126414684118691067583953639848540642696802177715253635655171567640311392350951582393032849236602343170653198738307450941068226467399459267649604338074174843037325948923777657730085872910883829755553140810909421101356608065349541819595199564003242884382241906253286941416195765896496188016873233087209869191509708500474596292649878041647812466434772000795283931635125227810601547094545078944618018157853739742317656431013485842427069621017385741608712115074829556008286625420624930448972625390839837318191728351413621427975865814351745336592353595660605977214186609294380201910242977661374100932838035738522339993776978870007905632562553919401257271729941434133680355402613533279835222785008211702254051949202331101053027381585417181819395076204949407180397704569491697892513267205650349812772670925236247781788167897235009331221641120219309214316217319989588099134100508304903882550510512729487333996001893378838855709104882507756161492677716234100799041828349939873022871683050538604241370092049803044142905649616067895780005566135262379756424895710071089075514764930109823690502685950192810257361990569326647286913233242569502447808410891519897496535939935353721569854353022841816403229623442369946513260335354414585210479060546812880034941757050827426281935344631456781504322011597128613391510885139170917257157671127820840748235871329221942874126722474484475194870775184713955516723641273523837499484306705947183124286277338118981717980512829473653282300270434453260609350616818689691176104247587300606610167457507552038011498908814011029191715275809170740999278550816704809979336953585561556309792387405462758325742543836321092161649304685698886206807943197076149180136292186794158990164281634529596295689095563368693705486911087877818157322126559891868158030943509129499960941729841847555816124892914533281561433140891663287311234562608497628163226898330593772823490910601026926581096863438770857384049194375534834350068015413155902604753615062472431925216462039240220983644021126085365553512269020513176989264393897586306484616178065187044063900241514472124216439564804777186925130479150658822625963526953727434011518861084071761131788821085566400855441339810879286804724623587227750141486281522420057586263986227750693808090794936546368720825052424180455645067882842661993766304523065017387586349794774322040498874650218717993580100544100962307734085150645091250872059017594695830170982366118492116010252606728699848143321956382217869424770263637466816509929571323220546239513946535766474026018557089684753607734910546680520763833514768905811619054037820443234299803032241126948222864233537347328607229045946272673638727568067568877401985680773162882547388263291252856076690177596006236127218390569828951493424685975793086844245847300667447839123512797211808765308825256366233346010500030990415712390639347138722601046298940823730741287647386513520589344342133474737332038183508881630514657205111948197789265871149159131343222073306040579622256186474973240528435609670997158016883313510127591419701495566488600184511712446970575021310218235335182413221496601918336163566177762662838337025014700009118126345731947802753567984029912837731634938848397212202722966295698097462346012306761122131690526485086077307438827516960901002196821839817981861875523045139318032193090850128734252288888509050516383598095564905840925959745302522568433460541547539683270742236021070522926479110806902980606060540596413118531100759970608264379681493745334684012247606173091893905209825168412109719023030978428692643344983789428106637364447572332149275964580504127733598733798050695118132998756410484071627314187082686331033675967770581947150079071704851488036367337092909973632448822687770366281990561595241787610882048431647414098854384127789762278562527001729242391575814422073766930909333625324201834029507447702897770687980259502212412354583058197787406708897487921120618168922991082460866454189530338864216862711749067201948070665352515874127469520759558172318918070464930692346667640318544588797989720173244456622945168407521967491191756392283676016565569914852342303682566092863370947481096787581031908381152386766098802205128510721000460913862821340268801881354279808267490787482721156375903552003728546099252583529676964013594306754336343039973057814746243360818927693636578782485992091682729430774147035759134764723661071541968901078166381762481661610472245674752311215762633240475504476874305268035192902371798143821551073621602784128999592855567910236491384439772038938181024394357886317549984960320770560283558248184295364995878755345438913327544872594249817556180851220816341805500629177727905676374739357131597798740462778269297847885179246596505239396543755793990495480266143652702344351643251156965249553831548300500727273766074059042345130822991005851156686095461297824148895108973322919792928280350794056005790917451342357651800078463736931484906208023432501372852678620280873173698905515611458552609873951876722693691794295658451420552444793374239802749574287398351101378766930901945080827105471675203963067317908478126521799357046811242493631675054747264220954123729438343779847974946023865967209564488428282883937093966370877429495409050317469964937139535836303054715979658604707447890900026094828386350417560853953926768485788402050720854411760854858381136495824142779890001052956335552978062036686363405456738144557953536970148486313005513097149172434982254512217146061422234507360582074212023620729572246497085231649750871708306557875498080929619973355021794944224497819408228480211365054946445136887315771049720401149911245042593458209117268447050813999133820264998673187098586152446612642912144751347835611777968605735495069981312099401012646701134700017023816940096186070155374652919493911446796461109442796381262977022535314224698730644880515889204599014298355411086930161835502321162025067810237744075003461512429149752900419643351146389073265270393066185739502191645010700067584984836637469458737046858168635914421037853084191575240290404260868417153342468576691276722978359999007425855267977739955979492213323725302422560610566874696434154643513100326204209768984530564314811086017050600011366030351088241236435352932126962520424884801369151508985717443496838058611036113611012351536454393318722209651906579706164729302642452991990385785324400146461001483503105967214362388718452310934639688935266343582086021424704706734901283719646999620708554226704748261245837534343812675021331026712242764531987976676261993716753330987866304905307901070294212318670007146204935363701914750089757363315735223555246235657736009520982378442171209988288867807323928945391358052953444265338836101750355330311796283544438407990606423573011253011954058226587866864709745217641389037829731499600665619233123615821771804616652606442635396650850824993553157095003580454104379253575786775954000637236589257874291571423963772772117869157389496829334073793445387879290326954670644536703007608527490221582527265459816206505567437852679464405425014790470401672580064438601816530250059296347399080519051498023612397022495869605190399286336506449860078077077083797050499551095892232435557526651216697716646915213833690249513281227987065854534367652066485285753372423470178783126116574643495248586966438370166945568106262516527637359376705583182493790372671365402433573166568190426157892685228653740018255891657139697277615236061011663346977240330983838818265264597778987023364303698082444645858039202625778788154055033472925792318472167357675020365654719283778685951578404922941324487190669239941088288505345000820514792177594824290832424702967360115849026331211832647933547993796818932276371980787968495968348886637165822056294591262031820184951777622335285559385552104128156267878616477824128896769246380624912827022996514675862461068693510177777653446129428689438104972920465905218628532098776349377940219620358941274384209337316586079111496254998106597716542320842535161470083584888640002693192859647788094362648911863295402808010641454988465250595763246520683416392443120225063312843240791002065933544116508610960117596593608547762608674775732885506499461485477364038090203997204425529487547618400549479448725180601895951144054299892863468260843668038110294550761496046903453617519481349604817968624569387680443406236703359482823280156700937921120236962906068463641245675397468086737547616521904248330932656662610479561322293414994226068281141571325938080559119043334899767339393784623360385568850072780265725020593285056576307890076111627736608552317574193978598920124534790319663491538879534649646272179392403758757395066337753536387152502406207325217715272047744993603671937055936133371004369898032736329625194045362651414059971836442516778766468013923206589012841666996537137940611071422905051589611646725669541716651924946113932200892072522854403038487764121175964952368971456596988757837243890230127313880796338066253256795518886360953316679578692187830992911990811134776123203017873148185431265689037043212628618174240793352277194549379647834021152803631477595130516834248007897559393121814590389904988209725129613534776642652417483149804084339747872121211983247762239359933478723776628597157834119765193994352716913003287719326484495012655870511357394688480051307842313250722556670475220526551796347612415672079982319858473476212783882025121062959868757665108132688858625785528474860326688388622910838348971238699965283615503881544845406300740040705773540929923684777236850621784641940375090328544495135041342017175571300442061965993224618009256486991993491373602755373789404201598579982873244925690147382583177276800395272408077727218882205740238822421481694829055066460169546220884480266363465927808260841164193963479188675674268865372801741590864337783074780939072975236998140598617495504700574183467722376664232418644381464433751350818098848500210348997239772258098393803113375160447863115107491602014308914266812558397647870982372506902222145609597760013250538788500941466495636716531277603720279462271599
49920551865393488359567181371827159602572080903252757533688842672069845830552361531218389786540307199246154406034861464697253528182363023624702733237869291874432479933291094429556932283927096153870133651809125371423647912944280127522499682656759634959324409513557726268588967853086561842051894581789515146097243081921245464562196907293489833557131564299822508041427955184537105643402858262618386220037592849701894439618462314924118979820228611538296148830293913001724748221310899498555885940075580022978179937057788280976455471982004302585878464520026662481012898576340894877904647093992724998784279695426586775799138027878083957916296335110027535573749461281016386664072465520363927458321114760521067634967389244169092633465362195014948900669523820493603835831499936581917009678013989233578088509822937537171565005434363287486356466012275343480710226030060444647313362942547187995320464515349691319705924965508934692219794921946650220247669521597658538924885989111767727929340306608235386613047184902338871895977244046359175647272999274965834164961119557733867507421518197563034086989886311172369635595091480257202071823677224283961118999114091330493228101243383415676509684115635318764912887643637461812142300581398052080515785669215784158428270958016342142910471628585404670157232868655618776196817910419347365524743030883240356744685697159967558294475727367673237799043867772964610793463361724372099770108311757632557523521713040780667490554495273683823767229235693287036350457199213144163213832597168193164840900162644763459488292297276300129649249380792332549636096192657533745052497705238978279709536346221772100276060353922643109857032998062949625816807837039796735962535326622528491372228790612514490853060479107050505763535529261368775446687687341348241830071892409913606670838770705745204812120661356841962718486430660132910041564928704672522602950798373849585409543831205071768429709671307954411499623066508836246970228080783220416263107098054539747157043709826823080505140001777052589949304337000394769072504570097547668003389676890795581737109723290743593961931750471164500695050414674248891231634093571994720507497940711541176750789609457551988139853893464798819302789507604084241769599229446681979360153332299660275684467089242381803509615967352009800829247212802832406351398166883249654879416312874291466694846697913964828181548337576962036137908212828299255655723543210064130002735334840083876413644031564945661894942957003737199123096049821508976701839414870351670221447166586823207351496172090768706902727382589735855082011833358151002954293355902224886354662181937288545635627427163716624683893286368770830183292543412738306932702958479337071248097814793757737720545305694655604340027811340128957554382117742654240431395767262784960683334817957063810551335179303474323892397270974770691313412068185897013496790427060339759532343011112013169408024234197723278215474373613723262386069943375682772995840513137882707022201625465577630626088446026299642071319538825219783408327568622188965966560842389802717676618383822077468107171079567508028767970973610039601318484142909948399620759133385922463909190264557807581602104726049148813276968477661374220944007589953617197627246265773240700179427523481327271309698660686492890697820928565898172459270938325611641680005024000598581680537543810976339175160293183209060792816245314531172670138202275381170705436609423897656708266471406503759194308945796482030982467757244415520363112466455257993605929119065198516928483188438621666690025397869122167654164213205869400472222347347401909583805305530103483939279621998978374075399373739783301396404611739275413430302313027980195251643011761168185062741358215310690303651604794208919411215307276302200559549006477567037143239578460433022345806976185683429250609085750987544951877910764550570237029209043916079854299495832904820267465928948138158794735396957006247030388664722501313132955008361517796515387913029807261576860866003591991769949338992686344008446044285754489163526881764385868610967105514784472839638078860601359994731938253306971979150203504141564191184292135616855968128752995498195694025243867718583918619771096619922004618982849932619902704766124261389474523566448659637634056016607118486691536216804472500577955437432469921628471184830348156065022520619757343871796059162293183553801608159213539254560675347667452109778531651386871380614862652758491020599648481759726895930689959141317457716983744679023028675709209311333145725957471481480998048631487777980522957570097679794126981782698380766734885199237902857697067845039489229415180950363104911553097404255912511980718345746982528379709907026459505397411762287336886903896236023795342625237991089943697342723880368593110702929123200591010466256246368277902673141679307845044298781947918685042924338872021865602000539381529998385649566876840808734237488002050791165707030959592460505420874691821051993263267206855860452361393241059175406736075362845309820481056391103514824614074195033575599307557300959496076504097928260677913988693872137233320909823374189192042110311413732678569247385273260889707895682253622885531930897317148141940506860428010809852827879156762926036073181468746133098210306239132736134658406361819161971454345957908569324052770741886453942019306468562944440567074224732394643057903469569188227639460012840413149353054939519191502808044889664932668013951769932728424808452380089097665865350320317318142828494347882928617499700633458765137802191730997697130212464934557367788997176330155338240547471112375213093392077457500177502383649846573670852508445073204720616788533820383614688034443340077300293631394324093778118087391514851650935544274537392941191660198885768581234209312427472388307890205907783573346647776339373473673877253265575656298971386721798039309688566558009462225604832606712683287548937503345403240915957227691622207511923849582118044129544255131692213680331321253845970804347758460089507744880571709099638576530445584278277513019841230070069285447361608143354822855115160649391874981312462294954782753149278307556907733914750329289315674915100583810288330755437025672542387718791557673153243092841239500073848861624847523939352089049979794927205089501705558298441128525997450457708321112261333772772450413434101820676306340519913945110277578627296857015915590077093256059725320281887015758652614393909360580773270167767992142171995475967854148699752463039460584721562192164651832954209192306651561537808293142104888669540559179373522128693989124763060692469825218352633843162692327103776666441284225871775169183836855314293678679652334435551000167367715930170059478402728232365355404686275118082975246918943120416432459164746879172479991719379772062594965554346474607728385089037985750835604315164727585564598070379307376818471054476426058051604767543823663460194987519671966644537658348442336004288493517256469214608080999670795093300140857594500651338278958636842692104522185890260926443224223770899514161054990208833866225770951908047774984710067157756156059623642070891970284457057499370796340985935080388237205416918540127170179033971733835631524448947203927363324501042697231822181490354602650053801299228181997232651649313397001757568093402015266242808161280707563645056821642239114736951830095478546792547510952356669854284124247104908186011823954225917895390782465563910868178610132958381957593521824840577427592924076877876937797056574756075680430571751750757284216930124981568736160550806931402976769317270288452508044657709995448701359469105654462331365503188466657469771083292977473293758107257249133855409455850585826563967892527155138551938279139524241727459953785186031580151694836277654720525975804404586441603500394605272156930760765864041303319658424272536015720463430305622504490737473879724513943388164283667860449158392351801795985380865127875216882306499232783658326566214830876782202609828077764386507294309933367120497376552443571561362061430165714767730114021535697818837127203847092266131521818189195240524580553340387411798415138508723591597188580739838385252507307450481262523076092260758989491015813204033416853854393093583561639273274686307104328065987761802039880100539705141982829574606559757104419259612384933641933373812627190168893633184263951492185244574661857549879448894006000612095898118316930192468045242147374980431758681230806941071085866985499466480644386323883984164804672184602152985506355134645928870734629278432639880795910948870230902924644413064905917866665791669861023111437249368227892917582443596331143643338759475150253002186021105427695637850596805022500863526882788172606951630069061245088672455284576243427187583604209773938371213113830070108015477302169195831439171157105899213131868079135292476004202029100311124057071354578717150091884029453439726842478862927803680436744221627844159412769041377978316754214920625520657992955491651331375318508489054921695100507803298416576315938378044183806637513229769476157630796415464422039811596116638136223195898135399604357714428477143741217003025468062161820944460709924112835842504287884194843258806728308118856801586642455160385053631933046939550588921758037653460750457979085149866347052392377903307804938804497532332562193813592346082652209489886459415073560167029028265462493355989806682493347588975904405157032155177004048845634245340275166175615775994631775252673119204588028152852534441919837740581278543352262362876834226439018762116990421304100814764300309806364785943924940166107852499631235613691977683512997972333387629558713006268413914609674790029955424892370897150800441250708448479407241317403284361625443797584596365715200356772129743940579766029989456278781109201219327636989579785150532681363714199778241120163514411753873801239215144020715031174372279714556985244735350844992194621666426010744916482394372320710548066658334914787324138205769650118936714312318091570333101625358972908179231366128787933924587273298213554179793951953728380352638108047847340706588700924971715169687108685816573925522817824988133108409073047963463059160378425811951817191560018569468314855866984500646450076638287115154971494123759971691998240323187597106037022812584574563502355692576423568165774865083290851401301612013858958545265790444464846802596154175132089555531195095469878432133017834735425762454811682414345993781521626839205276031523780345746307062504101000049889779504443628080240035876098129826135083852832921673412847533701144793338487825762346355963793149237219420834190948038765421213470281782224228521122695124160865146752694251699598258519602033971048387963226588309444653708788131580947611487337351237767144014269480607935650992848795512962709848818919434125352095354196149065617751202133982318554475997036877262770006092482363253832880338760717338813191439389051246019967338914256357666299495623584093073244653821224234992896235416371987145478178603582384040786254425954000602348654916548966993052544997868782915143516626285889112016950392236241649232594945038540391941726002326158468196004342603118253636142562789972951264943918562269819604500479521327705076032953506176169851466445658754616078951719520263386194326482208094946368513241682146438535678011201552399727537943192500136171400208061089065125539624045257793292640199055489466681367290366109900749866002264017217426221357472444317525592056892120512409860251169546732778841729688681349271869130659727791217561299970448335919013649079214255152142007182202915260435174331339556727112147011114012291003392822701243182466306611401365223719841298486516433351784385654979874023949526486226880194891071876859838002400562839972526306166963820160746300819360751015785159486473462720110029983658752115184983071318380239982093230082335377261203650557619874957778725012415732405673604022902061135747207025540161732938379086768590007750212527689944858047314022360421014378443885670876627014634978968266542123461070047259350293209275930986113527827786398133296096650743250295083465574743780038886051967511318116806429876146639671435934518650766187143343375566396175749080018955111337703285325236044303180766076142900892364769004816055880933182357993233385359362421658754678942119111260346698872114594862330425267306539691544586548750039120791634821381401773006433046606506507839356944004454909324873143544155852746497125757244918547313581083776631578508033730525938999731861573755743156847408784832709376274000142107267781887673441962548679850571065840288475923306158290385043611302537817188656007117900004526319734738637418594032018936639550025025814828979796518210683339497440735344443668720364692586733905238842403500831218550652698124401179901531821395162987299176426616989906861650645182038394194668433069464267246470749670862394363378186168648884034932331358950314877432158232574709671138333733604740839206002657844464883701334798485470046174667379108281811901241455267818848447126873174079921695544259156479034684435334130204716376835575796819431841780126177409881944152252030039006703830333184629620552503583002809663289543804249950644286960260898356526417491567844432967435835148602937107732383648324345083391851952200964017172871165920309773545563743559188873449495963107702316505510738168661061226476112780038135647078735806665711131657520621069783105151522194483417969425250758671863356328998715456995928804537452372430213959789720189731428795944024237290176735224119238898431975831661583410553570703225338027663878082462750105658006740418298658290803654134794478269701153421157940264695493062232403220652604749782063212135032159538137405623220951565944943345484154898154330469729043494032914911892697469509287299417545055878107583120114761576178644342151540961952687121689921171034286644154753012724132607661255737975971424189419008065169492583509493868478230334180920256607481484611218065703153577039436853846280299167699017292586039707764733227328830256368933075653825417525701467825858788904445741566189260746410558549861407816582064821653122275052258973381108532015128871127569553276941526431052924302297099996549827370790415301554811728112514018790561639794035836996139194677593920937888271476799466091314151585157507602873919970861235315394124081709520429254246108682151267126003056272446412030678742550661206734638158553711432359335296981164759345579894900439367126449115955370959096736356489101903018715482230115790563382546566873609129573994585466692554747274291857195079160827739591832996864413195613517918684046493246904774739329688160720360355402468406696012198527079965760101984706930076683439100688195298877360883326193556065923038601982459893390179333124363962644076285772705751157993033017364079671319194943125708520502237056935052981339886521591723866341928233674265782115408135303628708019985683522980950936848898172303126325595313494409722528762390568310998143820078872159780202487802163525198282828519370232465749455577261628104295830911604870886310711057298376121883592213007424229253369682636017716882924537062724285034056612829532570119056557690492553346036189811967976227585286475112333958994817490549584785303116277457003623551014320161541953525021549186032920851444717172914010852941649822909888580349888105865357373956604068216487593184367446104277212671988707312052192921662685605924399933260306044174296584351681344883833051040278793872069372828829010631693645669889849049569616639843458782148755051697168281146669932695465279183061433483850673349281858271906677609242062286079991875588679147980707240584687658416481092227148998189288630865486256464759953205089280921771960405799185274761453573713128921703850741783182290062583054438692549138238543710750534194349881948278086112194783118431907734489171886944941576279082873556732144228783614957344285518208777237884481993172965720815696138734103387096721811274527009149417939871349044754438299881801962564126139439971517885026384039649519822113468844428552992736626199351032703289792406649501810541387869852389071368060303765088066549719838277633526582438574844864367559280731169519677921291782801625471552427360491617457767093688904044907127875322168309198317228266599024996994057414579187040345826914943784299740613924309859076611629861324632775819763453092737582772423885944504709247860657025319491072853714833356537504320539882857329196446410515371072114705980174214825196388480223935546266730188060550428487266490780988137716331673761571948254114838964714211691049494173582052895806436012298667934056251070307004323223500578254173724030891747709221262105796541367537358752319046892913845503867189548820645977415998456428762128103104541375147542161381037490808975150865209155059372327875851527773322577492611870670986987172231975098981889963540661137204910931154574276302797721453729460738421695464250146098369805007567632074884296720847462300688476773593913898848478392004993222897928906941367020355323825457294351294043839767256701176934618056960578864236917676745105716808033855148864044170404444089466972311545282325458280772871684559460496410463394881970623133745023747047974305669587211013024516716185129346018324549086516896845848889450156431301778207248273124330390642712811739711741750608351014406222822500697198857225794378387511651182219521798871935401783333130647094767966902765708869028374310487339985413709243246757068130670137112736123438985230376638689684412699947160636905014136981057659864095448495505721280945550122200806826459817769258319728795525773106691581853320882913209570453910406590814232870387413940243351252864775662148585220164587698806217995212734073466870970539371753277435455208125175264888548505023160982646212334887170625822496647839239067098270375965581089803189865843912482809328497077637292964435099183222576247511123595926435550613729921309161756782069625444041292436185490547203399591935732934573605670542669427075654316851242520414322852195411884453400755423860484923613413307810341425748031694536846039151232185296253564327948100579763488626510373540822496366770242658414429608517455393497752980062113041139118962186381018134261643156110035380361529473628574657183166225428491206495113635191524540768155134585599773735485731129202014291326109995492113418017856943081804869298917708706818892410791340094226367182464377489542488706423454142514561033756364480671994229305920183669296869422091105993772341363604666941628508955856183948062141573175729012907736847712700217328494881997545170483572768340736671916776345102066826601122085894071998914672676581595817616838500763800110347542398737393137106268958773531290456408424269267894737492441730648770633126292238240224662821730158995385938967873217826221957496969823408974910600053949685211937209308149602247874422998000115099657003337967551680914250882502860389036996295846478450753862787331324761023067349544988569071868501311041686031168826776332270253820123133099962159247823732108279549216172764665776595987982478711287682205681774378987644894193572826019054149701783399000194245760036025183312409735164181195880530117111994986826004990967196426451351137443260131724113533727952822570579971391692484826326095595818844972677298159543885694326070456046715816905024829625797289945745948918610813401198755302433596467389406513274141386165431247685079912509039580206581741891721102744003966214321454629964651250797570044462070556472756078752663706711522346254048414182271898781986388209499231633254653547205893433492133080201346457255788969040155829882104693821098388462125082994493104516746609308383249760665128066446214674641371224407834999311241567895825042862525807107184645453992104361595685647821707023643357004857468103724609440791513235156339974275045568629979288600505423104011954482971073377057316019247441715670100365989685278598723807430140218852601874122940938894178614146722268971219091899618118774469287387855519514848876801314585113470599552736808547348252935760516231608089359477288117261623504303772315318131018267609223702672535882849545675356621854671994875984201799091712554796505464539836311832032955015940129862573487369222992131997352453601032601240868008216710182153945542300054154867803445535829192275468151517730735965256738081796413145925794710375302806901669401358123290977070011283086969515999892998191
13455072550188957368665020043387424767251445481700693699667274936077646634221804122697228159978736379440581247149254853207947491670127738629455184609013196702954807048140642049962377086126930102140472583987161147380811323954113147547302132622777528730093523172784767746294996230398593842409819642740122423506545716647706991566747992945105879528744122480618951261465683459141988370683711920251335028847954752246707385864182872979625676575731939229624032194590099677629139833517472383052496748875887893843336762716240060798802924659580509186507251375709426396343038531152487370329429207802273431067146969667365710320801358665356026484416555693075565855041618477907910695780807346229534420680240418161014261278179553690985219252925181002600114334229661383480913587614315651964482115630692628233070513929344610241316097251880802112112032293523274459048427037495609173123694237157718756632779476775006913514324029872881247169556003691278178541650691441059868929656736714454971453128286125339675470076920435077422327102725905236453142937690126358038570870726316626508275786515357024420266357396293854731236320692689464698649728988508918624273061477555625361868218223480705469321921780384059475879478758035982574415501788983872266358224456892619152775027394574323121226860097752421729157724669874479170051478513475057306978472546182322545505873452078123960217881421649903786895220818565164390813826612379235681113578105902919423577803664204145661542989737277564588158511204748377259000548881385820737921528194491592775300024852419962963021371829605853092122777246354895463784650468708578609247331510424002613782201125637861445054311750682628730449638774608173306555933139808113299572769227651508759410803765636169373993328092028071356138194198010734771595159459596719069833166600479297580384127741981649357269870356659832014095559855152112713767423426299931825252723829579677311126012366877929547692481254899858214034484377280190889568814334345242509399313364646043640645763847349489301876254843194304515686461191724527985472436137843827796162568126434765859221991158549230106646432619495436508755220885250384871446356772685223108418876391273484241767710929968464460665222268203884636505522064701890403607718088670731291053568129799081279956183602391809483881367551600064213866892544674124061224692009259071337026121010826533827396240778133233942831518700776320366694851156195446002964565558390104222283124449295871108486140469782945271507324555980867699398768855837883788369341620830790226436584360139170029733224747789675435260446419106782686939746369899895498541137799703692838854571770659029954706664251071527490002332174204182034681256946369336490681488088069521035441060938296164902464785872346422153681922310821690012160422080189767267689596202314487618504509289940059703705309186579309503880676480991339820267608434260621317664988357061629954018608663591757011206566025251640713845109001447083217371363487363934398743198534018747943265197039576357081936815333885666588119136159582071035934552989122310209660858206651490382910447067783664788236769363699710619324421745722284744790495434192289760534154106511845131807380333011464333259638221393097268623332697811559775271878476089666323153055964920535510113400975450487052580779499715377973419983312077374611891213186724702779255413563712532628950427569043829490468068238066564022010469842076332467555487596585313314229049540090822662686477550209971195516195302727885214334659742333578689091838497325438121357788007041215722577184656987454478032611524095754963341480185095805762617674453539325726089840046646482105044027084841583808379820191844411804645033519669277960168034249235739722300759640744331448184764098820861884614823639515533123446053554024402862824446203607946913128403787084561624028409916449021893585832945173892426688932937854750723077781585777183091288952446181099852985079691356082483334072253762963909423817805851850236648302860789859468926038214616759432945401793533906906690870153263836259155717126690862187637346453497491332707034432124345066973448195547388000593726328964876540134347943316883710725092861109056785698029069177393483631337202967153315697794276883481172149705009334841768833205007165405307173477100499324200412684111373126462366759642645328762123786726909621466083843801065235817714130479944725642415299864827559535483326801563679415132691938301143648922437934126169844118829235732390302277415019480779644239371217843000022433555721356266564571066349648868410551600514682649326718802989729709542079128697551880537227326154591362512220586413271711434047217012964661244253080838120623468560826733200579986170848347658627212388005608845637766388660816022095986220471542761495360186851383363249782805610140715806227474761663870977698256426731135152651858666689808738945492058739873336268427238608885514167804737414489418274817917161398192559179116089264394141459236047098034376796835484368236237733150175017013834912125156884833203134293912979180396760159678663356372713011344825948900576631019027189551271242367957607007394376108897379784888889197929049983625433271871238115346345700645322536588788495705934171632581190619288150753976398725906134673421513340513174167574697410064555750493548119367753280048115083817957903550505315687358980377804334209370503164290918610072739613239103238670161732428503155752563617055749206745397164433993565079304153682266016071043100830953516801115238511756836582897013668894712836530063778482987386980757005564256088458823400384392386738981414286904264986156768688877777710072554360402432949214449376360119326006305981928956595106683477335131459118200140705937438118860895002713404412330444022332360266002263536763674531338223218579158430278128589552472849906495132250286234747485311219774070475554253069705472221854220714375020099777530743247225674273372706208370206853026101561165854389522496962638947479237580236641716002666709008006151807397566761763992960868958225655052927894298720889216570988912468049467018166906006692790872852254011647537190131767625303734907787124318532262231294281653249529107980894708928275174468558081040844537478868088342549724423859095998208659448554642036247550256384923766881519655440506660831099201382228161964984937870189765789975400279913652118080554735007129492440553098526196527228793613027771804093624360843174860506981270385128091934311427972199488086018620051494641244210110096024761664911633772052443722412790236281496248016962757471460946044943356556028261332245573759237595514081443057925677798000131378647924300993800401016215764749926799715109251654051127299016169791063749688045350346802455874847774628415249077001917622429013316727560804646770993945260774054174586805150062054760245609095157523507932754907534694633636034861115946312042630167866241934298754084353754938391593911416905350535942355750172824631180797321235093907312232380872472864477472790695658227166553910828179476091777456433575588014245849043278187826254353135902307787090081303833789174487197891238920695654721466295297287511249440397522051527229078500405418427653406471801611140366338823908966998978595776418139998584594073578430262184944234764278249788775240246869917687472916213454403374261968894506418255686689374650707383946444039107306388320638603607282188378837359866014011833094562637354863517520423258107431292659955409250323162077379997119854021360977720427368074181321421875727123450013246631767439115728474601282975322456378091210664590133665139217635477513849337070720201007614370214238221899952727609177027064453846314124271465897523702643779318637753980866383167081125091539289948343206162502305720685404652338892953905168462786744163696723130671593082039435517889988304396353293334337889395213301537668134938089842978058599200459606975728937915596926793563932419103897749078392344952146730791975904018235162190281845312284952647652539662947479321549239740261643114047814166990139717524657524978830749769589672413761993194112515460978190230048266857081705070540693327670809237145322114303997599153994950336084695593836835684898581752127296657330628600163773767453307284276949372565051774676200401890226525550139900937732473646070052021825775135284574083341427248876520072124313575371903506154761117743237580571285015352783316942964377842980523611311503146657943744392665400567685784416471177861983262544550201948201429633794509444865418485145873650304606551777376204175332235891996416244863242440977749387116090723095245300258585846195558987870784599489189454328644311314044130990647952241889535201004592521341212694260407872584510596337883070592981287127933224184586825695615699249751071150556438593374558015696522880416102538334339833325477377946841122263594710006921827274710965848254549558209752750002340544608596114978629800602893369313702960088537621841801030821402471439908255239632289458279059798611714964121213890549959747218280754268293231971350875278588430539810447878271782424377973413589714417115619852398890253597032757049027545806754883981438661699421582083363722702872849564964906299349520719013106431708739430380028580713343208342591910276560155361481491012531940798988727511256558484238711025522605211965352456833311373841110442101720862662575741827370199213484253503823507177163450526419068861192312935208689475248036525178201895135309230415759037334208302378028316273798837236469580276096709024227242275804876572176162932109119789066405101186866719820397849745551573491244211360724080042952451681477232231118477795516507015056189595982922066828119511002614051517347803283145803750455900413021368461482867365578462872925633690018392019955683878235851168306045082819080573531443819607424640055096704264662681749311555021145273255655021288930365045595206235345554244799645873014979634837539603713697620609670097164085925215426106901359876822612645756304872127058346315912748878473366807573138993153011699563584686599440121065963969666473827217469834925451497686629325048722138407895572797495852202440291478627740983901917530363992832292601046404843023985946141135530635811421079874572162824788994579491488091398934582306527955080782072204557386811053512882006812738342087901420360551920256187524529128958813319821455232366147551418183732842037020247764372994525103967215100764127750951788813985156586786827674619838901226038576300936157992090002939246349670086058184515864080136707741700470210554545376122117054713978599420594580040156984963310894492026844936160343403199728926407857243588227064043646699157478889241660518134622051880177341490645387467651780466167099693699793714128964608142694254517653230882133041313003280213133423451600743440685476810500487568569558026225985086262878952035266439933933752369045003349394201143207851878817967228496351904090319975653087913660676838945726543185030716164218242006077341819227978547737675369956324302569784786628194198323021562236429473506053230769290827415881529233805000019192751958038270342040878576708799272662047148681676400238742382420437444281990144180489775069946578982138008405646045123123812647149085287697779709373404558112894706789626598215459592296100538935011382496173544721935489769913624603204767733959562865421517749780783529240335339983218742304187271826273035095422870338574881611579237518049080651675892089869997982158745277212516311631117903548360574447324072801062054942943542913526203627065694770456635915475451168401871931170178598103876557437269887207009476139137114686077184867185615593562680267345473788860149357259028625492693949112530060663036217163749872019594064115250523209132198222986626090956029863329524418155727442705012903945029217871236722199582331474578751043172549248239448550325950377916278492594018001248309774410992281018802686487253998663905355314696080690339473359564611122658312441156172945685318466434254888454676244884212640574443924970696865388646878204786720464686104892819883653930411111850689842655157705049695563779991854104158214451185797955398737043228089802982671673581779496737348318099414732912417217549887065407064176968632275670469991757512330018137633586387590214296458736592884568912578628613312228872081272973686016096500434884194299028767734794223969172059788054357726768645644660186709787609314929536736559666315784161544145138547368263244816566285237837012795365351021737731067473195809886198437669613318708568544063522757889525369206299033226723082315885152863941587625484394085169506686755340573841497420677818727257208677785801157612386125061767855979235215417636686009869532419121226919944084680249752732904732323703881500198003343506891790599394140218005489492628373748307781619756744834302627787089860081097252466988335193590970276261808727144805451939655828964359012500547750031164098566287256023170863920985731825577803061184667237142221728991207219797953322286651314370395575670183111565508293020906971353466602556786616227945588080645357043028397981160930557153262389175035454790491337202944144928193910760333522994816067784867865070613311994360960971214996837699904036543628018745314070583939527852988150855035128181942556820685098301355061762742359460885609837544247744041046794586316262993823706628614935267818308279310139175631211900801787676548842321694868295301510184662249351903115937406335256417199590553111242704400495272447333771689412556528663948398516657619143180458491212051531703282804728678985752555836567145735840512459643480593025870813897380458588492954315493534116895186282914818546581892643085931235375788097622474437647477392981690515055152905935296408529484413295227638322881491889029104265619437010410444429004899514408820374398736192273826619286077772749287125510854391146229369666115556066927527382271674151788430784766077245058781346792602608130330321988612331134389447182593185068267155581725385857207163367472798521160859300338154251508374482986588494838144065892910337220713030615680709640370601919659345285790838312432623648966014356619673697593033077528152052032606227163693550386440256801236621459309861318244488904596880818513015182625693434698385255495649265404945331377719496409910438080766022947947475665563740355873993319468734603480352178947899212347228584003707866455999224010011661355069522256337107450835549025108810450905809353507855362193838459398479272172483203400095115858195433916812828180279814727462669246528916117618879663570355037432963901206122219904455103228302580504901717561555776061618776902790416267437914602674875654538092209763155203257211174331039749430863559467198398510626912554953667819123078472567332602333029358121535530002965749423025296333010753034050305677501117184306389787720439800157353225256395292042679346007385324189102923121178584721359372721078712834279217834781902220276828634338664251757439155369126309642042849043967573331023352619187077001572994907864385821688522230475664832147955815689628527548962445782871249695070471454963740942391835696867106142308861222679537105640655331198369171494851981363898159297448771434922927168512489694035679085702901498279791073083639361884739349377278675333681014010893518625779539909600682579796975884470542316882233018321815076244445777304919563665853931252626731865361328125845113974220653036259216018342728386256631717397861161531956561575118808917117414765444249961666675029777435228556351501318841884225748801034820167532616627258275456935234691384152730485690705775837036258737009287778438681752414466897067849964846323996588372847568508018060835497278548656325118447231331119084445140022514453001515934291795869698179154764724389676480528966866492954978675957515611683688750549210755715948571282586742958215965135356691025149339198003599402057137647162682235745324644089573368462340025405096074428194629561330725462364353689397846215664835496921273265903147101842168246928035946110812789774023733478030812783162690588264191204708486260473089800770218469497167643713270264550238618439488208011888063728110338165226501098366585636053739551542884426730261708144118890509836803143414891214496461076005931632331606941228248676790386906214953036062444673246009788303971279960555210862901036535139683775269064812567814963441369973319488607377666292171978503024264440807194581307171625495037073794879498598102964210809200417664689086350968562572764205529639529004557796524745528892679625029081890565788721796834350397791007681620216792044248426154152048247115932135662232572032087877955899653060694481360050903074726541289968241414722322765156361517906060164796966490999267884165124843645745019457475781306784563528114563589888824687528687667735356251109604390053680916870034048263738214188109797282023219784498757147572754061051853986059151900683863968637825509121240736930007847963379902973516169023584876941095552625203589117709549862883553517012761681938895518412299916131740258177433461070457102377182532733464594833605690854602805315809346105755591533089272186520537959789576088739864621859835545255373689305229007618533607940969638036351741095503394623656936447720088365504274182089898868280537697500962496320799472577237323620959395822191326482346862571178131094471807865277195931151291874346754527833299039472335322040714371484404633847402099155704785583603784730127072529832323845133585110987654926153825365323511983926048346716502752749091607253815935144318736281877267207588650853543731701963990170791586980003658698165908407144684426976907083144472466728623390732396387708199746403499902584984004802727960889871622479751606295064444190029421286290629663109283996824410851006953765654184029549470192379367760454434729509724550697883470610667616494819145245650467363589642642399907451832773313527535315927282943710840851373175911295417019941144081313510633163747975129248785876875608748327296104934119141754694675638802495575398447958311947060088089945058408633582814030410186881511413882961112486364373172629233993033632473298876260044086007124349601356409796847664220219540157068789224786652396952921750497703090666332193567062091962675727393445729701603690158889351998326102498486971528761979041503877274489614580929935636259243010305311724182159242890770748637082147505770081525212784472608393548493855504867141081082735170761019418161058890806723802931764855965105588671208064466948214305212287703944787588549836324690520040373994773124478061806337975858540526768949726936061321090624635627220960563737230237423209240883703967184943803762361286018144385793178914051160876295510861670283080879831506645356690613420533295693250457534015482855241862014362908312243610502361370274127701081074577747134246219702561810007289157835568096770827566486828077828890292614997984096785270824455705692235232969679162869103539126253556464405244857903033207878286188189567069871004439830883456102518594364586041407585343496157594089865055646717073463629405852398867411146257053730816510141296845061421882149446086013324220409687854457989808935355311557516437245176866982648426628602200860188804335529592835028464460518604192558028532455090678889647432892562538901823505814722973275458955441568488904797284862124257662036580898506434979083586517638499379909094229327970310432431242240504956303493721649974996356769726376661861016518219352720395891949493443136502776566558024207082987645803889876198724491328555356915774908326011845219877732132200327578296903500122221011927502975653263112176214407753224194973017094293068613938973916958335425527687713841267062076331584035515823778612085116594321309423381470891643205746629444146176375810160893001105707927211477036366543465579906119888892833073275544171046865883277899190447077986243358929462009644254027197926937884361294938995246202071759019179052708285711077135460035034103719348146695334457124844751067610846091754285615942284778770312137934767345547642280014722743279497164775546945996623806370041370250307788591411624378471074465202957779732422247307320611228358154534211199014483778187033568572346369414429154378799003017938954932911024561219656286336166361912796999588536949897413905130925500222492006122768104109197610662177757589107652731485642305977704855328208398440007037814131784591226625902078864940086053276107412961482825014558914391783575462020948258796237508026581100410640393678810676033964556196272110345480206891978448104
72931362365799542244630502178000251350089695012489504269734538728929575473842953814507647858229624131284043533441438497119329422092426207090421720058087340569245589881497065188324817940217346637749829737905227144661341073722593247169972899042117145428126611620390605392901513685321788734004117986377336288882207931253371519572435772270282029644112597994305237644267118455426157191414860854319476934863409043823851865691129893754156380113200907049146581024211295308109618155965163547533241052675628179486296513717899048207976355079955894935565035439345080176826830000084105776835785688487043329248119278263111210455622575361834831388693452809302970396378885971371137040542317598950820759933161612939680911518022526644491847912772411873545418955718247237756715574289178547051772470208582035082255199577957856137975806699086435645864288882947764354489171339961276019965934096287015859197754590144285036077683086439153956399668610536282368025787689262966581419346824425985604942228966485382015809814989345461442596476676953958059063698564403224356091604364306873381183474104968370314399879226584880933456968048004392865937759566995752393932439516229073026430994648290716517840715825718793597350597993632560689096134694382250663706683705700699218273626390168575697673494767971968921317834981603500652548061772814540302351321258791048661503855388306763544421592056192741194747679971782063557297936507933046582156000969323399456104044906597303501055879254421793574290796968443635943167283014631614339129274522174174467586536260342288663033604437220592335493972697381221887154012527505200729436291362209030766700039281503666768618762549766296413265704389116807663785385800485777692035290282160625204405612442979723597142042117125931167743855694323610299274054823094353986190594885389694938401346249951532087313808126836207896438990394998165811156033577904493397907534996784926066127450393021605073633635200638755375989010870931646176568329750489792756672207974369253946536378706848721133922791010922262338322522767394982201548604927623829447645082717305479926640663446936491866927312914013320088972908706695294183272600086780801733502853964268433515419549891106401865536939391485321774346486487069447051029764391590711511860839741507815135079558850429930875011683835488948752866364170159473893324032956949600782589583546551907731019570288688866254416607879696951302926211479329197198246015493470509953649118248308363689160764620182792907692477267510693752037493924023962574742840107052343749837869214766098755973418918668491950772553652663205853458907727091353035390580579945293831113722581065362430484449671985616639945926062178195144091099387853735241869088544737518412531265766676332180542655257533647167632388583939447536772402928778375777524589345047393058180179463270354665432004760708018197819431384010761334754811833884932461669440060259133791846356129870997440525166559190400985266081893699870666226868081370186686075691574709987862293975331659969057246421610176402108330949499748657974424958365253553609780267501595664363942779087300257524063842319106911068465058994677401261768741854537098519511003988810342345582499481211809466455476406609849738358950631762396249898420058249567921099487870844254380655860273660079971834927485967025966554655509774268246118532931599659763670068666228032370924108129402076823509917106066188734254428765158791791644327581713203014910917500292528462924713558426535212945772236596754293504510362255952333142727477088769489983074633190740420592808395088186334486198348461816566546289856099391017987241427409561019079380632197989783529242265184835415420670349502883642874039072236626121258916710832779634043107763544193418869289195833579818022154524921977143484195185977072238700851866738594115182023965999911175452463924497861134637094295085639411303970331779386437983633151864676792670263509603756833906816084986007118541774510561695598826358093018024109467239693332659208608986438048542249208523542933579383869283889289361210543623590684409755836082447546297228122888300424413350271735781274199770313277188461639891064351051053262615636287890670483973674160248563689611103004470860862818184369180597057328736443970079178532833985499545449049499274406404110458045214710554182125417335539654665845234209935043800334049878650351494778024861027439734807658482931093104704066880540693403037321263694049193341074319060721353841717043972275032133117031272046466698632978993195532907612130636192330657041521529545771969964460704589956363784437257888563069226793556711087015272449061176073332717357237130181561895296121517100969990459382269551853149027868057359574793421483357054618327673034049616312299138460461972191497638721255805023575556558458982476689496419558806319456727867999670455212331040418293088674768948829626572270660344894845747144841034332420907062944797818398185043329377983536054418837465404737610245224894052860388808118896483843018386557620027843536267100725886184714462468642819161533842272345188253641889669593717138403314248812992428222176316667556591275942421537566885768382206395273038282992289494699349997653979872997571158331868018249915250558987445814418531669526856922784884621405140414606580121985965703439524168008795559062427224686168230637687227881759523387510993612403962803939161074364218431487174820396734133526531615905625462524850253971531890165362169047498356591490994320713580273539020484309240584434836834555188598994373812468310736050587355906158732449547236771702864770373755616222649239648337790694968492676729707517188609542915502387445243441610022139737475361067405244412766713696564967603025345005804063347944364788487828652929716020972030163918354169188259019070174942133101610555030547561578717494791961542322670655008615692844809623565550065087779221173367039420551770704815743019384954145481219405180135877667379741396220433672721678855762291011671791263506309379263427347715827492728972721849662609901106580620755462351670856704936028057476963923297349485598782464367813929988525593785814860805415756473700987139828511994282609246775479494951292282427768510082807776266628731722051607104325983285052859964499629822013365870730886596292152910476253438447145715205164204870434224171110905440279097666347408057978987678206073941047333164954152372444239248732132619656002788148635625871006802908023206031459200217300180530712418479707537285037419655809962476598661976113082245250358533582751185503364454239154091691667425860512749672403217086437556447615398181865169643818960551392745261779844720330642945590929622609069079659175673388202589815771940403060014124472320887098108843428657184976280421817417771571427686029087057701701706772386517020305075442022574790668994817122558536445183094674046247151285458220446061462128810008442170765445535854445774635881427173750631774502067388748040673958780272663711351502084401510435219490466328264682675306980281066234991968597842776950628659470806483874600364593373675985670998540694286413079352258624353690971969623616223930998401697840989573939571818596965442283862990320016149172879931441341231137820264847693352284910606108505119118213382853785310351831258216708822701145468266747102394131640781711592275239588978471520224908076824244400876576422428486978610348438602546824807613226605868218651356138094573821955058830444609618300785485395305141751473411368873318858233637562330114335283531683637144135091350174580223922588038446031982460416281838547116035207800597877663489267030367460596088078534242161327247934542984424047605782319390760092225306154341323092606985377790795201485968708479296822226556339485961698106031172061009726140083498221476148549959385495346976113767663569651520205022726777281958083985167592368112766203959370965526424080180254781038714115912409354289231472095493313121177633029352102685931949503050522505665231839634530571166395163241044761637738247422996102709536521922419860376576397662924797990450576989067458228999537204521357181017180657734479830381710341178898332858284466745138239551891768499230044769590193818448489439234252824129537570192788907963707637180254761420209215704900106293500962854290670586282740851123831392564750463179992286948674732563226145188294834125464954523518758326823533440697696584622620439656819433805786056738082561729540100762892787448247859156717200615921233190896964593039516016199605543624841312733649038775583605696113780096693432969705946815307666918905456711528291849948506417562875440049764719472487779747172836023557907848499245449654842466791509225311179501604503312699472513206709388285655613898531208006546055916212379831033034725326769232136491669382830515466401137930296165935762092154957895904568933554280300476092895165333013319019043639389518928818186786714222970964177894185232111351441754139415098661732351364485428129787318816068309392091761577123754100338218291828539815943603643255328312566694309966929668376374621583114038894159377283313990952418838841914763271501208445371461180630348403422019325690270991415768577185339376634044139854319379063079113650678617169549518464754909215018358636769126534774579705582075089280970537474272524265215588070708713521450772965656317665023474522799761526408838718339850634124301997685741744261508133437519651034363674210604865872308476432992509531548975663682358730227837346777605134104218872833390350077358666615590586574167683789071767976377593172992294811446627146164906691267971253462837696636374153358975226574272341755991209420357237718003858320539387607434218043629050000266303747208497821608849347280098535490925212226538933338820360345634275869529664645255894985541938311260313031280366546916021069800671202010661742955457808199478165697003032585941671487592295948377364042807347751040251078862869157572331182636793985755994296256111293251794532728571912985952157178443618304011770317605745221560932156988892555076667676064611550003329482979858660186110248017654380369542961846804097685995803480014074607404304300159236172343221344450386611169444218238686722987506699215864964288857606553537213571112434363706202172125289087439700913310540034989698232264231369787087816321860300115937143044004587624815871332932230686991380238448224389279601074583029675758655165745646181056171270908937798318979914775517548815203284221756550486751651257695557246911722032532090158306176754732829363236500191940961750674769870275906460480182515402699872568354852924404446286352612951230834631521106922545679516783503864214880871518395520988208962028296844540719649904729733634091081638610775906439389532315804043557447634635572969736291411302020247884133436537360703187070630317525137538726512127231911190541033674669681956928030761029065168708019841866353712426433034817707942657259087051580235124069422809470993323460132332457491046010717226065934938201058768622931134975586500843760117649694369363437068301620152298796042964269372443691437749129720827333851698934235635975613008409986322239696671671359045628884686799644645880533928452793208121042396110516368359609793628132926442968742134098579005060094677867357726913806067415133301275123371206255003996590826905752618350857943040947111700194139537847868448863246500121520629895654541523060815999305207436090538031478984092904153133464449635268632033793592596683788011623386906107912363263742837181679827995764810523112304690288922708337757790868926162056342804737459457992004472571803064455968423122586785194967989117961659528587765467784133793900113944956457151285398097038983611443633840539072961294719451027678416927996618548015976175635526591804029154130654954686521023464447426621697562536425506538675456887399545101374102143097423141449004955705054097654268593931879107953245570960836855944195716616359666866379932990869646605018031469498343678837362990141507431668247677468490388920823182779776463296922507258381194208646582853299093534619653424424646191616116954937998405963051961075098651710383375779195338660291092790989544738373455430997440222635786120880341097056638975080100016856703794309417750628334939799158721579206343215181225217193735086276359635881512755772023199256376649272589840924676847841667089166868870186762725838420063572194136935228554913023857353523312677727776370213681411240421833274034274014296782834706568114516215788530856955928599721535500011262345772463604575509464995694020268339950801407465923763853680838655584307782556160982273330981273464816636563330594664649456812892874172625108740500642527475689345803332186381678171268688762714787441037511639736372150111882428350960506382118195795606231354870556805324852332389155474192267355899200619625516088184187735096409956098256543222209956344400265671919293010241445757984301006388115595224354009944252051750436162391654198166498094832271996337159213696355266253826157288193080106312034657106939166497140640176101394950879943454489853572006571774757276328136938138447772056082661440344055091739215432448202274255084038559269628433243925882208016445979389512590540810549959529686173620206495423293873071874313455435248040797317244181154938925904460466800989783779180776392620667595087393255395676387236649754166813322100583765241687476633675175684917220616811071081415699667736244932814421926370637118386265648377996788430399122255284815778582075522277348776271680585270403430792098738626235934571350616619132853775097773170116541693398875800965241970062905563149176934205560358106775763105319454585568480933779636107145981290472995350878008560465614567405907630668782838151274558644896134304219497815434924598254532615620082952162448884302951383083156999942632462715900440186631985505335746160804732644018250188107828435469301164445228473795833331457312432680497543904026827347562879270749087812752244134496255789798215581691615990951739808506070071238075336319788228175093239898948667886223174389910483625218652125946521704727117334230872635539823545241354695381498550162294009915050414883409185064618288173379970316406640057758022278674008489943724100559930930438858979477238348085241119510799776369303102678190004369014849577836731660012677972763117767987957385817216705360120327493512087051947189509143148112505866784737332283930002496925196467800374067498924488496051894245048436638789107240181424162164116113769796523125955428041143427400111354578950481877343611431418354687290628405770494615818900675750578298897020134934690883560840199606320313068482127719400355279224717136338092608070834261466979574034605082856581931461371059926643558910153846438345751238499016137662228775359787936511278251789251843663090910509419556172045441124897847124841396113087990027453836239780035463234438750301641695071246884249386817896847956607347138290497641746840580087548041172172359221219127748488443183765572828450063763478263764487251384904615459469173418090623706218755420022749526987393723404393647781763800495063247263125754789709184154076623780171656718140617414947833491270975590450234929532734768030454446498795847500419380046528998082680608005282607004189349444730632592382713074548858924093428577369693868274692334700839448778359369307972176271962701802725530311240669575196204536108823942541913433350958197854699571859585023350462356732799281837255387559103875184030079482708727552343221985008640305185127169496898902978949631753121933777741999748717551900070785539871675435607499441867530717894875844516289015329263672236806265323147500538948728381315831473009764538637737697395336394009098790697200482851361940368280791654992435559808471895255117592085583605046374919678208761762201809688578220919286336898319911611131671685871812581719276086627120438650416509337666061608149549046388510173202162233348039761117532780292109529244085875891696039841551963776878762991542358186388847583261665768662364768978278697972239131343433794250941439170658933395981501606867915497317136414499077798099584985139942461447238504250792027404736783307276768151476772703753663658350263288069010752105047188833899378994482278243537575188897718607887570157388156820830214237463518859262610857388549330559001967777039588548725162792089254013043571586719577744671593368055078445367452139351520275806984325493592884696545739404895140838907945747794187561244365403495623678114496483258897116781245873065362012873084993766254429129996233536488310361299141292878506112418160550419854431578830069207046971444075388086975701164167753555360492933259968788008012494979710486262007048076821738430006963815807847392811748894893352072639864236806033292821433709258488421802209057242566922573261216043756342400621814059491954802670440145105763479907688681141311427783968841584888889994286658977341474025644251410205032850057390619251790921006078479044060630496527172979305369257406274619416648243368999044427113121631008245262639642220704443573785801005862492865322501271115937855422188449177206877694241324158333104167913651689188053504138083831930256878160018228619384630903113585323597507780846017337789282482413652498679862298828786310154187507316650142570032134232883603458938244441466292159158751748314919343255787866300924386446580517934752653381955106414154364209254673085220839325137672226337922623826114111449074768042984871156493198045388060095805473562440172578039643415276140641908100021048651457750617125818669590055136301145451430913922235305384978119229367629641490711538631775606181357740095550592128403798177940118121015375409197833995477308830287055328504791228889432444500516619911694138580352815318797206302140267013864960152477900883358694523922793499855600191659497301265131361759744475532832672188419827568297646552467886383713529615823487210847384699127879714851486891598001252219288973056932055142618131217765344227792022422703289002234867815151750220359997978121888114080093073364305065776611459435571427491753073952450039012763703934928269659980806045429043038506694523324750093903540211163124580199369994771057221035102219388459852574930244428991002685688380249450243997923630951983674040567820864936823291792505115757555890009510853700225370421855772947556430338447329956368412889308368936911443409340287963291638227185359926653303405946521026026629139808971791235831279281612120852455770109994729157847856649316644482078146828829925543394343635176290938905670680423614536773388700648562968500825790403271115957820464611919626769329280651473468993337218137238343431889357584651267058491785163667336426608637444809111004870477260549060037472461742890171606939946202365854592437657632707467685163205858440364942816160585532440149092858298174334614358671306661945954530783128976993719581572255132142153048662327078530260500813634968700188741386289833391602276749108648699137114345699084124234027758710207118524138787872889713837106547670152426576836076603643288367866113217013664822534823230488939319159535243290307623764749866766772609115623147244359422160442657888924015923146463176703672822917153381390151091467521573098706885068444062857266784567322082049262702631198699182629327864488719143879480450198269714425740479024851197600859858130005167306121761326153702163266732097160868065303607714533628731285886643576085057924546780797378227681678195819000102995517621535535793713012084826696892994377298507319870935118260863946318637243958728602806358523650973096193115166682788332270478049910290863688471273442583242442530253325127037254457275354461162602019711680886812403437380267510832274789206326793886716072460967806715932363492609427523014865419725649195426168103765654735612916856396303268505641451699187076393995810308321531726256913527351001844110925401848562122912718128249008353153130384565510845125217445037898055906606807653729901416753134265812963656776315468313019769653705904314709510740629507755209880693069547353110216718902575091369154569237920918270824744889478102127746632814159312281950411061300276923546393242563054222577339036372214456986479677316619116159390840113132554221371065669041501277308007769353021196225079353931879368492734179345753362511371434703136098880215053384133551599805338974608902980090501490680736945533821562900995531759415594290276851214047062160803476020874566690884443875719044867161907366337046390251166755563161315332144232122450142734703492241785036256285932729615979
33109725160156879510050369116525349998429473009836283741865672954602040946956417829669227392551753871859413758738572906116199710429949872771038942691475197337210051911999509741643842634114739614562548998556159514084213310159208615197874449482891494238458345702910891130324362444119500731915497639266723581330816205447239051800492817641057592838428487733935839595167813589849790657723515098301632989577475628382506011561866802756928554638038044622056092674066861328691130731799118171480172500374846878322680710378802817490632296872057568950945233014960697284299846577968123494217018567364498066076769046090182641427631035930305517057823949136192370203749133507325527454219729999844242381183238623393765439468957793545793438400023277731682062620893900089744301665715901953770944020863250654081695494805823434121807954770698930239140015378900594027497813741475544901418041149609733241172109910309397088677365974207043983830462894809546368707160875106417868613734317827583294544365550665283448938909132325846763710360028661106355735426699552276237943085297563284436774689018725786677155821747268669462505582172168867598635836609361145835792494898987541631154315863264298908521929188924149639821769521602904165241611021445650375448110243683550777291039341607362816608895776514143202487434992774041630825308057954488635469471982357587066980937848255218737655611825778676511122263818546814979403183841406102042550935786565174495986300893419581660618871884724832992274064895843294440278480563658440466063969071507785885620741892900717525818956953734808423460704537670014546696720888119033805648390399228676211171560877600584955425564078039646954192309293224744965751093331904442101684992914636118384876667752513737813696981151168238710348046655160680266497673299523573474209189337326366691137206586459562174109827683802644769889714564731958608415365276876331465582875567554066929236898653504706887871367546597205203781961508147892328082384396714570235352289667751326880180544492415545239103208459076254645063585554602444748036220444280815752527913693690924513029169762638476251971514837289979752422864591230162964305324817736403024897912635682112732966301542627212570189335440117034513852807958314517963718244354449284185332459013146751913211262565614566729003535672700386767377688950079294800970004594019674585381605672339402356787038664357746336335806272087540307979305698322499405254256518729377258788023540945240657777527317696979229124596313665229146161522783384613643807713819838954411145107140408468397169817585214677622295468592825115212581393103422793618355198923997768544026463387877847242462285612692301498393068657385175004028758303767865456032112473581771782739906712135739078481432658548466894931780851948760554394199915898529210604048429380838916081112964208848546142947213863834916702316486588195041464903696966334490137403361612025918963081304321057484987452653004960529326740050704658265064127506877254014158800879328301834580877689017575157780447894509449889861819810411261086935794382070733392296464578080427838697240809887146024481462969394666159691786971373577201284244923452141289647068776667279781358449867963844529841129522747465187783797870668919382222914544221165738819178245515217209481984083206947346670390257765531487746006510502990689729117755688837833724382615420565681720978366458314801970982559705351605088443097611625385176354697410752045920052415588535412096372862900888242343443459803335955650111581557168092976464359453015702527724184115615021663330675921214962519009853096635500037816513080166020020866135838003329860396840375418842213066431918019951526382513284994358735556352165332538234939545507152091907891955246863094833479325428119033270117548184579197548716309133504048742908775653650205154837027652321596958092185484595977078233412000703687779333291436252316325073472727617340656993813153967854006618625175065737530094585734560362106323952335093877468238445108525719995237840293761653180049670755572291932490300580374179274096219499703821363462135768576013075449852216478261073808074128503202305208401543965459797137563146247460452841929986558259227852509694350692645120007585930973155461766790965668846222633665795466166116138026429072555205562481058836858700645213750889529119962095342166575996206635042048622284021228860773814845279300200353504352306222771007561754068876046531829950670802969408892203204045159891018179987885834978143274259513143407126271737483849707684653295841664801943379483137954440942038727710760082875746177225050678020918511608170965331849079628011963797779721640749637753784148146407671859883529438504321711631157550008335181291416636350805758988341980033690144869020514780987829382196263162857466031380134638129588232873514477574146465443219562747521597175599470743134792472955022689341868539442674353681869335784119214990997571483055402163595987319147698611584177573697585536372793817574037779594553899394226463396473396572472945132781974470120055510763257582165454145899082277763596239510376144403813827153142900625715400218099748207574159159773260305200382395182863259200319994401132913130319228998157598564027318051851046677920569307396890874137907446647888353845416206816379728934853381486198053174849814867823025399472267060475260734851790827250587020757566169102238952373237424491552627685380468424464759540206988867080274730678896035858010728426219354905321550209373830042880774108002375961090551319704149640131189762935392850233348229550169666867095863411120637582579157374476865804571240360106328626460311126801389132869357438343911470864794038120745104656427648656658093364207830678356210543212207807036996437720404100284292292463330975994240316445193027580506985272664691067502404544642349506504592842749762272884979228610336144746195951496775473677023358795842164212527743472148579722182139492861679983741842338334174519047019400480778845848286190821528989915728312969026139422055932475512199852768804056941410108624182454204713439175620966719205583941089036515071175512181513729895273016263270207425478087923883824993926278711103645454361901403184640202974559594498423370767935446969164605170784334313159864151764760130801343164498340981762439080362652875084171526499693869704556543235784292936365484796686803346698923972609717823523312123822175543049634127903551787106348542959515328979155386150343446160252011072402615711463581202758999550245765813971583990822407727150869456980138126389865167675227936498909319749663045608722284202962472801838004552023120008030227420639811323552458295006751395757697532188756504084174478229469995354159593838736061094203677002071023575567087736163563871894125094775522500624861597260472232184567269459712728103351362706020663218812776329120977141295309196691055063626451538651484272959199065121363518022893883953237730745587850169491752376929151236349374683592051662023178594200569741021717598927028975369238515046600093342697303885145657850819237574808712099088642954900354346829979979810053892580422838115810377788800503261133856365873878854932849584967445515873606943428242082277412854079457849191516761730840661658411978852010506488522210512007705002262713457801969570833132680156566789841212875430814692472128391396971710243172939751918830290279320069970925079020261272051413946316756720973181765807550924564724215844005169786950436456453001975261736455421749360036862263403420754583315003291178464762567372182510167389623440681443854230894831452322904606672238487412027334681050153176203377774422751294936731928201038338776196541952219014967269794290498238442062257273745137758208868376046836325647110514519972113431371925655777329581633437686883116756427077182590298612073329875095993605225701094560497452650070904012207774311210906965169398078153231439388040592038284366215576741438409294121069080871940191707169348276473203587665250507577447814047765919621174265390107675431766889943706748709996432522071305318511763068625126902946917457490279472051645089925915777667704259315796910670036269333785765933241520879275348362496150961699166949006612249152480601729561984414794065517734758867652491331873192577559558264223053370945334879961940734306185897016724381395832049866986631599678016622831584729536895406694389642678324232624373997130178646436012030847184730681750289248723650488401642264528913050613923958358531773335244816626370650876512260194495813647570089990540302187918224768940779144417575074614775050646842482701524694390095145790249858041647445081571806981001325076471366272956728741236234866316149707008825010256224771648778411488656478140691553885476548331767198321965738996689901906674613849147804363929775143681304012106233539796181572840121625476548789615759016769572187628905526068592332947851364770372798297359017200102904601091073149863159424911821786787642307084467201900977924121754922823888493648434910899787305401612337202265205764277454535401395772141630669892986805727973010421114672781133192106945526055573367050903630909831281735318888697871490668216562467515398939995674860883211612056081925583022387761332179715646033497407997858007511569895053955012204082288629289953556944255841765956462194206270980646716006751000452694817344416284974753402474693689590549651942071525682216926295611392824663252067623966434732518258845103378616047575268626045285460543875521982923450185666529345959785103400591703636215106760197977995480958861576733670534732511492295103012545777587209736598379143833459856590522073860333929687816610216546232297484514278053299749643371628705958632774513034687222988039936742977294108581640611193775118460025968960505247690530199051600916138643158868503617747143881044462760330950488580462008237142304430272582447297864661561068633326309961475934605710897724040164594711941476676918435310106677473593575865262031346987041880581511566000234172867745851125866432532968773278518790987560816400062930769164319068760770403004743977682791821678681997515455521437401035819355272656995844265545261427636508916505708941456806975733929214918917116744031717639747731920196503396150979408034237966626468173751751946226265810098577306234450667303963945051097641833713314720635491485850388268066912959667023394515227381705266151503168159443074685645548512182267004675624046305219059910153211625361408169378315967662068239721452129281536314419040590647622430982890246541110121963842553809741375388940659069392054944047843107262680991426942270856129357853790116572482702409857495036621397938540609824781295182731432324293186329717704411924706822139831059576178250702837642410464592710469548363788416046687417992131059804930583096906964148219281116030181508646489860556636680319794580864875075091466054334769132131812451539901405923757162957280103859277465492140549079948387551082342836566363771369157935167834634454804460307151026229656586625214085810969139037180688250923085355711562059876467674250324311701309632037603637853218419728505234640895645047138131565099770186138702323625122881184657325715326943858820428180202103149835392781387403779329006079210088228853140076109420815717842158163948760862382509364106320553881398997244111174376363376444658399847709752931003170686480154432264625698566241716369756272414394493138413585888341023234029584260304319670146609198846649272663867470807810332098480566185699091166229123123224707307139739153246141767977309942557513296184084847394834416207074474965520358951208789854866534598977771061775510542074421631169928365988505450213629303346625365522745656883705001745316517242004443964770980703019907085223026624850981687551055022213216901787345357959923054838819893470599122683959734297987062041923053555600139158020047258333641747393694544041052429961273351847257516236140828410762689638938825203584647173726563618237558413970099387369833382851584252498006852102431656198240755800591710645176920730717526652112135355978978677127222074016796871723980121444454330465537940045982760282765169978824662948571870135973747105784219967279271742312908768074061935053603031102355537059724958440181725857371065563757712332444891124073822447644106235624646978886306334994881869133327403790071231074064405536315659737193657566607125216275755293822488672294541975205210099512852141627204050229098170496015512941608211108825768664259471887224578986577178103717428919276784455376474781837216351294059530821786540087962739124834947476825368887112355875233803127290394861748297036996864343791466606217595529058728792695389854522317214124114163344675588117998361523336280194885582034989815763825773848960779075786824554408575967208221948434250522159447285371214785146844545780837677983588828291865184016648982933839378148870629134614173323188676627266977921791026702326795515238404091591965403011954424177365245662875115216517910798370303897387767611459671333858780283005542776011955994416623605986162003117584325376573838272612400642804884000897850900054815796745242191190316502146421304128676258367384985993688071655295855715021013343615664554543511793742619657754939860289982849865233800486883049067275823783098899972731662109631215883191728283421570154923363590745983039878890249758334502472989346549902310307288467183927150467323805817309428025458675508919782248659841153273394638086630088891374435380108383227826384922914214245791070094836356546833751497772174991661599728795755813013058687346044305017677289487453203874099187089032890851517589129845850617171295565196700604648954096851209580012955986435600104782781490289305915219729488296779517814963779464833601510028924368076209001062148896235285269741846208409108906272392288243898755035766233721552710756074718349523805302377031029143296546704164611443303833249447021655332124489025103453836640760088187865209987943605739960539766119631524740303613825820315306977343169554258427533814988132426722486630090155434796189926840706852500954764710013410960496768081738124275589295801443571421847773933194928498305695659270058653099918284127162095999429802587874767577150019911820518569973649357570089755620866004960026779779521053112931926603444822600466886250636617248423346155796953296893317422096157297299101881950910618176008275908723090656560053325281994915985645045348523026325741890739245879641486664454103439009880213439521697352360374467958792806623295518757582165818179756151236224921901639728473690866225167614842533140720223140776175062903292273910534994027338470180982280624388019453746121666718182992547078324491903560082827867977717899673984419092644883361353509762479677811759290263022911833542216755415710250430228718656182494369111934333725717473085063517533218587689012834709982340276752366087314540355180120117249798200024139349711950410821696697705789329805700325407099255308041976302273756900805543839308517927482483212927547366425233163047091534181840952729003202768481766556868163277357479173323689679567853591058255846894099677295217672903584169218592656800927857421547221549988832089958303237318979294148713093723787133626498610181863718208071654997642986761730049314902256467752200921645050726097411502664049774400430490223281244250642902581311431242768299253121340108275436566669633686550701715000836418016110305445672261694622947926451603156215882999854938595311337346745792040241383363930528523535484438166285580158373362794968910931182360837329493103989759885770058698267106317495738750277085205305272164154825107124312056385520194065883193354137820492983132004161599332002385422065228713936903424079438686505058860523467275932268872496140997275258819404936530232613309413692241856804457769210575524350606478644297458746281999505662904015471368351435266630274273238952836654781263428176004697249748255951259346350780762446060314524891735726147836734563488697452954088174902617469492949189451903429427615761671047619787488542037000736110195225827854666386257586722924449072085164479018829989555441424720270833461033354260988440066125699975215459095413289051540334137245998270806419461853836757190594476578487664689859464135146008139122674672928264517557943673992154818927816358039628474878416943163804721128257396641555472124619074311593435372963205726473372649230630923415371650542310504416766441100074279336671720791221972439967991192491746995200059653802720474767655760765966610926827077448299208072755977345105120427137048697833262075445017612104065209103806745200272487844520197201183217324792408308791904199110052256040031697877288577981351650637594189048339442848972162499203715783868228182606514791552880580363697794932538979786344170129925029278753899896469868740350298704749410671820263184832468616876872442168969626437324952875328790782290869343996940984908583019421282337244450690101635633075476290114424350372707168292022381940654177504985033337115240414764772516274480354640454480176369938471085724313098771275889367506601578941226824660221888520639608509989052365650417452430476045347654663703684785156684524663076737184614959484460950730861719815718973833850349216137527739943172109544717384436819561497000984153028657984425275462925901471768721449018412330993159113884558262887235064037659268352315653358320313013569483677706280575581047309529183876865746701646397277065928725077036834013428591125681816549357591846633177878455031757477322666755270607679309373188890409785113764683237238677492947681768652049049296665817431474760829981098850511354968050768626690835914857714227988943846437409308162398124623436096274895850621703540430655383539578921114484896680011828986766437813429611139070774984098040791071469178010107159368257911614491635778361421500400975575596314113864662813771456071888507373310907147869779354615582740312469653109992684995792936629008423553142834955032027461690887116218599727671598970321736431618769529389853693642932514849066436731428881606643738901771728844271464158529623075202877637650720156800330151884808968706125715865672043700628101711960022296291393832664755821337547258055191617931458225572384629385684514838660013371874459477305782071297579656463147218431024887683598969677786227546906254165344273589453707688882407532278210946045480759842339203614265447567047708780662136935904801773270762721982581993581622999117396593223003310157728478591540177539243593231991296574582106810736540463617205204445327689015876683610449321353652337549182538462508855616629325703341941559950950765348056292172859830426848033191903832704083236941156912985518788004884405519766724429025105607606808335117085786524997157857700704291643888780031261748544590074157652533019939657652683155527098873118197536539119950469537805905066278548070076233733213565216265233085545280237570754719191847985206721949318586100335874448201447541320459221850450632744847732448165129920557231947019815957990099974069125040465441289852670373993175535099198777418249259826173279147962137966965041386115611201349635485813582778689184451343510526476111024164158993986212970283016923753736107837426030761415798433006931654610654594682983247379266042354081370903801137079593682196141370397653754655688392642202495092291070512172037230237385696611508413829737192905632627053353534003374329877360658200030277926941860794684500945558025903471426486858067576013073683407672042952592780693612507273091101112610095675028486247233147712362984153251428287310715678612761644064539458045594958295302946960936272879472127314850095038219316243281820927837017713813990891661971463164761668353135598256679359754042049324212721292864310462401004566071390158378470060198161988045893741538723287633033768839733799110187616873729928183349690992020387643271547438128684669064272786322470283764149672628224561975410581944414673910631339429003420852008249343546690980038875001059075275338586447525514713194363219132057795773806877501546035695198252757254967720146163275491021720594424626314785713773324687212796911678981278143234100790513508033155463423235395708427126404371652306235126715344578063129687078526876158607769016992187996309986439065223134176855955580909536680847531381027634934417520783832858041929082355505607671338729659904342157203239253637166389310108950476068217771031263330881560963027064447481991791713207738766805739704010328732438227169078129904434430877712776545271709170652866437066770626390157506001009340227706
97787701138859460919826873114987642601001685506858185997461533507572675184600963329809626977588149689428926951979457292741320170288661144473736504093382802192597142220850008437738367910375069315746520326286214360691049420994239575479746189055425143439569950888230317381979641796403558413448859991366522876830199363732485311137269728172127781973809472209926025581774590107791834462453263620832920392403906882512238270881943523925778518761199079289355819654028227130927097461982817984989030604684533040882217955316116819916035141078232252031926639638506102630335692019238100546466294806392217713973373507248176551019676436093056090334482498457618233745368401980462199156602833856423359336974036806136677718442562829212112316379150614674757342868708694777009018113964804223823622329512596795643954051657416359460987293332935413467888269908776599555941686710735903527064760305772188176133406811501306767849522612866638750294671660404119070446142574642762914492616558928498206560189931474164812100266747791025469598574902593327324697926790210760314926625398987474555105197915498243499894561677809740999108560768849158009254109737236460251560448697012417437754370423948229901385823239647217319060744506942248501490256962414022489616598072497931542305368917861536153171426207116380240242175992645792609484011496216554846003236850839749309953498188631752101811043360736448923854847918095536141213524688060616558849988101503577240756858265407011067096842498986859418195269979761035196558333865877339202251394668352722706298365960007896701515602543074851692688922559148302714532522187245106591266105892564743801168056851965350003415105565617248379196398941333417637037282025243923965625454381722097770055946574449182483017637736644421141708319037302579356190416405288477039243472439681369697609003677746701380493643198637500094230257464778732288864103146539182182398695388992043385200877822785229967861429545897504883691237813536942297850243751881866195681022506614448121551580039834806065452424523519271544523587517467254317516259620257434138483655670688239218487820007549288058185007802473534398706824071637630571557586833639451353911433385381094572304530352661374743493839331814444529394619266988079494764519562471402650381610721396313092644706787128629982375984002147795774397788478350664049010204177554292988534369572913714462603915606606297767200513055940410129620962151131364686142298980056307403215515397266363766362209008656153471385398867493987147608287323483617707130218684136771788410216666799189425077510741700631416992444225704681176198718831148122886210782980446035599380028072767139852368475062477292555507560386765698603905023001143972293896587003915722648835836779977279346948492045282058714474579509365383545227373913172685154177804143853393387144926532586227537766532680994588851817263649237648232767772116661430001321679959672062142332803502428304086941283073846806288333658631215149257646050356904369640379997195881627185591583391951010427838814641993381235575114903450980213612252371109531870739040923569902098845983596411963154570817463881438345095692765367690094199915248135489425593061714517072325621198858054879887144978302533870355513378507121462029000937641951455179021523540258341667891994889014473379378265820138204395811870446709954230070982967523874722417813827636898963032557678521271268833078582801001403159857080516840846276266309733295950194614920780103526284521769307513993433078178138587994084602955557024291746388697851267488993930235657500748091327252177327840426208589425403212454399238285617700049891561060196211632167156683710001105413802590883949049270296805363988329617518624382121601165307858556288706995190284103529752218714135881331834043291089833095769483581817355791593665489637441450318689787937224650267842987565458447009337871685951099550119896149293160441361539281528282400957376819096774557519925916704304620194531164355127828046829094025983326187681313109575969358653648032787757627580184838226995646729734136354449234779770318008349298222224460951962613936165512520930432622272673327311516823104510516021741252235523240081164605351270333715884756481095726928484048092578450605464768493602259228975334748782451077179181283915780446954815099353240759857463401051129563039553221184045296207703636363972028801685743646579621536648985872571385718924664984005847756688359587003880358024632480519450899508812623458981388207111985340438197621484440098129553320717394453107968338721946317952286637173847506419357890602163793069885461276693896253701885365055822585572691077933496584390276773433915593064745772126573040990621847215787923392118753531160131475800878278929296312341594745459644791590574662392079317542473597326907574675752843429315178565765290244439160430599965283513977542138922109545551609442216024687447395594285562258234771105528826195754179611252635114778941056104313125078236247839059467616967992896987015951908438854496666303020800820001033292949814875452413995357650095187156242277479996391425882889730527344508209157477629609361013356261752403170807719277144017379577921618386472567934096789588974260128568788372731244538230554726568335820229558586703165052077033892099995932964963030825299886442880152082369142704624698915743576721295135890453469438339721037814815175340211766641701249758368481172659650626308004699059588100440122251600322278629372206543933033174374573220593653537801370461329935859997131353318592340266131664177143372866262141219189939245516647005008881994699719101086700110462627444775594643033953629756117032802469557648224443404799797166091470462264761441857230923302145591582912754001237488757990016857015440832043518742247624333501214789203319492372173278442735214121204115471625792703005415268292027032465129312346642749440424093546775368176015819220169495877976763361366024694431679850810753715557470111263336359064462595284718565678449512468308335993444158977824338652683131632497873594130127501300185586411214143353966202169018196202531786823310774863010705747379758711633427486562521785936264447985008288843755858447447750570998267609530556147532482122852141005272135141010780457813234771285073177728432752519207008885390589730517637897582545465686332684293901657923408027811338338284865219193812716750379927725951289957284554873343957767817748906833995268758726048953257310329340852509129088595288535867703563833430539610746557403900415093956261076633478668473077492226919119927935978466975447820414300274751893557878343405888484539016485640960850001321946295360897356407794466318343813910200799104119144252744108992078185266367829602877563902653346163361742665316270747470836202465437480234838983106660393975465221088268386807420308116927464504320285189778150660911649297402890279483152720135536146877840898581097960744740409117815118755754193300885998261897035902179074519172782216066317849106841619077066506209836601846084177749927285935762330553156352713473596121290455284487215806317611650593983175288972271098350847216337593826105141865970043429849316273109757761977112759948755100191624920602381030787201177288985750843107717342527491585446431100789329881650814811396969319031878664041654129492870200547408738937039301073478456771856493138402211825044500052480100930730533660915901231289948520224060357568861869024166242113876650083937653040545121322931952109580200917073048987361908379484724333709187228334666825427021595864622961208246779584453976999042677327733448633236413222201511341641413169075069502632519357822768064974498320875748322949992636038661914655908920766713382322405732437965698291499074363475747744529197724608136123072442100527631140345709861009059417579901539830464889571762696084347687117834286899598288465568215598924715771447198041913911030206467999398640678348020373297982410559244524878829437789483493694893702896755818179423924296422675316539385910347750561465305329903702856490995977343920386872698246760084280477817347885438127653995291279458715372634206369978468566003520226278279951257402744941590702639263775877875150749864984049566040159071022126833484086201844220954252646530037062267966923599407253446584029600402297181787062549077402629149381998335288651416674603898068988416653605691665726531557264277203860337287271501722212721665850510797823666946938358294042550006792142955879704830473622593668772312878614849780190034610710358522706687593357154402376039980737407878253242988779243706575212451609475830074525519359939331637369578846572750873760678106838879955814331089327159339412407404898862952367716003245654533119781115336860461616946686903976325063379101486874144622426637302096224337315909477115780364223135587896901434120736477586771324120104762094867433529145287875108064845882306146733895168575757641374793537212035543732468836528756935998938311520388531906603638487190743026688322178967089118458368524437028974106468802731483553498880132667484246818496912882950966745080228208126500447466716117220260508013300503926530502303647664436948574283902745243702803673336381274010173353229082226346918559483284528555431096332683095276990018084291182480424306708521185913407245993257509634706323410900345312013739250499302453515036076972645990186423119083326343793779542232340900680129875827137898554180821026499211824981990537154443194549595066925655860779646850528202377466931575758538616218092540427495200667787739047100084855003563553662400517318631561090470699837326701395371047917086173098745208287972777257009391384674163254817735909790915275860886677797390768463672843552431545057025865872913733893418354692648649562931194136769688038544179944195185543958434030555596816357112602905012806550088374785789643517694053430041956263904940104275543152414438288304288765107021959256944932317072739375893797270435196925629421681045488475740375315515588668395489707958459307222693255738642052281650062660528798038671888648424948304084564714928673471050939337785480710079053099630439327674105848888836688996576600312538119862184715995025631554914311341550906908284113362393161511149025960294024520904840671808139723642308327262784157551817717832978334556427097057426473393477270995307732261187125450824893661157701216958454124242726688783577240100993368614242027661815205527112855184539930372231516801270072246741856223413168100496866014359221763877662592307638366138098450485765334211993810286155127065894231066887499281037446872668843692659961211356244909243231710856807259296493448685279919952425357725738890918573308613161460688534957304649385302875493329660817474753210295940597936391780971849245662809851041764651186465456374506854586190069662543172979444016008192564981286527460303338663149037579522019002653101619101105871472013377793102489768416389351755675659437442838519930068150843841710383967542985682526849413428569085894311645064996075513862273348361858728816176205109056205218138965107800057178946813324273499494477050301407236416910934071107555508934911056513109687115081842627929044975719407365273039236368946152373453207051839641371980337810794866876391165103843202322743715896602190696324078705333428284914402894207991230898339982311087757197931446549083024341414478252952665484188174327221981675312644526628055016990918463895199827706190372614193743656231230699508517782700547747574510548848607420348541977664671962053016169274765309301114973680149719861117855621445485722534388253433260398422055970361669417707579200397329140888565258212100637890788271050619948786805645103742575308486108415298580890229947322964020161111005007739176308785218801027001653749152074376548768318674159631335010407328784090837425344853556410155959199097082768965728354550818414119343123996657331228925224654370064147957715399211167164341227371751864163915356578115480842160606600787533080619312881061072983366799290665183573678669626066006584226566883795732424558622093465273018639209667857384291073859956432089323899899801881028141933448614978679667450331712077705950429733321039521662260743806784541077993812126451828625478311270336737485061224406774535005275540390735065674880100373946430011557281849128078678798549816329003101416296938600917877424262045565937134406264146564942369467114901792920839132585319102503473876168477011830886147660440807782271018573150512545413363518255997547768917487399228607939848384946776418871244297118019635610846637101537365353886146762956408914964884267031460047160636610159759459610891236251976128931283885198472962833971082598644877204851355279953485025388118649094245810322497947508389617065748386765163204664479888434597794135531495970692101676278501251882349707542462736566469517997087355343656289660800876324254013531681686177684596837230738007460332725403609472575010641696588806544937285646091386960489721496445556503806229893580672131444960799765070139796797677735948911337726347100336450087611686636373891911738842877454736767873966467403979317678542366313085673046736660445569833046153663889807360327900977499730020931729952655134031872977704284258740062619841499759566997697369006637247163859831247442646653220142237725818014424669304648299570151850315641703589831147420957607405541291142168144175913186553807480031518611861427499854835338282002055082744910702286001930775335038538852675858382729290367051022442941354336817001585958366075887264991074443083814416677172240439702201122780950684737295318423409065364241578850885119066437859033868579999391708419757295305907281501779899955946793278609806640823836352176965257846639563537960943680907072789160906528968931030971782783596672247178193803437059128323540049577537987548720340783047960131972294465616131200084026055072875128466427245315767269833962535439927056892931968300542133809296649116974984429016728342216403590154536651186263602907407687132591779594232506041922616373130073458559268822606330566888924064869978675010648796109683864074509995691187552703347443879129677025247368746288481358605104637060335043255549587867820123037749202424282584067629436516501634689724803017357973409419512282407317740245809786693450839419316794677689866393808098911855118065178376052314981262566333328340962278460110127952389433276780604647302838799291886256445899623279987662106589470406134359303153859097246360817579367927487057139298446944660261305442090665932870471359233317740751850965628414406801976825020994217171370937109185736398202745998612156216056010150260714764861496121755579387318094477714797802124665581207047916848299360828104751595739477353304021956756451828380376439579821558398434809040500716345821336932514435051247146983317032525689673951676828330216227116931566460074325980066463419790427761294168449275195529369544548880533238312107404575761749119086659310352969739509296324627056856771905409425269002053978167127662765332561359894111073890260775801089671911202481313935432425607914930088629568853231098267895833211962412039757849119635250619736343957134300981641620645623621988844057563539458986509004604678990109255050017351801173762808763896401872154185731336012451126832155572832734599687271310388127995410827668231616632158248295802748834490776227096791980791199517291271269351406277385762896077575882443379778444378217074744521742523833353208884008734089734094376897526923079746415851428262412720649564850817850627781296058954441835060646595116941993745633267468442784143665540567423454399902284401782579477012641311984695539131183994005661996056570841804344044893980856019653361559987640587401508725546886534671409805608863929422660140000270982451122387377067454724805187244844697899974914435784728750919548894196996769155298257869414496342343896783014713309237276298136380989181644895558132630129893385505580091486635450589136001309267856415176391985396005555671777843697955005449495011873892439998129250171912379873028579568894315590658835146098331933205717606079403259537462970604904541619162888151707030196994300816248031220127305039925215882309882583906220732123189667537681470895236840423051841139595778204687484200247843723328409843724849001652578502475747079788758250754677176189141086106405451648451172047711097051749459474414207401116860799144115381126292022354309020475752261214848661404353577847893301585397187398911824053185670163337571923379757564065837253848098138100062371142173403732172748131495541176203630071322085541125929462502125023733043940585404182686443718966256678395269273274585550656286909417367330569757534260052704253179798263051403504842627232931675828430828412888464239863822147999672754864219219724852293550883610401778078801037948592080959606762371962866361626599271343001787679384713610820688536176902171520055037506363874304897250407559159076971324060444349150133439597239576086141969530068443426618770552188684829067774343634044285171303677494228238352540199756379542002229546920951730685286397045717864100215982749951162713958329837598207196603551178827414160961647881459268252165798425974380333232479197079064162839716754995726665214451988179423413527808541135012763195055021547760024287051255652289424467724693701258592217255638376176694954473853041201192161321237750678233843459354705022845547051673769730012312867325076292566753170666295403910134427285950939206460514268194411538189397088139527365636765920761268066454812375077497246852640315094676584820745330109138643762540356452222236404888377846482045697939122504058494725860289260145947285358699343976185626604455540588358379048268148309322684721314005783673619534887602399166400102169380995434428312011959873174901445319214348678613260925029105140833405992260131299900550442806956474911258046713565476576485715709318840204869620163775058693107585475873823980508017903921855289675680031789446233617364124745807368312400777103102073316869812432100842657270920869292867768272668105954257994347708432301175737117935431965209993712973342151655033740416674152762395475442769320025064100836757662414689718531730103413092688670826932477633662193810459451118922137100351642498681904717787947174430730566759566607619697202585806416320729349329698529857272986351208828206534534700018601651254208086249692230542519539539831242755485343169855505184430191621609898621324838167098096329368052765127075591124204763230966906685552305936039485353251137040435830117691754977958774375730006645150627542580457759935364103822870646099444632864371639113454694875533091012786562755378314232932163513023185575916605582064892342860272907527513372809879669775527636674301669637261901225969848407528451191792745637995655540260640725773346013078524344395245085073864791402879975437541393497857048833394337063531265287332841338868902443620971255129411691046283190825845573339283671479482264775098228557573447945400227559053836727788614563296453687110221558544597135128906233403590631065275378637702750138357260965992868993123805752119371285508481711794927906094405202413945632260910050343217781810099376470006859321768765523510869073287794991789140594318757377245404152717205005642061931478338571016491013616927740300767325880503916252134083547854896094750463915063390839729319929930473862049800227853672826839560804191923979610605805094917357124636625626986117889051960875946107309495939955978666741748167006558451786803463247091640089935281926849451988017704791015518328789494600378407082714445092973094701105525617682421627087226884584510993316854187002785395159897865084067157392518386327149630883719879300608243694994502826587262018269885114598295148551750797895911826126564626175167385587749086836142084707005820784803866919663495353899148726721731274645210049717125241232941954249392583199502394044400077915503601435975790630322484782522785634227927526529840115690019880130507471777713384634387410434076075906297805255205118737909166205732704304530886457624712146965121076595718583646345417625622588540452379730827434830188218669444597952194856230604224679812747166189977585418425192690480063342612719463250609223288855666471428866459001337459933837747341038241882049750087755586322389930966517826166195131129706123717025383941795641875739244234393227367970208495500555562255492857876821529358174103021277122391196494292558004335768932890253599852070583881603888769896663555866315704572357153748476126836815336404091266005191903363470535279402893167404787243647526
66927162323521293874881020994007575909795784654688189467246289695341118431671642180072333705468001299449362517755187553687165955791373637735541913511359183187338859973323273416057659257596590711184890356926311134447950614310395184713874859778241257991502253502264075979899404339802585132008689587051877871526709671951598433962134914430399555563366058474078617431657248863539514584325340269680452443641870461925326142219736255194532165238186581037391066219178548851699346635857729935580160999987404060587917100518657594772313505170411898867090143209954208320524592964659244851787317118841635351418861919875891304192656559207612941000029586713062823942153995886550317740880456840395288348638770989198411805717491876426721650997479146585031004237646293220570599383843906138203797001379598635841331699506252378301200834772406365458761587352140206527331773678931603718534360832966823308658046209368207992219882626519929793577426838935287368234681069677806889792234679983539028934355422663726305927848352720249138181398564201879350754954329700117385734605861764259718780732794935126131407695225269360213475549970628109289002693236959012250595105024445267929371707041225349541661206525356990714991418504449243930005857366922154681075119496835563915813559109183579449451828284648228521920268167762505270813021653602178553145057586980185974978508606352344097900094866973612158374543693594633696733095985547216047063009445727438871332125397026351124607677752718607048225015426121761944229383701521502582219781988918177948205939805042351125089248296885676843838214833482865602889172850889547731519423094534937311741464873194552042307051888631264860020966400927753117659506031953687335712762066757509515921773199612454540973146695868520347104352264705187403453919827961024630125341347502820060387096913922217555105086584752596353777668872666974989808113310564228753848352563864159524798736635195909804562576600063684134297267955222126021679611815300948093921702595788254253310951211959434299461806492710524185867346820394910255669707151193100543761847339631250528693858655922704182566942721148487486114021135084184081825164221672173990241702462132111731640293220006018718481973562533833823171376365313235081066845786402101953718753965737604546346799608072942636327533705837634650412390146423527882478173835399859029650895753368965986925198282944499483444598997789223664860784370481619311366155301008576656897028789538741029784212603466332445220745829524810640042288519201363873526294564511517521432348940420251736893498799768312916584292936762018448113692440374082898176858488089210063417050611918132663825027421721975438343690184387770013857557036500367605222883721842652009723545480282402478985093239389129336340613317926593932277869481079062957988035536359743861028707478584395861938644600220992337653965296239958798690734800129387123660074463975696102823291672616854047540532590364451528372485540384537303071716606266004434646435325717106584780507827478398839606445960094133700082021288386809069554402186432283206199983239021858200815888698840110721805345400308090549866724500307064520829906800577784677032346433411910666461859789291423660162147652653512420852759583767658114991004186344720670092217174377887469741114629694303171675461919066976269097971638812493177250081658258684894056978950339911024311003742210263712452944511713303870733298913600565104019427152986119027265504898033276261643655565476653843145445182097037648832409446701991281167555951856186947138813152672008851643689537955393176687391618225928402303906292065306147483015576807431695989069631165121587235787076679781288117094520265192322880409058139220550136154788220302011675207595995743257018894741290691324021171462692813251708080878311664287678108780352979058992867965257389543911899459238868270853530000657217616083745681708676253877171885171590766473708195960639659419556880423265096190190512617742411038045074159605633562897103920029241702787945735547936722889759879762706928705123775467125807762660602801653230136599081477461548837364110039998591567918221236422240156939770497295445677748333447608827364280249010131311987446919161335545160412422986747946360001680107314851428504621877376484703131965275625287474053056591265147243195034985928902668601525367300888005088024031225255244918455737375775782578194630843975391609586505665847162419926291016681326068193038982520176994883251502208878226319428024117871256779046358893455292401329441520849924644527663182855605140911958061230318702730672929035104382795026841264149350149696944446925782860537277055127365758598705474106929196394115961190722436280023056389544994438626165724496372070310685727140404478164322152379000829445264248007411845669617538198531199197935359767378904389101730664213108644971301039397947698783039309582714807539015597565673624705734418828428641651804497320820622156370769644821714715306183585165979166345262548202357136826239520587976488869126033538717915712211952380200042508808696818507421735923684275576825028636767448305928646817738866165083902431824528680530957481323031565463314445954915089522632909329936075301275468234354902145803736512320955454467279605443994764396933000680937785048300566385030539862299603918502275002874612315340474953883678034312200177443125937937478686008754867659067336467518493742288850273239828507971204428819851812043002950669946265257523182037634782951068912235011281857732566070548787145377727067623795832733743798544383893027632276410338765225980665382327045397387295714688449154108676390134263748365998812682359698369223283157604504017822336903405379986473505070673205685255756273926082487163944748339393006198108768069675017793386256225310512426499687864032131834028217930125903852685698651389486339262348604124080274097306426456922427647973155269529240472274953286347068106203064090558353253031612711761970884560752847328288408187347784035884318253693265370779743700864648855996637965232751785177551085329903094153584667377753273541530964369877406317649682973833026537307843628190987071500781977348805087213703052537557939925197072010536741866022573710702214806591357615470733563857214071906858918166504442239250080513238861531660961601449693412125253717810844624413509027513552648526752061152381603729523279897608354398893407058787271430891439442179094188395638899831288677361356531937298978834102806490314022721575504096199553880088818754896632733337380063228061048810091507916948263600125784262777225676168880144767650506767386615340318352891595294743037832528489531098048625387097958045697110640784859706085030807185381668949824782591302281344467525513851933486303070835269167050324464638919002333623170482175743279845690411656895559305306006141953619007002023339463650070402345832007635703784586139523695052086396362019843597731054544102072613682418747982489263901799213058240387422782111001485861722434716769179017602646237551060954846207242929009553001160990371714884500227585815953358067089854633101769868426392380593729687184973349985775933114813267480193507210665568664108258221575771323660815566741860981256482907906963359473011446875038728120332177137230565924438782376473060221571973848588542553644948375870263892035254436888167629748517628977784794551305179824592348986618841570654637820074521244027382182126330118681367816618952920797154571487325433588086424214842155428307768533189358979695868212302566630943385726649633339677595654517368953840094666778184490332284357926365004034180628769802426488615025233118017143533997805858081218365887158335550400427166432759105700102378262983359419961009738690325096816404613678111914022448872448507713355983215303118032765234057101692628451339586422295346225648690669340045324042993484143880291660693840663901378258194962459227509383268923082868804511087769718979079134398500033928029471359383982003312507132356620496929668892540112361774989288053265905332020956491054061175409972962146436446342683132266060023852348644103024752007089967081595664152587930499647234342550600478070038289358365401239489357813245119216255689303552252365213645890698155857883734727202251942625589131690463958747532861122561722223197807174163775186704706725862914568253344085062101555280149946176554529729039763101906204733978270221709259215141424578362110847929008801172971177857135304813576613153524102502624225292850823912322536419857971959102931041572546087216817755694123537736949538530301922161023219133432181380944824884111987133055600264127120833610962943198113389599986633055964440404494309663791545587599826001244605992356949153753182802653960693281494620529545155250724843065626923385081139265228827407179328706110559063369262938554530801239506363404032763226848950301659605549086468306916694405786359066596537473176387903147560346095150321514546523484699853608454878744373203333319046580417984797280956228464341842467865729487747991759664603248325811363830148202267581516115117996850428361208213111089248958627637947766568210311991422012585288723536488611362708021413459297918590377187149405830063741203401354911254460870030559409234494394075734558966516137452165299988323823554814775446796795277039401178576613288497979654240289340424185474148865204581462845890364173330134639611385606708246636026150205701973453834840071408334917964918463977557595287873552675000024604813141137306272875214692129562291064919327329353805608424069601695132420407602524869912386785177421329065284223168629316349031858855198314035456162157549932118558033308579605247280925534156141173136086427774672971202972251214789350909652463073372443873088945780092227258234467262028036191714855373380404992035839905008806942022556399890157151916723240557219887282318330109515234917795607458863047616767354633892666096895021962673050999003668572010522197314487306095676587374325428449755002538137685181420351031709057627580474015257456129439098906768917809859405102462479986107982650323518480639182896775025513148310576166896994193769575374255181178928955746975743114056699828400152893840651825525380426299842631744273873084391046421862433981307126505327349470837612539808592385454765153458995505051215040107431690301705490470050729393087910802923597599052695887847585035866976816012422996669270672777784910060396583130537592960714620976545769548110148838170465898485545074102986997421599691085104639309312363832000177257584840709645193288957295647022740197546896643593833893681987513866212871606146925567874106938444507770900707907468124070672410876363081094219371093248776677142864746256366217063283468697342504365395287294613395527209269703732911477866253804454682317564272656441901984944289585547561791473645861427006219942745344131099688798647334171111467684655714704057977161121717647258851599046215865018348489231777516297044510515453032172431278721359829645010354147681033075334592540004122423709025414842111143635385861798615188324862214085582501377186156739727507804972367626696761860284199865056024488290615283849117387366318836616723466676870399609124645774356598761869379251832499687592616297372041386225086558987648297282178848381704352299401047430375016346982069275288459265072999597889636026054046721339868787028416202814959565745331135747784849122300074934246065275524390573968131777281928392230722134252525336262533969938757658588155288274243292752087686931116765426137414070949424173653702474587831144599246702376963534259212573660343105843335600546455203087322081250539860748498251937763680990314097070849108238730504818685307165388523084977666705059295166089902769609837480691640282013350133151398630699044200489174850060833131039229794793257972638008127558577372705407516209884240407199855839508210460426182027633363247729439459457076413698328137880285350821207573482986686057008117288710703254709726832772758386832772892420687628836462278119113348804308987683930415516246974841368733199836557724657965960065881797340127107917568323171720051367136458387166559557408819625720286379691638718169042449241235524457146378031514223651830374398412211190365338385439731076285200788743398391782915354210547118929937173372438709306417310176253829634095620582441202663956040505677761291222722221878109087827578187345785973242818406026795987929799397339381825877686956451839098144261792610738649211320153179692568747156785621747148159496376291634398788041988486379146103775047693489434889725764006877095874026941064479937568005218066615013137812816151036401947189345803984018267619246977371781609719491321698472306387378617831012982926699845489631312058440987309753622417533861592029778185244496193842766636204524072949655116467504900090145709049483112836836547236818245001433750836228767044549693709746254914962544188599086075655006342642317474974082105767423179267350451380851314936018722040815996396757791063707487941187995162161923125076737145274554930028596372200376717495005016325674490744248324499947628085476766186758084321442931548827761348168906334286059243301587405249293946724918054825512828764125215076507043416256755668019723535167616476844059108452458620892677940249333834547199494417822660392868767483436876636066972126823252574616765147504015501087693617053704671373179015997133243823899090885938912870917659457430347010416497802624960924586008930331115751983883799965187666426667758164095764631086536365630077543433279862666413369629484883868156208932160514905814069389871849394142973388614949164924607148433740714012970684032004981541727929828784109451252034051651279982080428003655363121214838906353766777406248748586772487592272880832475462258554147427680123249986788683987469970650792524639672057745645292142434401962683178096881250840190647330677822492730186953423750078741749540792450509298366356632133061618006521917488525871731140079767792018158845291935237289383630206103358504284075151117114726466151168983101950750247591525454805628377832790674681544236090426955587245687954614665470197738657346481782392514091644230785668326075686214578548837730093643825865506061005381813892763153515580397170058090235390424845879542111093030828764467466989582250694654439815096608428522740030753425929410137028733523091439804088202698745368269668573879016375729920275805402646025963031030117031348147823579517240912510169328418301564460086247340472292003055660691873159615942374980502910928483340697034590903060286877574492243651962445344979165084157361644575099371930723071837594536997612703184161013459766356440999746078385126468018950745835634989796376219015606874007166694413724099166475088125846603440398887831028345403271156071866342707514766747488553740322192012161465939809984125364080697647154073850937293182252745690869716558238101391841383104866451371924311157672810321235345812183784252539807201118537146313598944870298887056496526039612404314472108510953924788196876254615378462230853062500563668278304882927465862898625331785547941164003020469147240249402588518935459781948335789541146215116072883065759566193974217871381491980129080147013186797228038086983146753180092069177411292610996212804412003498303276644115667294364501213659465248428490899706741507894666468607407864340118590273027560887541298891673245136760834951553127230271915958933350736179132486467361599280911739692009136567801576228497185179877942779309707409328099750273267849644143090374845694849642853422154947426055360703065530408075295482168002300129304985346267208382048439612121932409912617943261525273409496240890405060238006024413993295897602643713204575846985404099174274614191752204862932364547768895867545849089441312246592591036671374138722325749126010733880246823757962465673030078458429708945773410467053550886927272795009735661226959721823580123285074574386367244352329717555179630874436247079706086090729590805651069340440450413963335482901030057479452776427643102901597322986148661387675253250553118403173245939516212464732709444048806696678874612054480198393165008336343658559566877248563926137838479277102073896100582449665464366208286511409999819118724120497905946732571143689361736205420854874261359778817962474421597070854534465593680311571561286370303422673754639205121603332184107320850503224721734444919406319501621565414863865731394526945432676896285923698000447638817430555868524543318436128312583972735635396809249852516360395924164091545268336774981835319404356401393900100918666011586196937608682915051333667447340287750537827803785786041798020738162827290120937044141567595553007647839003878441907145110789620026767202461155426794868465949658945815129250274479879511247918898758007911586557277314274845454999621354957097002990030368444905699941696985563495073804541136527930763157450651671148421709180499666239309391971521697844197804837309695356183839920771807725357173812678493909676224949335665740373308659388116245992170341100022916231888744133096989295736373931786466190435383442735644106704786073267431494886551054997587408488620136511441178164450472157350605025036252079810276330140879610982419080756277056467209725997143599103737466100474699491104747690032842833582194494787673476195998469489470159156670848323930117886491581001626986111433247619893272521135739850104877055736966186936861378146690997460752223750681549139985374993310285109160073772556775734682517133730376063569851428086700066617861607359844202848320310295683016003966104963613012625435468534401400133357835187279566481199920122811424770467977022617430574027330430356329656619884169277393378010116277347392509433856339034069022307065325119911538456252879407730450506758696285262894906587070321478178421903293910395558564081439822420716964999176969247832005254251150193270821897944907908787069959680099445883547881119905445801991114736122454429445348764875003439429959523859294885357156189696970152068582220391174377239874383185275490268235426421054290264615112598656569081728707863746328104722926229439793770235880971412308613122535535725756194432876328103823890522061624544252978058802608444911488772193979633624131405304673030583434058522025603523016253626397543751479377378374867162499385086241706572371604698524781348479142048248256215706748754888566896995536112201930718123189009784780976580679522218082621462245835497370023187495247010328310631293828038344426174085943957280988613209444438356748418196101779536815120712346494350604101248426024159770571649504781793816093330880446443626130628545350203051303625846828913565293699327085040033092308384912999806504920959145925140226616607699706145170911497666171344873114456663000653009515005678478904129564798679709708331440830279971826714390629556994288482669367163062879004156194874368518373390503388430260433650683709813189558485584855873242921125800645656955858021359643036671169503894330876421497587647802351887707131103135355371071860071613149693065042655975708130252411250944747902590875485277551131105834798215568807342334027509379474795298157975780989295596742785814048053694963959925314219258516792974748972549893755629036689067303413319240649058175348064760552274846760170539810152559548617130714852884778038828617902302814240197216358150948061785478773838253547612738785758031999832138044428847832196989687635158333966234060150184733786422955317932713494734541752260225862942044403094602491706372905369309328811028304531740938903386664625541118591969606595997435875695840812168677934136371067665308921708780191250602414144740350199122990183643534765260292081143514535104089503231445268713559594432615479804386284103933052017310808221988720097684090965290470138492904803447610163437322737289760595433054288495069010607677111613295001596505327431432019772057840887069086093224169144168149890168294274384834823848871495873457665417499185375745040239602769420118476597781823210445312693197747787335834593076532241519692104298303164009062821236216039836453758038328956277881818270569428476911931941812712818303639550513854461593260741021437634352129591725537750688756320136460569847872772879341815485060951798153882882317084176339500853444416520458329484543042355532216746811889188101688659087089388154569649299394977561461456471435001691383895664490641121836912629041399523844326514219036507506641136075198228827833525276322155353118724713995495211190580050608653610211861297764443085067156963620271365387521044360174230783594
18873810355221960122229220713600894924166100970854882454589607007768626210493098159295316261721094451058652603411318565430288218395978066690078531528482691070313858602994230722564486916965168916442408806282992534044292286766458428024855118421980757065263469243445721632748562400671801816908285353471917931408572836085805693031405618946971827197150859599220230311133893263334880636748036676670807268168218468385301729488047644490806839443292796168097044349983936811711108213717940559611992320402532738356896896829527933641883331493862248536624272588099901293550694720084405045553859306342731419921044089445412048052739188262936890798395270377901424807399995281908065499858784989594809572975767599880054194242202768174099772446411129238012927757235073930500267842282488776003940759678449215725778849444790108652586039353057029652458547817312759888259106254297087139826596740545119370403147336980312379867489663810288642020178841798057349422219989204186608677320814216651149622820319877720910512494942654418048622519960464565403717770118067621163393691769010803815086482776560816219473653250457137043335019634697071696892840025918632765863912379754049342602366048415733603511711795949622159465380778141893893956816613952464432126896388798378917616253212866265259296064937258693910502584573596157496558999832016448436852061175412760309755390004812087881942712332758818682333084285191701895903322917539705797673093700952539971768763262918733923090229809649397826114611007928200961708893554391793297093589242635507620748166123519021476804752592914305043963197390338801684838581865448885933224703202797715914598359878418370156862494139905123077789340949022852122008319841506812544735634969980726689370128007085323896741303919520725590895864745712783697375468503296558794350617985849326579364477833051112538932858041904637782571813760919647829109670516939150194895665858286028269587850115065094173227333159270138608914142793912019359277991805629383705872502011042297209584594228859324410260199815598410161103489446887675037730192804444497183854975219994168107937313557124433492337286885313628527648600977742505908515348343622704652062252997920705004153284728900250113662240117018687417447560776673566071791275049436124426044855701378360839163926660255518861826798460574777377171902142220568630390213067021901975907067577879464318482586091645243407337662837875270204741482580581364647189384826171291759262465079640040083284930675985143302918727321773105938397139670439658026377166003746894163122897317506041644755185322336792851138893066462328991134952423646741811224143634748053842638251080482953911696695159971441247890155468707166124612053783906643832979468455140062081910678187073821482761936465403561259765093216456761219838359988160989496719069712298397681510132154826693924746262543882697897866965771580218813884675395137965275118944554717867240136900916859032872785680410568804178123921958160008936673958540586922652987979124138510285193610278539022988694588008920099986606553234070658635348629837440832941938156749592297768481373907048219718492964561254036366388284867090597571269879317896065704843236800824102023799770253336358822200455611436563169959055607608587381852771216163204473469467017481650989894970346548797545273684012592848730820145101219908312656078608559166120098830275448810983058462843815539020036561550103904019200015729465644035207987847688459066029187651445705063521082032747201178940891102211249263891288769063211575205650986159507060537677915785898926116173976366083454541068383156183555877327358715313179019207584863762860739417650538589880437107123803035172767081004076469458272278379996026718596146838950382547984937360958124817261623725187210583721750701040783296397791295227324883382860641951552012370567496285076424884354169971873387542665758691298524174996780128429177243130239193895247922955529517402012534206581825076426124096969816509477773556666880172911799427911375307694831358810087048958880295126954373097420782019328717770311907454285951815878167098308319972335732205197760531680121427806711291619934236844223676205931890218013451256069614050596975391462906624125298187532038041483641014222584124047234975734913041465793110053504892655920877741166396905267587489646514790550144308285859397953808855363577497906438730142552809697691681057622582060758110683448641846381865546118851113791494102167010199948180957743255154255342804001968299226185374377309941101443683514800252156957574682068386666222602699538135261888335895637954985226837952467373592132368047182049120384455592385330849662151647726632697539058348594029629805498490507136823359811193072870075858585237088868226258600418641779340480802710172834235133149390750037914304919673638999383686840606874540288736258107460608589863328954506404661859010569811307907115423781389433938412323806397959309374021491511871359797951170203805487931842762378352502748398051418067935172432896377873313175096506841014519759567547794418593483786284915944217805735747512571291432912646569885523028680740705166978179077161001086436309261752148236079147581505608687710132383936321430514670820919058728242225750557981702922738029603434237867737793121192994180739677162029447390426141855989462340250941358502473266854605915788990222940114023586884558585803478256637483150710468860647476576433549917104365573293666046326362088493174098411629527352619353635236375735033960822452553051234506569806830538664179244139561329394990045669541636365495743772741783612218926822831092385842530996179879998943770958161184188846991024463175980750224958027083587781039871353391198801689388850777421995985308837665885976538615800103019876932891765072069691651515778415113894938915131910086182379557381624117796781126043074728943299253549858700071337644096253908011841568513816402182418955163744891899335692999790009666657299674570525522967341436811028323099969824857313817003571828142879058381684599175144960222093752228842679552907496231916487702997828864545104388149858857520034332171611396472312277163090557783374768413448547990974845425359853328933345541724454575914277008773517947652007068743346599981077875884068859697303742557703850588541517978753519566614681990381676624111219388601662166632552532908414488788199796407664752416409991817676327455089855653637310156502626705788686977091771609255637910806500755933933165507858020007952850705141928823746961053320928717400842246949593348832422546238814432586422320346508839945514544843793539642203072182160648768185771698114532658491788762964060667408434357542640047692710871035033009470967238841514790292681802736034977874974192046771212778577818921578706169525376181567509507239796526964234793746719766363684427136474737353501969276832861185024717627201753786509840547209599937010117506100732994598879895081565446358679284254356669829182048685651771039679648883255427493593963412939330327518934765000706408632994836664024527698483359456880745389796195446239567315529862641177905348998538922290832145191532462427171511540700686462240961195382120908166197708102417955734033065310606188421476212443709624104135909309444098260984371551467124280364390552021536128395418852478208694895725329044831529498728415902913743840383466937462887300640082097732115373462062572196843598579843935386671647819737519503831382885039790839504230855197574441490961868895076848884904702313805558509522162284822781357783125921175018597933845071243849727980908941530176097066798726061977344812880564037104591357034063617063947880097335788460965144701858228941698676948992082804184592486325585563037941485143664863240342368796328581055853885964478760174197182747310515154137918213536085024792959558101359519325644923831753071796116655323882267381219825066843670098546503578942884504426165140705377708381379731332191731893948484908973634997256343194639022262690737843818646968464029920111986766132754233585873134676848529305517498044493024417600087754877242393383217131144680195381737797378424805590960909426334608900138871958119833664805801693203276940384578657833166484596881868675207781571183384702205507670467743282645316559977631236544507471209050607007988632773093181836950055046908585934983509391891112654907885082867249729347342938381869088531325718191396464351671677022318073263158803041956719009602682259655798646171341542023072665593713162793797292420986953268496103957237232554951684421389299856509460536636040384326854962262073088466159546725769520769540667736747112100612680550059658040640046322551905681928177361871693482536436926358602965826396424449604530810912916804459409241245659942740647207430799298906273602665872932613895473612025929028549485443331249006633054727615497412834810398576610939557013234611737457781822687406356701359384263359962708051585322119554307255513188339930613761669152137686361079002388170198539568945330608489425105212477096486843936814158648266628241939652543211264415201160549273407056986489067735197384765543812535140641007460513288953081966534425555445920430418990060756146507236665868417689280341117897742263577305570282077681868976552614513467677273300861623493304910368251019516371179153398272322311850176269604091293049798226831785779178697907915141290408136523373322259000875705791105254197992424595852012493344781913615771035653777493398526713860694266349783066874159320296274427863338614294511042992522017930983311134192171864681331123192983917537346507966295782011143732172984187484943911531859679133592008583902577451541136360997062494875424809260449900284319926322775252727447062178429731757512676205952789914120096991408320630031567596731057449430122191071540815161704810250348601872576374128309846754174046507959292260582769223393427764882016561830837428829639473513651124491696948723816479373981498315619151055400075670403356388218285522634331571273613150536118911241393108017206799956086484037214054330353030512864182637171080160124913656974573429791593163442519050087641620031139902180108824457809473810487128682240569109920830495692156826577324576387511312984746252094861346982470920755887193813766754500697744977719010177210813556825634270165505822099781782882798877287956503773733306572163739277172824286800136656325307557918327014635689017226544765518879321559673743037469797951055224996646448848338597701475594658617621793585717368833669354790510837967157068549846865612507003607555039290521445005769013686935389686458409644582705675552509417893405212660880126165036533403958641312320761736164828048439312929821812164673466585606389883398572462522234283670846089608836053408594147592515667552679069224924019997015170206628952026046326144100444552154371703931015937107168796670907081612011297981168139726387688860733305233388996235024237934416430362614811850869254225373991616042393507246272746163200024241364329459810271961600877284582792000497565208600474984068629975292090506329251729336970916389310712562376025606095468392959696145207213854214486270021251123180503128509502071436444001434256395327560120940699313563371081769810531034235655662171193330546371303899987996490759471876914417242960070848162254367168209675815470574383364532018882594247327045553486405808370590458379265857232469356976705056786875162867093979016517497505628123563721272936008748498133085473232830755986304553335621173060805242602607964870117222512996562078906093593115213746531046702480902815560302594044331904384383772869469867211088913797620204611744880315009406004907771948343937375532516136770326979042396161483142163834533633635907455659849690806098911041952855981292674881809451878385056543035358963834921431911179618260260604311140654615352725993521035055781813600914000480445159502081879630069587687080349329677130673125263194601424696065291739259603805286113652318579877481916865665698950437117793038814780910877544147754331775875730667358377651980255097647514489113747472013149238494846697624264723178345197155271771191150435517540343329434660417665957024084674874830757542522616846768363649532929564910761428921364160995390718469357842099912248109851211961663998646492906034960169159012468618749817087118236348572689843016985464964989994273577972328140353500176384087551459550241849634124265940843845341213899500824978319758601542706218033536798627339930378029661015946485904612494902275715120914857473092699549683624603965937792307906723489289822604752287898417483722891925849293954458621515286718831730370324336924300327942115825837296152766824792543420848415538832819930875102387697696110477067979568879586474450000303738931137829476049770356830342240865852853640588955045070773123277838434548784071368488110938737388049946669646732163701399060862760871354311922873565108824787091464628288053186153121226964587202534962989637694753319533730804089975011870339547285601137569206055384345576927774726968742288988573628886784302392642887045536067706811026809385735807046937508560580818951833332955316848990957389222789899445857257394729949029270053613467583517682255603380210844214580211219149403309595834741888509859564673322842685175123917209344758314722433671190473217433350868573773039392749904450109106039733150657753437011933912521730673082643760977599795663836615821911585516849114318128553367219595457986538273251152703616178877281763066406960400015509099311898586339070944910828834001007646527112701952291932396745800265417339825165306316176369233337727043727456304654698781742195917216478780328926692004433538534814172111317422654264641373126417934422170154342788681400188936729932204764633182724003268461011039920287458022181906916475976274066477042426973338907714145747599524774615436591696137685214301819284666652532336461671271101107547739322579577112557466382157091130662841581040181908723430848575821591381717133249892300099245158704926924138649584545192460670652479570539132460084724118186305353961836261733296681843027600730430756033700094840703886765730496156903059347736817504131103236394927729349520763718274593916321865434739078897459996327218192092182830221252997379363542833872420944664111458183619735745085895333039571284630650027353195201444186536991842015785532678615878563802198166778458152754235618283134797601738335020333339270803434922380892960123884800563006985412640701291517186162463375661866018211295913818623227357541137076695389621352395729567074451409082070339935627106952854088715132007331807733525491813326111405284352408051151033180155713473280357506095238690686488459920314138200628857042532303039638693586529133872801540632483436664629207567313097804865812041812610440267080416956500020731423102509310930295503948749742683251608187066639396855201331797226026720813272124557796420062964945630812812819761434754200526340860064977138903265806464106433695177328079023873905591699457508211504473779561236259932674050496630584946178649092778913089385230956313583241930837377892284840172314817561815318572090725647654295338743666890636509683807161435596470906319235797269084266540227938624471680868414608125841962863071585694959617603508871256726116443360283587526525393300091042659312906838555166236078115837404407311433599291684093994928721015207352667148580469771296868303856127848702032947504225717744747879579709423960540483225531277940556511316306867000189342773558317988066536615332912194529382295431397252286377359324454815915905969054263050765338489937631909434981481230526101830529716856356190341513226361988741996562324109015580202371384998195874732990215926128211036193836341062409612299875817343278788333922941912257898408842541318752370226762833014501269404797051387324675567975222882378808088028499820781095972397250287900784387648981146477922685070520973616305927286261031046308018171627838566266942553252641879715896874256219325083624353360095974233219508312142230291408296999714164316106029191815221403359267901746738197615754320705774790118748372857003398453727838644613973415315938980326690834766807439298419496742667192165670634336178798325819332923907896177411558623532441410599434283933044706064550136235588975445525074399450216329405317132236245210390757999048796158251234242957883367687877440572813055854316860775987320502446007347120777843653829174147794753479608824800311742559798525203021128883586250927359867381219597669986145790238909550561299745105503330937820930173217795160180035984121219789537992586954157935236492892857452451804562296371303095227180129743616842416698610359126765974792507730355497680830375926083145873314740661458055613352583364646850731697111048242455038342372685509077063131159225292509877939195144615942133289605946802862419934637218937905326506991785801640055960992311444033687585715015048681238400911451209929607857366350627432764776953211163606622534807042802129486720858028245497596776961143592039414841104735165482911639001780644093791643094227375153263727111118213296507372168539885943849094740914870529982498031057841756821360746230499380946203256639130553064421875148057316488746780789142946856989074739627675158694492909672360373819732227822342455278480192719617433573942944060195786490988402632667895847607470821241221438083213463391747027237083233448713947227736090953431460320925197556516702172176795112373214078708238089730192475570868108935345032459547453234843205940206556651203599359381050019903359552424030124759731369743193072935011920633385427503767919625945951445903643722800592248250682525743015273888372735720683898373698246994457772953259628744744372180580899295293321482582829795242979071560012551058163932782049340772130414306828580464320093489633976522914835245249057546072828444356101545834961445600612722228942766789100243728488875747279321893088759896181243524039636215481137342635030503966824988893815157620717045947295279765021679840863996218014703091403405798532343636455339549973384665242741074808554610725565089105914567423884214301594550272091593511416123270358296289883879587555151847046121309733752820452022557101616149893578085416462436370235518588931984460304556783286345491488612451021378159696345622924279856626876906288668350515451964511774992395574380788313851784479517281498473158414716308758556507480617053853377121115281689478921032472475319024455710989593204829721124579673086191722379002207332050696131989669783647502246090454685717580617054994925630718300586973579871081053761810143312265540774515188807863480474624445760953932472277951037496221065131463857241598873588394431758093646792510921801318327407007870922839913871273604673491412045259611696795977635898268780305611496942708029248028701406910755626689682406428415709074249852980199124781181036565812538525595705252311450047276666371994894662072659002443914625458711333207018709798156431976885185707182255940176245269150167360483915682804347581542249855802390651422728045230205484613758544101185652561087814337321941204434607600688753674874271116966816519364294957218673349006164309635950872022663579339927341713361268937127810150537561355516330054600791023218859714686502333436964577169577314800450081577555679475221311130892823879189694000044044740410821337143926700657869667930754304628207694397916603209425458794623684712765844883687763105414232998270552637296772568432238131577167688199473606566662549924611169789466345089717337882129245264113213295918992531545241286974399214619495971355226661132996576976250102099050948585872421888201619143875464694802735553885593381378623354390134481847683193298819231770377084374755043701596004979763587746220397931654409234279942960178199676892735940080795804132547812577188198999569800970894679671993880864062827472412436113079524625025670569083920447936133372359740386719177559727928456188706697617351449353278452880266351775645013592636690430462715851148801278729076740911361453084174281757446407004504193754111552433282928796649446834984122092042922583381559941205600599888118401035989513372868010922881818777264494422038236145103606054649923042233242263593972703595938908559387402234832277385755690327811735491489094987097290569051076005090250578778031137192969269752596857287778257154462802138674641047589825508410003403598374352429548704569545451476397827490569794063576561602866881923973120210431671101657681069265031186368267635315107850702509581987522677228783109945676127812461406155348753600979086608185
40764445732532126977822813560182238369338764906925252854084797754268273352376643967476062104417745206751772608794902346190961903307096500638578169736778844568412537698274155825586676310781926354574649989150932693180973790323401304699614856530844770389617167033057546328943176600438248284733111289775858749866037610380577546286040014752479434103195705517620305413130615756782500008671152610036278889854361469874435543923943708410816785776086471093317925382017603684925790101207728702873666956799809579565084920664262589740392045461921909298366663667682642657008520281643369660317194487774489943790891303256070178984256085407074404281023417360684301986250087578367521253767515917843594608478798215117386670488712488245078193880024766219602585894580821286819950946493548778299773509941522327904507557533423139814188863652471716417292364927896291518956939290169697829588411828249550020946803430788312521283894527265502834604640855560301486024075434669391973230864500164432894684916346402204034060211721832643024640723084339693273945220912205208400516392024361473384306565465489106327536083905503472885835261852158289299202334470616284747384034586434501665263430366614693016305988427012816756939700950485913287565024718808726641174917750745939130907646645799027750239883860125222620101055125714196988447706494006750465486830949349541201522964533887982383316262195178797324175399170479256809873079450676168067750761473746073746901297678358742953724904295986490071742661710497658956780239400923162658319358858905656516633729467960481757494604163685893228337102775802674224835766292310197916907972377374256739784968715527492108015102470751322635388517375244942811245298539178359217765165560079238895880124982800955942789128331142432821802808904185605100476247421501519649809688562099282381890426616845378192173354660975357243034458950206359013502743153696912094161844837754183608682927151759124374845346323968694670701644203819011016270265191523313305591624204934320216007667881256064849904194608510595196193866071986364182654160203663275942977261149159606082041955675422567524028545104824190881294278357409228666538438006885304604563557855262071954396126517201979856409787108852695067508882290713921521224281361595517008787553687023981085006706079007039539258458891763342101214109424326834109728351788813597174915240437473193200208197039597155919801969181808094446959338937400081870945154313773479638935754511832966969098169445054575969034016798209195484902443026897589801200513113894041074403338640079322695816425828174465198985845856717117321309057326052474391644619839422260573605627284863186953558078719486509757030498406536328397316820775383289205529829247598975753073846910375071392875701130968888553090416916411151631378653640065686600108148356771833211615006700127554069395980023542431209791077920653735250791537419796681823055158633368606672378922335466633719837052713225006597547020848037130887440103172560017636256017005465835994367077794386554634828890191699676049349517744784560040792777373600805117605775778322849633378901180776347669247009594866132890705119266882292840141942116317179907368269772816604327364494567435189446104568944194872604216138706475385957219562780709044381427016477253838668875253853138718978137280460184126158985535302204458513212732511388875211436276421724745405425372095418569932451101300225241753074399660940632246999298197559283110415744367294292024402510503160797949436250357059439755213553884849995907859550053802603293373958188610682511415376797768599866825575629949715163566015651913756047268480742408488614605275699768700355195569666136219951379138135202687291823688060984487897049055515584899425007540158267765503637310485597515741263380348693685906831359231392861547206131973865671397438342335748866658515838665750663367314559109016807168813562840273440647616053452858962327680746920439030488894534926105596665840855293346409507430042446552900213321809741098144164163783464471193325528588709238694193415409648930876644152420714415880609967316556638429302835065441324814017437562239768055283255941615905313641331413961115838732914609427000948175087246687361449228248420846702730761371596753113451598523781070383849788665563063261014914677985339669128315683987918833431378846684940295670944357026988327142671674483504379309433656272526552095822015314676659268780322312896921894782400488512634281098601334117044569612466672216039153757756717655695439414819228437384728685532859560494431576975842341279779268003378554847882128087758679676528679335348826690453764343979440386234019913855787636168141518518183803316290513353906580111776225850879278031400830736000732698374025330016901925295912252268368001659559632183620939792944728544802430677077512732731918930340578488803787268441177358494982199305630477455826356817980021518050922713359282077657371887283593682448530522255514066072213241569556078722573354795362197891594949351550809969999403884336890857912293095185928472070505453832094176427629800872376739551177363980286897799785819442883165241377291147559007972943821760887625684153595288701653600516452953145969969191064786921951711370872452174403408076343546491000108321574920605989610536547057550581318849956014660590851589539243036655600651570452290368790115343762298428086628067660056769672986492497806531898828971695158679017590676874712383846186914929413958251882394602080112660373806860245794841861805943900386109292725436784670089040255097944246315508799045261023375281092162921386499777584183605214554705643787769116772276092343055412909172442419791487778991059503730725337091724463461723953490643071611656040252665162461821840797438906984652418033953378436605829563339047322843329357624149613734809006490400701626448136946687902324221965379705349249699227674505668817676238861786085940077531806855453948384771851383984705470652779530570863680186448113061297043091155560307829198565942843196778305185033532173215698131508694283854957421234371495970166879858831226929133819771240822876441546535232027863687403231304873028127834318436889992315376429876467706228263578401005465297519929233864965272217869310805218338823805392025862481516405867936636367623458359522673010959203914766450461688230197194805477500949200519780025059282744397676139037896185282228870146554726959246651693603467953404396619360347769438649979593326611119416657730481857623263900057573418776482586295687560473740181780762446521006145062768843325407756479890327641127314116358495163798547858377301467016132820549537002697361435209332940007446042834768350305620246380752822512741274293825880792388097165755189653567499586043535625612620120874212826531761709881998196890869105704568936108488028996752621207108919838187275876883233001977993957253610158564343349771960379543840454330612131175301723892212459068850459407086117300062170990690037007518859210921958891476774371885598676907076542867902305885605353312827866463672654944553563489288492128408423989839062711595520487683337794432006395886153912179412788733359446906250438401958600744695882113045227416527358809579427114386357334797745488763154681946839406733275798482575475269092004834171701600746482421348317631703974117056045995318735714466119504982005159963553445382231418440317999097431171269020256777832362977296659712802838847621827647646370986259057519792665797899803454048572760369161372491315755501093337664842140167887374681518975147111323858615723537404669943659319169054082050837909688016327357590431813066162561217904558156517985023251258784315258222444248095667849270972812737850588629257031426106444786810793612864136641959604764088972290452644006706405205897589127574678177656223663937662875354786628241293813451730812286191144909210775348797005033213346517634505771513746000262289696818933338615692631540346180206767754438787028935273336009434749133656227625562401282026972440124155011358624001274572062477698370767445698870342296707997294019626100977267242299555300812815258074003262695883475978384744140356164224892910269726486697277930248979988932796422545100567682138967968557130476783840313790555715848111132248283539128375948801677443083426518620745791079238361739999218525380690958225954025348479951246297408488554573187166284867960159632455577566557690261890938542371149978270062122372281122940443603832109174591829994387550698607126746346477244788909169746538864959517044966189485954289894988928788314110478743305202138626847586502636209681411282658324784294813927376452430776538720589186675309133526160121511545930678621499766909462793494072327687542083012749471915767812815185687758769425255974490189642686392970525569654811113494999647797127860903289519385976801631469424527361545725985484920073256926383429041321425634885856099932632808111856313140167224006586616120059767605157929585557851533644641326889263660925932850035871924785195213335581202232549278419687223501624051202253390480957516665556471588025857724327280000387900336342269497734918556685225743583511662821454435127638873309401454826946631862411701580236707446234780241575514497965661785133314235134090393545281170916752927098449422595610131810775577833052021448283844466105371693248845014520699339850973835292072250538433366981784087617122688711132398493930277494135225143612673435631692528533030734524494031622410720712550411732187746665930887060164412467636396854102112318918841597253153854555639572540412251059264733588087031068781244277367395151872807486253486218353260338067475151212408357730020846426809571094000924065638907937423220822059843061857950155163244665005474629559085646425946896785790208837197954048758392568681592353738601482157267727697490914864145059551015069873557104839578211742801487869423270615039627317675250880275913705583958217059642569965513964281662715401192835958961746893962185998141066510473393305487245861139167472104437892377564784054091613032637025774734425953863739628858353233650153545048106905320135329332609365992338335877950440714134110672435184818663922091298214237523876265213635010013738182979703410841543818263175211260871494090062932328487145157240731909648506481180491799586574726808539361868286629473642567448057715829433526352482380369547616178673155985761603050144537335642947396777122190763644219638463141007580528700568748982533486024893318281972915201070624087883450130930396575074922741261148274693933692900694986097485687921372211143111106321947544899178320210508392754271934020273936126633130660285120162714274282687812743517868277128124232301182962164732974686892539318934333324600372222752150777236301427524146327580907506183875788040940944548735766273089325554974069838870666091272143528969911735182964174840923936589985847606207352036607919939815423864275783442509535929373998936437616544413897530237717547257950997441158246228387436379334246971677826707940126492697067740119139732235168919584467667908969156133881703198520916375082558413820269611763411178646045396455999888796819377557606136486068123583921578345691392874648814232262584917047445853679873198403604454765431430625994736709298252592225709974375380338255300463490973055144046942127295676221666958081130878300366828058148237280686042983670912947118957769983286345488174143265834850613792903914628238217211204941366637420440616481508192840844353622595594225579708602590413425039649675968170712712274659557232326102565763849030273822723588166701710164208960000470202231610789846030940185192504493071841650799519437601806489682986905429098971321624393165218153593653855998700366485881137155351969630819186587048379661510814981037610520260852945341610919528191686012720821926431186555321969405574267812588482562859202506411694404774310666014100181793700141491259213706244623677304036549879259628068315056082962577058845909624119533884215416358160735540666124028761348546756467222011302373827413715257948263877423546172534891437474898805357435117774271909690074430312262421371573664873589822061868093370735608159084761854658018225329846919232794066032467792640219222398501767452016867620739512730605159902448666707469449378999949668113003708047120460253636255786166748941241148592207189692139922708833690490345312830721030102882887660182753941171398643396009542594538364944189140056382306954802336824730856101124273568505869403789759844927558505424471214653844886491031948526656450475852310000639179384647363418077026033322757789586130108749792245530274728799394042224193008506333096094376388644529289316000759113939973480740440623601538857409035982934370769871710401005211300282526187567144554318659347827796650149980430864522706126975456726698510336608720823878947109248450706745876228513128616512579355543483395053149315359608382676367824397595271936072832089135815602757516746841794742373847381561584172268370697502415193940741183440471572013838888048572780933117330041455487517623014965017972485802185586940408076859256536380888445195807683853749596322990692123515562387941833678755161792201499383581226670885837889964443021695364493163316752930017310775987783671224584249213931337520871960170214329021085177916069523407212859598114109010738274606925630563587762985038447653382800800986729081504448326451774525540223211824295530175737298397379384525096484694771717534176256146522008756644455300239748359380969286361649063808423267885507618544503718793653395760127823633631286098282798897637876693029148381207047901631258868452713073079312593396677358955752646862134206504274958312813982439799437620006809849842999049824614270653031646053166631057186653000929005677165389024703091968276661434258586028467326484046356062737635267137535550577637224084555500686199889450887500684932726668747661077336573280017255562151132909761944215649090993742790867650972549022127938870779160738936192381234426778078769606350949493228792284766919509609438980970439254901493231333658611630496079820559585816721882588541680898315588433947517261378080718815616244366333580609025696775473068332520518568543546475390926265874090193270091864575048546635960499718704228101878709627814796024090051547521758382024605018799944837031331865624763498236945637401856028287303215735906277246806771910068943121223016044444844168510897572316519678901976117912652901278849329878117346155393612958860824360413530676180657430431705141285687659007730087775431747390667364147855788395986064664987586764328031263069898876710378573623458550486250880428402707219403893308142552906254038255725996247515535133313883305667054469352517477209097800497149280408912289171899538658292534270050646277555545828613723817967908235310211991367570520482133226731009534280467869532534048370147174284493125179121015913240396820473730886243941435442380376074257480100697301320889740310918302566428251605826638418531891168621839039038178993000954597075661168685887657452339575486368829145778191817440068053814523222841301794832990952145532070078972311977075465261980574625197218346244226506869166226617320551667556555872514587787053792059285444036251094757012519033086210448283855949206597120113016884186775339580824509046681813759687047695077014455047640835780358507946891162361803057361807107621390532137304995957971904141503579734583745893391924619573646329148461372442673599242641607758808968617481042215192481110291013801335012853826184262063312804412907954511615663941649763785117748539134108492581705303110896710689699874144201854615977873182891902057994698337033761341864446490226326960191485280169650310699739551770844640377841690975449993309785766665307911227602622766256590895507862398264003568108436086882249920868471432435015153848967063943294407491236676355137745599442639873850338526111917674309368798551143106995801737932695849489785614271902125981822091148673044280565769634468114251405404597800790798412271985305996086487280613706255381656510937747516562507185065880933760685492029173309886842210943577089374025705056606942425296043780835029821734910645378682859416057199174213710874774444498998478654157481947957278576961727947987214431737817010450207707686394813750415037243174268897537501861375761915597579638218832356017966467872540574245008459132922668761290416533823319447306769698194261254448047608756862199804025996362697836065015755905679212689253224019896749405309851071608721854070674563975863005742199140261769913111210562618866364123585960794380228555748556599917256215822271713045413261388081352607809614612618992241904615317169838190166644382906564910141379283988040493061775759802605834473271410638581648247687406959605811510753742789526545001557438227161664625934310943879191084152022191030239125353875036215848318630491257052497083871637294124713299677768123336545926591161990755809096795877978332042073740825120825211218087351537523178118715214266963911274938776879568065593294953019594312589655135863205929327426362978358957141931502136627842982257413582627289469990987805534368813207275410473564149343198281836904461759342921480365761020358761543152336465433385695883596783017343678559646952461033405196491713720349910328731172604501893283755127256525552316315333656254755158684107868792736888229558833540877423011285953041869495023099014182232792720120219362691295616279633305850020728683631076498268896186460025495199668137276779254087220489789519357675603076828474914887860817407851125279147904586762410223108835969788913266196423325846088635339107239732794321998461063958442182663621744339327204125987286866818930280276264402294162450543652387202103824328877817712680709074025017412486733796348565687474305248502270744756044289804013550438344587040820905022334333699156010043299317982750431678842892857890018074145335891849334231752798288433464630239946360013008597426466579468777577017278490195431657558015259005919828529566804741766384442051779900750414008690582421744977177257929236898874562606859394721803730904868483613862712085902061282193234464991286357811572528455795506831216196535548155496802554928287581474927093588333005678192868291715958839908432489817502475052154043904772343942399248607399175803761794527100443791434993169394614673659511483390011008927033015411071570513627293316364993204105511091896923757172586417964467442181607000011152604383351208453402609909201702297433992396707027660001366993943888185340733812251327600294934930232736484366278979265595842940403372545322194915522000983570420705454214818976699111305617655501242503706203915861395600161919625210415344738826854166853848175344223628082198623733270462530809810665052788250446976280067258423276714101068854344219736668026996601504122657597736010782119507364338953753890478538725572181905740901524342490781832717639264228560568748584023818867760001077131897956958433214413574875977158100900962712295736902876783374625783077394813994791491017167935224847309882853369372341294179730277633860485418480246367510832015576209471188083799824622932089906563093693259192115166402571935871019729929135593282801027904082727180715279569125193756079545203796720801609240785691865810583670979056411154807180930228031448688651015664564890587942963387257783227847161621224491804293111342994860256906510655231794896459379422681964185610809083128800540485553849147233472851918963775629597680393120473417524166154362921628372571334378326275977546707354139608397479245661368808917108892193466835757602925129810170206210887113526457120439273790254716223046341922712768546418152540152747951404172652931477349969894422043382708491529138792900393981868332600302061782245963618864865122745883779160982601559096097082068053786170764110748023910598485911425989700959826642527756623105538956299300603470193220200923081887661579698991849788176291431224294179873677470841455966483722316073105296884280243255575237199681326187864465132814887491772786698563038671798050200775465407973882815859851043501922370786708658057063968059022780856976329248242523359950275111481179490357307484490424231303529412362620726553216678309861184443180985840600869255665649036304370994268108545777782284077140586383408340182549453439687132455460594239298960954073171865497368398104652659027558752616587299844531065743582613051532177253082206738251702466612807731578101175087842346585211180964079051438833315790734271865714680912070048626515031908374894046790302331148564875012357622005419562
74802564112031007628418855499819639606491132336151969728522825453910393963491560618344487525414792621715913978276400219023999525111906478469719580241105093079998547150310181580881906410489606461636638725262226248766080031901489732335581286483823746317318173716133768607276723348717796544729244856574707434948866628532441003598662144429620675460858832513007625155375398352514908674337778937849546272856229551750927517171720951977583128761041335932397744395898167431243403414658068524604400583857895898518726340210302953017794677174760907426435821454112332752651540982175639577404397543615717653529388197612060028923919320535398646810750247393097363715006761803615430675965692881355179687492857087623967581682914199650844428010079332841123341478429955400745558146675079211178414871889432120368123771035507347812951497026358370987706201225930924326503497701026085295591840633804438705719655324055097687503492421807481837305697416712946766396640610723610875671642357196260009215584191745512948571626919014390061253353311657588264419878163259888368031073414719073799591530830378583227803108707012340010124562703025372873430809234568457507268724447102148696432662053173520950215758404029075167815160488607796221041782705340118942229044791550804627735096987878230707655154637169600538983722123257332256495371982238155223137433303221717435487116036158279539552615522970785563954126534389480230777453207162460925196364948385377413315374691128964459346840146779713264449617125888200011636046621598602022662991496161194330320259369241911001667071011515830460415582624075214613203659952234211773730907689083469917480980670522962575133885574112264481441988740080906506317490673963613422924197300624938757166574613689438011559098601713175494743006184752770582951458960744617237970822553253180180807118526812384881789582984397261177261627380235141802073723379792990838303667808758798995988979244458852801563417024462296365061461644579492277421246803496331144829106596298753731901973999197591739531696730594138248501117736077612392627590876905159713707025465103800506573712944762824653735320536934690921017444459210927780013712242557490374656317904448838423930657875489471153539755003801583201430073717917954648710118902157811665947874540188344405307215538853141007862098141059816265599617162844712611285580768753244568034186667077488624287683592264537670373188023140127876986017224663152077942308026655898069029845604378911987164816979147103499250793641727218062392619846962018959459004207581452975391438136098349793818124189534142129864275186046094754594814548644688516062501053790729249668904167392323337294441382493207045773971039294580478684295067571830847472328085358799463820132643810202145429996436615971632992532134544068318408930379095926476244028842142667491761045824797938905954702350558645484315133695429480140104597446194771135205594501714112645984073463902756264736192730597296612349110155930776617646428170571281908278468100063646920946890894143896436598004505437602808874711029029307261419590489356209610199929975855243632279279578169134976243231925805546707044732697796846966513500606919094819490490869319391749416934718560193266506979679022510944087683459322302931535100822886713327431076068976973320181450265256879198654356719282362847620801521869981409585379989047986191694502748404373030429011014861738271949024482968463651184952321712682294944153651141946728188710390084337465935166712480700971719225914919281265238683427180065055105157192280681398548071140647528994881334497047138818200758116633017765112822437979212331729003926004067760305744392332924093114586074409986379584387927882154974819735716658524895847511648031793326711977068826778281654377122107866517770437289156963282373752977827061867930106514695898190395771093684357019422052546695590382231418274211171052570677488657367682724644492916688324725534470971909142667728613963547927364931044187366983737582109221889528736243229255980719640169058364449076537052942586968646413519502189631648608706501074614303938411634129697755417634002443806916386450478718120951462404192168859095995416539512669780792123241303347821090141428532980876090685746305778437833080268824849960665684212326176639004202169164984076142585525445698255321838384988968129801454125525371895879445548571337319876498956717862962435600799104343446039303758127828894872887603988452060932511924126751759427838209080058669031994373495534048548802443154703315643671435164222540674016340714715418593838851517856550136885924024960588726463401728262098810812808472358575287811897729650093970335989342625872387502814720992821306564347173960230085637040457459779204626138945194862156988304580935510667220732787819981852158424763847425836577942668882894308036865281491115962587488143701096555977805327462778361988313048414762707622342147467561071306862928472087654790095278798007359770907963343003540805395055944122185870502335741826396171129411043116623592920164725349186088767228578324019965314027686278336039193719150189475762041431693277563550531845214722529088897954683016628163279997858978806043943936811414266950454616065531361305969368853121562089316930736530646168782352704413336820078549821834480569974743128754129421564245505840298933390545385443499517836352431058697316828423308080036525500239021609824083692318194823546596438368981366800598757115560555827591762222805414789613400004070316151801419506705703093892833635760639975953970000912981433760329437795158258246558338302771465715009417588466081960554588043662336155651208528622261809500637272010145913353124416195977077909646822216013339997864308570480852149503505138138728984530241167109188974844732304325952613232809752692376993545995003817040567622926909971739829979498956569875532590968951300990142618049683524222166910301136645417337256634553599930166643401173100821365016143066829316400061536704363947994923578396499022960821893301322284402187470348310074792407423411408302876395620528455309790383858444463620521816843628389420715910719192603358745212325091933119672466777271228121205686297661461663994700129728092941653647974282818905283235201575571846752314763094502882810826210447635146405537015481661693842919527258846669776725791823043727710372778915425246564824243351764109867611772316122528532516274271892172201641375708853332377674485332723575421781852423420413796461209821215058057729805422593817133618130267252223722935491710892422212804615154361776896216864909479678818507678957709462102698954307241334990793025181702093984027502184696689765751833110706942345137071746407262517109309802136556498032947093885317987944082287072222859724464168551441297275539627011069123951848185407502393814170701199806846201352293497093961214029647395347269708879012801380235556396637554526606863148928741322206015293626237350018516384231638615805776332486991568537523776347303556994407672232999608926402808687726021571932084717712986684640896621591509172627752585019587341465774972113789775223142494147381496285276865954587654170498253137229382421213631264899095801381767806568554866769428041849022138414925704746299578843900372726859566625239545198867448341616814493386117340984529167967693877582944765245026974866350077557413939405067266894597064561703163105278062678057425135083991878637851678771205687883288541292089095829344995612149532211893208066535661179249527828890856496564365827941824093561830560924570449823081870416119473037475468398281274998842313225575447996724006965775325258190726637115534008671205506384157226210563730316508618927209640022424403909118178721754416751862966926513574811576181628371552831266548509968197926965839319026256594149835191035672380534407264306468631647408960032363826621922348129077406743608499055510740339317165785200073516572770683176266089759492520676425887474741883212123524084064199355699210086094356751840060357734665937715363617753173008747724901248468514323845886260876732527269197143938910578560638000081918299115493887646500415268471237369227726368205540619500114272363970459994342511831898375996804777031365182183546620768600897773061295547780265270273905447996028467878613808112734210613765390268727864705666825748275382050631424915138462440234408569518565003224682680366246751301318202057163522296767324249016958425513712343350291250106690357089266948552172696792507563286480464084285041268230021052760090117325562619519181376546750055908487402752847963378003888870570975337736815267467388417074426785077856774415833692533788018762799104995963170844271174466697768362403285401858684675469761222727774898072697335259568785326475952348537774523408505918498454742539372224331461782275379145484896681134089099465038033667500436215595898078302391707905549696769917149340205209475210512894320396716588938845442337661961742079403046527179219174027902639518172732214048822765578969357933798149295814970058803251606508746013648691532436339421298644230496307464333071640369123345215717994807812116987298249529333720738999084311469446831581346373873392143045589589982687162228369493461905978949552468180159412638042376008239369483491827855617463607404903772457428912995643065500152311615565067272222944294405648481118174869233875274916823009367170698732674255667446875255475327269010833105594051805358998491004192596425286319744103312409503432475795028393851722854283477469512421039249344196128511670150347722134582552897419257312937632008796252457497533761569242445131858654185743805978774184108165374014857007990875092161567406380337436267368649437032045922489972445576568258800918096692541350748750918982943802432083040285279145674400663904419830289249981117559511475895059279540183823400927500148899083943458889049131302346571197579039153872155300356180413176564279045994363005741258737540569520322403486299463707361210176003029073405747022516153360116123156293589832027746050851526983288817586316908099963685796000292545973022086743205179033893792134127117281411862270891243301419306598521526482524909972631087788676027875502611443811045868921160824717683742738854164125752835210063224550590872130462866586684388311809238740600979270187838757878504810008180899851408463510706963466395969330945407967856252750202449876697487268097574242439709820469933483840325802587013513314469014920248079891523448921536016159278810808727392579947480023087949071158385324468214395020007836035178803805758641362120748654271523312466741640321031017305088239642298418620937431070579344821115862209193149778643588369256761189761147823031478120865349983221514185488086506404027904673670790784103179269454130016112849593317679631242294583352805731148427792479309604294450297746174567323484379067323118024532622650080553761879880004765138153793208585996749259911930203365314688334731500476428018728481916342481803902824628757203105268255835506908552940716234521536793598588948733644339330019524323103902275211765642492493274257891427760573245662052739943765991499657630009310251265348553644319068513632191088354392902092201090247060640675569361091976708380460040127078435414469859815708439692825075754980529977941368112054591223542201626200138747282602563842667281666460215293793229774515259477313421261907512972487319614409396527832952606409887674694396743955849831179451272473450541660400616616061523289702029953131170106036255958491066485467319568494297312381072403731425966811892162353486682468040838910165106473390611129266725578156338348194709618545467830484162127617798019635648714794922567979215735931135953488880314973291983510654175311633309847785674047045935926782770638726950318898506710507955819491031823421849115770547043663728694250314035674595324244919175946343981581713638182548322510654385915728724995949424442091703418592250636937221661890734871068496084863181578071391194237062891790969229828417015040126481949191543051101608962531407943979103903607103128542264910950160051922189202868466999921199266875799436523401873604388809319118015587443858917386576741727102510455429488210363865180428929847715438151169840858707782138815970554116852706540244322514032379142159625384181911209372127823355133388566736775447750966472557297138394673313224455544981293991267144971335400193473962962557243715201763065820921954217909872501051500376760932680525078241551661094873763433116711702455480009212016129041370977489967544482759611798136723049407176277053709296666895134382760532841052608737858451903301517054591632045245496359793590479125369778554540797011774772091191648883166224415759606788202189476411869895394359708568735210905351201849660608243721553403550522178177901917203837706232191023354007769793556048548309543315012294573943195522239812026800702833402558430100823580832219764692746377264717016392212245145379060272552443074667342647010864002994640334696342991029271611745943161034019748296026381661725014940791452103112683887755410495322230531291853956827387059102068980701974309246362602735884810519045578736507317540802915787159927687951120895729764158612405861607006670272986478384482614980559856004715918174888483945324963045882414217908557034159184561425544694849694590392348337542139962862167876676266835420889721386194208874064708433748334638374263613226109182207237574422310918245863747978710015801152368663514894694521344024421560464825797522440076492349805596156652254088365312042865097550053549283667129899182122980180765463930523597366093897927749428381806737945767103005909396066150310757226131059025364546151362182438508327154973436747459956781439045929385484824360707630023007029489858381856666774067296936068830125362073607584268537708980734151608749674300268296309659474843439718013901319109828705778682827233527131781870983646493726730490016170737337873966684460794555041630961113841667322281627951791596539695420890715891081615094986600857580397774707214920533248053768068648643550328739112170806404246150297152226433491408316744936799155803277319030411564227732158913970810385750789081926861290657147413859508089962536694585742413997523010803256263597160564761853428476050528981265093340452605811811496276296578331586200816901167621421839234281283722050559707830689509835333702715432299502323102402105406321518418644422406037933073466241343779953660585800323664922851246243463167570554166342051731740693761484850817628757207999448251806247625385009763845895423971822599939573510872146846545111104654707343891373076543650878122384150739561120106281195065313455431331193175196350147566990816930661580610874045026785356617107721810852935633858348555264444098531343200190909468956744821914420544316917480302614397147304969703977844605009429942569574382206753420141322181065455152240502116447117311425853967729085437136091496321996044390700627575169496280803976356801698745560982205663259074665657383491225299898449967812912876414225011825637357208940049870816968363795622141328475155077739663795815965227900638172403439161545582661139772403849759039353177033873827925154083541769784224137424264025951860739276647517498755441119180622675098288721365249213142335574516332572710327612284759657543547574302606100534426510678340106204494748444108126826770897668739537708233865564501181903592385225870868568529941774697048691432195768181048003839495931842638754676374749269220874523181456704275360919397102598923929552062482112788217675081255107024259332473890919012084652623267640643978773096907501306468994219794763825353699221122340078877403900415215034085479066842589966542424412523204053410233177028388873557475941560032939852890221055564169521554909452919301323050379861889002497337556182404362089820281331605359166046827892976768862784687744521314103051919966351731801446740560716580700819080749486502485868843024622302084017153452905441147774851934356701964387402800382169942021732526484173192041700657114826969047976421154871508928045212556391664696786513266885859834322329907057050224622634418141517458181545137922370033843287419936638241569466019989106581792897915794187019211415046176241303599625108597782121603839037413391202415298779253549741669791783273480196670115633242675374988385139151186635384108405639954733060962497954807562267475578093213432517343298364890758335181948782430014927274591489870100416724375966737549024471427805539231895754075002423435718937854593296496784794602863959334053503155360019443080909661155326189015587269816305658440007357753470293636482882697560436430478522477693160245323478423831618728989026714139287863487948520702677975103468739997001168216470531648762892223526301949657229265949481045086471087625851986592389353491236902825208490154745981803109337009514864982540550537274719694084435483183863154805400639775065388359895967081533012246262553788003171361014094027010475775150770716410261303256144287532366276642449863908321611456396062602243841810801172511321041956406603611952957002253646315866596779511305698519375012816510833475063824968530723391792215389127779071433328148408477616567725768717686976809029356894287353036332628026964935212481595364136782475779095819724018435141236763034121127539685283253281263183727383692564743267539822523017490436103462079837454589716661159352537730199778139879663185345116077622861142419395308855016668889386267912511083394660866694185168142863554047197132477766945293225858345683620660000633645946804219079094647542361581548567246323602283289455201211016147397646872363943339030564141097946924993561269582936801381485406077622467255813347745725500937682496905899067592226441235309050005369524830073618723336847944027760123134434339581913021742409093718988228702059271476010278062023306467054792703862321998036335536200459654812090969620439208085300146767402277865510057019588309969044033652184567142740654227268552005717931107362452341559393332265350487785226161578336246608262105770828839284532458211086401987406952367674975727869390714129768819778544210168120964139444380493053802002301483523837281000283917216962090242998010005238066388815472655309285807555201703090805932865208004868702777834012209349207088424640186573334388673382099933307949923697505110216372012616791320223018263643354367176621146159882530351391208947930202672415116768435011497724221564460756179450776833373625899712169396143876394614145325289675294170294039501460576487892355497513832592598504884621415693140934796903082648914851607674046777488966638146455368073733015957009340860262134257565092356767700665564820460106387308335058023387345588317738169180614260656904260444795791920990632033050135414804679062297820066646271033839905338537485326171268776351520331818570396102338867701315727316673559863167995135927662342188265067082803219695904550402886012221220497806185153692317748738266688707505705353407171274307264964910197071002713790701297484324088265735654892625802106937356843235891240554679228001526637105988786945775421197144468310196347684974386412078678684964163537398897475668228998983339245513154887751677600169954723907479550452597461619684754340261116059820243120148906762217185369140521506485723230548742761779977793440684761364261182855789563946610103315719684261798294393084401373356085260855599794617741706439393478191915603754474977853019162012694691458393191945920867071273950096907447161647802517816335016976122613242839243204260051017966069225109854701454575420336659519289115163703696214895542120028278638862530446984712269605259670578734550667920837375585229969835497563374630007955248152430681704301452286478556671087203683618903192900553032681520014704462432946059440680249116062519141818574576074918481218633059659437202016241403642554980829371400578150858926251626508030327485068866664229250135074766939924362592596008639244082835845919772440698399293228134628088209514689903460917169270002359005621084488899644042622356824954341292685137513273296654903633255931789724521620916734208949676516173679093170957892207963350382497853701457465327028234492563451686796024260677343558002720476920736124541653386524762691118661457215936533335059527373882183392899872368720775792431053741771044840171544936112058001534854602767382567025798098334469045882000967299167379011639519000142324463279954859228420219009183293867563843561912742839789815872480825117587145128013520487797578381628928476054907990103392345293021990604099423582640058283390107126315544
96781728034895416521634134868680577374797997594039124446315569513980171499360310895845698322045524926153587902785609652348251668797056715747633594612935649993065238704951496220058600947287689327817807789971858925995551612239978538595987308356960034457474238655679948063978372254551585187588690960019256431753311527371470390198983067665695544284421551675260476323761323053535869407168762008100697184770849889253458579140814594280838347215603171499479349959347851238636036323827142835581819196227980066598121116256752115765668071618261650923172529216880996779733921085662122715893660286271482079602986508657626596982776113359632519196536580411965324839047221343700845927939384057246177826037583530888160167145280842086597791675446004166942839954993019810386514097481923306419308700331829399032335443955821149027509751865875115708669469806498881907283185634493637392668936323211210808503818600099246895996482856657944202571155096455625875302525608148050416015260012322502300250055187297377813419297276293031671183276921306874075422430281233229668584004307105511055231777739781111225401094100596088485846897245273548909186028362410738355257754296568874175417420364212292704105197402462211916148087435502646923147342104359837588215311985114785854300026197645006420628998750128486960721877666550527576431093841583725483015310414752501192386295143517181142780223400365795030501084072226117399482344773583002218909313489122429186054587353595280770388012599514117717393648240554504743151517324599817645882890876702983338756638275408766978982145439955058719528823106617897670461900339080469972919289572151886432497803158574592215938326867234920397839177602657945197384854261907770706554304126815390287903531187149497654345431887706721364287914796153243751706322858565622887404446308339784979497030590870559872030281510583010267849069741249934239834482467089301093933469705606650527351739558457598299851716067716266009718025466573355145501422587264549623209259026525500516517660646429476407749724052236878124593947322285842617696045487181252922157038010227466497851757172238950101022314683366119867422502417986331760330621271224566384525862841011856256950173835734830325270191232027329448750548114669917381634519252595331940579290186064502237570536679592368560356997028589350015471218051823563909751636090648395390817094637071364650502889838583707459116339771509479382290658969926835876255576265631527124023384329722204552220982766308789218321528930642661914980943194320024654303913372854667422573845926559511573114476077704221361251282775740504102499083499339517879032739123582691444303514094290029429302758711882211640795819523767384426162586734620707877280172955187763033507670259902499584428822122387805422797296040874441484565944228467885115623972847746718555965801644695018713290838221468022797395497751287317186730667853806807157472100856489266320927233384299680494792676744365403320039352069752547820735839025818972442330091881488193112372179151503561879126332456826120951711026675393459663551780974085885336501803134635973167465058405008708504057244894676364605787485535969595144416451565157166180195077157142751216059378014230104167481374453444354430548414711622500753038492215562532949207372196165032723760344140839952223723862678379323585788448655118424458791473267798222822893318004244630461912596020090384371467263268062207798053482980472990948983719128617781948871733245809885791308820720646362758422703058757324214047669497961886057869018962081116061761737170276802092641719894817831799145080541663212757225008652699705363948602320123931121641021900151541693228105402301802744962796783332489218030918903697137757520535849930184777126521353609377516234209608069903343645071437356684268721232402040662503596323483261114225316593339608339005847032498408841384660140949528593324618630956335068323345239129560064572239890733634819293535348479926055145020940440899244495941388610409117546640182760443494295880407139680110996691591893027730315192535290396154652546451737167272845180626886811029358257642423260146512944281239415107823554523080908171353999861723748508779622981025099227341376729077683293028784939138555890083950529554073762429389505858184065899152959445217409321855085631011421552306840521219324014926363763235855357778397646294418203019905798668329934165599989007749743638247724476237184182488571598311953595148711313888231745628175276429068327769487570096359067822476923033058646104248851242699908810097904488033427488017561147004085375645948643983559589400656627791047434820345651813488494297218101675874513134695576015103981080109544006258372489789428622910303130446104408424512730049813977346313316217456037097353803164839086686044430278207533518219998284426246898138043469567610648542314859709131096731877654936883575037827913062845519243285760695372959802476407535608077512659500426045246659579254665632062927826694533081742159337769511813609178032997617747256355791911791013416147676814420241876337975858081426813328707695917784507389920907084714235402812422737011388580571310408928315398919565408390700033479250998274387326786769298332815441362433822508249976380920958488977554582129788714419518420218958438849423923244213864644513377397924009035680870648636733381076151797535370878597585312823852920176635058878480152265798896142325945336660361714186176665074220142867903854264838253836814633628383557312425923070085769657051344596826051621779651444516155823239740672730569829874378828498588131582181470036096380681874552359718794577003504694699169968457844914226568457163222944778523035748753969749215251938439908019097537787970664617165725719593346181538078785593831341070470393096492104784172968534695179189090591024564866461005377777642461466038347595588667871730085367937533342689297941756308875529083654294306582039560319000507692224066625453995711446171596892953901104778569263870451495112003992860448938229483450280715414810449735529470974554571147361878583350139371403430406807769151700644429701692862537893698611917066636615720464265824124190782368466967763555599956097757028139265028817069015272069297452711896262847950454766542275751234157192746483507039882435331073955329369068081246064027372771135642362059293009035302756279314791886564461660327208658068662385879646729955206954790436929184914792757793780712004404129897272771926752668249428596022608173642330034764554420045922787093163848784245967075727289602257200781947237916533236164700453369484842799676901223323474513668601823739375163610424229422976727552180952119419328025710787870335688509004613448460428507377034092418053557531296440926045646801619819219774918677750276589880896213302814584316289794160616531332903197764823662041307832756035352864557451741558299010594267919016241666434705976147828694404975732537371997350579335735636639172399896944290533035527724248252268646116027276120214957012141891809737346386974388837100505815632372658333777869573494565694890614715514763781405877370112500618852949057899672685031153219970584241342595630409514233467982162423639761993451185045879607210815086176427945126019361697169895371874145260612333963582422230369566667580442548780640645592181151756327885046204585568267946262972711282398842494793007628988516123627119493370298680463090425779425749864168211039045762479501385579952105073829106772953737333469404686755915794461594510285393675346845696924870147471713030182810591107851933672558244014907291631549262341621304720889250754222342244354801016648724288035989807405438098834435570433849421139842756399489814618708997726087898492855336999669924063679315549557785657059403755278386765069766620300697382530736056256466294638457751832932514842937785506431591459015993943171601173882051736971323467173187935304597128256214858700836682962256118648582572283415249189102741185186227773069835968782917850385671153553726493182194290459593973799930947885568488629027098493604536353230459711036371438489508366381202599093792671061086731254516130546677926316799458820099263382434525329637254157714052788260479725362131284698306691381323977142828668093389902513678585164294819568076913306166534659082619160846181516010910366029191519547421628194664989637306250711846218291825157921731894969335370153246632326799264662795813043694802157059967164657904055108747253814567186733210366312979829299978313347696728503354134573515721855973176984667630952646097867026623876066373826176616457317463603505857370618477728225428933373768761716063627222089428480259781198128485462687678036334282227618231347421165185751322246468827033803509737842881556353983655927059826637709129673390192179267053034645541209010532533492512639828499715307894952645421424559897047672867666994083848489461682155396643204423783810522866315686154787924870396447604823941817918719897630618041281155566741276843238485634264918246512039135947740097134916177867551723076587843307663741073684849797267475228511025008483934567081284640656685342737363169860734775939928107648231283298436768742931021449851297390371161701171167715368120568276912354923387776440456625059152864999078489923315782747459062900084358425371481465874623138386997958002950412233096812104420522192674384437783559858375379821083337909336058762587685228019266300928370750136543079631828747865755737996199212035843257053157575914798478226296522314676361677603828787851398247512900376806123443444942915684729892660185155440842427722464195623577217636799356753306552063080914765787361542743080903722324437325828523982102432933396074021671141376259721846226688633092371503196773033303414266099199964036598132208344034430867015925862163181637179909791998262391299760550298797711123769394134724235269834779272590187162755283632989218125734493379695976288519212295310614657856947264901201703431244233021466906925471786229400966737586600888059856306766145057303519632145115679980202370743172978811481409991592035362693504486977060638177783755032605312586123528308477815489901458005279160993488982296014153994903693320379556777603446239847995790183391132592648996612444832111800802955397355470053609326963851681495898622779958242429073769974877049933278630001225441448917641320236934735755861470145178959812813340583533211226083713950654597833460614551359700964132153834426644063638914314696568973299064181631113195682477157428589440788385713492315605725280517146049157558297715808066739991915921344913859264412344727185319133026028270786024279637613230760798769327624670193705096240559861540242975761987299062119297379331476935934800771602275297489993270794110884658174808367967572204894927876779765068088746807591849088822536928471986333457847732885610889735512109057945694337564867468177962624685778528335726840823457618539371110040163985315544909076117047031202141433003594202437502961453664960649863799046378692475107986784210956142010281423900755176479066315951139094969551238667424416608877646009273957694936940425063179095742069690751681886444445907289389387186144072210044288384396178600224930698996843743942498099039040868089335897010504406404456423842160885269828311222297894337215826061658685348192694126592675041016717294250522805236079933440093079782557104634975838227969897751717683442053502444836048551414961965912198432283141250509729520789364774282189676444257796912687797234165763608723664138478208861091302422266702559418738676070336076052028097356936343879300113370507030469858129110904797553690948477906556670897236530177960511000212881739769784847481660576470566541362560018334192967203561148245476709698008989635939922514372814572937107479816601084102458686484382751823136175811477974864729180095767755191825905053068702257103086752134328070059249793106835162835253191590849222852853062415187385320231894952730319574342003998184489735919943526800381356401555255542295678944824108355941683352848905343054372698795853002825100654105033868471613033860859052500501212717029345437264641692798358504702043332990552321698057800584386448559445283223759851921020453089325320304678596289616530687081191241555733811417620144299113978255877927469857047400801339672316977771038518026205737393651607559298183768360166574140586287054351308633527553084436418046116253729568658303419478533237046249964674795395530192192473865979490837335823636873674867454747062470116776624736163267234119536551911293938908709887122641212012989281183721422320552715387535961051403299973342549691957695305245486041405641628769373103938761229023081642297671830373832584691369068076233410264403974107448682992205769314379204206045141580547899995645843737182190473859947762070668039947268986301181307885962549010512140454821005208700032206158532714385384901015195096103373453766293581716350030169864353076141598993948357493739881016541027325463052948038703729157027598271111749744289740880801077664100591698052795580007911675879526045379973695538070251443534699385114353214280307096169527491840694965424384224925840832971170544397771195426025099410263134829277239618974481999048666605711091176799183945703071478137737537266314042556017720552139996185896345179745949872921427298663679256557742491010334156002524892017287227835361081390227264589624480106929876776721040205046735945622502258579265298962176563163104529147514017535776080203594439800432928377152573344093935889854442424497832813955665974282948649938025875502740552336721371785573385787012652835777462979692128250612730594233062802653420582901841217023727849146030871587660950295952801581576076652501276452798339904382960464346871221792572177432368720360951490182172839944987250259340733847641018271700264899735750444361741550707011462185540702166019364813812522010764261088058155245563382614911853965509280393619675461708644145935306676973768190971212152878677466354059349446239585938648445593300721111231331626541478484895363783435489937364735077972595605874231951421539258848395540565019181064579619744977429103812976372402083506722780376644739669907587146702364696511165723139151590621726332474145386719742963113316405874643468213099048188629466931782503750266796013249313698568203344282619575889510941609538931611808962573225328353863537538786045864392164574286914820184230646166396131406827264367363474163136792155814383180110725997106964404709643495726244560820233673014221965592395668685188839714193109541226261016204776726947904833688507869997393586442122342369693557250969418215788179660718909683770489681253337852598462951941072508021247145665040378790176110032060280540969868851140751224679965513400670369901658326711354412648700323967616601601131977030623297958345925147847788277739878452835177599188040666296175934900442913750183401392642968231675544768809892135440035692305106289582591861130284120705652181080376269235754671447531005115728273871777313844003463467849768123247094092176650391259905490866426704478356672539836673604291240097102136600863919068106164211282138411591361823299960062098092706124201319008132883217459469239604268417595126696892310751468722971084478683195329205143756262921656398086961912369622759130916613665407678019966604770691914767547367145333208124442849710117342732335555609421174688939219634869958123657298552184085841648225970156612594140585661996194463612467448239362936217088484363753763855789803806348584280508597278941444821538408032693095340011775291365838469361446233940286161439107208847927460066621613818012641224093234630650859676591697891097874769913143421160916985014450750460591355831732388572899736853657885978681433910122488746050455240524577618072152308734375519272682414802829799001095121650162271063789881057413333504685651165843809577681686139950958214725941586276020921690450813068497026623425041558918932631906033312542563667616003384775686451456708539253424511323167532427191339076333599688156357510837542854988183873060141284777571586831851277189461586783058902383923919514087489374390534114221308174052879872348996121760016933645351774657358837544605431118852030974348555190868903972361728164354106092113979563297006161261880772127245746863521612563501892376701433231110874431714161324329426397885660281025403195279532698612281120449054247412444128594029795573849265696220305184132721356045464282577225183222424257444071448737766633831954913516499672943453190474182321763488442228012340331951746823970704593545609457996732121809038057495113741778285622708670385550214110607906353043674958580478544202636756062106697745078270886169534371847509385271703333675979346395175836692686407536653891255125397624623715836637118133098120137065422812806802390495244792301161578663384325024568418449002614568702326581005896368276703149365456927982710753244016160661042422440890642980349311515922883246863433661252207913292174601242017555548797481088952450100793525660084579266910658466202276396264284206764884403432012277089003009577170813063770045198105494267015172356082966856861557264606749064944945723067236932652956414836321774172237561925316873463757333167583530719390885002473133387573204744828978948225658724600627398129419619265996736067893125844761554210386203598612661660428578652568528143451288290439964440568117019131774328544313104433516080455277424889052361909216413393335155738138782584003207721930807616985860470070677762283759469521668795548796873703908305322227325337208777455586966561477500482485995926814964468483053334001420797726237264355414213944349818988825551531828169364302016358912544441849218707769993324742606821204149868432375377396730169754266477900779129913317481896345661644292929466690848652112535529316734841213667984306264947306917301954584294282854611979195568773576685949242679674297458346801606060429212332521267577666474670257869186712097890976731525557976242276540126931242259127612298027445463926088515200904470224212471851213239941290943952781770606040070523850501141837569487274483346504678355101758206768074853731063720933465793497624325193600834577143135221416496173338554460813838042980426038286942555457990101451916351877361460146241821929805379159951704417866230410647561004857283759532821775387306754909838405706651356349895828556678412502631541331084324495499306572805819086904553723602943354162092029831087393455071547289501995597863672223163314195864621141071718736408060768435429246553331939741314825607488367219407047924736572492779634792846399704380868281572333024420400589604576756984237064078315443884456034282757196295412616067383834900383451189169406961256749559926853099691862388138855194062283521169077776037854818868821446348624545692898434637285598828893740199065061199583021002801020154100248413205253991138974712165390131327538449966338998478639817521188212439334916915122338601096988203043803650779047983264290212930500037704002052847933091750015614617376365841342949788636701482776529014299565521631197019048373228166837298663885352334291709804627101682794614551272200872911097157408451980762356568114307294605328841020312621467871651692030679009516757763738424357767101545752737631355590649807636034874527936294522235947702596279379017326068293961152093269070110184959880237525848648321681655297660997278870484047623800865677834938779706173832723287093580058092783788566714800533815157673997028230974602916508341384425463070797183345470871309313162673684400583513170501597541038822057430294419606791323241045071025055158009107604899033369297852945647077405980446432129239418677369836051477562107654512994440438942346470842263129304695615511340488642383268600056798239741940464173204820797252523513226023236953715710820330710958185839149464542790680354283295618385118589654116925150176258714250999017573950375505489362924404877213449436284443168324879127359927262159524961491645071803414543269371377793013196705692986245584475266552859844981066736503040882952382762888153689128739122059699618510434307982442743255800853528869629691950723485652995360586949486998511406672087595856325650905051583191070024163060990924193465471582817321665537908908176872557273936059937591357152859240386771986846310822412543139264106175175376882366977947638934226579821218000780291620355780407101650241176354244599724393261004770879614674265481776249256822546957843568463982960683011581623845996600774082489978227834213510522860128104795792979881746211271493052153191358611607258806503300
97551904689246185917628208148152537840623347239502583675230696374017817641406246708275302530683722283601720679707839514404642638748484544360409870304741430412545216122837930594041110438627957766328553778438789440307493981092581982619942658230323520298426479761913192625570858158318800944016180517094213131050573074961554315583157345154499424521037368424519442522145891403780396074724287218713301213007926113879596940339332769234188639602931221174257693261850015139946940354799606844248550337278166372217067393323005380043127215748578138448046845707027649503692680045186541377300649233911908313633518919247531604917175981151501092494578715245262673368979414169985869218709914177963354324271639550434372558919312216351451286467311112407616979648646836262428694422598480691982283601934294301869052642827830504193622588592800745080081317190156638544187591699868612440721761971208680587554966109184069972302602772750139646067864783486901127105992009807129852454545659048558780396471627565878275312239614363627340309985686769397432727627939902682633955634333485299692511496045702227936816539028578619725473515208652483285106657927446529284770627945822508242430576387804070977808114986921135762361427015837749385712837840004352927802570435015426123986631237268133468047518063279999615500468426366138946906587801290350193401521643496047071057673252685723963738716705800059065053403951477420206297561757372254310618660258706021338796284445357750781104221371352353808281732958331007886283445879870992503614335249804378901645282545770114156463096401339814246506565102445129698861854579970676258442504259217935878110839454016909471792051593151442274529968698451827417846661149610075474750302473991480829518429658502409746246072967666242363634725957468054869147843618033126912893002712900424726828417243972012671128364376508241588263799173586032561664368828791787923253104800494922797735879640741356842629163753674911840409536346975489060465734778998599015507563911165737684370106224590339970917497531615903194653192209732335333084371892738653810261072609767112190341568582358119829978219460827300267988600411698416612650248940372774866043901532991524418316342739895783527289245926017545853473379902800163667354219067969052412094996396881166164319056005390380729811463324573522017557792432050083024879513739683627041305817041893751745044296768719293514332295545871614380112071809146293441245890269747121245420465490792741066952627496960107341775963434391356258282132325432864294899135095125101474643985956066637092948644095390505053247721325745611151160704981027317581606035245846722299156360112098637593648272427372648197895323221097369985533609527668503758853823254311009226043432718520110065016015276063045623259958850379708239212207326331005192642784818451753689924546716803085236703596329870011845456160884886777855962110306409433259593372334716684241543954877925240009844294438757763101604937964154940927526813606847430508144197675391474523431828984847948574517373835615731973332767977563747705104748802558339530883029811696227227186134896032827061681728247783894136109856178185094345221574737085869340915407251129988766523543286655328946225373356144344707678605553624674102407747446235342081405339116358154946296400906703511696443725913156683331466113904164997814282535524166006339609274817226066381498673891349944599853387609733154847225791978473146641249802491521607572477530170013393350044141754414377528009841257662048243051586708347048624561218291472878281199185523298617028404738481195375405566851956602615366071526033242960164535867613611571719032244128841464783643761415179612672124154995911999042230700964872829441276781469787286261483603614484056818255858336016618485893726522367020050789673418438700645872939460615906492343248955383404099945912992740368379165694312941723795192688121480606007211579006943738431739434316026007307176237820171958870992955301425156204781683676423349192864882212613071334496377323206394689238953209968525805513862617777007633376057204726197152423225202883629861329202403041039424096725694118410277130905762605834727322816749913130006509612828093418298587210198472987198735032316698221382356403994099149373336788051474877063399783822387229766141259538953918293238026139662438750381783215772817025216541803257622616211934416501205101163886639236854304745321489031066821188000097912244976924958722435168808454688411988201858356452919338592082369404720301269242020963260134177914265400979231411059632824240316657612288721545008619476295368350370624400553503372306046295426582379076346228493465230529300245457612821545487076342284197442026740751186098154937805216691487036172223076972091203356294418972532238944525490424092924859757685099059699919504532176705471684522424006579442473745517358460771640173829328239570271482252616392930450455179690709015651995354553092361910652731873231653505271215703930043211236716996158159638548240875391984159014775225304677602630695965282562960799280622937123497053157391897163188839912793615000156422608408195984304732611990094150343215267863081092439163221066341984542484049991568420176562755052623450789863187277231671888257789957568578690840862063939447507253800535795243486866901222891886130821673749157588273237452381417220087905321076961449374647035387179535761483838178974700682978514585091427484925311263469705395006631371821724893605033014603741635159334638123941922444657842507768662398820243611317533437466642701404719283158298570755493853929636979608068744411724231762754189277353162780837788115182863897879745190321698899045513720811083717141777094934055206719173200223751990596373317297734162665119998826880355554203616676613074016346489104980931317825358619305463188569107267726155084760395994205110351716972068775098350201867187827738097463340882669899883414110756711328785527625157158432004174472973685006302241341378764725636858542416838402224747214076754715158801750961601976044092049828940860181281756026160545657820432296235334479759140647858822105579360481323827022247516060573549905354160097931112845906160520197606943129543163391032593707835861281854795533997019714896416618219051113788653046368284623351368288053978144049061942163004374972067732351908871208460988246183121896829951589806187123602949980127905317013366479740584831559876861509357118388202678504035977517745317292204885364823416263618315323198765501053466858827018501248031970399006030790472724205759372160430543419234858597134576121152908049923132396334086544148800799447317473514595846738177168068101922819101664550714177784889442645963121708284864668173585161415438756708782292298728201140755112581054976802057128606056198223689640119526344220038051140839931078963173654562594476210365429046019427168473098818909762336650143404006799544985018396187803818391844679916015124666416138319482042339791152779065504415853794144362434035491578831715447686186181484517370698459714369583282512227922048171196575671860708280544132940597419257390391980838330520725366031988653767144015186810078553520247262976656809558179465177212297421115398368840947986687174806013344978617186850330869415621265873741432543350108008285543255512685464953839334421601544207712863177899852780486138881231819046734378989811624216869586469017351805205757321230824866149862724208457599942804753933411477011801793746621942750963121000327659021108282753021496174602902913960008419730095845934347987425138248102682984336469416166881509240809945518761533423961828440092067123022449592601028720006095793577037059119179090265623513771246813537714729057975429029214603394028989572966576697639033362136906465346534550552339895158157420327293077270135814889615967280651285363999233284226782865201976820768691214405319248195326989396208910344297761085757808587281191863835838811542898997654887629400606783601046791592067811155519266350375358317522604997843413551994319642871950914031603130840950122960208893007019969915231010262349665002893225132597796691292280016676004088900026551898062630497035238762452590298832522048523683140753536770494658642350165277642992559548764845099844740587136910669819941239866822171525666342258161867926055217789484828157473051956312071258396728166767419331261796427793018971552437898152398757968308630058370207670884050501110176623978400804896280552868008278470071327652289471393824229918315105209469489038700808082989316108178239362365683412006433657690282796699746088332442959236122964172332435604308138703962442821017881422289514898871215614438093775837166300942287911521797613314605647004303602499040627047046655306184344744820171611386763773581793039521565820398719183061641768528205667229882061762496862579962975230306803895486419176566007318525330314520541145257369043290594037112849585558313574866559377264368490695886527850004419413062472486893510845008307200389903618454797945045748898601237389762858356397248768567220942493749072188106207857595748571020478742160989951578791030390304389153006515345229479036320813745839797791544628660387395811297676730813284644303725536918037598475902641346010438305587562503567159144763861617029532969681786898644068839489165849900509230468259575542100136944089120951788587706477765474249997211103555302849938790702063806128878941525289877190593875787801790371754296577978903971533154590100401844119423402729827408492067606464452988995521248158461003303988519528417007815992239595250611420561026842791195171193284200050285403834893439905936816169964385730016168053671773438124031142878444760293522973645331693334004825785116336177200232593120157928642769917436509552431097703323429078178186542442090154911720138757608110482133465808492189675676676377278022018332024306222517263362530819469166409333606284422795791791036326887189605828857097503458101026701810931837752118420461906458081893545751439166591822176900935372782095769053254964301033895645566384862545306706666004549586265959993953577417082181505779018041157510640037222510512208977413446401120326360194945367647333222940865862177299358272870995554869385540895707279925478533567990731840351166410693737164020107002596318871374358932722973550558818120571458875893197594052312994834778014707032246999777752692767096166067163977102758809525058250873029032962824968112506327247907944746889067424714327786763868468049777076253362548315278334249634418885383828413994551016288046749485257079286614657384998411288307127009699987426348535304289161796086617793402540277750477258230663470873097903547843938982762442078706677945435545009329436623383990523153450932043737712477903577307764461213664766064774263358224142598129598001933326648209531173861409429536539785390951988845143595903395694875672467206067439014294494223053719878462706488762565056997574962164716962926725015489182653310903103427402812687287660281804933486496180818361108448853876965613587224296286174953619999378630153533861391534583250787473487367618870114558261160541518899886480791892752950876656915675619388331220930079695561175060428953231358304260011462547657419884188667648868820649925288764715423627789291352208104916661787283687382781466081456944338167893925104302038180285951124793756547349369128099344966444205901545372582802839852409076867646111834042289548404293698735708312342607771050152124135782287013294741715689608928910759263681283389728060065546693272853395473007528094785000953916838603834596520429881767459133579213232859256304292891115723176228530452068430905514687683041561708909884034850337765545064890132267209334866120989688991732859816557412744170971201918151906903280275063269687737353563807929959600402868625288392914716593782195055617112863982505703460810592656424843030741389063801845316446921240006443954288493936304962478866942734149611623056774797146582668666893757091750180443872541673226837619242800161206741366875890003398181879009583798560706487110189589166762111386232709179563476230518969282598149213311555340598587740756620669159458574354675959857584698622278966164828330610099623925147535566547613909501874155163854987026122567410761638953412433056744529245419502090166233410341798956379732831957600771588426443821689464382722196997167621054549856454559141750440112781436268690717014876884667037574904947682661261525841662691612142720207849570773636092015551091859630188533246330828883910690878767375981787928819893957646734172933297096086757751081238008279003535667880623853454485378221777027227938219154777224939612375448861206405638893070553560253955078996165295382899940337445798667367400851517361844860856060407136486509521971470526876042965857048948869875709186014469848302191236380004729031605762350825422980705156157584852370863175293851255914973893409127403131016439842852629742197275235552627801898494205422927323345137591952353458159591924755756455851775805366571817738800767817355362908249932297305248525197519073509424208437538026842903460623846127167204453895547222465862199586240699345010140991990944330015495580943851258598742863227279124754469264508834663300007773904942124992354531613539396712236688412112978351996020403423306549156906727588985807121817182575256405053446053292110603412850616970952068593491465453316640360588063928484364270591123027337692479439604522136802667809578405591420147399490673947611285440327394778050832814373183877266963316419286127024401275908991211057152830847632700183327263297583032112145672338923575424191739194871580475106286746974946462385097106981107211570147904778132598447045233900253432696466792609909545564977625132007815891647245700770935795311584799079857156339671694499158347085415233717873778190925299036361186424284355371542554541434885858341946385422036063457578027989910222858816329892707108912474762255340656445489245972604647042190522161170450740401417099505318160568986512208805787928091178478274949564896562487943911261402682391529569123274266619567849015988971295484019789157010686097163151183549125935336216808704839087855851497096762707477387538205209068543806636238024368856628932730605617728646514823414113770221161830039814619768223084657454064848004551694261539275864633808723289125011712215712274062928444487224565999803661569170524347994024880983227780703609485099355787173868371135853665720573170644243871070230879902566203072011611169201600795006291048015781459127267250306814921786303488374442041162366258420391405628897281529138092830937183052160402344571101893155840974920432982052163691547565606598502312603128397115108072531395727016990099749595730152644933645755030600118979565492068135774081575763897160019703282112242624121462216567816084792910214799879921792968087153698535514850346188933508476463120175005251276490711714856478825457975067757238922504551064651118340813474633274413738504594484156809195301312059655175002304063386092267789047030685840333537920376109539313213925915721771945421494139784779767644376028169703338268345904984678023623426122218561867847203856459146907016404567951737788864497998588695536535302423320054087227927853982471208058569645969056846703469759205971309582834347365132266104784064483376780355338861951546599943038185227456881224976242455236636289358510104668169741097750898146589489823917964952216503923749488715325054094210882984007614849842028737142463879410062051801282459806241995762009980144635507221372392692817055687472166163700922134958898275123257869217122181545520717403024224115750430071291239805948706797246345415977095018184908139215651519096690121843121033170945137432800921184871053315364599828357253909658649003169858297822256832864779398892752632236420542085019578191106571908668660823607825113702499538558285701096239728021369694599281487490407071652860308077997187877526634991065367150426751422783059656730991187308620223243844855031612321722656333941030477163421780402493396263227114716885208460273136401106139258202862266205583222831353625302916202727104905914036145284395217199649926463544670873801772438066197445265479139462411701394635856503080006159662129543304333180837831203083725426125217256496472851060214767099990253173335474153750581946627352732821278959727566114354372052302332226856325773308849357673879171175514461097927105997742204717126756250628377364811126417888264804815402408603463060208417007547026200217536785439284815551734746387834588649930395094675771258783793701593868701816925760838996343352961170947075347445689689839079869059470458134140290377596585179363740205133721127902401826798543668516120806912319374915107558410842884218250987149356701157554905114256121696561270335281791287063591086445854537551377216897170038120978236688842126405514941619428581065839381134256153003767310600373557750955185420163351542359655522851119720907807163358319651482486725037476919622624586240002485498091392846246551623083800705580934549752377683333016921282392405052131976588228068338015266022598154338343287358609115833523257505259365961252499697477572665137918674000039745856884093943284646085287277342400042379532474495915702480538010840075595830218553799619190611606223773140698606348014445708061450817437634417578603142056719619438244086490694105996227031240351214402286794516238474659511820695147005870881463513340417801165096677965675684158922428587796213562278575727074509413650287857532559762117594058485343331528457390277302388589436463846118111100165465332640411446584195335148132608933762688313875751518954818381890047106384396885922925125097498557723764644190302137056485682808015314809529462791500863993616417327457475348680870843004182659545413483028555164885952689024754535826947681423395066498569776302600634434148637407887456703212330980764144329630097905095321850803207725709805690022408945638816757968542624597034591982810075808731116437989548105282717064944748335881207844949004961829190338725708696523394890777385050083631914528405045984044030958180191313950652442747815087336841412477342503800751473459299195877060875902168248178224892896929123591567481094564491820049349606365032202243598419941653913271082969024520678856270811500956172796652222545384803480318692828904224802787505314952104680519320808130667477650368258884282735672188822771155961128781734041442733827739396341532154082742713888399785227436098663112692158074555906340557513590711966482829050428400511821236742114547689869801121231288629209786219014535517634472470573858224129454661465509465346984194841325002044444504397142769625721360993815465507021880895483808657817802461383580215831353216554381559226412545498243497678132353799927194723889353467006884215752396924992924424243950473713800024055801709079107297260051934033753161467141448015602805526535300900023070869916075389341021516698419467478155079385421717011966830732418230462903700254199581265379224464236545237437403763114662713873704974561256046873674179190112927588556846048238001940099374344125368551726148854285059586464503932798333007513463272582462057338454310560866327406305409071023172832510253711309374949198410018449861687502653993142170181862336495257572779300246252706261306484254672962054622721458059357416651877939771738461503822045921003072666435850925126683230482887707440511668314262404584638048702622359549840331282630197923784329917511231317217509635890595315980019338159896452790597374511009069990089228259866760938086052666706199151781255675158665044105405671138457283137148089676580585982032077650580032149143165967661784159514323936317586153222969558840261961474429842724598802499698214039541437592534007155879151065796325335276754190490987587237863338650540289261706400763668913326547837174970690528362109049148961651025409864102155197186195112395967586247416268103777510979243344733489201518859696786977173701703883154173600341402250582488562857523168552077581520456307555925334163692314819892286035731071793230101750056917545083066954147998259598480536256060974676882251955479969768130418608139716372013794413153598101309441412430795787662233128833959075546553234881346197348633833897878998712480771314339584866896870822822536335860484506613760091353102096197284967740799370745866062884389265726672467653052400788278701453068019047768450524752483115859509858658711762860889010102730170227266338767336932710581332853735841744408048222194490876408063744838479620655546119138462887679642444991198852836960860814227
96510945028965308659058684464587047266890388901358009368657531543592928602531021233523397097481849374313211892180513711171060577438065996200517225188585460121585952055308924455510118671045492159297667857861339779844400234518054638402547628244515834896565040973237258015705019681471114384576723883022364697863345977940830064029302119831184274542088536542624288143895976800273304185376789508388465704809641115213142587780229591726246249867384457177002427316897315806102322125541736811923216330098659593277290217553172539634779298370783630162869011532403343600024449064524281448268795898575263651452945261720178776814369696061547650292020285269055011224169045175458154050503045821850953691003302509419602531831564677324505353239948865281036378536986209782522344845721078090935278774681464004448562603214133232608955032968944671170225663727881583859804844043122328850607995015415210190959470846821623140458324905126669014459190714379650237813280085720732512225318998195754638403840135963772585411619359409787141578761520057634119150079573322730373483564503622526061656344473256958140698726465704410376381943300815852102478574402352232158036534877834737537629619422730091260779309491079819030251538599921063109075021614306642616286863956513027144049302791743484985356462991594624158016576302547264706572742845783188244245589028031018921246400030653267945188609412984776905869445965927210185602863888506557886966110892886770777130895727602220359786574081278079081841520997115842823303410977139353682030732698976405455719094188365069326990625771873232801185239249559283820505850131304843487200910948176515779133023902368653393709474222606967462018627990049985481248045151527665811213722395926470687955214179294171016882988937090238387781926683667705190816793484248868738060518979567203847054513549202738361075331768662784831713634297044721385396530460161428048109840116323383377281158559107792327438382752309530956718549049340633459901290524345723555225993663048262164621696391066531046152253940853781083141113558440116237037672386392081316525194149667159568508753388395269579358836488483017165547966431128576632318475664535107414154454789913739397860726792289482784800073960534026431840390444703754521526115905260950014799613248168943496559487561544909971661709887383932610150193495632545671214723601518999727469094508714333912878437261139413494987224376189040129183029565795637324358264504566944316976366138681522325537706233972804674033599518976909144610015892891733030066781083564419964186710347888159523907185941310517468279349170192284953487551529363812977232346233440582632361309486105670165348611688411541135327770926690558281546108024107664882460184168349374292699639111930804170217460508567219987358105277777291642025785809266557016060133906702516012876054811338397564061702323798916158909681695773221639747793484525828313472827064238778827555085904226363807556826938328608610078420238705811775055882272103668256652035498735872244118431247071373180211418708889720027061669632955702418762378792814800850318187036442822538557120678184829405834318097801714992002211632040993874107363904672400357466658086703858199713009359734533651847059194345476846651093829389682885205951791444367866714135131512804357749563710242569900208722110180297042260022187757928380341726991498891490549119371158027847051586497583310094936699171837249232882825061468428240610652754535058245435839742801603483491287815473322023405818697376722577150132678075961654969462566768285305041866793729808625494018203974087446713183655188723447876367400925240539799814572054113684146567734165131205244658459432031282656243413578166198234910470516308353131545965658515477491718090728122304664126522888157278134211550658405104963395297174438283480187073218532181482650084020153154061110593760379879524650629133236480377832220907059554654689510728758760164106668408859183722936838727568223558800516702285734863748454735835631173183429610468526031078741735474203744426378446688194578901936463007860472040232790055176719903173745069173671388888419477378351802156474417223852021939966886267529857419302498944241673105600003522550291387160859470297810935244874395476635044982429184383124648882255250002746742676321189929774705762053015314384047220374481054206524151998094643400721136271523424519690822182373243271532108458315014898925998107222328763884562136538970146189813525158742637435302845366928335272528878105495912154311837501775873521897700539671671295599980086596917096017048232644950529780772420546260779947699964127432518155393531556754364343249022305050111289881291122923994615682971123914800735384030204273726380707877875107931377760424726123157212821524035964625348040280249117334163752883375730523605605185983901580704082208651783428444653609716310975597820354395583425225567980068966357062653462044040967724467097109811322827626587955386616321471747197517394296544794712621508076180832473527713643539345983984321363760646880559894829299602895813237031184467928441476336532191633316571999050253137258337485710555209603874003998785464871762470913714145979993268554604620851860769757430631206978393551460198123066303125068124118402518600285193890111669419617270000551076525136127981009388577069788368464710537729319983835347917679512731225529679537400995548276806424131497818253640996672656846362074499049811307292238350420204184511714835475023203734770534463003848028718499500669423091511025918381984654188362433720952482785558266086078729916593595338189731936766881847708908244697596436679781864468616761888863165699161275201616906805534467883875307825858219936153792822297438396680217275039083304608910905021072001616637055775187287824020557264544042503198157340988598368199974726550573486598977960024559617569988403196438020873842313354174644132701991003812673744126779905734705992673540174713917078103590153968449912210947342895062909512853772148176064994855808657495659019873031228162608739802741008078938664057737230755752427748779689224984503752043808645389652463379930176865827341659438004981254425780188216466696444729794732871011352629005897413743018771324337486584006787203235292749072018413483519683238310179097429534722128047520605807654421921807661094477226464968497269060356074340020609875919301514930101235270173786606437681002968370615742590114154322956953733130275189720530113420533277374314107191266997807809701559079610621511566436681336933668411783296201458161559696237765395893700000121207789056281538817430978649217851217616452612175458879900768813792043387617104497975382824758278264992303131251733914311325433123215327193149180141515657660540785798116400183004669910249613709941972970612214269620489698142485626872921431727120491670802819890832191427213397629741123076644424723310463580941761905715652226966672020782008916697473838583942624150483114048235587793904117773324478420544625456958311964176983786498191851758488569825765117272790402497133434457346670663526978018718625506207651491344635693731429933313775334801476930855114384627702068486201937322123856272048825141571839878519091200997487428607097153950532995308917320617313884579864532450852582524712485096174855873898763933354188468996672279597674001285046427453456843631905448148572755114328741066895760583858331812399226393229283541212746754026903749189435819545974466563660528197794432721217681083409843612385074254225612628354634787494322843888392484587117038125410973873746015147984405812679166591464720915998069351457624846133686109364197819602643489037456751079123415710131862596680513217652174031157829903743036037083351649739761444813290823926707202398573195959981918666393042708478569110699972412468858064483928557535370767981383979221825500147570320360611590103946156193989467421947127691791432396536082355900569188718462081940490167782101442194768661413817156063760856973345377447349672093860167966844063323127209425359617359870248172810520202379777368541526908545262450220225934617048153120077585839620324751553667899860144679421857765685733866011628264979071615231551864159011634857051902732871847501369204483210903929527533419127489939660273507293467702097943890091038119429408417074319256622899374349605193628674648028266282696593578419159490668124833785227187244657266728341777480969576761612964640659726646033397264796228795205080630484257479721461395440640887799923137124983020648605391677043731451270025521823263934848519644468814807281049611987634107070285590236275123633332560256167188353332965769772836284838690536971994488646270063150027706793262593869248624390910087445789659639763470125596449036712425658241597768909937059635751408574362231498918410148533189284983168222494912506106177192167990181722288972056458523571505386262136805769370602889496158726475876151808804166125611741815171561176929614321342673885769423028197848247738619521858555227669339320580937680429640622036668794951014458611940440870519478618321232219550559396950206533420982322591700668454168150455279074202527213850308367357397128037814404951729368299688339593281718439178344152297882163422763895760000311030581312157867117451467215547878459640800999326953411930717104896159785036144991427895077648395111317542933801463609492620616299234864935176549187383733230446023869911814755347674594839474653620804511199662384791777634540602836592496054938913597036527974921166684664086513988585734534155696767644059172000888123889676685263979569350548381675294109263645888747472260404961674907329044063450426160311442356272915421775929038923413147014947377428442181525937615370058288079584266717352928492681929644326613409219175911804029210113183325171228301520972269535999265544716600769873068878407667954269650057040648338099373606155504195844833576715930982113408760480054086139976410756808453914523822136714988827340333770111735374118731899672111172549384072261654071002905513326859711548327186592257755565564334126888814839977691806037657009824166170988987250418164646268797119341682655403209522802021794182345377167762110974479779135246169466913151359763706474845940166394471667390778943138740852673907816113679453126450486375910018538726591178424587914205545317414638761917149203452065219724163802061803030728516243362137731543519625608815534729411317587850496960053800779287154106935539372972717669562759466672881423924234906768820596173198608515441173646173257437051518173559062787730639131188305534746798768929090964348955456059811623730342263417539950961014382629607675631126162532846181530410422904699899906434082610551258079491905216968473148448156489146356001330959948080521149992179853231180887459145908260484470201570210996107944129290601026389366750229942619456773738012425607882876262294588939624870150149622827503226224678344203279237866984071328016500626042733724682475124470944740431897412525143023805575383301583108928574751521802212237150472246622714459685397177787734138579068447869295652230431955307202066356283995761826008392882945272225221132274386483453815701759299811954446133860492638439622671484857366492948192998722344313997618239257120950675862868292637074288843375366803171006825615325166830517827374892455559213437806571732560045218880569921313747029556244887550896350714754174058474173928707296107934819464239160327616333503305973486101093791087137294127371426943543954355194726927517275406935715665296097864951232686712176444874878127092151973156343336850317703075166639470988447453153791283776068347117636010304999322530574884350249106682501837978115629818809537111608187961624564027411152123754647509773285125645014001601462928226958768288934694093395974047379814112876462091295546988590488741871369404469547507581037013448963572361126266454827994527413381703367919114985151223138356565135966820214759929654088448991219202593614609069513500282475301925820755410571417228230314786010874851228114032919611666160017593074797813245004031102201992295043733761446676200441916832198616407948786585959485682974208566942551291564464003697789319746648758854612921008196857093812365506660717019498212535254869552588981016620344601130706521090761524441871650209008993663029146505943071450755395049732177046365757063566507145101609425439923342422840639115254332026766217441660297192849826676772950137794321794257480616526305697404019437875292699706212409891144502650004656364311102753271628873763205927477877454460432855411859514988526582294756831219756263239509942189302122498321799062901121231510881030861414138450018423429715624761275355039264871944172773108624181388027387610352049597804308182014050111929597253384061277876147691387421295140538344884265883133561623246857310738501953265180952278377948869634945500120389225280217042974347954856729658784135335543652847255583611164965331932316617627137547727757050489386028939070154818557499829353308625405015258349363751205606862929605889018173812490346267416273186273796084362606218151340066274433765322790840801493061002716500435136760614785630982327284032906216451476077683457424906373859934119443945148742179136663976871877240739887492334571361316383186443910182351029155539462211985693363194667788219768131544718377192973139714349367925851513132817728093852867197853263833292579166347186362846529756029237004445240157231584977596480677108368207592975406349226676408489217173912187924285831413014056974016320668313417219157185060118171905856865405528803706912168289913755545497613503563783849757089037577526531608240595418499300793885468486606461155867723277579016581819569498583919121573070362862232888343443067245539662703674642647079690159440940777888455857581856438388736767318885110825128263848315719040507062231801468574653349064482225186934522129816233849010445668411569717451188379021888722205905133677792581474753614792359974542507687099330538521255293136567641643767075143743115415417214427172907138718700811615599862464945435356161438729828391959368744360811716600399046868557664398987773720001705218632148330955257624890225155065997989041084390812345841965568448129205504463591969479336530414707148700163051652553135407367679711719976580059841794616740992290314023621522703402260326026469561285815925156760399876915648573388057674377152267354207316708464193544138267788697958296846173114556317572355283816433301950027545919741459136844743119794628741608471366097302396056956649446700071705812595652540819911243975251527668709513425190389521044761901725092969597644740520128381112285476309740517639478888083238549485535862099943755918693557035150500765677016830541799205299371254703255773016050209436785495110773953444858302530155624688073021463221612582405692347328003299292395581178069504884886224165238296708980107642830289407679952941206235532842278234512862600259039259134608794855334896767045196850292383621131618136822567358612790157957481768658370844012847329055364257633995148743396683220096469561690537128260870490054475434900024726899754292628671488564488549945247980734176768936172252208853345500468113659542914484855031137450185365403422134359284181039541801557740974942448052369978033502413756754517271557046088390517719324030226673967485313669457325251408108166316918711935753479600971365802034058440843082026645321742547820729342854006452759013759756266297872898337836182712609173790785106339455818170611441434929446018109445420271558429568052603639782864447201612824851968024936487406772462986165007380959505685810059788683733150374000206315138594946027721027376540122059020283141926147787609618602054127055991772968321018169393212413808128354910984688372428005052369245784023589612116579016419144002604711646917665158175438452250365220086852794843125611966765356729561082841088008257985488406953559335512099472086779374710688123700862687938366414717982214019264831358853536037457840023684271097598060594157405966359590629370397770521793303351834431579664438276614509427268570042126754431679438482607452225733777296268392123411092108773878812729879555865325161165796739637731625365062016219491152213293353200807585873643961917045935254774355745526313718748081173005717467157453080960447226594627761850470108296693137851373442798762773617111492411933337760128913434605014209687643834428012803712315644217633565789189853696149911387306309801658386105060344556939411705440790522196335702586135763253503603406601195342828332044466476025789099185645122016611408796494433808890138335147379690712851638030367869065084659538884098183633392578943901240228952020423224983810595449164935447992099848018807806351502461982107888336169089889696070018833644043080959600699741988988900137465716833003345865680612832224196872377676744345969787179368695372894367148233212731977915520372968542674848198554251671852283388622404760095915940628196219484551113045035317012591166950916395752293308438264389007432973851711142340915374358341618207844445446297340506152061548457523752423516964350648229734309875401812524859187493681255663347386189631456588389884152990883030326559357096312824713856106606399833042548858675167215883365249755654799961018085354090921136065190830154914616655749452854041213538049649535543949153420602080857153899580309298726519432694813371601906673894770753346663117376689894901825065248007720424171366525159939257511398197896894403555024773758335241682442257249640303129478831343615347599554433684262871985903006774979281172354763196432315433394009067767389366941792774594160262325573003701126059430912767215997905108935439457061561930758676249169053663198523162515373636700517251447963407999557854900387018601434580878172541775530615262841232770921010174885610841226808919257348975461505244115221379570934961653029310962348052860525812299575329963019571171300376817644519485715203511581856820618333759864455311653911717330333020986106333868697771363680195974577324863191806377079184559228650592761439154302794651642231895019119349236527330032341194949022481533962217184607624380379464164836180455739008877635691740498625940392564685035676529888937938338062226117357354593852604054517270620267538747407326942432174374761923390590252421709890593174691942961360735238077694361617348068351319553198721761630273159954098199376069225617832512197705538709030002230026808723722121015131609786438964360498137046553147949066330046293449345307546590674273164804366493343845911474592804079830154474262060839764328931488853118076717459081250491619798727710669172939919566959836302407802837515927072994687675952442186027495990840958178532619531826881583162613916840443271303535983571130874345507757279862413291939405780550091214430613289709123189994742062566859401807877312905476053640106851045251450851530662092903315421767276592327170938217567687712767687310271817595812723000357999122020196466951800500307458726419904416838637490171754935574521482239772732131737822719075137404836431051962505145487491706039944242799431398991161325905353212157673375628719668707231734078802226878607832813882105521716181641727496762317748129735436646742338506253334013030804722527114797590238248580062464890412285804218914194788247726131433075110991352201598608589063780809083419332485132651184494701118446746502340475630472138522515172867477117991449014809104510432336075353579979740019032838063525835311233121097066356391045703883259491551848127532499957820457019721727391500475212512755744443686302390015401247319847725230770538205071320009382582106369589073776393448002585833307308705532459671612412578304108412846753262643394615558772459372978442277097363894098971071868990343564722524445114012956371104382781659454407711116266528664662562770397496481467140108851770057096744585244535908492117564884267793266154937112053351503546075640853273168965842106583560880755618452408271134923716011094125326050437485675752307217574146925166647082418325875068609513345683822702609569083362756421101910351186325516144863137500306267494638463102944894667779115246233310175157708022512716781588800288626250893530982729725131167780364373901382614924171179654924826817628808395710016360337517830946212903914955120702188027947126668896961862284482345061351570840414655658000948253717903029046159099293401023942369431545746537379837998875482710770377953509313659123901286063481246878763028396591308460386615612942145782210164841634119690109432403289294736615464305245403791881
51142938925730237318763150414245984645432982178866782035132899741023140058602828120353809271825739175183135126841824091904557297232148867474080415398171419816422471592140504268768147980456824294890352981942678080437248020486683994956391193042646222581889343761241480779806038904912665063261168354968255165250410807775142303162488013218805428547420307276177140276633517133701091875448846152576055330858708556382146191538501655371573745630421570775592605869738650487644756222566197857956222205436910543050867177981669336722848284161292295215107849049673790018605782822619550324133616548107132416339059228446225144614112886927990783024109822837179578367703465435984345750500936928521804242532317139564301062276745568340558263156091886213618095108420145330742756989439240800608049697302965655051928939997991863049680922526758994659627167382332314605922888078836719473865518772832564576148305124653913736423387904799374709784981622664768609301453858036193062400466604797143043304361953204846232711023459216380061286172644205919648163051989142921539683516742597787234279893052024518061276872601899599110792609991781057469966422341170392199430060591096007012157470171158558772678280338311227484968857776976232481235130289359054529748930530796975261490330106505450920562069401176518338572326545932840913223412499491376321932447791978178274521951454282794290959276863291375478615146677035440756715289791986410197318692185971202674476732816785667086386893517992423428510608022028926754416236347475164378752252595299823224369381902423179720848931546199899997754150430287612108645967158862138201223616137990907134117945525645026382712855529771988824238187438975434660187590167126979221100290039395608744176959754010450784284887502538647308925491809699584284250934782723155163871564619872744703819377095151723946862683371319251963638376952855328205372345009770896939212658405466885604621851487890663419314175929980149418003572672092202043133536061730807356107407267697467226429180717439302232675590642881947976705239377237952851063637878811276033801998718227850860306224298490359214583298755750076667543619019620899916592845476619680064644668032615163647675571635951017110282357056130714591542305904637462159914481921296893996810857862983015918123019920034713877652246986776583510962352297569302564908695910286664616422215705325628827201547669421949961029863011278900012461450482173161535494074897063321292149603723868441856712953968488711698638047159377161995608581814424490519582548441932555785519646767680692453383262370823132466216629386765282286553950273614287844792177962681550491059533121296448354089149563483891180922728532208572707796772197321578851207236363267863652386627343196713760341301003013720392699973745751690420674281738918936276160784888624794612750442525203734040390649778840191944713593047103945757293714581627703275753558239235952407709514430651300720999775363580866297324398614508439213828086570236179829176708571180618836471424093417984238454363722725792070889431050720880304507501482251541119301400175609240970151469590861706323520418204649863485964748157102372427492736050700670535284809979977659322246636448423209053733408727680745207440541288660140805075246364940555726834705546449919201984520633730602270722562602777076611705426150083867663851332663141987597342261736632336971441472032057791093065641420999811208805030986240741886387841924046156286628911253981355167180709142340219530867321023919207761098810092157555319739585902897430943606129697935819962793668229770505614325440306555769048017821472463706628533462731793680956743654251455152508320314683280077400467072150020476556635981916357518757424371019705527518270664990973306727403418273803836708568959052223794632001439586218011365239952708187615886449232741182707722540093965120790632548803192742963619072736978388502003735805903033861337353996322970619488736338166700492732335310604707409596996036106461191875663165261852146937144794209473652235853727750290196046516466383877131736172831891320017676861135393792088507656021277928743654567856231029913689531158848976942884036475233071032142919832981230452620289590089604923898020552356258475607888564195350861265504333629133045973482159515174213812904812945049679768948969577362345719024182954835889989562140309042998243268960968078230297637201762771017958683118482847435933565390288059953423448888772177133206249872152109283274614478482293001115882935780412305234439909904087362117760913657958983540287204539527053749690861291754801584914963827811480684725054038738139204990362173109686952085895878987074921742849118964819479263650464718475092359114946633692503540143555294976163347722735493150708796120789476332288611942084594222727139276885271334973049699368711820701021855833444519713270585140293976907811785743572774164915966522580765711867854953117993866141941229961494016164897591386403996735320898794459184792873792119122332765960172447697645330251095136366017482211097487648631773862594863614195266125933613419822588274951402087443258741299329693687130005787558836819801165846173527924251376212066206187879092633850424485045572016984835694376260202474006647704202261263035120959059606883401782979462038225787008617112619683916212373655910185511261558519387314053650292819829843124209752303458869216840144952076137527289366027047477210679924371975960366567256883567380790508917528044334766833255166471883347451512670268808771790861374933917744297730496669701775511630034780282963692846582219316281739600010554968216593017683194071102156131002600927429023904268598459530477573621540676484812548087261327890585729771582373334006209711785967260421681831513834366369012560922953909578117867829387193961149654340899759321572531744561967227166665453459402113812079669650047625605651274674860557707165574792539994340004877102708982090811936965169180204677019716101760248514185994466538715236445466750448853013984248465145186443345684517212211827144006941068194619204331511593475799892268473285451772047888511349608982917783259293220160976651036497222890672899736369243992052197401052870732605048536329589805214988176895145275558345447511485692561305992809537916438842810769708434950552939000720328658012314649711939411910830075846892574791292071680353126764468003844851509742194440849066762582218768607640689996074904468737822433741535533115501280946251753463601459299256701349195113131680020685291589056438888393870623319246438949623063275934258434968193014957551390299475501566797166052750281582224245501723446144015694325211760804629329298668372181691588281514808238919502938754051739722438060598329765610327658003258239862908320682595612271922793893374520676382714318772602181385151745982603881339066470739549118002331060363957843740299504108823738099212002847742861150574262813597885416282371921139384641308850747895962500734142024971929924111111465826463420556963919838701023710800042525663872961491792370324616736879276776196390415079485782477149665730370801882690394497263138395874013668132712767870848948264645901660213488926027025357801410536199531039389429213237873049138947831836501615086412801730420014541888361157515471865984049751479729950110246104749656373098807452559842392200824951799329957715447805754146488514453835376082963525319909799756378485249648286870982336372107461821578379456877993234578163822804308395334279972354824056410994091898622808277428790659425554184763614325730461769629632407123987052907566821905008405484474196706990206007132682994450944425652011590563997677723107239724064426306762824621558948023337385444303214051548064561723632259747320674836479094896702462006939770619563818261577561617506915623901634670423834743505013049043380155198237153659845243794050502155739305674624701009851777516909065516201074490406382010380488178119233049464717667807815133994342467058592189958925004834994775815825987142652904631686383566948313226033938835351128660924217355092119859696427469623044169500643594920829779516822553546812452434015315687738373064103143229401322686132582611089386367441157196145593183476061189498626054965797619022874422490052723977819952611524347484669400214453658145971194957554101516715663713695857328788150876073717742147641354835365861979644297530241399554887294544766211323324822461478187831073514094341323420201787436752272235500946736210571943770478427825575561384596356492992179331773634576143351618244224440199397015396136889856215342050040425549440133620339993300179406937272344463255213233480943867767714566262377045076358090183017214514457385581927361141077866900069714260444973717144460859981224373461372940272484463154180413587414890635936363718048404847769059106045103055077503773808748306489919402347697924932941404172395269819620561749284033716762468727865090681085413137623278803991958650717585400506802895987208222147065323738769136652385651021952166977398377702104599224528247101253780101550635424816758670714102795500348121502846599522610872614887242340302219614488664891284631046759689855888608943145172295750177940843103177239274100878744586518115444318379583838172205450574796899688157315823217467916620302323511616594174670978798630739655402273300334453981821095624977089566097000624530163459687088069015243128131454947803879600039187052452801904761208486195290894016479570120136096853217354498436748794142854414196275790838588510702164240771952843147433081643373525196293080627184969212104419285695232164640149157432988487516084202778504204249110649847515528960893421886607889902961491964197241081243651945882446326408389248815292438789506974399056091327924864228200405007437837193722466454037591523346838782346492893846031763877837439171439702398141493353704985848085931830542964947693773894268051038870301521543050379046714177054920813276217346235786657843292145699528528562490333199812131682857156785635890918611122148550827339910650854186580177447623681022057772163947650401993419606580755040748291391119229963377491821841941969948674500365622887987894163822722180631787798790616596092023184908117607877288057102917718776163980425060746674876559261718531486325931362956558073735525992661119133689895308544557235616469281093267986933875551997077455590653678914113932070643546819423876529579843689223533648168622854975554995770554328244736079901243429838784638238429429265121252283660588181353838169967298515762425617348735035263712724176042772847247853279222105175520905750676357200358845157493852146136019907407959986015020497248526579741055373238527043466925817190909749359923428276380668983467600288815266681174520742631987691345936336541002255131920186615669311777062867602102568825436642941336493217740451148706253292178441682790345678746605886475023446285939946990948148154105023840568747611107067657828003169182396467045612194673671375336444445767786526701628529058286949653378569858102004915414270781714039555424094304046833151899430380644068325903537465927758568465582399649749650734466648370010428470306529748385323574687426501998635786902118976278307809544839393959682164080714895854783780490844657018826589438201004481418330605884591882133789737460546702838403922148186181344403169648846764692796186582443204667817495926240121869262116706168914681089116556870304190699806163757752472590658917189812996125962311070655706526810107416947046086707039339564968898235352734499759525919655785435624080883016642819492521558128923960729229186410821611909001165616743073831663916538200825170827707430051888634800117526221129926093443823864908968082677458255523944948164502304103975799463229216947014124417040725726853380037250670020420730888654110469791037542020377911414030923478483629012923270204104143809739469451577362373645659083222482139441822686604394240407239428607630357605468522291856334508086661179710276638273890696161328750569189449983238801837446658358267961450894717548373603431799295336800502110086333731585825268343438826613098549527748214487730010299099656358130331783539963828294200887007252936398205051526485553573904978242950497222595409229316442166397773715684149833100783270059219302876259788030389339132955971584737922073377346826535501689564796330439665435251508672569109989958492835858504752526544419542534597786525438060413275556151544581776747964968074982738516477797373082324788914187687069362356489833889166790665686554204914635314007906368316115639803619209964791323304411290709247440184226090298477735529853725246201971848693857126012183821879140016166914824524307776899390103106376386745369939022685883657700744655379287226377231259441141894007174129161728413330377113104122120995745853292014646966898454823950084214848567522262160168092126624815305307906329533446844215634800632992082914084459265256933039870578685640905448011454270084125788127118266099910397806713568171383899307780903386579110286342234089289636807148149263721160874462703707443484734054370267152502454541364649820383724417354317457676670831491345837446238244315560765042310661786075311581329860726272272457996419866920162849331149699063854593842055449195913687221425717204001746667512188761059317565659134144165819379800145555918193811340186659546393838589223069530732287098016357018869822811184480246862394251176918295362369206237575502886005322303952387932778483447597092850948337766117026769415561706811623689721439789562269789567348100324713729462518375627420716508842681661332341201405215072380318424721983278025034876950115988274923549592361994214114275335164376569727595052208720623522328392465828358960861308591013940936910615025162804981701043267588209986430352888463425418395243863058243830861179927419298866157059933376743325965741117072082196032749885201896743647201630076254397756858643363441424462064251201813392598095461451156644809638133295391633465304383391551026993404181258063616391395632833581588475054918841063768622379684578464543699105435033618077209279042591865377747347784865030776753318724027746487630448161065850914078507456112339524302847538231045457827338897974744000750810848913021843816802418074043033120720852210002180974940394932741103203835749964764175326464340345873942762308761972456356305227880033745462127961452861861384509635596325612721710418781882344222451197679779573279877024836867118201649407507648670476054304628307015172847946811603975340741776256535457566223750347900516762773032743749710850997719004158675112399285283053951439531039116657000559432058502840776772820311683921491311478132483240440173749779183480364425252321385466919869224690752094877157556335681242879487139484574022074302441311603192841792698760146475767228104885987593490835496854627847432016695647138915970593844772899173250313624482024655649209407080238424390919763241129189813313067078878479937003397521823066028000484944439359585506333371163772444121480068664701140997494155351536222992094357348153767619074630757230138586188212681570457070979568335015232009196780875280714531967979553517438321783672339644732641188822533877058290025463420091915611169327054762711778992509204375517672122591822214889819158896821358961254099639981538475323635138152678967475873471682670722332805663241508467772751949344251196809166036594441076426532532085703771465285478237437182834868764838754167413188664612207424844934722181652546295858706027303835205000246247112666642749466797569433063768750853935906482303355825372879082980805272127382362795010752303608374789523042496866835511019083128406127459529610517883179278303978559905032350576134209743654543848818352897699873033841948724671276486117737932046443227567633499621311170845769757186508609822231324568396132070057768422513525208683464730280940996801479636006553916760487316858120606518863162342091151981565989323487275634816109043615718507042600276521717027876392178774471559233812547718237054181182068817268536449082164840747938891800297246031280970566221344855716842043141318793633577080427204780493672309668883976771333560572822339364799090874503503683696604887790491787431789506641985832217259790831572630161275382055304841098862258966273175681476517550006276353217960346142455995594927874145289475929929078725698515536519878941449952302591109665275053514456171372096548726971709558306885369008725656179059977803410678526714114613685437640327581790345431842342101166953651083639259144214636278008540020754692281423149336920089185117273392628831635670288733950427828131726055446169048063319779293830711711532616240378640491462604546010486171772911644803578268587104666726721489847762574055537839818454752497518423919107905817640241059228004392569016976120002834117943912170196133599469056634493864524113106418638653507238938127509764969944760403567147252241004705124387703934869691488118180896075489851748820079967520634550301105968477474530428488893641196455379120006761920096000492541197032302656634202470274365549628601287886244092170914193908321725219464315165543402600106156433032375802254254383624708576741650622681624110659874343894952961824830075551992858345402398496804439870178037496336149646320331398599990988599021300918165136499416755293445015079566573718185384411720600419174260922677771934903832654028525814548813049597326344001317228220503925315591881254215937598602199407539528915669264263504997399086137205318977224256361243016936431660542906257976087404415437869378701885484661908594397710770409629465823590186759842154433957687619517942692275945290751527610462039585784111563925013511483539466824573955893759443183923699350942050154034628813522419767857097810306184215148640185807672973759425983222175123220051486599827624066410964205941584695869753145596233693446477409502925594518506405602446810487575554022562187979044058970978717663511076757147986275311970813426109511239829318395942475474332926593553374666646638847908364264283507583159460789208436937915274485234701808404601817752333778366718239820462210269757365854394681154605312006327005158823740363160743803517948636536681380944175687874233568490638423260000291280366199590650605368317666493034029301581220568972730875654344021635971714960728776007030891820366306720984882798703948990051938499512337549824811170479190890466355274124287817781586973164430230456242890077373094932925215398795433860374444410515621897569808668362872762536318320574075605093988082631663183685496771347937597504352104904979121172347045845117636336603300627486598573800915132351531879183700988357847171843847825120661618256039014951431391273444745903718540775619038923716604417849452546776491897226252070062679194955932631695131797222666411912268315574970947123623910821589184636214836157534310871313803754671464452177499877513883411262142086322591663497838960787872445855576551063175566637355024979857404562108530259595279667526826970315398622527431868643849889291729681526418335084742767130805871291882564990696655624690934287217741817259991943696506072892173455011675890218844062566104552373855048903409704935263717017025280638939043636946551694337702906076793515674354504583676262836486764750611118114958122143957611893571022547058239942932609679874541121021393408720115920342380925984491467087402449625700943855504144193911921078387486859030342786643135915632832408295124590430366768676014200919916411436266301936905364985655511134846297650978360192296486112589072056288050972948120379921937852801012740138678574911883565297474893747405697940049688677070663800226409264845318544742704640013601401388770016052716826822436160254024127474927229176660237204130439711297308288503275126923529834462679136428538301251095039013212855994438937311775885633185471103685759711791092795538513433021036544808972910088064772850599484905201419130905386316531210644416767540399912259847107858314784390693152815824345328843667415051795541390080652128938881690374172630931195193660840526385788606620314632179456584933991097129318048255322696176177416450840687538253620634168861656519143672788693885738234337333849568728655828419864755231773205975012915629085401863441721646792841050656430821806260483429837463583628993083889740324112886287684980694695512438772709878295862097654065501898734947906519888353465496350460455143059529009123492260326421191104462396078196149533416627506960732585011387493876650059827027279097563026589362534003770828928047264115306640116313915620093594
28374855470615160443240596079155896638571395700934205347994456803387850677103345567669060118212234811603783080073412479103542479689625426298590794001161050042381265222659064600810936950976112041567134364756142776378425688289641404481421436730078897170675392820893983596036258561094605718167141524470345628218292451602983690931413209869037631461066738468008947427514223427412335633142958507379766283241341739023810415059432934262489053440325976739841498123659882934690836084985258768883944013406384133278056942486954647289112697402093321232833025560485256105400748638125818518098677755553470954649237534197470725746365345512598010855285307383335187535926826316234462154891716977911724171508473791831949949136937608063489305827227732733540477596349809439436580687334405650221525138248874889139412783741072013243423917149954498198677330617998711456761428833826935682009830313856089198134398800153916725902042857397622781434804729360457464918192501803971669527720275741789201831937024484259012656329525053289065843494017414397634455574764908085999951794563936684994613402380897023748855498095270285177473037650733974017325379982948036222192845999920855083496079350069458795996931697856819681219971040028346224412826419195988214491299687324784111851394785657260179136459039163261407742817077158561314483337309438432529142404467992248465168994876619113080017462755401137939632651564036504001756705133879267544605492731727027451373513378206157278184160655280453170237890975772933908546754077109363885478023465301543746002654214818740658402142977459128680052266915200962528271809973623663987560095480194110432073105914975811255760086176987111308823117374558527850789853725771143164013568411847300282803814530186698996158245895947283229370289239760840250021841964925351974133957572266156332843822650131432729572005989615401439811631211531569684605683367794273694379462209011647312962054945652459397795460812912108121746951162686316775889649676328708822454015256414739288521252535064715429508998709861323372004397842797280807002299782402102235547530613450729632901303921940047995454908658343611037800230688614959201827312372002602071752520994135949521286024818718315155370690157608448470227878538327014524800494723174190511013850165624785112818469993727751324042995415790891721943033408562274560573414440069943510516511545624806509523178285648159874830959550143049567994195752165349801122951573706849128002717660806830618162268527584509444121640483013554134164278209352059225888565336448625546082857743200076349689149202590101092280158141893707265096296126638027295845519248547978523418511769416522332429710667017407442775901845101242698131606691964996132031651585232289443014205784094302100434571666945261637103525055424815723882154197629372655771667226219692949491493755422142340748082389779831908206940047115107155262121188457690319948458373365886692726674715148278117668663074152995842085163733942457918610412949413250846555167107653323432964341077057521289149501425169797163282886650025791696840498779239136374833997498996992606075281305394591636996510813276621367933257467370570626015634660182111664155534067574787889561308203093446094176716383284227361869674115080884746772056050303071105907060262260329233266543875932568822575217950693280085144777452338484077242855697818159236095714536010150471901852534552681075600567761898641246362185013783049296368128991541401075904110910784369801673533909512073819145844053342621986453290838709912092914129627962070763917427298902716395680851050073933148023297423074190063289530443758915108801605221599304248373473914857564584543375117676968265036718571248821262602703058522636845281040105274737808959828531260234992056539025400597495341725374210769164310560233109735839967284102982850245330540904024968907966248604190358617703243421259944795911899342251057772261970816202565555662955127179388455775171170553514288435434708916510281166202291625418130749726572380814021599093995330713244362285975698305687398192831169807430132886442752272488769605731710918358193149518235013315279770492095166354173203844211394481284277328750336412811587024032532961275337332293678508163202439106953048989559411752787404220840115764444963767381251455619995256889546252976743323655388442937186077761128626946829124854872601886063885257138160187248141601573703278198683151629237145726494699633622281658925050652891744093746188135017289302609901496337784742612901695295495263787444884253520713602993619842274873443136382088031574737644405253922790311650616377649323611714169684886215117544843614933956732775463160933180408341092406191295069924260699276173198727276552137653846628278617080213062043682628264526851240777709481847660924030985703688631780865597547799629775101641800115371134235723380323271103059581440706288394641093088003224132315510592520689073689425034881608401578323856864149837281970173930560759891599381260017385261772387913598886140292531169458292528677231673449936198486943012296080452312736460009536660484904103983326519339168463975739865304313238397299549989618950298280760639463476252239406969937155508620414464018713323238338211743288888714206121494245079321035801205140690027934592156047868809933165535568877666426927871872078849957027466133261901589835108678622879855460200517732969315259196830135584980168428581733055587944721920606013910976781166774791287317967998466034936362376660753449594955430289765679235263499944861578194617033817468447658260348098532063549376656697415883438697879092508073780244242346222515733405293441448367455468599364039826865660818897299852519392014827678365586691757976691828987179424119146185195104512532368065408592015881112552334645466955624771967142834370755573473016510887780766192039677522143543065190539416552689860924462487112983165539137296167859176230848924841896327122655149089573883224900576507434272757350435389252735143191398130477853219433819837401404937048711200727375992343475832005186520100617138534982252421637263224930120771694437540339923463150422606472569076604903112060452925164811393856198313180070800953443126699074286250809152085679965038367596778142409764333563969675603645043267033560220225720330611266855715264882748390058435203291962753075165287998917352806428982163038313792087079129861971371526396339655057141055462908349251070174058438832542633576294792365532731195203727050404513294512153692548434181784687018200406094773998239105351381258509293280418315643139136597855774601546413016068713958668862568286636277047716687101100106867088972919968931362387513956961152703779975778928907347474135225167776538050211952848244842132656551592112772431461806775462116961185288510386732786677472853738210257446809714514525814230678803177838597924572250047350725781306794376207315023623709763237364239600828111294197803672832017300126064952920324708976054111932684850257759200390668758640833563972616548085760085424212311330375601024732817262107132698669947172240416655177737696339816352794159542117700271601742191300499399135112739745919544040786152435491392371831621923686446285968174222670258641018399200690321015866019538709699548845453256657918204418964532575206542306774549639592099442284552576050965335473398273002239135725236903440017505036039459196030669305694164577189856462876772443677534533940318752137615436378743571894658657513769866172902557942624946712178810962543750946895821832735815481112023740474710944505749305488104464409838767408209271949003258784170137511234347570026908701895699154581128396478162206178798486725967549439264933658555525054574374746287907730040084218088881439551524635843694531305193177053881385759324205944532461386248526961236193702617016716368200914125076482988439875999656842549863593337117095999321354463533078891949133484582414856233464428339181888067139516623731656978152084436534609931205476405223964674112931724097038655100923459437096387609179806594028938907549828087668211754827414261354502627873472962373452949427932903466976113011852160006117510018705161030057688988258065668472963736988159190487987025941874543874135057589399052056764817011199516025976852521502665967904484703315078259453612117507362929808493885952760327861370570659098145443867263156464695368933815692336417214879310986461992329649814876796838564001318999786197525911122676760665272720723146571394267975558132010851488778245785173453840164637830540250736914757541769525759689617511347477724916976509040938469729028586654363826324379242291692474924455728420224717977435454135857905551916340157532752857166284677647718442422627273303858423117881540398267160047605023685328225060096223139140587945442397658228045403820777399556858335031065020381578691329264957051512023817879423830967313031318941081173840983326927657532422213110005683501635343546391514291036110740350856366894788182988329495953719276715214281604113204713223503833128377584208221636921568047494764815816308872451706374789164821602637001310238266917352969664102240619221853164752756025538208269075175828233280227051326054036951951186800969416545738844461939881208079549891833114772132557309589956815813938027569230525208487332510593906334479697511651515944266114288606215764834890251329396296449620610403878377891537104056979321957694068882701657790482514877653457604556861098054342730784783471405611279921547063765329252459255818281257752855296310305531034858861627350219242866874326902921651352404630493151348955589199573141452614504351547356808581554359512721195915204400874253113017243949298488053583198224184059343740955570629403915060710489013930085252515922509601439629481472486919859773303023437463313783271096999593215242533882550269911051391898800888813893194843179590726190907889196599597490959329847048943167374177269188718113602839402977371837630535165875185385876536560807426951795153652660885969343479655667347509399603539482051061016479754025936309794405243295647921831426411870624236033890183952390182723243099083015776222258455683026594287169108484477445601413889176267572183149848911272179065618851447638853699343906117250530507738537495012576840205338699303787372915517113194028698248785789191058586245446614122485698297791283019309232895751774714108930113404151999849731173213648077951335342933640602736432508546493489405878804623784972659724736168137641790916997403455891636831248122752002980968287684795298583602298711665200388388079203502438838653836292105106676742944646126588682010309299053210705908313768975937701650853713006199914655150868520835097180388639147172704043986260617510796246901574257760844022540164473031513981460818368314393177400011243626944826182462382980428196732713066339266965757684006911435283813232774564844909211405016686859558616825566328236620299531772628445053595473119812126722136065751464550703535890000013879104813951699008289143617099696070239052687083529221642399933189689829557655273274471700383328524739893192403446850015517465071164114155755328868548548512493549481309079577861767178205331833547369440569191341129139513360157641129115073210845063981007428609837143923157314796385871818057413401408004373788668971768977146144862707605330440975253418931479289544665336946657876816749090084568666723952462530071217663739808614754748641040314375274114066866295018205195229482707269016933626091741478792088325541179626317972013256296180272036787729476402447202601738713240054226165010636949524990094294795766664280678163895892393740562243658645107176827843266915651387005293710692471904547936567535764921770838160936637698158404482151404897399584506201911120802628722839090404598995854579345049639696707619076036414191549574348977959967516944347357569764648217566018274800122108242187796006928497862881598069476660669512732298957305932638918576690868585106300835048193180369828693049627648258070875863887699005708469014467685368599124459098163497579893962616393032742260268978905055373298553437556929922565898406304714508661841755762697341105375317679085892173802646796056948188725012480693055834112803837926770493228518969752657937967354942121861472984214017676124377313880772137333727265360626021586134789280755073979044249940905270956053745421265138110168023225219564030103927234060035533973293268429260225500775170049418243188621105937566587293110013503750195565560216009810902478004726858859054541044224751826340923166798619825032589523007017244436108191722334386748950757472970798528913276189638771781231208594584407149252343485777222944005875427594110946718857753199932181997712580042866614924554921300043923523122843135816641338248952278452106051461973159065924372120802224793223025641354029591537406353697353558718837437111169222912779298141696065692548643073996432464003170369398003299324499749142432663656891736485238189321316870211805420447019054611861368414662939835918347594360899988749413603116845024613534647221917407302218864948312788759589972512228027506213081093202540842182116530535807313824829185474297404853214344444832612912134364605057034786770826301330511400981239709055487674226689791227872666634977137875125245066619323078872286116169674345929495114557915189200769940998730441056736845899052477301814856854960920322240228656752959864759578233853000552642609315274833947313055791569025864127880085400206357074223847557634542857413946271998411071713586046355350186602203201431621382175955660604753779432766201865757295052135521830185787925291801186902181454540728543246973690396056957986725119055599526881972028512060337556098535383202411414588110534138099264652201935769982091766951114410694572478011142741017682935417984439143158600481055207115890389809557997843228761305430197332975703286563343706382153499499817926123674027147428844136861206771843718240314910680986997522844108912291451377591604618892714787284119725839176470243894184492655871125840627012502619520943096841279857473244676909905558246914067206758550606318373998665591584044296644301213735906311850130304054946063490329765108858936093156342261239722922053979646363446558279548391599598871050723040324123291300806927328394690203510810831462886506097223536120493835429402426145538649874628593270328972473387136693348983300087250763953276229645600516420354573610565679607454046512798940998839254462707163272733054162668220038465131689547886413123967570310708324945105020672100441547889735992594795594131086476868048634829203443306923034611504673835295812886560283283612161973685286895924011378235521027385668463142668713494651183600304498771057435489934021905490788185950843083005009125232178534305344113452405074820125527619918252307989476736092198709230495980927428863093227807364196765214302656454411448466374699988996284068646858856179785614822904644593405182949370398791097217034273464088798025972081217777987284090420468305099229756283880543939453920733115498880850530540872264188455894332981731888295679827189485647851374905162981390936417101243364382526216111003787339558548296514415579812170188406622714715444531460198016349003274449026123390482850798210873494834885690938087940401762672548296166838385228037493987036868568370197810614601697518093002280963709102380551502929651047718644787952833580242134519663446985733329527268355084137089739513517899907102238144966722149611476408031795489457427874369433379945905933581246564033622776265306700214258973685750434588524376855932425909065041703770088953955337859134594342075483698166335209575583502601896762861750765036879543121588839763939137813861206839001861244244981644730059505418270031205591243145681381979510010092368167111046884423263263923349861770361930394699350265846023298859173517045433660738471690302869657542447715817316251457948808854247245170534151290510822178841229212811354466619359761086279830362942841061674338675030015391370847928318006540931430299958457133235390482587771414050947597787146833130723697507917544699177165610296349862394542281754452420660404086561235222120826408768398639006738152649411132205908942017074065788322522384559365496408668814905091834817700571372384967698002372850631910507657603444871679077005083894077545788460311351651210982697750427928577373610443797940847090997716271119739549247512097186595446606624103900446560791667039940511186015121996571725156901304831905833176705531084542711755937664118882836111046380313645747227505653079037000452083191248350582462718964131065159570163652258844325282686879985621144645645224128584289972419630846621377217347874920732810830468616070925378476847058083513509264112733648698878767484033849637787405171063820478058903919509275794688653206296710019414097290866353171772189150630703279478857036406263706755614847316949482085134490264641203221934070338409515241065810746950005335718010085208542248304297235455929424388127349859289435725755337745552427022198859118135262540003882868199802079888245427703622080098568589182365364313068884805923894426117423546313737510829306842117842723893860781825739616619769475136296251964952099660826714484989065864819476462720349951575117559832492883415160789448457232859394189760654318292904041385576171687533746637502539838752800124324005424144793966531001771517020165867437840503860229821380824511473317831234094197385409478709347205269033792572868720902382898986854736541037453549061874701136683750364452204049070321109399838556193847944289908537247433281046307061578330711226186096859385364132492232186333858814535229041913509456169968663195752641638811008385057493709637885701015852231715110816243922427037068962521419545987902010162167551487057376310981450613977981461474153899130403605972647228768521183665766487702405407196404975109415096557873596151212996882364570993271756296574923482230336662726030178554028630559511164256976706641104203789844539523860607858138518483497067683626991590343122395892278149231976770303975761200995136899917512975071715611107025116779244909649856690119585464067042911574038991980721674013438697373682837354676638375202410806756390924767570664047034952464271349114276014036985363964087791807065033139810718358867663092599565156930772960377194018393047621919335055218703644805696099373098562785762344453367071540432963418469780191749540454838883229209262328549200285897167584230541390856915358812171120243274710780027706263688589932030335164372875435103540974145309652105561078486306627039262387791243175589223081888891797412206527359382084727660228829613940736111313365087143915648407409210365038392574341055748345009884409369739531790008617288412323342681881925939453320379603739735295662585699803834997091802118756334479735495288420912931462228295637642288468444179835460347152753673298687411388454629518796494678480976398426419355211783542236326806762804457596097981025069163323532792075184481300171291822324745724038128130364062209141954410944883496450678358743489758392886687786925293730713399383543781131963376152027739921746543820462098271582413515814977694945366357734969515852781442766227793358656861077341252511588308561775121760267341631305524783444695056905076455790481657671478947231059906636869489484171439889189794822529983980567103354296048937042542879030184261037544472394006743591178249291974891457816446956915905190020574996369556662194294303762249817670119205919576228493422313403993614964085290389843629310539171865886197731497644719442489626960888629632886872909985479073492033406386538484150843437878044135544538588182284247487200807143898888595879975626077511905936173957383496599592157928000405789685782226995787601339736812340837591885744603949016349195415212528849582769962130403146582574434915204661314075962486525170444257260310984048855609028164240443166401637622826861059046138629765274527968565116974699092677089241376711048657343920494928998861814968793219724210371847830235783837319425918159494239512559366168905855177482638429316877066750529853533987136177338799235080968865405313039698056419280459483619605304242729524829460221987794637385112056947240245629708191224845635614662754050855563876399014679692677933056345209625890837837133446443576144450380862960079437444231283783814319876293508324599649177029801982405475898382701143154307819266739425534965749558741349253401432053408059936005543883826323928943448061001787755115550430556618148078070361470035850920453734846700743455129515893498693552516078444552194
85345087042577476971169306998918700229620408852635973631364397992434523136219285914391982368334434483871028866381452858036751183426466285676271901261177275693736906987453684541604092762985741920959837877631205826475517507965327796502882271852985259158406023513134597285426805873768714927243990094650679878124152294761085492437624560400443454843212440896760166477090353903203527886551203304415106874067496472323626769432527362517908768264851152162027022878197901134831557402865694284788395088199021607064296690318203793823042408104759391765160036069587836125551799017048871111885280762449884748774263707489554778564674015582317649995982148737058749776879111659300608905286267776005291442816697263021690361501166465582653342962858096531141551580088808006754886221795617157902545117874078183876359459726188090305511444006995067495942681785581756038701614555549815495722154771033500913764777312046235802321166090862755633455991754873114621763593627905015404393092562214150392426355073463346722363926995139329987993668960555023557830704050128848997876282896529043370879102782816727512789745313664222056276513894034628794143959443900468064832150145725417897641108015870197243690565532457656161521531659900169097369825597420611749360952754585391859332767338372984312291763370826131455699316125183423401291707202947203669760554528351585755098016096581809058852697165335837305729673394307529757781312037351076174893835989758181968419342297514869638160816152295355013535530772291485606649403705344223387854836901733870398652862592412532886029457208262828180778728269409272745698162065889982334425308546422748645686037575369873902564699588386323111472611507005736886608800758264328913685238766014647139369397004328045927479536974968242997225815153928022158820724798337487621613586709960605234923918668850419977659694737364536001454722581626550176246352932920322285013822333694475293572329698215019535926230052595627192605372588421055877879278808438364624282793139788284342432612139038144505312139388433441003081983799681752018852949140658117681331670737139833579889995590271869357137994693140997305856762774682858591729785642199337317421076855214318951127592246024961192282679870090211105389898666225898652316950745992386270541759193758083829789369231630619452081238743076140056197593291008007942874018954205900585057678436517841286724496374629971418939628535414108421781483504120694232463156624054615487617733663627153489848310645467868558339791060454130304195643702558411204520745555806385270169716590193311065156440730751556762323268460232822112689928424883133845193787646356321984935562093201663667514281249790382499244291080603023840450758982821566332193601140478271642681221690254564551827348369053330659281348558266857322908790758153331473344485450423314302499638784196415861904951175614026357208542862472062366125875664604665223030093366113642394938751180181025846852450493171633928199759817002063011234380895585655184145371976684451620195094979845928780832519117753495099017696740611636715964391377020238651469506797024919955507419117854945057364387458341061694049272105555966001381666983974398587895986070739205063269153690933581951327609131957574025446550623776555256775103571049724666624015483535472379936377579725551696524524762001637011739751247799702339876156890190850832783762297629682567414035490855547291884978999453348644201195418814286017197921902392721223383104369080427408456416211770004191851301499292947760113825047121160419505879064001947953575481155519150395639520243508327896180777909423268514904095256474631140446085540620877584181055343924259303159889929160091514925600923123922475747852624281079158820725552572973832077924428805155989741345380952199041881749154922669272236341747364651632842649257427159263729113974741154592330699853524566342696954995178237333647520588474082999595084966209837333214467769391434263739312017394738134135109192792606467008404002099624144228151845254713819227892230805554687412229679449856791239380277176681208205067479474697653151047940733135267860616697025864146623787756511415178893846531024084276373091309679778481814592887080977973450945663485359324355842167845844573896395435345297536138509259454770101062180495088326846665587083972711488186733220484913307949697208885243700108109570732675789041585271206660803988693683117742979292324775314298138329696540257855746525403400385246731145427309934845712910723845935260281824599263471870276948493612616560140199373146190961285411412412039918780295600673130487064729905335903595589768659784621552593482416836608093445878951879108124104322096319908703180519494755332573394731929546687983926642693241718360960598044591497464372257624639803652272530421514066956419169398099771783107224039633395961668014231239887890659099204458317141156113983570408459900892025202629906346976776770708529963574445387538047341495129378751803122169524328760333259618288624033492463629146922573682373678578208460585442352214075667992535972665275830506790363978283174604520850593335943783563800403853666754449104282222702613612062061042511871233561622224120225804389943432158844894648143484261666555681936634013516591322401122708896493968607586826962099865808247885610622030262271021674151220867844055713404549594633939310667431770510604546500333040073332720732567796589373028880863227517201566287620913165228504909891243462535953021725714265916532217975010208152418474532952323292078012667381071275464181446880443764815588793049982473268313587991360279689793997055471985672083314652111234057517302996552487891038617250649852322697081784717514091499307174033681307179293150940200256721365942105244270802471895009076550028098931243592400223232703915714518651878769360890596062086430362354124498832526339594919303828109868431578680492194219429256794755297169383027310852539870141902078468138209267219599732102072463156159080830517034194153336097409471446217035342671062040840912417247719948254961223334829580315078215953150892242231057887544391938207206839667599719737256572414004614157365300625800634707668241463603905063008892672893789855060853365311398145833914880488696887559254945684519088038997000734247244683199356335416277263426088457764454766566726105616265689208563601240501023665366357969193272173652021645592862622163103934690183003004392866448885944485602279340704540405101836821055824757652740321510869462621943271074296260667589341786976940572797666957480983379230802546777611134503088763432632677582584678424842033243591470953480815223651729636389125402745411225709807401429016384979042016273291961472707615051228979654899674623820983068258598059154266344392452243325353919239210670541765659479776475371657203130651595566934477594083721526980111309318351289520075941670434006378689987781110901103707994596448169895543684936709219759289643725246696654814245174045051752282920948290093392339024378804739012281790805046295238822396664689339326439713656500173806356834005108305192129977862559089849038222364100375122428540355235509920724911996342493560351240600826886449549326082476796944245602029787081156900964766946692527828842642864532693780632601992974311988836251989637929722274176347256765927680136373143347559651704757828535621248932858615145259741526904702669812043675692386451620678496071979924991856086263905975948629201897697814365708293781625461643444325944854640169692223713141222051292834115678603992219336430105904651024081494281078983103497773235038606532020463543840879180039160510616208319095974992638940809786711399463188151154425683138745117139756821885549848844768993848546908763374435433661188035540516043178532236957106802725860908589012843269982868605909753655759865495505149749000326082065568725588212585853919974530672208489323896650637748707097031373192704975562022758109888818877611089429337147344632106776223481326286613243244163093843389368090325574950270295738364174584915315248980936769624730351908893202154191875555316497995803720340195099623690338057103910609432394822794152771051476782050961734322842933449345312356029109528273096118654418843128720156212460306235586528352241404250116918460703382252650678532844996194199011909440013843365822899383884978217481315865959680732890130677843687377131529768139881303967451957161156280970196514224732606029970578835571667633391447236097416235505053282030913368562622369644546218999396033321613514665698980645749740494456822052730184946070646556158891904923407011958382979671166872646858873280197131283952224473000637499301046274092927049267871724109018243840560791415263563595790721129628141218695953206307034711045687339330423888911968985724413372904075501558144143251287246536458110651749619979332742464332941909831556040675546372370325385806778400433568675951229907158611589939133615017750257408551908281693619063249038109865900035220629918834963879665595858294797662247856281998026860790792485981068646956553352001425245349845689044762430886621160047656882928532307101121909672540548792324936143881373644944474859609000013446388308576296277828101267536033799469155894123103573117336701347860282950501861836056934493932190406428951508716680180405685301381616840964766425580338589531868592348565980402443871130382360760800085050094275389060058666921338818047197144400322155561700046625401160507599539642921951572967816149953744947787681392194225994574471324763969196870544900706088465291683789743447489770908556630037011797557842624786587744980041895656150630858964557729840726408477194838283406411107038682883091441437206332580143972758709362010678221163950191086212026333294107422183304858414428073907964982495981090233744749633517896363967368169626692811405209036370099709498391945916543868205863921543249435309133062240015759142442952702177287388784538488175357526510736871714880554238766499175366619773593119212353424271734028080760015599517060603197347368036108963055064402048214038508888685953695381012977022586387496938147911660446095560488219221500211020380038107618984905054399722711745460212646743864596591356722617768779406258437247595064897552528291405252381688569088714667155550701956539325152358864151078145835555612426084691281205340507317477545201232900590538823658536581328210766833845396723550572070509468466633329892301375481969739035003895584760216704204123220224264017175773261425024586312151794860879175033070045187988725944591429827400070296339509878881843637310942990163364314875221547911167369301351233117936902604447681038093610249758472015935140053602183319975754251207453157901016671289487220309948180998365619279361675269947314654435751638917345040028781637951777703345549796276960696724094262648395797525831764953819951919251500589041542900730192151685430547299403303806318387168423729783170907878479303944169425681726654333970095563021073186930348878499551069177123259161771132156013636473369133241833292299956755554623653533685431233031464971409842929299747719364162140563544920092515652034171888514037603338588772797754577058454878274260248824798617830970808259262987451988215803806734511484360440189941262784487838607373310237913592736212761132421766889121760951891119154245264638731328586425096388242035008476797005053592396589714561239257543554906863643923559772713397136291732835714149620189356167537699393639237265084502763635872087979998954945320534611273116617945015742364565727884773653473269184328675462652944863494085457755100211311724189533418624324917582884310566110828719707525385522904036466694786012335000307463126096800247643596499162972835084980835544350741904989855352289011425313201485514416684041843790526148412393894914189857272995504797151939012830818850925467194358199867250799537656372846518567753224425708101285323969100956722025470811755343312623235726655476309923932525442544255649912359701078311207173132463185460988884170592466829277476853153635189564168246816879650344836263132225966773646154555646497495661320711231083669096073385930371019402484533556865529747094039767915337707038168331974644061699267622641138683515269415755434399293222700819956551901591544268806103737887158212228516600916061560384853227796360178966187874048896593249272523711938920949636878060265206039603883303568255161263465537554160243277040945993210503798902246870035323179389263996429643238982108860236751435822856575910179616269971920877255610408523001787004046742444382517530471747342323734828187447311502849967819794002183663434070504969282312724525158265026667190979791851697339088250636965539701025302979170116708050434695825306662105221981952384676694594456109840083647816989148329473763001838156361304687977120366870345334841462937469410443214381596616571964102636863422384490278277048993947824370829530257705992242807760160215192162704971943538034186731502438965940563460121425937089722433715000838506615774200639476482467265905784604404631164857301637154632546248340780367106835995009823870839094783099004892460307365092554025376547964862564535804657408032192721153225531120474733357333105588430109858375867006097168790372380984040087458814831476119359330370928596179045114378647184931227638623286844346766786398964505752969927196701086033017147180887770055473193391694651608945889403038185711176394086359812654367073498163094801846085887310098965173945716808317503721905672647725160873346804975142072564198722704939310410981466208871120116190123469085205452552533939244341131022793898751903137272983692388974102608077804318991894056615659855598071658409399666591137177249248510517945963464288106690041251985664662788459478274068397852384474528477342205287259412730437308122976483416810981631921463096183931593174135835962780222539221780643159875908252993294249079031736667551482291747973317344157536366968896618646060650284942110054252360454888750174820981886655934680239445361525066481916597770270673487531812283782372356788639087954328992091885851548028027387744860007806336911945468614759432538331959369185454655389256715686957736591710908433911236082155606480846300960872344779259110830028407681036941994117656807439147964953253161733224278878184048637467428110187888576771271414836945110367793775187054647820992743675225428628169071436893118779061711719761620766951631551062836698496769054207946533754661226160750150597792036576785365846453924891803060251635667968188711755295766150181777463728724746289307486127538828885061117273845900064251737062985606451703503927399705969801899781157497330019822211715546314659200809593753408286366626761889292468156821930866970508392964807316173008999889701361477913737009869445224383032181097968914286124951095181061115552101473785674792451957702764749541852020211004045478430999371499220863006548442064054399872636595621196580135970577845794828099386617479620580581574834698273143950275429464148346290617049385540118798442315535750111139707775597260460486771636863928472257998005843479931749061511490812482032444107785611277236020195840660197559688353882201729814463378488803426373478589982165255066879093201692396620961863134256939158350493371785606137441620194891668238123528137210672587022155569006540218201687457434875671483140629281992385328681120898165297262744176631243589503191405780774672927775331238643712176443049677565742605070302212682537499941643417693710249939351348236332157549422011675971552882935662468311153187902167806322774816809838315763471085397622538576855508205170046673658214166327599288700002555925580092079270025320916206537789440901995609910666197563584281678080663104641134847941451767362242289812583625873915700693388909794999792394831031481772475949888694760253334673548051164205583814014667032724154521744922684393082294700713546746983184072528138653315196740849261061149810838869132205962892298911192373489764737763278173429049588103237797283462973951275311599449764988376933029902363419521266023982043488826786241494639118069861780996515574212078545471804474954484542182660765267425461990852228453743338792740636089189823768547382029950396493689698144580185428614429631266794747984352706131619619163039379594637665558678561862823846609254032665795862028351373326275503086545744970217765156590166764568999451395878078342813035481964117995138698015163185897352448914573141691408007604846504164826680536618627021522264079730212779575894849642631205714680415467980791883573821760561273192798705630288671878853316956843047753510985019263530545074419852552339799367431013576491784302595666581165921355203303792933623366475906397803835258088618367727886452171220966419072627168489671616048525121330414507286763114806705521084414456130583156375877470438164791771702648350904041491282499480504894451054705538947773573326024010499864083986501244286416011803264411078801792941271778905207502921107918846105208205056125256436145820114559895553413267082877882696323155163060299272698614677772396037654319967337669514687138946390092735159192179416169274536951287593585346300476116173003915302059037128387819335797280861666310208589585212539630533790617923011799549047399079632589226618048907137093209248256695793226548745184547631484546914017994739842079236151910292311094186177239754419647470310312025475348287936500550183070448379986380745117633400496773632505918381429933386432363459673439598930832576543816613510166404736491897088032213134805217601899175556561040925803794502610172982224107369882543574716181035426886806616155446348064197646745102105831877674190855875971781637052730190912901754565880065565000194120205495318366486654375994190985169836052045217608787299273000905488624864486524486040096550733094854702116330091404139041685156641287321944352200053710033142448049296195515834452969909250859046478609891154047218108466275309906033957995375805522756065914899111138003049623316867680917248646959826078511900170446492321759982826861218827375457293503633851180509709695314463604364922974710546592603482534715696131461755680994923131317210684770767378649679780704442087654147736555952969012878265258258474327150692886507458227017631219952612085189403218404680797175505651937458150991396168555770162575527415766686962450558145570230589419780461111145495446534631646935461431718591186355722992127117731438418914215439056562487452299539829141253059579396511972171100082659717402743239251358488623724091103661261971038996690073227880407692152580333124604494075667380231668620267610888673864103970249975279239475901801392828449658636205325416112721510380602199177440434534647649918466976228820010532912711755363606736252568284636122707197182929935053091377241350334982973427499700386075901379681595810003850597296680688730492093776546565705705075039110019474728564097179426817606021660693283937230887908468637210331109824739086756434026808313642779993385610282106522910710196974979026340219863905687466563442011717092586381659297138706769755889528096043497086279760721567004350380325092687357944226720714351962279743835013223886855882541946170298496681166975854184483004004753034112854231737534651764334006515032124226215382320382473709511656552498859458069007191935249177332669473166626061813810273131228339218274741890322999887352425345595360137298081026132777094791563155703729401990786801041579653218692373020443647046989889583800250655624044595701658041778416712987349813220380890001942038961367763560008475292705603878032162014532536936118280765785566384615587104545985834109119906472024024833808119963798984637849333495677760095721846342741313239734206437119966185324427195639634476881196752362026501452489889973116555421878254453124004349583327614747084677931414905905720616714699250917344357050584750922121462884473370929708841788769123202019699767536072134185557228517497958914796252056894497136036413377485009384851256953098287022196275201033972585097607115780583315446657780125814706353461277234977428679987966722854995144500573062204525379471263014686685681280164837148715940951182280815603234045083355055206789396266105712144439360863739082375677057528613459067902727846978674803313330852982242160526007492780757541983678837993535774467427954879171822241104486794075693283539552588519831112165320637990777742079181585713864521722062151565729454483710010697879475810633039935765207902395016030481390893940860996234346661107650970503483633438383896768933528129429815151216596212975332668636845968
32872159161432386006936793493601127966369521879299002676460675220029308793555326175701622834664655764381606784789031474905389402407114008608670104058883370741821098516641764843538528634068631906234190172212404826502960284465438870679461424141108756249610946794183173365484576126683984213038714436390503973726580844948662057684204476678022699520870919407051714001510533018866689971147812030206032867284653714055428796795166980304943507525312274238217592736817757149373044967057041158221090857202438647536750049014349937307848592495352073200268747102392629889387020977767342312270463397337647679314889287623056728664572214102703197863028175519330515706549424913673819522307046740644165036824399083379335484473363969261344771450957090090483494301190411331405253837396965425120090874371876719373509524376501627200539327983844780331157999618299895250671517857951153895289408220161865757508430059262382464483274992077608355967616064433643978885439156981070070939243440899431047461668167044833861097492236746676870182892271115853164041492316317282285640045180676966634979360189825739707304901819689042941806550451129905329248568945359593592392548722079984469390419134459020205591376224056815649923525144022605046789687405116659142301173063229248963567555339856079563421214940317977051633465231175048206078571314727414610974413119487506035525359471742730175353415579536151556676258796139385424936551874160543453338391554133757458251697163183041303268061019926914200585539161754384221650156836129256331445508853822366928322230465653740333432411748341466319704713641368913765846200373498345390783059612249201110946783971407371925511660848835913850893100447611690060775881886408129512235700557326110836990932829252950562016730257422301088386593667497968659449222818684437752388083213202208160046002936016375455988789090258200666343941563859248759263798333262736072414687692426388261118426581711787970658008645487672227068173185328889826137870569826120797236590622490587033500250215393881233853487476249007196420754258416442697878499646938489054657790707136533383001714738820899325463524081248566142837720654740080898766151595987762563937290264640409677841315390876538490567403391992166168409876554742550132541069798466803290426373625833742250214959873374885866572177036659516359014114259169629128752054321664758366256796438883516785216501954747703360881290008573251208924254070712822839898426254812754712527255697046175398938087173854875720120499348833319789762118597828995822738778073653791162338599056884839988779612271237299114904461039059088751558369399933890713591652194221373796657311008778258266311506057218766801627437859281155759743661366431289795365648377077752397178514465448860391587536637704990189470536982866930500679763270120088088588159623269967279059675273345330711686799423012492567735252484879965265902714875981443572574912948430320461890039525071805292082452236339014441818436408856053164035142047473501918264003614873189327962506591522008700873807169351594666279077409850750690604110553548030601470321206822562228673490028876163856965965672274502235474503610808235818217379714304796896859237029338968890527541352658217934548814959156274014747333959569325414409528520203469585629385611267237959912720369475137502262099279404296715756108016714654269745141019093805246602920240328120442451494641155844148369335660245040239905915340368439169714300221363153548394484245274120618078468493051035063385265095255040186294830708191854501826039403134721050648838163483546275872764735466448237010011186557511540008675769462039445670230133591247376029828062422357908696113400444788296870371142690374054744559527708926707083231517753743544365885742411137756542455667181535670621430896605603258849543460883065241968888082991788438914661934819703879758423316143449933703076759014370740109910105680283130429939686794384306716826198799318150212015928123126457645653611594719278572654418991168686296706555703366728808640098851632203254598487465929030476872313163578916538583952921479519285148102483697716148393314272565367346097974030568297569372971615126341672355245222695393720712993413051297882320772170307069421466410791396967373637047682682828570113399598550068634916108031090645325427370617281185449537928361889617793265011080217751389561844105033873495038452557637635995689687154620654009445429982509787417793121770048016031635077925093287056474536112800867403905673359162018204630530472313987398096871334287649395336530398511936268120820991531405495780686216640772128781082082648501260652852946160855626698791445546374947361951201964076778948292530293663357070495729389835998089107816041715071038253249110903864009478854898350001179201715572770138358184979148555607864251291595382284774369636972696786831137567600736532679922281243370255224031015429317550246589837701286685143904278624497530058450186065274222566729437715844844282057960940090590024732146716649350249169068260287645766654699767659900782736991631161164590770526757401064555019609864505666132645778750868335739495469805609611761752367589811954410039789575600845403587707504277389781228028513190615691848360479444579727857835690412073188395485138774112935261257081260908151994865033059630092098285044259642484756130742145356474560179512566925545696885639996056008187058043734663345674423575910070938766913586496714465898227185926481992185618832232199924497996968276827490796871863216277271026042780676501645280636021362323852385047476839799635533944814317932117296936351796248802126806536566646238562019853724179217324603635098848523291105502513807983518526278713757707765887111944907751182972263154180964468139443426540347172611908193376912845618282790054828041527207497805417277624669804592190105923233510115678958928936728660685078174708318759684028561056450130663025854937024766293417259968578713531454103700076514647470867323725084530660282952105169972673232484464463008831635097867293921934509717951264518958375003923087715270022303269839037262589249151243172078522406912296778641420237829956066085773635878055714808625217342080190075958235329299095648276389527395849805891139565986329856137286650440070363282067390865524843024327472297975388827336224725720882645187466820795310530219672426221178298773975639368498191153780184924871198132969334702252854571238083994679484951404953750737670611921364403712812121545132700152351678557873824061582030623994574984626032980639466017782643328622267308509681740499805292712021578430182169645708499302407057027520813314005549760069072061040599346416266247264025318368334367571501553151740657561429141479034672054608279485567984784622216594912569421022472788870768496573076810815083764117714205363811589103704945873140662830697810905002640180412111910544801932725445702530426317625221792599470422182677934040775243794405911099046188178639947725295768341737121929139881236069274403370857762525925581720105285067161456457884723471701943919733520409537103697215768197211156084837596801900194943747772321688644684372104797597126094746753417699859154010945903963109531261136934511988958506811722422281273687449679858137883663686090980128609477049448237646209648594795752562884922138229930666399374023793723173883676081436202281628861714361500654867123854109253987559456918985318386628591680880772015859276066005740427000378985911680084920303659725816436296630408834522730831101072641678733271240932256026099916252531485726993323939199301012768141829374396210229572855248455475380698726346950835733607507406073486026104561685340509337289202299169468191194142040136156529420913928971643683793354419245721445879821350549145060588218506445333097195732940475651211759158850427290775387019332238283944909557397105330333213709464813354658833801626844664155500400993580043687122311692215382742050041265849514555230137314827753278755618301264802812519593550549219357838363608577439031799351629298855166285374374704306270539307547391011811632993055687016314411896440540900412944407395555590768562584672174694266053317265957530669268850575146215163707472744478358532210918224646566067193224321714878267122272357852569868000159813885927988103102123684913195514189632705400979699912564493417914949268691819974964393523277988321767546123740819602914635451177120633677316279447848228940690478585932646317360930382794977067366057095757202563237025146766576270440830169034215109041844637674591077465016495785173560093221785779200342093207040345571158753904347022963895584612952631024063366931291042804213152116463662374502609054767947587773164827985458755902962711678875355873867652479543075515267885346636349662028579466269987379414674736307378506976875418398606609077216269152832212297072231542204056968091037823078314460351607176507681465472961719681004008414203119764977592073696151326331580499599541038382221601440837599112973024614713644404659019283618949410875068009489408062754872509019972635720641251190236548678530816397620253029971390366418552367298924213562063988911028375705844568700216753621074420133387796101718178271568055371095992785376411658328401969266860398531062849805145641270820167340884113549238516534353960256041109665305464548313276823658443663664837983553320664689378764120278658618990388565234548910000424437408273959593939315106911871344598168413580281732906066334684655235931495943350206109093784370642168991102305962595111724702810608617663477419161212105624951796008060314445735074953418523370593744833849330946412929693361444941926646836812413264953804097609949019763887775926165542872671349304108733971947468541524564773928334358246439721527390945376334390627377826581632651368308404985968020520852076830896086672307556605304889882150527376188577369114928501477189472153050278696593477167580039087449666443567126035660188000596791651828042587264262642743026566793552887509882096569624905061130402463777955291990060965447811009636465781272956433785533375703053375867066831526684307301822877135054062730206066737238576636223547310548793031533415029438355934815981138438842526361904672009037580202872846369185221772339006388585215291753262330140257554859281425370739588857855923642365430059793254208024049057249323086223785484193786499723536783401778483864378334948036741096941317047427835242097322510738860990109282287995270064221148106578598362925164168734470698966464354621279931419351961233996180049128026183920430794961061404440669246078006206133748607340396048288286244427782598686162921340725722625506727226311100794320480965851162508224842297489507329713407773576859560801908629557071862486754316431844204966209272912065085466680074544362883360037123873133113389015190950312026330067425467765929715902957016708793344960364801171254621579619266760783467408289837721385131372647531131256668424944948949079856232253309458158346189542191241156539379309375562094171831975007164707331807205815098814479630542242158379972547819173528991414711007619624894228150975824802929962114884632780887104352948980609050260931780083715465041740167709099882352142144016525818904570615754685808423907789704904292266326090405165123354107464889852279558407906784198856450501707834129882535202332024386878224514438818025167239133127104473889835258933188170091639999995699163569468264124514926056360699320584325928416001866205853158727477172025761525683146480955818337267018177637854179330155150653170787244563649578436649104808664878378606994800320847095127462188235441846651044334876603626433958766856382543726876412467143707811587831513067931265596798538443610050785919119916228095190639413755560968704421281760576878262568623592227980735388141686180411802970808886275138606899616054875552591661823514918759146350939261015729823393958532557739767607936768858553846291441209136861089773325978418019281135643032226736299948841175459841490642156191838335686827381483803315354775491856774762875243820771749523707817458144750018541990815193670752614787823056249023609562770249985562880506035347306764685273556586369258050419347807794872146258544303356496180614188397034567796112657538078237322863828687941223282314907306771058520378721317800935036089196321787202401507474388920027462900938353175957678967133385267931136751216211387647662012949652058352878331298484347667549723484816737576146895218876352101062356641626294839171195512898962133577727357547500719596493488597664617589629698754429155679231415196421286239817036148304462962097229436876590750998725853900059741632714151207501920568571002356568629136020685205135440476212466090771629751644889714735336646869526811316023067536031623129458417317800306044057425590325093828824442342864426490589658525958542837377040342551263331596811851251825818394626206598243796708091798107654131500649705393016170380911648894625183179340483534820461711362517247164336998934612047825491002893548322290190928277067152527432872846534563766021758723499193714799661735894119522815077807878050781218257946027389165123106797609630437839817467545943729737954193316966143990146407181115624096077234809710077044981992103800187215705093894919746345234855815646380905352795233809847435680706651182332050936673616038069628440025756196514054505561943806445765525240323136806358235814708572096135031169379412539956335295597047954802698910301308115061088041800208687146903326471302901398149618635504805719306814509729055160138023011776074169664078059382829861192013581922529310824863497702325196685459746416101969826257175588264116690555487395622513921806061265851168504550781108275157700999804560104479440327648141985742058864690032644211784270225026871192339619260128935580041200450138696031017668008148551353395433200122279103304715256423393127083450635729818204209592507337895642436170922908965739035153638942471882287018630461713032708513936523612324979942729978129651686146195186871979946796386858477068135909225588199074301520694603801474299397204857375539664216161162686909384721794440325759994248104339145753384060376118127400949200233934290053655021758961718255041460759115213169725625126997666910417052273713429032987819640849823581863112917326286872940114241700745347839562742153219942192437161494326859818079769698405052726859734081068736805599515292641524714339544286867336181559455537679663892977886244253010512353411006260238352660053027465386139119062607262628634966141852985722258683335209768846554327384210992090390472017916337225237831572451180891467383470482371371335398274708085729035491014309022832111691779172974376113648415282002273761379883760745125564417412373908784920639582302088872873842457501551008612160439676462245849991433865050222490731183190245014878803983161215841822709259301474438196559645053186529827285200585379230289596103909693659417963135009124817102798358564542755957295561307096180365173575760854146992502626738641530795713689169011955556448380267097873194480687417499265309856003469172225257819242989981651691344122169893734382548874165445198915286617022656401468763996106667544725208185484892047695761951321701943922294121716871258325175110902608097126611471638323946586893727370342762125721914959021675886648762556110323656572063395946045966201533392118992429514206732377740337677799960319777986155378716958164207054391144307441060210596497287299339282504483830842704851062333927786068644046631942611809956621654792876977147092979083773812386446139373505216135434727536299805280797314542886147287621020085839251586233610733801026790374981132513988543746821677240418568130176731937469217890673155242430612732757525166828566544187744816080926225692537636195317821773796936350066365128951491547118507740048755692923663718796694807784722006853353380217286507092786483975709694319379929821147574228823106461613066899380280528612584169849709106849058039075871029728502528677874505742521930225788525698697861034461959665008989607139669217752794597369128534101367487671999319501332157369992355616542069780720052570311048392408404941565038357432305224107092886200498948490913115650978417274651335538248778546596012587892728435812777772151593475458956837723112645158394397677211933510257536451887154204479450678024628154519417026825732960932399906634388690190210993773606056463309135813800159984078023036634822916788120328037142441499667545829048114281887475984630532764030555094136812571908433277564817005552102677502862427057058193923634524770479987725736575810401446602754272549946173080368155228114580290607046218944535719858708305244358378854330259654441085975795279570212439093441582611850998857810387946195230419642891042414246225546512105129333148472602912351207462621437950144165289394320625746958297224633043423693693532222571688797092148472447534213308273800444336623905622337386658396853772166233956017667735250566486793047804517881388391154539864877865310711425110265507014562172047079451480594484505686086018810563461113087940006963858669914378063872265330553356723863123570335428361882828923585179802968982925506821388660361797645959216806230496833250209640687605631233296296589290106545969477168562401607171078625263057879997574464567713705237352872248792996044262819072007912650820298252895608026510578001496940398226436323561568044165080099171473794360359688310451348241822838130410641665683783157949344619402166072627658682515464141738050572663810789784882764921134283058639991083652887689159349386056983929485406533149087473435715828010434359400761133078870944268977439149666106907259089735160724837212792334019179080449812848951414415696388680103803115619368176650749131809869008351098689412900575498544235763682676410033571784362734804526493215078840122726448435231784847588203286625006392527421501628990354236295294502633567110846872097527443012356275099885783909137615839378836193244775042561181969987015273524602221377018472650871482817496480007319742674234259694719974910783111670213392645735866076872220400535086405361622646680429139783620857829406383276008348391244775864519306933110588348651367780062158406665588709541517388712956867584814730238472218941352602692776795643850239746230863796537197533572015244468731464378031953922854769390371695498163842721068594271388049671717825324619477096681536526894924933534701510993101408101973401999693393404295087787583307493030261446337960587743054516512643961763968480098083876293618846142051424744095982623756219838966362914270321927529579579985930815450066184570321628875344514643907134113598534293758608620307896028108291521592483639205855045397827467146236717098397055836090920110511942313590092975785438641650681594697633143523849149132305634476355670167835760916989958964004798586387140904927593138293700182219779756127140630112102701183205055458139183235123770134340927976716642122501233388996821316875136116237282499762846495332711781020964080315640799552956659629613629640427247192444642300285130041213100404390487844803158589717610359911591447590639001950156511400398358727130170571710185064412659403109618952255187151715205518494957673445743995806570604032640695780518381798251857139665631124024087014071094689435384096913937468793436482791520908398474503915141084430954622626972738107355253609558062644914002620057682260562148201297182149069419097437502480362182293224517133321697597301271307941373714965573774432405945252857231003094742099996934718980453673856841073445070625131611181678011739007573768612314533171306740279158725735028964612574930992668022574860178805653849513194671874482132711570280797974443873086458735629057398808098789281890354831726214035857955680876734204197148148669327134484986589244985402484980569181477956161659617856638329056565060256729619094386476225130816557097507988047539654376187843141204956227868202516267245141490268178214663028727455235351499530533309735277161466403563143944123894960390426856696619169203686547297307155618801908049804003602481336772889394949671885828864146258334255272216204881882574904274772719969710344559804113249808996495008587322624649642513130832511607261083329809886548452148409871053394905049103800343988564843132841845555180603762677719009966750183833461660955675362426756902953575561353272541411501431887485918616411260628273031613633790037015047723769135232839893705255249606066294924202998796151667648901691318893714177655568843312905876329310719080072719585399769800686259445637986
33630165858391534432605059427767321411193143127747293290387072414678162991257466855718035598403433294524849077248189649291780586949548275987612214903854503150240673277761384724133836960644752884855483026444681447669120936856776874934420903899664436266271588481038888387292468140409388744385574803834011730405399517689779884297636278044360671149469015951507550960528565486045539050134048507485776986566754295524247657393343871612112420241121746345387725311374316393716683653602021395093879042316889464432816464109117127835115506539586731790929169038480058276486113728780445139181504369927283977825228854092334013379578458358150435878594251054819762528587206519897818080098526616671107878589099957289134063335045284804493059088968772894896891453998004371413575385196638123538329684065898441606038579091577014496625186915964465884159808209700371282930535758640618179658399121492778627358260757609737894974429417602073828992141286104288478557947048776116208461527624427158223724676669927724934143518423011920055540168931909868586754341372279073475314947692867414078471459955274887027438360358068506115825739356455454387412933597630287170483301326057693026130172951681621638221736260724906027115917759481472443310557168757709692336373699289906386909553484659378699457905794506765661884073469820785515107784773582888300317587602361427884688369794323198791341429327629686833935976761152826080315480557355084436287959890017190717642530008653878372502282149796205003707821639951259878788719542420743523641977380452112748020927878601501916340245293067320758647507970144232226064194995443420902693350258983421347038438332429527015827472811864958989931794467764989394513846177131745927128003343790243902212695111640861148508996298860257658774397430568408542562413825317763549224660834482186497626179529433455961513076993782418343441933308032157163499841759072793459333750039863383747642147849943851434818586111453971448898204026818979426936031984616334187688167463687956874712249231774238474525954714386244253093725423728595149432166396751408914952965520474284667655627897790227014836695520875471111437561100949683259597684153768992053156931626246776382997766910065612866740527957727367975167763063234877560554854227297731245812700396476064408797609447359829275242757466720287488590766367792871251343035051708278961635984857169454641110273345664837278495517133642388588646472199495378764464699784589160549430078788537875053380222963519503100072408248178802875416628753007570085645446405178793437541615327048944992817625990279630583851354903091991701899670824199618054259239914758796335843339636998790435168796391319941560426966124954929707150468679609427310555297287365057590329494575238688557610676906356807393325169435529181721123825610276440438340382066442353967941399299172671863217164619776217926005187658553636518076274408490849415725915363272177633549511044131050875393110907982685899452580430870153019736344315067102634240492864320993366617192876848425766687816020920773998878011103688020087898373846366137325856836896114192410149259856204943069114705361056682854267924814095095792993648105351998497599650217252798036677848858333571313853154001161299851808274208767449063590824690048731569392785431663445802459833187270804249912423348664697341072566219678512040772086633174413879772664156162855528540400468399746177495209018806456558575730501124448045952847578354860757066488122284942706135159179723246236410282835633314909269109338709222145013153020135253157824989111335425367597839744059904007570662724764924233083819785653691700105629455028009272780125303322371847991839050717654286507038595879304472569101319901616777910261207580074260273059963021575438980454550317778083693312962152135101760232553926632832195878514302450841470471627706815798659479184445915859766045806524488934701780522336918047243855820227144184308327028156943329633205270654907703452104390510961419391511194919878936978602508378796596687594162545355274217920170863451871804157708048521975786075399556441002771396783882965515410912019657131226941978548165365364701844101906045592798294398074902880119547680284422194411885704209763502429387013174621423729641783013022508703155838633465920001297514529636243554388317008456777755323376147217939569787163828472236964121669830364166967056697499769044072468178931880105502909408997318164911445079700744302430242166783268198662873181590863522821452057713804249139713291626984639532832249947014000871632913198251953366367268149991447307883305064714354625848220282105210854883638457358583459796774579317123562470104947786874160230240676613809772456103560334436770312949838799477083901648320883110209363150385730986983258693703811415989047489352938312305897776455978631102106285839022125655109132431727793937483729782552455053069268693985383120430337348622119209562898794826310007068353416199812478630390558950974912361587114495963174752478346134728322047747502730960706753765537132319979820386934183683325759751576719725675237893139060822389102578607303587734526491396474600595996274536896020026289828561117115401625468600618698309847443656444168458778301770428523086300405112291251928334402268982153324595994967387823556340452230702183759324733514784922693401115381250754164461191872216810100790556539090518049919326976990914051308978784014130821455962699185381021033518352980099653143499949566947834811023120259465872667951026732162313114940669285967167855194156510772118395209441967504139692975823177588973619069617762360706916420102934528823254812891340291397745093147916633137870702614477319629251697237003891892426336499260773470401511619477971867332433301269179580505274001998446834752452576772699574223100311287183585295636120230993128498765459135717150748677908832175707712326880503195032988059352759776127092407048929628124411025340805013317335670603688961366909109149990770887222420581027161601445004116887366769321209544160981320925000129655709685043494061811612327679983331419145468794117752576440818113150992496575336184717335590070545597205213426346873418809530128967413954268112910582083878795977083865873026739480142988323332082881673779387704486042363249846812223283515498485693511990187228310696762495421974302708482958813413347577801684159992218344457670019525624027127208080729481381941251701187084920484264550766470657965542422756594737771285848182733185655788532336938072842195929752415273747477270433900502353591400572072081477649952551562459014769365512982352539520083804100959795253459626368573932942116738564118840422942146706511524612447419304596729193534290865607671001955393298688849895451042120517320735150861501137814842583943689482365245687825959133215679938633621801862957482660936935782380186929460493352734395359353635112851555862502627407651651801620172977553083310485526618240150214749983103556501900338781507745249794898115609291801136327714121223461656207778949983724138189281353773842889466049556232791034219213611426653766022119530137038991010058141235164274111185608381272936070029625119303478348992677104347390660541121780112753457466066776920704504914735125415018976748976295476913253362520074593209579025807944852556525817837411888766502342457618400609646944271855121915666889355290001094601708827819579859168054118637606314997212238110692420601545896194913098300618884626840459650075229466709856004075421325530824748702135872829548766642543175960242649422938851580801296077624644698437237902077029353793852324604952516358926730607764512328233129710870281505718727544979326997804743923215681967637752468535181209242165645637443104424286539905095593279538976831496761561726720004079869123720109527068037974734009069522614948311954173688156146008111107887756317766334880290324938967035021592523726353544010462094841677817744729476230682441373222832664093761258485539349812714356694187850423766778379761261971778776041409251305952191845287845191593857054907927189654174639384117359649834107522484375668977239514415271463705193274298289469482895005611780413625795404905743200015895018525382917564776145231169802989229729833219266133299423867070643062391396581412527392029426695163058800842880261578422537449816403110977137546828575893753719005181892056594684843621320730303126516169775262854584453104200889653798222036407980284119940531580737778604434817095069122631790630152463820776766688734425678834889859662197231343915249047609271479211977854184826181353630893453976370393722104978692419209508463028664132075722416656920189221235732835925314958616337504789937275021693874767726318571042098172656645257174216987597425892499604156626371115564516787996524710081324065621537972363154157408601893879328133066045532488921839043943580670097207730711078898186557450243827100862123935921986719453449789019816044703204311762461462089361292434490322136274311047586713819535034399213309278574609479237948283117762493029932861635037357432624536094814107199121254812163597570119976988176986184609191631441012051288324735324415140970865474944220501508721033899831555383599465771618403613633499891592903923528012926157676984040421141194405456713039509314765559449497358383121285744689204560024158599490921342624465514813687342450437337059329627005903350681998798964951852088797957944840430021071023129839629903661293577831650480539284999303608657614291185333588324126627740476087849458682031633502020735345091409758367316262626810474350377819034168903967464261098357392766619528326838591429813682966075538687946030660689400630604922682914282606517642494809376978047725937128990846314634884816464342577815011151516075469171273142826921522309160090912944463530026237545643924368589149387116116276580558133608565396287425591872588594173851111441877356207046680689485671732169997156894444506537168189567104840833002984157745099432811011023865367847605555618759189860001535136690348198284613293270247312202869286679834472537239239809833902685452249084237360628735115287934039476902113848072341778383885138030509753565523147785062585502089817965120410226388339427587881660071917996148036446464349215738646527576301142404605083331156112237365296021459766692993356289505711551546152584431436434301178669338559427771279485845114803367190967259248037666076174536934515859662220194637065618887881455566841142977483307801608967256113629299834031548021335138395412479854688691516253714711174347680654723903291290788492502883771036349865349260450456618537609842547859572084359712927088354801789080306164382449586830137993102487292173359696800864558245169178118660994163069501361676825336840762435275031331451631096399897279620312063701076603411364243182669328257194905608542302249701460072943028358272300942730388487498777648228742443465193167630510752287338390606977065953880443226179902663990412849340474187326209757169257262639920075657264264817703337927506638047379466454100565457136055178549465370741374742389981138718120403808729444768761710221243190242455454379290746307620174276784291925812156320270109687580425106059448652617115714609456273385966726869357453528456320207508068591450533409489041394898251052337447586765266663549966503656722150341542965189811411980539723637912777329281023030621495914235096724140976972527129253273807800101433849315234351475158191983707511850019604872401390342143264700190339486431020831292809793321320629801737610729250025891900097672483616997932712831577920230444363055574808178625020988856295209886423913485948861297458253033965500647845245531102714765164632380009821881361823966474893080521487549728548965991025427020978473227436199675276251617764746789246639974070352284745018775010473046572846209075690973225246456165917988141335308616052265195983349649120871014598426114863709460297537247326872198602489559836368451168527082695445937474432760940663284562691365706930052231932329658510137652135149691927170332305412189239966535256040659401363522891864866220100687605011377857247220197118139212637397881264346373373935761972922122126398930088968876155788157102681988356435496225332074066106391780930523080355131551831017586374558120599867135223069424904362290252744844156858014257360279409962282196099227975730870320826123053641991589867231680572168461436827276407655040362585868302111584617773911130487655599018511263058068951919152421280623531196272594366163639082888731094696500903414231459108801830350694882190515148041597805709687960878755383103061307567281053363545167578529495693071776406676637850279421577661079430358496275949215151879034158900164508669897843736974516142148835877871560261593097150070813630304127528728192400622240153635951510276106917528209567526428356761135628766227773570373390519131282941152395383273315397805302759381527146058208137097401453321195671154217284024938372305798294519955265044218883922986522741358232152637274712263217387474737400077788991762024639984039655086910578163661783570484402841741438108294777256490305479927425422671712054827012428885047306566795722775637192499697592229413032801916718255010249253334937579620192723856950981939778815409604010513826844711681726437133707990536699740735925741194783097626768919586257769581527870458155574317098522789764095425628398987788576958904442471379331826092802878318840796378788362269283050651331177958704848595053524903893768701893045794917269369674648494733688904375387057638532415392670625819336064348844613128348828168072345977019590731067067243873945718663785124628728229513601472990222374626782672368317819252944319255007483684484713564760250921096039722854319093516190698602566756636575324129298988504406265273220898172269663544580232471210665699332377597862512147469460376910447339662762202993608327317392142487710759937477037285330963062442388586909479943100900855219053135756281717932842911258189951288058923665408923551308546434794900991159716099652261068447386660902920398942187229973448889585757115946165931135372062097847347407177796331054071547084227724783840398186958506861967526722073409699273009945406271456325329866313412176386586232143519445542483639448682711433819991556103354445412019844785221119892370594567698232243787631212066172763432541072187697599853610925377825644474316142657437798502111019243044064132210633557146024627843691742521949932618094437801557370563233842465447807227051487503920927853369354773723814354083032634574816579003979390598051948125083790989064848028833480264906151106317513478063112369198516997187148766634100584919493148901811238478059624743706988607255687905303212613046704303176767748256519037093659074517296870555598049078266085655097428482898786831253369731480644874664090615602680061115137329690760858066166377761959763939383423315917630420648725190003262830883149026143962458765392833452454141461213182906577622439610223940185973859711771614134813499279184050114224026669977601321496069377280539941059038810936285303474604864446655584744467989938590827939388754637696829476204557855435268866171346943593778788386602983078692117266183272191943089418498025662353948886842384337569149481765564896901934765624658493778703403216253026973733719575213395597764510376845655121433211235974015557357770398010994214305283195840254158727807176246869905653567532474340818621295458618188898907869378156751519307260241872990620578210657082591916633943427269457466000764941667657099357773360882345585422696108844486972484579349854920317623094160362760171194676510032463420235434950541706979781790612864489888517333198059337314209896075345244624091494957643937136440661196942204358308128248000581449390335706613673048932319657029481890660614666936774187533653742084888539183382348002337053620288849833157420173478630283405381622940689030053958510043704401703624563803807843346387167667309971807761184316891535628365527949389266438158981624883836630409421080422349973842459605931162617221260439634362211430819248681355546150415029285833079969994280041513073433417662513192987021264282944016548971559531055283582683602249727434680065654466795549875534666520522897638623770618435966751032882817831201314484604941007185170232859966595538270964764294192629850525443667247515034573931698741178882834874074481217627062332302793934861858998402019994893997220190680236001117248675915729688014777438950591337313889120547541943960449739848740224781210082114304718692184999331977286838952756211732719462171727538923863189239515425555134389030540879369812556378920521467580176091051329254260448495685135343377165943077713318765585971502415261038832118656914098035772380022576841113693227862656988871561290514746552758712541836150015927221773989587082921425211081942929305572848199085745174033062427054678913358664722568013085342901117053200554523161229046816240438584469194968013775761931177198717096611382379341165506789389192472089780338668863472623914418740806448304283514050897417659552067932302465208590877921599007672474455957256210424715856490219444172158568942483729901163556502263484507152878972022910101173062974115603829773354758139359238858454377239745229708221555712376823402396285568392710667183114731886103678011131174509921421048002062174027164902821350735107480918349140602903929325411722188926137212217799050312171583571129712100930757483795259693113726587844401255924412999956040381799981372030634801615013948718791610217644640203907101178385715283855120593238719457594219926961351506897045996206325514350153539508589218328046244200024506291435290010536790178958272464863959841551126141809799306376411059736440891354895604306694275624726646104984819406022930041831639368092212188440238864799044430747486472328638702157572908402594433148086136881568463287871944706921070416290457158944636919393021760662180025681683721983867364786915137628757934246042210003988449644228616331581461344091685007772082364562991937342175068324055760159185700678207131945775154558803025569338200360342283648759209006263596518946546786093749426515097304564485992525515187088011198824674914084522492807791906900113323161793802539968494401681270573563650943401242946690349912774057474606893157101124106874973599872931864282742169107595907783809888710058725247587717271652638806218735042844027688636434079908597471256621577258976993424984292323062230997167868366064544463692366623470345431327806432894564613072104503974099620422919989169046053729252821266870849370087023205697771144794477819746058462660074449181417126503543711952427178351740939624162523491794609295376093962708564518909778341494162648644910841466664976435058211860539335230196797454886654315878594349354108587490948748934310848784316664574081834161724436933425051170333860664588251733969244823457474539726037890915473633244449224692183844342382119665968645423014063972006839630072263767475968475632163708241371757578046611975126349848284942862948822606574255446815268470026447234727779629794638687889212308453159700760199818767580612813466319045394995262436189557343577586500455379484894308639677985897913825040111879087889961720431988871032732530463584688828933221745495397865272334665405980507347437766441813128597820605859481413120137895723014446856150455900126401936521854809133073322786952394113468012781467353339578778926973660397545309666239368312755940517370044349851041011281355569541384008587987785978025325579903103108362860558221247315381888770307745195207155940961057813946994627648410006113698990664965453192242609881104171273387252161830258605085589639682436527198308293193612380873737544648499520545204005812207416850592647829071151647922433195314128741750043586288497612590224347101069449118288986370972433319263157918997077289642836979400007918887967391172725477151498245329052156645274571238170284177120346702177949717974392570851912358974530790913972213392981092412192447484240338462679735652128110853235093904601802716847354158802178962889537177716971706496953360708442457243528817973800194166198443845922563632951545425286117026660794027881987499811901464057020329217842515040590309528582882712968636141177076321156063693237414272785268890448677567566942783927261174655657201958128287306600520248767870840703439578865275612919095973618029301788771353199674398688092568362807116923162315118680788477318020257100042063143739951347017214781486768343603148218870924136163054836178406749463140785368275931969302695648895731548627
89016870639904359302792103957385921610334934687584794506467266046946368586148303443567803928569753078628752505142665203360479669798607031385074745771531473951927582931289237758215432467670797673156151065850102689557546498648200860060699871390934606430001192525684377786202251444678976651745308055571573117753469430262141017323851315891303022774237470897902202269071825191893168194945050726707455037448243342003562967240164556316382482816710207149240147150610151156934874569869438709990803270459133710645972882793987432574924563759532343167470205278229584408988658560836752727177481387702278428580810049815764375552081138206347087295882601217733840048036728400873017879375379178603335121918210164398236500085200052884613299939335869817251316501449443167555419699781744444683688694158975334848660661332031874566090542242283617869734220298070050814848257417236187219979893670467934172653969857385267930212652387052850544630858617534297324260675144706703715352638851015796305264198174337591051706586309852176492365811284893211222885735808570992911712172427954663584982324197932093367858070798099243064079634638670791785471368753462534789321826706556937422279777889623100522682791007336828780916921793843215468321738744475611660228863295766482301674612345813857882403451554052330552859066580253156891700375469478437501385866062825586900835749889087521776904743963279694394525475686896229996736615535252661866587063037246523999756156224981297676987568280572318847233471392232832629358614976586877538886525517357981157855865932638633432347762294236336458623064513538876956911627046907296008239995932770932062335519777826705432705152248381709593471496475135301732884696359861320960032716512613554560876068960999248403205676617765112707324276156742928020559464472191459232442921589960775762911889045264349143237911563966394260328427905472499916887562431874369844524443143793321162425471463295964151348068047465356258357023777690773090387745300074969374289210308767576907521387225026570918387829599686996300895751415024051362776439912360049666605311360451636539706754495202512914168292085936922697865006794444109925630061412379332610459431776743512826195799369246509728937127752978431790047626740853060320931117221488210008598588571984898230468262529198866811402340218179929829071273522715964038289750365537273444488482388178721271641477993649481015096890097677232427051719077039824596596404125160560999808165112646928609875358728499352947886713744503304722627792730062279895820819908942001242862240050596937195597825881300443592005944586626888615191434412338474244531200954664237782644265286599488960182054360157010681071787122754010322670587786509175750102886175449442570413592821906536529021625499935003396973289383841843512775034313963458288943791032622491231497681448220136018669800314681876728433649011399129932959249668328532199621347734760133585234478183678048269529694259718827953946904220863334094415185706185253020490893317894188973876402772099140785894322697517434342960779319912289107729366735663221738077495363106747744513805184130771871857504326801964961497037678407241249526828042788608769871720837856191263939788800404068802923338226898021239212821832910032472955165446148082627928041376598488106668931535518329660899312696485101303597446260990783593983468453434717515627884212575417957888843133820601229688538026782848411735899733510606176085067985540492327440161882833861875913271127466711814080774076239919906278062888274544641045924700120262826113282917822543789604893603549951785116103930759251520198373372915069981566133306743230824905842391871714021114589152306272993811663267323496598900032795800403865297010407316283128135818302981711213325300180016680865094309472937971844987346606277259733667231076029072952400456148845118656576890089230384319806831852091535005522186485948657126982226203035148232483560860682399470006669398309429205337558977038282862085995986247442160824180894491846450918488140873999848895534405674865069148366705241463362697338882275601949608124067064374272185774454073152073750481587817836094120103475662738831796718706636803024183871819203778427065372155889741665886232215277588840506533003997742834085811078573842483427903400381600166598055469498279313700014717047731783776590714040590872795974052547675845247947899255004102624455611462315910878326021050335875423578194383252130557876789866517261395088152790542516729718927879332365483685633699960097253386096143834524333988840087939938048324516188870447508609750157021524611239149584921309434928353229669009051550981179271508326330297254129426609902758141458633046986314446200623660790830486224388800867561217344461321785659318220941501951726705243449902589841575795711132874394318904700734950277534750110430783418979345424543723475063357503197164037002937290894028612261544471725966046250691161353174223556984229468043897195514599273861996094522747552646376801945891587859411157674011120485390861860104473388538624704556129570792681162281331071499529490005306968384960111400804233387879595461868583415216909505489656139375407120638034665322589374486649247216641947650801066889862195973807626394661828381903471519466227342375771401585876386040088428920951042149678435191795794561166900540869687592819128066531641685398331325374902260835135358306700990460222461024466778639772924768255226944184302849947582802823309751985750295782498957012313025097842357306213086859992602717621446572937549767036230820071578912731157461670404871615822375589924373664529269653650195391945304478239747495293864363713182447770311239846734828837981537780422737905077085210194134085048635429511224550548916901210105172788112491768225780276379239483146819297279917002473629989890305849139899533227893933458179886669633857484743896306452968073721476468815513974581013118746059240695401584328972608292708035020368917960893631552361219977420962741903363622005701693394935728174912595528350450829367344506996518802053401290423607661808764774755488196380496386459130698577263814501946490392902072613801074058138322808273297411056836335009738960614302573417374066593993632620121436856746672338901036614205509173648783709163490208098109776230167858386303865286277049720438209796044702908712906544325343974272352889083042294480460421524959640266362689571799606306125587929349667058287135542836797166091905231831299210669300333183604335513972007018655474517706018273274110694855224440799709435633924755434589530157246086065242397917197729149230205402744281290416640621585180906845561004315364433804457003971545621402519852030241123974608133977534009479803658955319369412053406989588794289895926584205705931658220243763819582829932702329004866254880364181493464150076372089870518636097413765016484100466169084927834124792672757152596341028846746531872261603980237377531019618816006091508043029611690083970229556486207428809609898875284739002164436636629365775117160167923160393168106840032928083237359759790013366294234881473953188421972992300706966708528335026277587953059062057756980296656099183048235146009599051762835319598098791273037143187484822710158767902141547420786407822739664353313372036586794523019945507963241574946834028497060328861019686937600690054525296133201855099652311521727445384547368474830665040531435913650550962815188980319831270214508105687731497298676738305759160003222570408026651860233326815062810438338165044884074364465118935420737031212090437108094236289133821670514687054675021815585892992679103657381783312563154302445401798626035911556867303572643756357015425647675838648875064974448916439595267117087625764592576965335505894921209570498306832400611985126564715889209906640281027086301335368825500641068089718217487176088460834738569192787640750402969724323823403857431296843759976477475545107279191579217243005642758654469317081770072511624063595266084408538723318027972667372424336849382428361428447577364052889573646388152099524381533946512904080041704608236480853280966424297430754530584480295450072361850903827237051309395074606370738535611721503887858070485396887343133168984704207110247650520458658047623301880959442933688216048712127100643300918292559051766439524061460805794725018156031525608111819590696970503228758822492243501707698399533452480436416774236749797199294117722239259714678610053660829726403859525759560994293387689462084260676711001697508150280699525821826514527943144645759893655987661427512906406120141479274284061039968520798460509910254832893749389989980906108585614364379561481641018315805087019428799146681462058870481251947130713796937179715059142547831220786443270066408327290419504876757671971522240428698661830789735646448839464970095497269369321781492807371684036818840950955833353041365301544880360956177043271508850378025617696179455539666647465303149214549573675960969609760884853858055066319458806799589012917389805132828119867521150008404678181569751358633923837619674383325740698552197507338009079535411965046226715357568548224646922440024223118160758937638988687563278030791519472070823923288217765117847834405814270001694232812019463428606872697005814601182443561875739711543229057056370369903709507820356390029821167246975446542272205776631799178439166233895371003157224227063170312544113504786628486871227002117405472506770279859851149950537460872795884910437089602734521973224325596714105280847932496464075187028818790906753424308145061301049507984353546421636200318630116779378248630540314538889921403972155002584921407109364791522973665344937667700125576136829359727100815256147406212040504478299202072819598513119169080128239517426470115397946529254763435824037185923157198636086388958286886320685104774867407703216258803030356315082261427756622938161486414166468819107810765109145051226070966012014294556601046466713762403201344906560476956369269664979355488843999203843659837760776569074341711520922585994571954122159788112852133024294778095524176045865081421373697437344717867869133511430506681942849049487413283752867892160033452808825495189335586501192351535982869160774078490061358434653531597282038093974086851599383483597321125285403757933982131134610527902011077461162954559031508471826662567569122694761808513919180732874855997346331308581446401679383610678808372909067210197522983060152770658816967223183196636498037117565506628802630761132094104569855009520097823622470371731463116754116153323538489851315704048782972309213712046031376524165686139069159973619714696364569347411847608927830901447163729168770089177444825396354107686794626933855785485257762095776858607312195463582890427016878736396026645826719272177371074388261375023705254992210014635226075091812326808382212858559623705764890280560430843280864183699895690790167746127925182353896373481615778225835795061431852037740300094308863564713068751147177556508005642975881228643036361491167758821587322767744897839444158186023666699223054242403567041137873139389615817597927453988980897771123891133183241733210682947167728413704355758670556517677401119751086022559298549937023521323522000460158701635402126259012965974160236569394449089056589041225271174226809367570860582604462539075735354222028061026525919539610309856237187047884979619251122748757608060447246615267798906572680447953909057199792730437209018415032452531755649911440782798360702053520030813449860586453326051064561269626598148068744886923050809789646742024609877976818044169534885582303104183956887396784396148516204464105270744911657869317807401454680972985962425482428574573944856082278139238746829362639161279795938589967402898604383735254740957362540416402877401502832441712428017797702189509265998399289140852388893751314614901710590632805553104021552684567567990272242652788129959126450650053883009451882599856954907081809938959569039489085316890122379975162577404533277051855970600921634645234369942362132213024233750188557729137412128512291379058335977077229791576362624507576559576952931007239779003695724389747027663098672471937511799406523474170621633995182489771322198322936851932836580504170977552828789757605332935484610108395696043040678872216981021830219757561907371761116500250998431342249295488014622309028798329819807557819808783742641676323430852578743912058559191973332173790664406019738378272396437910882740262739793268947075653672646217111645127191995899697716933354783473217338269885844856696397024495563949630735057305681413314904346676198082213872764234109497389303784597141669641645786733433818187837459640762080366899451242489167417253174916036072300287054057004316127473995072147972029566485371132056011574545339943600131217258819129795227020631063736325012623663064221568003659469880276985883465352365528932861870910679093598225360093681424579575727455919123741360175089050592087139385307424590439259424095256039646646327179652106090812629063296591369369332219931999141084627629617709222147590437483501432277760125571176143803850466459741586374073066492334144975146951565297170093976400034502844528855322503291672984709633200150210547075970232660875146475441122181201934198292679714752589797958028185864482823238519722377950009680115467783717843319082117669850707149308710286467691927509563081142357080161600299578029541722147605681821995799539958118989888753839319289290078951287570758132809887678637234413814690844074568839722863516092879834540137504096666618134596445002542627772189144759674778093493770696461243194571754742893620068915049140253314156611205064493140253719768495535571667887735812306292385959366440769074358381864096446588957203798641912943459269098730026429812601925461422175288809539860144502869928813626273863969622778102059209043210358323668073890997417698276128864843792713741160142191875953635076166435027331355112465072845190726417285908026239113637820170858099562115941427834788470173504931457693381303716317033921345640589776829714892806358530840976607120770052748498840280702298569871213352906194103548073304980126320125990931180402418498412325843028686895945110564911251036047948586014077695418473347330588493513487496560127808722529705190581350336533285183872999459089067099220328581221014652101713437819474471095560982627944748950635376017185233847584904441157669218635281861930299928360518371131025029851391058581426552674242070265494598346869157578715013134703076146252784612758290266773661996300775217279768887864323193202327573333694672367759516416095849759284971925501687878405003385224909489101629114996354002918919387381446534856763849761014064242724752937027182615079394590494939533656201976270915143894971055690080185833576326496095316259369275395595965063449637780595933218890196177244255639282399945117541140697130003504511626332169092366489610284702179099617258150379145439392215573988389673187382450779154084769170617609539278613569414229221124579145068116414520805700460097534716974787167988027935991172714480768539170652552281987802030289574463733106837341306606365110904671382684484124348027344319527909810564204221591143444375151450857457060888829093501611461634300987207280754122871620646203628546038897697493161076409367288158228226110399924188531046325687623151684690114081071118650153291604930004466395434264500343171358308162841527955591286429495516522659436017629774199673586550502456877828902279093427106594968248503598954705492459388368855569343770851222879818917384940875963383761532517033634070236152053042277616775685065755605346141510452422104937079640173530993489094096386336353352984051802282407701676739703954265509937561121574877985823762221255891015746807086760839114993573170874785447317687274657783722954335110424941364242116222312996305727653041152452505333206334818548123918152080772343607682872320938077284011492074225916738299658057981099482516158730928278721294865798763973951030020280588835859369587898851259698344946273402985656860856410671428195076610333386633467584834077341851001830926844245071077868528798064517683733388763498635969170204065755376657240702568788171521947399163935888191600361472737303133246736710875969822995685534751332115171599339889086870827156798616530773948468743023618744739826559273741313159853226457174112053420020122964423448362545490524071740568983220814751382311731182454923205162286231480690558653286688084424866663119274742704987032452659756370114754821490043275584297701597823967465182253734128808745806583162364489311537726644012431424498126567385716058244515845399444091274280086798250085408623931538183227659545885419502182735847632604410371113716973257705929118054970139895861708582630952555756866365815417229347630650433058509899466965051902046640809291975177428096752407331606286263769533258077194282806384678385312094981911831072184062672559657241153733831758026663107336671588526922856446006750909232298902863290817133376650991263654075454632172662750917488632213458703580412108984352435664120315284744095111678666388158740994384272004751334190613225803554114002446821117705108313945650155122161370183772625586536114476466397736329801093769972708895866771298734203624466575668875229803481572699521327783241138770220194736702463137483958312755860454854854698890644242789096191228880780750725267633605021960586121310840884915459599544774424714315762935108437951585120689189897138466293297749118023162586891826217297115030593689423081039351490489099545099158510855352816463511716976745887632328984582631027517558422750190942800123718422475171227177039154077130634966642673472646598373737298721854723764087081373240321988849582161937513720126611009492286537435232150402026438305461989083094312897254980098974928653476057127314377970089105588147922333484289165973022597933498582939470033377215741698561457578632210457213262012548934746312452495594328246162634247127259993872285589079014906431100511893073513838076199887851686419576143817922924915166101296915262437825213536581465767385149416998484358514306206693003170178621042307525337113629199033279879465086410337913428643285150539859401583471724474788636355768565940307574067107004863459269466138861850833493933351402863049857284636320509704741654225543429226335709326788954577594730548799294355706256558555575574630575564650190529943897733484772179302894391535293367131137908892634591524964775679956704273565028868642122422225847703634426080312905634506868061098372418603284767498540772448648835775496178280398917269301424912112512567070099782233390380353113825203714386928184787097715030394849838913253939373642589603468690071530591054773724617636377570984577282794443763189044015131872320628201967612146244227798025575440798829230205806929996313118799211853782301750683983737861669198605693836331008150668011405914932291674528194477144677038410127843133530047392555445055021304226365976599859902328082477840741840719627504604135758336988088744918981531520200133848035851491420302469191065018092578847097189859719091840365354508992769076337725321271730930316831643567390236470124103339737395470964336704698998539741304442410005243061323549943826558623663466690579745430434131271720299664229547476611189497842042307273779431168965074819208048091130819895363864708579874609312016594833035049542020388342190550663880539080000408261453681213838801908947719503901061977069179751487609142109086691441431507480619975603504192292822336406166401398535681547597654400443112605237016668828219017924439587621906472492561425789948000016561820558290183685260422902237701781222943467480037771232768018181119258560798733694449210793149922186485753823653320585991640120367443628567170013271061202951906846997710260004808176263539857246402979818221081273245709098305960842092957299859796118372971927900841544570799073512996310959718505306356858454493247139975399146038395014937079851931036668695613209814392351001195136431584339275667303763603229545632867575187099952882441734917477153983425527288338173470407327453568329806637688036817325432954795859542212531996590373313814234878289363340080162992278865153073939407134833319049752119128116952387482908497012988640586639184940065790093792391495443680677203319165692787584069224942097452176820367057198942287609845764681835215266262647309968388546328788508402196461395833180772431583976129224479270683422210724246981980580745722051111424896504009839990401685740712906308290244587290474
85755299454675796296600352401702494907505760586341365249382401597249790809416886174464052410340545477371477632883458251805749256115939032832268300748197747171897775751513627533816226710263249213365007850978080843942245192870954960728751150144152849163770796646399480568503423083144100399481812132153340463638117204547848606159613754006432067908886811729825068107527867136646984047871774967067564843278408659435084265731408155312413272640231448837957960736574577369591004726586645978197546368609535100439959351104567435232063241003983735024877642212031604045516549646951220285329916207545245271972552507972247849682002763713977178369470525833758069001842402617384521617973348246819619317315850055885031021398343159870552991231694179404724161544792178716962239958763272188779308551207986549771624732176104180341695968531119214144237568024308343327877655620602673160895806412054626528003299863661451149960317162491669029603434564428218898933665507505303667565387431989416001109296876009532119316657344018749526819912879783618601800822905658836018719792580608129680280679959183254376703182805048133104055668573469139698719421612909695939115550894828732918945323426690258122982147768885100411872172190841414091186721454760342530871686614617663751187681159523715065906915665932967353735067515403241813338950579310374361894937428047651761732589696234967481294138857680178231886776889603616400512235642246037380747247584712563451068050833590112340845147278847922554345618573580561496286687390102144100984424528065551565627228454156694923031644445895653132201939227536815732073003408934138284588526744920737985543039808283298334915521776548799915687105857976342248399153806334268690604986550617825354645482261987312022262347942549792572602394842119824487834861958682912859353224930652645928364450293919753193944129492172672899701960110923152638979089428652528892473154319767006507214498043872934556178703590248509816273022516211993582777047467242514631459044873837763769258438112969183009928348052836244299300506077103678919887571134303816509815003291260515525413855769433233524559133749625522105959783772027118457851435660524477994935829674957719558545476632983304579584376399558183008218409091561206445013643340827805269709054455548066636456449927324546334743436445142917581581449850675928217988278559750419150315310126476164317068414948006510024725121745414114627716297677253119641604211531559521744675367138333182432356747039636574535374607615380939976646187837529546605470943562979301448063177914628286223789530362981059602401723106301652710734506967063372529228934394443536628882256302246199682985695974758886429779107597790695944066865616916457197909527495489024134883404966200839216697749734177583503168841956082529637638135374885489164957482443724352462459166324188026570905519605259512028935148056462458966623355824598094666157794524437375934628377280953511489977315415997857274993423384267049572557908316406294253528960810629934185301496937427194423667230375218495441087197011918540515997704403343898730034231853086998108589056096889360766253628344893321454572424808816359912470289486954274105013104252548324863122207648117693590138108907242415615827058699949130514705622698036129596537806286894695376695418301460749094106188807044809159096775105934252457611370153024135289003882800751755489702293144425256255768218567341415069881472001885045731207429617667569742734027116882822079887948823838619446833032984584956262405807204739210310485067223048616061589443048672267185616876755111724392565855338966421492850226465329538050207900197410629293381919223862135388929368861623928566597439889471812338477480082307251692265842834230569121501384101291227348365532240708285898557059280381491303049235427159374076797012321606519298693130745742457680426030649271634088948776554224845860902949247133074621583234451242184708971698749027354461339915553747199555718020365488558196794728697933529787997329444577909998325241958810884269672739116244102735928088367767421824895584558054599993111362092019561950891261235879159135998456341069382892867204485141204938471626116939479993047567065824087359479592632700834755612108551397061686861430816616902670361972994801446096191871061965178661331807574889338224741983066423232054911685547776091849711791793709514105246368532051465602236608577170863414330399720539068861773034610615147311160699764930263968342155982764826240237585808232815289950621008573785212072648050411298215316810722003831234815061338637852677693958014676102336132728346804393714652536686566885210120809828051581058729839382471164268865354359620660579450257091746221312294606839473649975795102768683613418262209499773665041260869553261264838176979208854139842240028597911796585369135952142774625107942336935948160862033162148311968773696215408348498201751372580188008942395916835665608500406491377486428407599021885401397961755151945851594914132313028267854038148694198425969885477560541937319773885039857051699482102179493872564226085153857678711010165682338960887173466673070460320837560267115125485121053741338843050928906576541528460299915771562270590413464557311559718987653533796873321903393251125328780023012625932339803668482180767446715383042249078193817543263539582557378349129919314203860474557904132074959780259425302238680147194976896835305885184919561303012856534021995148314836384943479417548048125837815668180869701698277307074358023756436439369921984983748938204645379203711538965181514959885290712816397117945170185400444267010870973302465510763994532912269880014629134147496712097387239977128583310607686667007822156417135957955916385007338474234469839433229496433708006308445514293541696497659554735422581489215009055024364422247194156084343913428551064650736355351047499752363615229704651555885953338840735518889525321009937007913765112669993163289302996918779978264314929442276368832541253210013756183466451142370001449603773481998458319363178637290900532718218456245825495166746647025022536006049627621427821030522472250714477677268816991664312421427516369450320187877536038371590570857791730874810232272588267474947277779019276937180503966620304989739715587468104099656318448996478274644661406686357338905458850587522074428671603780498689037031800588963041510217504672292304383751426027013312643735353588946937303352039045617103039775482899354854113873452525985495796049218805674649469843970575347460170355792746210908137460867027850854321021321614042430536526433682504242500110397270503718803715416249332169926429034107819334595134601455041998389610328506802138201507013424903033330306952897468766604720650774996884455446594782906529261545211163506528245650994770882867439857957448868858845830391891959239092317730688369094012779080859063876115039782322097799271866116282664918610231873236803421983074943895815825308591880509437356129796261140873139867983927849491425036078093915068123746715576706029521048379939943361027366160404811055683319662723023905453258578474218906816473082574004276835482159973477538935236925006559530979091108231744857383323288934369079015542812715939681193200086308226313601850932438552250709787806310384652564567232348406032862474940515350237449449706027431828075405272925888256937009921932136349558450399084343526874799870919855285358334997082216767874405818317235601968323112974159083845929375617624566094919833626017625515312795265652067041946847587504648163397561001390213366106334515287071791961780503708645622682959547236350726104064140323116935694203382181677495016406217700682377231793241630161499987123487421844544246965904603987660995921368285343915516254702404438051311007577448925143189294476095138044529069104139889887613870390797363257317239539160615784316460290269924221060238500380430874467785279826535235418141888598778148416432134157481850488692072187981969022046622302674325887404223993209728652249546394501995365870646370748700878937702680365331516421052891600255168514289010979635100201245982558743901332199393869279592911782668748164012336479869707486845159764322687835678941289704210637141266955757648498809694227302848844956898363104965804641989602211904095711654624225245908828677576496012438518928156424878308220087072393311275253308964962393157354673111536168662873851821589034535982945238633326289351933003622507280430742365311874834574823247359300158509884552849903770275601583416446462093777779776525382902762945795898022402350974201979790439048555856037771126945486516455538916690597439341700843002200606017668130788149472206675416662493606305690306758727976815496976403890673090175273371193376771945906094792630592204586597501662562422904078436607935913059269668120075911017601252211415058835137412616931912566072415400979624114497238235994849844688983394869703687225739178721284417594519478026838372637143943863217063118488870296685317864812466035874809198590408204702443322633753672222757648957507824327972586537585024106351635743466882566345893636884060158065785169875103189154658437914814253531500054051902500956569239079801516369128329672554187009620811672185832120784501197020447285232832765450248427856068794328363195623850947878462629653280737104193931106821676955465036662047668626423703607491204228703882972059230466691955561863478451808392792050385525630968250945806895939473145042746114650596639109007558996005975237972599728698643082173165767863467165091921494647499819171216745980837135988215595616817231337090422523338499892474280444208546775111372514069878070086420341252216910790775332800007924573448067301606625777607884463991944823120850052574177252442456174045951182688914116129095013955886592995532671812498534735521768678703141607944553423133543263900541784436557062947323727578494694962285479766079227443425286572179938363571432172566247561717769183715749379055533189155464944909177573471441819601373427196191235348738145752621382127699192079890332212300598324001181711061889080431861409383248025695761500443961817252617516581960242963893654081178164312936205268428526634264717255769910512869121170946037218849704865084831340447931979189217474486837565339438997348998547897438297624273291019810944281313918081381564076251890350301402584000928350689591649044119861623835498359508511039206614077186034122437332291877687375305982564089345781568544239927626097953284406316464527714359394372750595555041723004799659671465041644453872519329425766416943571677282705441133991076325597839203150469725969170669734405833375464922148615882248561480095212348208817483628788022205365247712741376141215664121665855024204570881935540614815750482423271334010312437463326555559730799763546510360221511303207940447909191291934991334276229798022771099394043492197871400155023416437416449780400481843130442567783895116758314855476508811638783696042391737522913372043849240699659956292259060747448156997442183529046134750271183594098854382256134161331857128980366713349257217395805600508915547427134284143769761527304357391995650824033096120829764814653430673987652646280870497009647363743213809900063629433488317725249116891965482307780619188368742920452019915636652041034378880873201918891021474155472916805140685452072458543159858837626636096359427390147072327893497496101707836568598879418614689796323354125111517754569761963812344823202902699181722433023015260237199756015560027982138328526408067136060136750460137539151854264526398021948311562381280808718086406653761590051301227331823318713018933779814668140438703134990820621578983379444770406426723869009743868830805541268839835898562620572260007763170896747730239433249818638549679056861670357670960489748502019732638822267636333344737409607296893365664093352062442528113764797252433209714938457467038018828333752532207703999622291849286715357917744089065781715239382527773726983106642537160409218711090313153037604820193226227636014912726341279186471879548723284320999624101324411937395244769307411443321976885601181062021933560335225457663303503247431102067073936289978382588576645693078981667923599468883419915499035583875042785540716379769578726543855793749147566661198063500952562863355430952281613249420620344316352895501477017477046688843475647770130428770608892738179866419014462738665807213434103125019982777800310651501529189076721932492460591671892586459333781406302477919078899188593808801176715397099064801048459757021585705067353693112409216777569507164627943465168045973599574582031640807398865506633858475971574199323003165435048853525226350660251374567279651934781475016997054674292497469867219904720467796475009820800721812027179580313293372996260518801079043495550592488444005322217019529744621050913624744192578695330284149649336622244120246423484943128539016523659877648166275076327831236632909550257337983072687047245138306827868410555486392104785184690726080128189247096872086616596699363613825732710426590454674783636818977516993623376948411220564349718288755510330078800866848915234596672433752166862372433405615192300919730547360028921433548541313115895390928212940699817993588020174337408556609555151729614649456846026081280966807692513108426972309991344040618275083857692790507640188531944041542130269067715436952565970160473914140414510185526734044237850274133553286299893702065939908778682053395957668147489509250556422554220287959894988795945222869425046438913317613641574291357179496606167095572976053577309312598570333648159423311488065102910135051531133248852188662270466535896719876312938825316223988606920290205703913177227987092404120935125774097638176252546029008326455883436041346138609331482679233639835112637009865329801576638900483456840685117544728764143920523436613859001007308177795799704902913957367676049687192342638600899974352574704342256162240533083671890392579484886436554871587391376912681923242441024417214485013725949642131621412614132016441340396688755727283090239867697515073604477285368545754022347005398490169009833231666524344927426889305890498024783462665821377277741169541901930792522179835524714185645133034034944439619262778552481053603785588813817721034071537600036557470208247192229995687032945673215388341458618479468627522489230779764690319829199685074857277035308571129749683994636697212347944366166675105588981050363992972016075705128403831843490351155714085381573651025324721750200786837843831127508610538834129025875760943422467591534387450557360454783978394030466916498032013902793716465246402572380042036940262446594548412026049930757593508493044054796882916230484148994135828658986277065519133192378550261135712895187030417418951014946455719952595127171309296698324333216369793439612823626514260920028291141233173355852393667824648226699448542602808091531704783568357231101340349105187697801230071300783926493113692171126597294141019344524657692171006230243064362764668448130034269627903040191827284181914458752947284753672166034876651338082483605138687473295888639203499797399743739755356613902485309767130593876029400347949706275448967460117028281256107050476436050436968366123840085081047365523527455902672443753815863124655857647016936914043376723656008288677079451115658832666499710589167643898514330521707371928727139306344636360366087952690680777342410739231916169787636482869667253684077193296156988851998774278054097197568366516804083276194692271123998965335014644467317147326989161222834143880188513207975582685043406257956061962016952759388433506131639315623208618165823268214132235233919771843655149952163142682460948831382890749686108863025540548198188173647893504756236896297668715662504762496472850003641527938772184120927225496634661726451530962056549216290910735952254312365419960791353285331631001687038214499519356485897741943686106861381629596385406615808882791956219453974215093349766021614779195117169732082716757473373108826797586109010811877017183102121563672947849737861313584961588429476615013972741121268107469404213778637987249170806136995165716367319690048752856552497396188815158188111699046898839771250674349205218802971157351701120126671522857611843031993771419871342503568396244098668416767362128914402589750144366102290715017933080520600616055863112472460729386805534933775626130978464640990552496731426961953220458764550367781647837722408604298349230933212479313112592287859558994115420628128850846732627385692595875476266880507708420633219581359470404276799725383249692536633628292090969954025310589583301736603482071930102472034357140337654432013866692021976027861342584740703712664338195424077666523944840635119122969074018240810864185816647150359044564235017016581246216369684220161813763366385486496469589261462650534516068930113238357874776545075849026554919177740151203730138386619558396907529114842776765553445859405312468770972368593455757915162966196417853913680006646800449204639547004293656263911530643970097709968328641209585246070387013405961037988446828675792582780774226627493742512062033307579105893451952706629396963330084171665578329045267431946315163526342572099592455377822146335301166245715972123050151020554590972300507519225758761302360866081909532284947309743354675109941474341521059439984270782481199744350040686400072926490601932721191696199468888083238260727224978702929968306337980943520309014785784805610379347370566649743690414231642477161779743781725128198364499343640441627768269479848676585368922758756001071890620610372547079549062727702205269255166974781222437069981191904448150331327929607633535198971949749520754939770276497359481803941582180032676600779558476265376536941344509535216828491158688223226673830420860180622576259608493083699246255358207763006673763202334580720279781013909452229273792919155902317260096013066312038579892257125730354654301199199073124630464983990250247420508965234558019176262366378113474636353952037441047634691993643519822651573922947628695168843651791190985495159855895503180504480568672828225876057229147036121334106162962658461993400526953758783198850628847135792107462690726139764165509981982230574905699906720685175365022065117195251771403100788119401192096185968121527687663123015918504959575577145849903569543603232471689497743689542463481918110801866402544886014935402032653105944940087721443384411148610472989287652802005225771128507720641027230466708651278671415672483526596030084370656364191363388971415431135143658065131751263986089070746617542814951086287543820339029261969661936479759164980919951408203344182659945766599561985426279706397069571592751731356912878672793566887594013041543251015729397622065079326715662009398762493417565916289058835403030517266213588858922278232858046515974623150112024164048210517249906144876033997207804544659988747050161420439001328072736141250725802306976261671623519642298011726677605211980655741033641443874729696216032899158396956199663413917461612140414636957355838517550785039763669934168244721941260728431956232976420888269516808658102681172758888467494119836604211382011319983573881911577250877806232334225585259299512950388725333643227405464510623839730035425876755646995671479286527156708782844934713414675374705522698712353848963284712492380212706460297305088770136547892178547852432379649939858863330629066264440698457363551614850211832856260765139757517328033616429390054817376998068205424850882162386450301731102139494832701668371465074576413014184240549090321965838896214070412791456974421634507003809916679616386782943571129857939587439212007746568729710897692755481142750127261970718726081023660303347605068655715238848292940057851249756560733961965321897926847855784954955154767168303351919602050773263045012477120840034779485978420948252775416699419215546931298961622548421456031334478593130383738665275965170258457853785500989203835089095833108469661905856959028418044681713802542994276237210636446742877488126428424840739141717250742603978641187677966803313051611980924820492664080122411307068175568704622940062081476724105910273371005184191489629527368611133411267914566364692849949832072483467387015735478823200530064437180461614428786872975554602129266855497349441001071674925190604516716576426517864496861966038179554514538156139311458188888531662876568447148049007642099313122355332643886779202088054261661428282184763186372238340315117430917118601264438841895441501274576595862218790432269639510078
61221065484920880147930679825370819462139576926662059742748871147980333125039858439983951717303812196610198541122533329947111876566398107256657250212337505953912888493998971788902527786213527867146206585752767209072703307677171397297974946053801423874969769056306306147386469934748739829231890708080229325485394270884373416713756603650447042201089485882864408046169580622409365732510315762218257782180619400715743028800820264851553017496122971296041680066552029920746132052288833336578291876246113165685218982383004524343472065010037471081873504324501892036687432404225073447628513057196526184300568538873301201742246696208881623666942358266076693653938926869176199372612782557975401117947668184681757647067767132983848162794840323978059874970448679990731816848292333896350728583469428313811604234899560482030803873858072185240064200364612285009508058689631756171064662680035702763929353046486794638922844668118900692654766612953479590003772625937943456862965551182583159729990041488188543346529709687383472760019191586993161769049105672251130529606526085448767296514367741469485461289110114662322763850969988724171547816548413543901359425642471326426407336008135835337033252339252981014613871540400829423252239469577448041787861184320793133008411653773882529421536434962028021741873040983907931261302156446783451761102715097063146469950237352031120857537871720557057384625147757489379713411163176796033495353992919541654435889085881477480415774184968039723709363867325824525263222904285625041239260039389701983539602343564023587480743940896638534348778176544306226304972714302826394911293368101844730883781819571134106937116228259432799263831628406160593801030774237826061368069996375740014700632173086509439592817759081733983605706607218166955165926958393458642109017095310042957506461082760762528372729080606471455242117878468676353608353319578150451861985372766013575036509812564817860120270551498113857138905664679251369742635082983987800215169330347589386471187572206739333711203334796336573646706037857046826431036792290801499514998284405094947175008091634392901553254841677907165893274309241297062775120339538619831563245026881188502525873716422335972349094246767581432632106806084032421176417718341013898152302617658049056922159518234836849482977572719383010998329716481936237233664580350604939120525759943466175249722461847014554534410976062429564443407298078375003253539108330036432678551147367554849483850589672456091073483739801762043390640156561952598208443967083729018304910403662777743789824910896194103968756184450767865905255965595789578893152843131803295681999353101192534461262463059259857549760597031200803831127322641863599334208197295332814053130058980547703960602550966083166011071591909693182631278533616830285227468939794533735046641605898315840318151191846682221719071901140494040086520850828581258040935104199314263941034006884711435448297082733456226212768082085362646568875658129381477174138179297669478170153759575458460049194500730353138812014569398496133077778029782119498771474234921626403159202273014561096932175131176440099584558567825054106467729439697695639620919863001115315377084040683168822410871424315182230059062116983821707268576628628894497368244135305575016005812307841038837536281155789030809094657968695940887075290545598611696253195580767177388543182144285221568489890556870528177575397447718317129876860582993792911526263110236346109049679619078344429237728057831925354566880505271965243925237893470769676994320442041381488601094789380218512237053541228923556984968224545453304585772352154841635779395903700197080233656408030817395261711224022911779480416976429026896089710569414681269330374383040587658657941893035674671088560051795961354770452546033968861630413697546791756276274504666925272783479042578002005556141610831531981552096873429650937081447803102365999256067979115654124182279860885013484658481028093282345588935023977275385329251697630213868904926445271717554788245625878901082805201625927139998196355184937670641794946154727435700951045242997499175735415635333117087739617016760862205558806745855154834765880065721071049665816265810633411354335177061548304244988395025789169505388951276089464861430817687604110654527262143318154827512377895315276571697395043756847777496525079830697115314805800736784951547206597867352353659192494521549865329665385273144096009978571603341179902004710365649284242970290034336398955619853216195757932836296497550426445417703666338463813546360300693294411012956905197138216933525275930203641999416040721253192020214146720207545030814086364193994683040489483938536737054566923473648008915893705751277614846855512707028521363926056989591002707716651142756964796806900382809780015279039789013254858646897855317721200641185441337714006454765981162938408127425761933611780556985158782487459186706748235223302022914379708832507184410392368369953584161112390169619032042929306711437034075496475344291685122390666115752722668215203837897293082698955513203453463161272228606094545156856519961252632613370434441423625998269704725119493602574605153633007494259519728851607417754478690620289587851856721233198027228191148700606499260547681891823437757251978188304389246554034766092750155450911321409568262691749363540486588723890596360166762323236859631221220097054615361561605002339922714849703244027684195352069017977482616932041362682999939502140762722512586570367147039977887081730997640391925684142876061460455430430031904043376981194979354524568006757245600059398166826428911323235116954459190649965103181971612996835443431816126950044715287530160657676380351482140824555013938829530638529697833404490780415996044682583605642998988472787458761028259622891747884615777601595563433884533740774807491883732808120576202679955790385348302631196925299819803035582195417602816075707566014253896173917649945324503747152051723964380565558443767917516355027964121414549157073507246060140690913660319311885897008025487408700014644647191978958848605499245966825644677586597104024726440595141294221642113735557360118388661238091577012610609809430066144688050149355514581874636272206634239172826692043474993120310919125904031620814068816901288897439973982533477072950967443975330430706780928140488442071881988876106860606596663163565454552115304121480101236232476946149868489775889879577070135827390094580782518927277742385631868257564854110041305733754059156651829201968180268491466380870831992538475198403491515818373858225214686434031772205057320684768080325613279869919156090688333640304203149036162798118828248283099889308093228372545741081490683178121124937575050956582391786489407892292066326998118497722338361206868432836223808378670997142799729561576003865056176054017924081269500048392297774203618744284931125075990624214531044867765310881733690756391632399459416123243379488152181883022188017991897032527487348697281203074749443246752566048857603179028868071150237748081070879086666789344172454953032217499615686687060472619856845801886714961939647462538483283554214507678217806323203796370879383696422948399490208787545269422160655868508534396925829431426224591057791631302471213045346733328052309467927017985477744629868665697469894951261420579522194975854070968663703096925962875532675050371763400503544152024197212917973032606952853727615087818825263608555927541301400981494262298944547959078744972360934477864887339362103911136198003416025081557033963512154119269492265844265397945681837891998247292407389313816447620262718415018948181461503375245013812256305580934295397080829211400827179459677786038551333399021770618085195417956125667844364278816617282778338231850568217231569933122226889216478098849056029695148589397820314319886355352658985417869437125021919458246216125558717496431633948447232463744659629744669634410766649815034143090306724941211311188204340031153940205166482158584645025603469636183740434413987877742595687615327144395835774558296926585562405539003867247339406923275348925081258547654395249723718990776761642160077807175653552779165826443031161506648744263468514454773114926909227518057001642636856084448360342393736711661572242871072469702311290452673094014669221301741578609705849124244802603392647771139470111643278795459473049448198147973480102659708900073620506610579201610749230077872986605031088183737947072334841504306464077617741991199440335866250872884791263620210375294854926960212906011278661907275517252564967962573856306363078439711257608344671433350437085251822020808311519194356153537617528194192345053994454171105764619051190030784206912260233258361191088739900470096337584013079689360752615983201474571918081988386446741140959617645345016851752081597128151942770140531472756053309122308235208700228889589232008710331112073935525884289911278006695393728163163808513829114860024429416952509783738022102396190190091066112939893704092294825092558485763153746914305291267310872498664264619166572555030015321564414115027239380487141672036631179304063170948559980094788725510033068199112096772764295797113659086166606691723729891537020735190740852914976845332989122311561031819546328912478769135465359118803264940865205481839550748455435417488549301993612972080768831788584154585362181884513288274949337940244077529763014246222828802944029046045246310326415978856493257778854443606024765835529257352735676290886427958991208895413657297008849699337841541343240572671038251083511408595475002162857733332388865202257365612763376007239590065631128726961986881734941056669127072999445586772516174725282702386682329764680830535816275544315645032200876219177407223627850480045594447642812568136543274766429751305236111841689550024285609655760812606695321768357875518435989652034722335599264899693651656628618651281906547060207886248455143943832717122530400647197129263272380145113253857778799598036098504335338196037993793463915729008494031764876863744126158947749172385640337417990015836988802630174535790398536178852831762003181325335300618737347049486253392554627299039287663438989576452640931966357052426738960744652923111285553360293082989695531787353802317788152120252266472708805903380164565443856558120835178559688241187459260899914681900248436951053353728361927303208331732656361923530947395810641744310740842599187352617808268475483856004395611298786286592697219876728731492352918999146906275685303531850870670737686010883155140787279052096949256124352062906646750710309764827176170612879938425224330054870360851747624911105170235431390325146349966882357016137846924115987030296276531312989538260150163793113069970561642677924672056776600039293998224315880333630850934231575347194298981704919510866583829663239696001954017946850411861628441827802458783857384845377288779381338434710585546861762516149975070624807168469648690226368693444228872337009952315205700384424932654979310477958605582593909036173513511670306578295803496635452756678748931431364470783920728932365971992438998393814653224778953041686271643790884144651124579746920908712558725664570577724309737268002710951144079511199645519969818439365209260349116920356129680484111033047636788404300134992620892808368633365104851039205201697153811203582526667397407077012152192935242463316981217798990227095695998333350332878669547850606471398923877033918629066223977324261011519813601562796142200746027803571971775391624245664482796900821417926953360510071318135157800805943557578076546057007978871275787446997714040697754476491224565534364371199030618551190596591770576698247038373468884631553229406850319760044764835349692526442676852729012915969730449369272812957886747280686293709327900960859417866741256968682240746896637688383668569103318684654199187233752023687447982640622510855585827404500196224278200221525130838521837557217987569783465904792221415423773841888612845489595679569846049824400073772340359266418094387065048572304137698301316431833310305131472007364888600823992035714347200027705242686427586560901635154652583570533028682524393633820199310259362144062187712095631767000637875661048578092950343801145344153417570991885538836585779062171667719201658584582104255137252760964235726067855264315153358790957108566055300838194930156835769895298110216752342286735282140364124930791480619726803826130250246464955593385345823132230162383485114130835255667326250124815091115794749625301041026817286812027086805271386117214707227527580095757223417890769036506407593641013488143461657466333876301800674940891782523875496194238757867615452113977361008678262646394961113538706798276743323667525371620439364737874326960976227055170621983749462561401993950570311443679177843628386998261240583418397092415002149007706249398071149503712833851103378469310774576733049074193298774343500975513907566280208019437648702025679879811486570939798712019041963961448783030764639491663997439756498526492495744650905630106690691680181780229675990697752672995594663728352161232369425708398381039601602089919508905194331765062852357368078430929164700745041334874909292772592357314883568314244542145942069446821722448865139889865653826849591135377368579526060135514009194120540627497300375528014233952472739743005150773642297162858862996688330633947513101397541610331199504489118244114748730893425039802907599938350707555665945463930891776414225845277001035838724046226428504718703970168610662072641772260144177571249018992294128001070764118762786395232001191307310470445832167103711974094669808307926010351518624285450854990009882178094473564922806675790778391799640058397321303776222023972684910746618225968054267732668484978264073858232459665538231306463774999005825225117192886073691433543204455900247843051040998933337970788014836458499123644471070752157129856792795178745200593148053297226599664699721759318566870650684890268529881448144687685042043630136670347935653075967694141012222075220443226476354805970272674462134951113080304611033144329206350595061177021234463457273756999190827723079651182421086922936612703705988511453091052617463003179438648364051166956955084661466333468048608018620409029588327893888958022363721645826342811900592100002264799392434434998792822141394006320561985583259881650400514209005501417861044691851005252991669854097613462378553088122829919633443017172574339972215352433516517766753542691320121173374912399109470441705179067824591471201781801296788269676834509487898245305445507040980904664191861050083160854133160322587351255011727351711772402470769431573355422066935195933924265730804237184799656269602934890261160117664277201291558072182474954202607441871050545954395136854088099203430878235249630201273601200852900856193008157745531384448722992323466474319191454756658343599968476418802963188015596744368965466166337192767887020022953731299213651713347901199227865709833790097038884390454336590325943922748818735992632229181071188937837180058047825540800871198481218380169669955767837431819354479530275978421764187548496974981660405510993049006201787963341254843059537370726755229669185602854152544962548747297159983247681411406669250500538226805803737492785808496146517144265268530919959948536545383354447317697607324763322535721756717555847269562245811732121586581725687157199291388419164812680092349810425337366853255004621669494934436219062147074444667652572901970894549908011931202387646680763281811462183145092366904010761653025273207251240597250065943822795361549296230788938317560188065712630686004079292907415346998293526144038324419553480836821463131739797761291332754684762120095155729017441600953283680805189608118470648625120511304596404401099122977431066143931806709636021359424218674903303175300654109222940197087601206982716953696570245675214240667849167673686878071639278672714338849937836898903450211890999908579854456914716220693810485081385248445728014984446738143246978284883002439023327043019602689500103397342564321849600331473169648987786715269139535729474675449694953967088746705550686700622953010406572057432254772493338930793633754512288359198874233521324756733929503598926114865325541958906602833660006424743515492949841470987847541090294917060610628175168992706042267269003043369663350538313871784776054883294261134763165348651052869400074279991184818450788205888674958783558094758332856013790794071864141058352465779569074993696086383525512587162803177483027266748239911421572277320314256947759715307352844456236510500640717971919246429361600014108633577035211689537471982114409535612857231703034182648517707184125586227840679104850698914282646673067795736290265120792066588182931838699907888980904188788627474237854620965294797951120029662297146074741563080730843855329176668855422342872471773617875501042502473568090538390593015999239094530553989004890688614435749993765568832708613906989519472990404157687217234528848418054117696460289328413810355793907139256405128346294359118108790117716493650057895901888104264295479979306708042093919026732997970049563028566446305698557389555322727044630136166805856488547718926417499446320330006129121210596996924701348608141141112874217753566748785267477859590053305437684637265270096421048990535443244713663474709169593141358840449878960804216383929449698654354211459815105517005063979710442297063522272347004236467719553854515125643230391923137834620725794801535776341250745964521047466418069553878768377113167000462473906798446825049218301048049124598236514660859475084841676312669371735100224541569994927303873347853663675648692241177855623126767141735496874138955281086741886655606085510643617707642483290349349519238276758426985406273417279273652281520861513187125474892754218390180307976955762598603230376656649343781862326919888289595876135429115540055228151286281315454332970093415636391148222006537578176064783769541421421327752893418932262848207091631001817914013910649030239458070956070208978894147350703203432943245862007480648542848958177363325382708462483072295790155665230340514163084521445164525592113479840300548976414089303594439568092807542500874445912640965389496216730360618548133620407152587373456465875829500440746166311117565997626675501309948857593034843967825840549468071100894694920237200312429033741546069041773632798695059684372714795377551662536606266633703957236747408594595110204280247993692038344619148830675531863700990421918495882298136086547253926133033321875409615890283470835152110844563670387381828804759706126213703325238344229716394908424087690686245109574382000105161288925756355671988785071651650873068337944594942824612250765671861475507901282061139343887621264170700378384190462362226225696435099175650761905497229351552425230048244390114224185164205710888406025233311031377842945952855313987375543718448692499957903337158287388175915679242240513728097980989891589099263165186514444022650805949232214329188113139762175876716125449175489212727547535284865976405829416130591683399190832463530164267994595928493438705972683872680040662272050628308062400674767740470293746274324212215747314840506326353375196920302627937097048606753096602296095422870555510154981892335667124427742005315706902247252082905190271703957599616569249267976260581447300967693138355239014116665465640350508784985108605043183622138875426180486471016006023514356721812062208289128373925537631828100416584087117284924986653658780515380530579087708754457358297297579048975156387107163179354763053537570164138207232305403467847577090867393192334500019481213267088843000145297832062266694861566097333225348597351553092796367571837239583521646090932712332229066026085232326325675135593577985672258478666077623716386910154546998690918310666252433412061670886792660140966092440186304590086661955629271187713225822816116093774422919198272408560716515131864219189616384665778266008965664842400788379763247336305328574262494678066594304066408045004306997898852054533452631683220236191099220157818797097695886609399634191077327590005298958704949631230104138302174993008149640609584248048881024457738422469570281588791067051521992264895551211015656865544113038848956138454898484370957613436622877179938674625791610712520523089751828135714428135292803006413182883179180162271999011469002631677372929531423274204106284894721089945768844965543474538359275650936853494726270275910149291528986015122935173776
99170015761798308294995201484650430213729282132473347159955682839266342394373446568408292600577904428665561408286802665548220536192030646212504251774929592953206478928226806784841739198474228328632570833340912549511752511757444667334612111572765891287139883385745095772818745308799547873936403403206433312293488260049698103038148457765433024325903688214084006196143284778421613039545046874907758100029114434792570969320083451725236721338079513886995922561629743472731285859018660477578434422436838185906924931040082267717927726925295089537389575267266982453313018017022873294097789015140850663900602795980663991335962652109643537509433176632120972250104310368568584562897695473845812472935715212502735750904096383437599066678889944392575847364096632653895765706741181139239217254044010747016621821027709317113380860005704424494867908919582710244039976390591179616585986914843561172803450252957623534832403126668919641306409704553542854317933819312322723438649609220871702384007812102350085522357061537680728573695064218588108052893767782585858771518792707666474496187466381056833041388584637488314147449920717089870288996333982023778739496539108076871437386310068161293178341494946949536564961864143584430236452069930955882071277071039562453224875975921616320080956836555242143430815480682796811019370026449401019080413665274377649289670952334154600229546516495283115425368275974692754089263700471775635648061425954400070808962065268711272665877664700720124921261343039507593040775812802682312544243441234072150861259174251594589537389912462637325147847578731719057358571806826006945149449569548560705472980135305519208875770039061957959449557412479295505769276580814637790685047629108833226318418641607077406276269790444532687878087440934078120359851108646275143893668249322909640873114057144732992372772714984851067276499846231283070756253037956542699470632537609114060276871059912877185781427311736680151890427154512655413680712471788214291581410274580585333254080483230633867107284915878361359433105777814588656095132442426132036548050788788188958595328400534616906220086540255228915881212265332412204157505396997213574410336394638745108125971885475676691035116164383475009397540500931588748520027381131303258791980648991988592805561387181544788700645123529370388997754585782902286521417717261615186678477672920318881846412464978255145509622908834980550995622619080963961284095215613860164364578045682010674975864948053309775524631350614938777149694038534962738230934526729199043990177249682058408798111672435227321283224183370427556438894621326738233636833875522986703330959005206568553923438417364423769306789933103542699587525125814657549416700887187407956927862761662505699253330975214534394352913202697293595027481776884896220605424200520981492538069742825694250218559264852503590618013915743688138691790471670771063233071589237157872984960095911781872347055108331677198857519065460758351211871509740420184930934979553601245999364021357770552884858145011142958206626825109419039614906006806178681923705314429074292387315987925977152213682271196286492770743140465196963207695189691214698153246586497285640010709219941436208001119416142372102376596777700647570005029607980563821332735240008589835315877051322964543367310124982600319377075647834957938669760056011506135265200811963303554111180160070158943503029941420633435433409149866065297569374484440583341391183774824146287061712561968607677848343777814332931811088035699285003599504453492120883620478836176786172895078741247631307223184302505097319501287519917559819027904389256464897401682458328919215532501192594338906378433432179780578803257926369697654918384996045166068381153162926408740262219419147729135566481401285301712102410486021392223608779572352512846958171109912844911247914681524781432209745998005542095044072128682260566057156818880009001226381421468796974868240974066972917445324652518215436065221276805869021585667232915336010604689505804238299649962266894989502035074398608722050304722921587506604744894564528496064395849510066056125729571653443733135762247854320714969779486426981135416888977918404388445848773412580426422742580813979352944071619557441283014965100952161321789324871329208645117067227473617747908963998373836716150346868604417326190402657690444759787945244725233500420921574531340290282888993515491642262930527996846323124171744367322557597985849344186219506360863172734957600826075351596603945554282409511970682130716174911939310087968891703669402681774024770260521442439256682159149690876955714856488423150489167154529336728207904468287659454721782797447953810689855208411396894048752818922350556523692823332301161840726910566593812028899291704390798727792916468528149375708222077258477640523444192659893742448724512453151370157324988543087140262139047379958430386281829377201092250615214945133702769123102443486807991493407599703772365571952201696803676408466491377775525460565057709550596855358530946836839545608975460199381156098894863049271512794412972012901452612627878596832334254076414461681391466824747569976556080630497112723243732884076210769311189995225681114391751187063170943643821395307020149576205575677796427405304204340709944648387770310463910537778881687727894450028089702609268741186213618634477949894391244120807432788266506270335766476337946681830814971858288867282534742155109334004685049834078443013210781358971038971559788255709445089898881592171122699542610331157251724555619746594922942838571914806300503041714471203405120838699660896639346160087742079032609950007051727566635565262026781529085027515583523596923989374285537164055203415475968415449612146458572531857425116096885575324426082235758179862060906042768207170873083337467183559390236767599398933049754421953387968916000568601586230148040030708155107958927778780387802767470919437979153118380232700793349144744634178848004173635593538431801654253567137949908986181114062727570898857926506951400602838935850227438860846178370490449876031789456783361263353780471698574077364030905679239700833679835906727412063027518463516211568474385998616255599779207823419076125849950521372510565605616886647321890486421421785100440528371127689222299532257916995312632384663074435096512390976876248143151173832346790093865199451136534696552515007545312534730754721634616618622840973356870149430553907249449940952144872116089628661391042575999415961525053543477236042635156874212137457206161319216175249728328776618852762247927013918586645403266604564641200272695982274769069248052773347422836975441200761308207827190515051805781484240842496728692670882189189269414470618956852067969269533166402563581139964969760436879141070513018051321740899031470234318195918762262604208349069174032059395206244547358736379781370246121429274655296734636861353118555780001376891751937722175826766647982153319714132681999074854125618430574298401973037293490435056401090713528290643205349796352643800192511385057722414188080815532223404283929996005590503532999479926397946092644553014321597694375693863304755097790286709053841296798554208146044494988535226908985459023936879288827200134615627630422669713361961581444190199184761821028671895116227399329924957019228151496649311220687694917858256784648035516511497836691197946317686127087691518407156171696321420153189487987331934346583656024098023562437372820478099609569252248951470396687722136692210572896717469215730744571275552516033433766833324134285204101945555209522108251738048098474832666694796414088545271904328676823806961940211599198878256872822333194375968286108265429288097341659854166233287365831918979365790924056624461440106784204262840229810528633831046439482018479504419193879266532754436769025165490108641682557523969713333436388715386278893247128269225502431630975571778680269951737687909083628126346925730565595222418864680268700552959991235896033450198631617962283764472821662456608692235031341277917162111815722320169746540806671939935011773430121475514319164117729960890045204803786516053197984584636750925041646993519843620806023475184585602015750357852298327679382038025845257081090990708977907489124511788647708151227725337543140917820953941506060159879142489841352219516721583530022872370280689282828571345344499507238614088765781383466235671349272845567555050898402642827846828563765151903607324871808566760344295693211826704414288361252318578669496953154519016699239478018959361784653190735296460679166529275306046119573570850429416821212428793526403929152616310525505548282911820246739561096445708669699146693213706071146107893603118778366757805967775914542245116504513039714968733019537688924210720809755510245550479409125795462580576222756174272802295730379985868253447303937921873297880052862354995547496345731903527341904761083876774749531740465489840373986261726522040550523588920683178403860962573288569052347402667030275011459459410179289090888655185836281550077153002428226881913743172401511409989169280908896688151384856218571630314386575086627810378485423343898012734711396377278806935973292209142686219729504552533668413791326097863146128024392954336531063527821547035264890874728214389236444703386781795990043757863535119077364988352943276543890259233827156036199080426405929641028764717634143254986282596861759880328106679264211040028846616423375536077946455821517928408951374395513781401879871804721318769807050987448317754717801321661314795210185725127760765712249477709147605203883221320457011791926077780152313098518418040454095068297538830385154557084323758279246725726672483969250888317018710896351182663613214082966491031411294680517714670084822103576137422968766816865535882964031858458048219235293169385334228908329200000179447703474098594167767797294487483581343965279216540176205643977742373214845904172601807422055503082159882267208698500759206435767328342028743246874240760116252643994302633367764438450550202156641325797995172746049622347989951854531268969824243223730257640389894829649458748737214519362685239031125755705835680852209894652961720129279531158888526321116311029419471459238314601813207791738244944090048094756672202664086290387366398596708937687518144068002943300376798297029675059267129346002582906485536326853708340854197078305123630963561739385769808991028984563275611258597798961038002962612815925385851996810574738303769845928566276081241565135495863211133322642012334775021246987662051608403850826982268485137433143693506429301358015249155282499792674733674957005841848754956556333302322020095971820241716249119351527578965645302953960445352992782467268986943015367533370968266108564610846405575191151302879974800838130076423648566755671270010976191269923046914501343761449868442599555552017094261216999090634262872831004684043461611742152375378411239894499957928664486208841333914291752768966611072708651528138089029679673904339818520867907619637739628998731614562430550356290551114325610958411874830367912428415564122166957915657114948143270565203507667458211668652600325726848452190279579170814300207128461360458661178186672872625747020657700643905562871394610147402065993529927618422305109700933418795002609486661461168625152164542483754952080955677623480855318736494006356015939825307734674133826147278980768025559289088224380533576647389806925262395611109388266486384967147432022835266717780515650185723093948008722620724410951470607407724029669374319804352154357780312391345773766879226422863604028194167360987219813718169883501380909475409497708062597554320520699945509745686398429854847746053539387067464996932829855951767065700077368050727083954345708633323150432584383163910460800339697444808622511026350604147286129694905375229531897970199657900785001479171228225544933464026793068309878953875461297273729108061399186677386549675790496056263104897482728037039389522831387369085474674257889887805108461061583693712146216659280210587308820036007596339056724017494488349627261921915015471949453210441630884736871736926598132849804414980625250487088268346601167670075782560992403782170845898124279625668905022067725248724126682186745861236755177877896141479107278268235384586286067960434106742343342688375599892914414327112570879246664532586621909626682967653831394881878316049250231709824742408310520362896108828140497971039253785139566670668049504095647251877381652625282014864116312584497988775786164231100550432957908489021055116078886457065200212823911644550321763243813268607396593197364676441025059956186365574618444110577675345396619252841225258143876783947733087254877984374504198657357953116734589445169384382657985560465040004567710056780165428636452844912215347974174334150200101634828051540356030324191231090780661022188202741391070937563983545223327802224515618647219193485644611871623140815338404719918344119820731396648924175553783253572632411247817416429683582296779484062897175018816469725547654450203564826856336446296325588013280042324138869188936731432458698056925025824426492530659652830202166292914063167506951624273400209688533669525788142580079625941268943935445953108698836514964838550843487808000103676545095317136654163231692639529631517520073862410215664633921146482009806157913254504977086644090664505600489516682632342797103482738403098581352770052737731570338362102043735043018505215305998621883534642118296642003928950155257535155922240451282229052022106896654503132548823404995317898181970655194630494351700041958404054253338034025717933525166185362685488534352005982683610058880686770449509208117002635574054866363546906059835682903695878611295011118156387780382169355162257926351469905445160837386901575790898193143730700823898065137723458171099475238877915423199701659792698374113140085308419557903772925829645589885408003763869532328499698953067596739565705075328830284543614865624428016783914131067100975363109310811777271046570943997830932112883814907855115248990335975944337539382384921745245902074507972404601801458142110317253227256884342447841743095636486484663750954943868487371219926937122896696625992658487979900865577587966226566577592288300545150362157313732028423689350834860988286771956523863893516295324690163216209764503362385750362172610358322829858292564478550143364236723140439728482443830722497992037734170563856256951296002318111009341630490272806903366876772563261154018555530093345400852816449374827420781085339925631050181463048190209655054938512962745365901227712518303419670296539005442235816800478858030026857235344770918222515867835449907593476386335685222754521328561996023181420154837381007692083938174427475802562038990954125340159516932949814436922853061021843948036420015475587096543905247638380396976815845048184530625632603737521915744233565977979903799803114198723686387078667554142562144001034666539481006172038439130455310345766863318910303888178365655866732953891250146042001921100394137885264236448844425826042458902884966447492745033627429042375061201906862960412689954905380259306527944267246472777476743007896461570899762699856311512868128839491765475906899360788655761459130648588165390586040777574967393551212452243832567735513421613723079585916461239676922957865038400842568495506640825582824612407985356868854105082095433405431265143865407015523497946498480421854616759138313923294854868831403195460061485911860813439242043553877779906946015777199588032063410384392997007448957670052661908299765644795386744084041492992777736443590524040563038148203943018868498612811019184378603340968716039315875523825165379159351493082378651660187781547396514650124905979338272731864450787657987852458842182157420831341662520710302759029255347396818362533499219899559409490739393068396201783819622354292741053639945510509291950849342043487091080572514874045021500100740921144365167860203550765723693375183111735481726185942893375335937670344782046758955970785792297539710777517397102434751427824962487055133877058062771508898767636053558208687576848126778365405375083161220685863490958739298146139572458826075057986527182673998047918973484711969170562111431618601328257106484332327135517326847710753640468499903374829222763268037346527008093740441134332738539943827776040038584501521877713491532217708481679365818177846496477798609134359873712024770683296846648798595443018369506046232814922918334456143978934051836823117423388775147539921189280381684433929483861794324582345441217351297782109430669398975828814524766353558515933709246840853827797404175531094457186602746860739235666378091253870151082096851530502868668976561813522253645053334832792391872598768959349730665346391592512466658497190058635407356043287477585232398014236359652022989643189179202222039670214442469764229766092890067516280512611771611813273646516881281116350526474558463508596401388210433825705544437612567392128339360281083984865247989158220531794469500355231302234066495988037318109789772805245986755168360581346684021665272067641782305956090601148869483627104189453949012826741991791078195418137886913331881588873062099635519606758957844266630411933910617082024853388702542671576490377156530241884852057132723658444012356039095192625496696355259902358916741619967624619100120558159991424989488167558838205017851953368775375559368804274149201929041442830180076359507860375929026512871579687193685338228378080595191685339236871865253594628833765383323245943629835285690953555689459278252625689850109498219459514803328494785230556799077891750799801513386616510046512856303661743917218902936243564775151225501669304446869636452002475463533241123050448021451331610241955955720610255624139166841876732579157518060897076135122165609724489871328763950661949881906254250557490264894078448539582556124946724137874663722278315294320385620410887651081699198485964507936531858020878859345289296603470185535190367328073924643335759079838473999870726398764883357238982197160503815673749095017291954692351532281025273178115433677475533335367422900213077170331266574374783204148690649687274702390238057774187861900023623381268810292024926951814728062748292342515510032198305862306193818539200553973759636084364863440614493412808471124738526542929624315774738867809289018875555240462617866096688378464301215756928970492927911148506643405526568725636045022700670749189631492223414948297303285259808360684070844269026873410239088480865582779830249690345936471074245010476323658496952419828834855279862396233955688970635122502042672317815323374591547723054922444878544166058539208805715798163973539458956843716474233761692596109690928886153483882445063016634316790512612202691223928929151423837358980601018123798450659716103064500051293264523866456477163121950219524566271084510487207337807620628834150840927713194073050829520055383767979071706792799351439806999747384628433459184976283481415716058674216416156737404684516802020388682998796435117142275531210488805587231367463479477997376642485124467399378834565399936640274454755555796881511976387306153107768474505790797199450997717895384611691525837486526508772480318406434484442590713211684063900174503089853496346282284466406015669282449146721853802201089355927009518324051010573018607733544550524275240009530565347237211382576446202897869912965728227199819704438083598523734046816620964945049843679874933879546727455150502953625195352552060399262711924399811296971398803143219283940321989651037436767314296149380755266087845729406806183383370235360022689891659392867953874521217507402238392250443327991223294625495198642881148365348011140270762324084630508238781912830264046367248241887660262695099455220356690875113481322885395447734925752154741321007332447150710332911008590216380696852593748933153348171839088323038608288859244774955288133453660819790054837284442733123365334312397205748549997044067122275911404198627262336335328708937131045015190896091063918592233553516441005633468400016039490767570893829532187035487456655758450043681830761311545680939936032856819553495819294312628611774456329949387760027893337301131453111380322841964691436965867132121226554561129000920337313391936254706587730569739829303530895317245990680560441000725688404358364849244608898589561304219301673216640120120519892013891309413757932320755399772326158958796478544435635618057505682827532901665609164859292252194484765059872300348077700462
56527492291356812909390164421814578812384912433402156180079033846686678222867579569489814429356206322945145897374770058788814981320848802680118189567655592164676076199128174346032111647346176426237167896414414298146950688324867665762993451188380674671138825914293019124869256496515294088309819419456005399271237415533672175936187868327106990118545248067216117148540943566247109746159844199757056923144447082179570007379092771659049414847623511339083840453383486631816830917756544061628295655862724719711094031702358908741498137658360861012777144776285836260713478739067818749737336030727636300197807058101243425688359488170611964822065557835719340475784616275205108223323010336830655577459277892645616738433714719449105101519577482791985906269149102942514279246848939628854270709361920770792882053545963920634508303003352673922151162829322219288478639301880210120249429007706050119002521594503724605056460306423496472010674575929540650556516020066592288331021054866227424182203798833171535792972368079557669721516576338777243392461090790885046394656609195248199571996780111677843269777979352428617335795222603202180066440994797803607854308437772791015440996896763698059274527403020496481384936731590957420701890320641511343996440469113851702243199899580205066487613610055164269041517581283653340789407209081511407128754304599350621595400463074805505732070427796573638497281325418579926510916363366759499236620018345688077368961377237271895703814204683760339160189809047492036387537945540326311470884916543401451575677363666868101087622040187089967829529151647832909842193421361835732858605722023253912996257702825613003100797257661234820413481032402468541129200997099027304296511306384353562514576288345115012550803795059788491800792776415400730318505431241944757676639058435072429439294143951107650006688153246003346989299575514273525393396868301632166797448747901978909487469733330296768979547502076613057049477678592171112641712786238821740028044144852547131437906246870714526245379749209823031798364525739208599293945022399051579528895896483193693986194858528226267787503685166144975913607474561976297705691650123088039176820720406382553983482195987644068037583026291458697908456748120441269373024467417435398128075176547019251264694432170101496935627064270314138760704292911532359135928151767730158758457290824384169818450717701245372073325962147565249628686047998160039944019488019679277811029605046568518141897888938889580010018401665072682086121873618145843576074678931434738255951502968246681505394465165123630371629277134352178090124309348970137358557907150690629697972998525470063885339059520058279481953060937980918952440173987350497465132292141744443595432714761873693267356011273478932872875681717784006891395255466716315338247511808532633709111101142133705657185111246365904456371656944924955552591451601820569611929248802540835474250560389431916033548965115997339333046775710956301797003161933440177191871247915537407929411728183054989542305339414883516880412094272258051593171726857324601542953926288342144396714665366428039688971548857746064182275392022191100122840449099384630501205082272690769454979889722913072443489261760223714002873112391940632221194229239865674266886884877685317221384838412437357528985791116070201417980328647043760958096030200361036984839146574401404973354620441588400533351436761266007743077880533372060687086180172128958282014160403723349500977660944147525504147719539030209641941424893932787338788198041038882177520954190110290970502837366488540833432223060111651847255342863186273353538599269607977826263387496816035147143560697596097268990466312229702372287821159297085949890470991644004449588462436486742658532180768952478602289165657146752158036097554331054630924789412579975517773259230789973408420186204363402731153198926278718027416331886919492704143759679264101709900794554643574890930314135214140334323357213761347626436424498393124111502177434556970999818948693111352946038082190752992778639808115500360613630137030633144443679547778423204758427805016088353313987797192955190996640723618649303163461911494925394963954447526643900449996806156623395907187787904480927706850077770651865811578920430925193626948882987701298139812346188742661744708298235017128187583370331815470023449956585021231327322677247633449969503235398896309426411137684554920806948678494966503717231183566456802840063074772584078260860583797346357190238896255565981955831301265848000099580383265378507237772995421583435926866356793173441342580772619161342792032718009772169512309327282106060908056950587957767017700175004406568048691685142007049758108831615395063482291054130692442719688475508863970228609123607459607199188982696814237233138142276816648639490583885196814038053429409309382990755745646746219535940344513913416324909809368069251863822762823563283180378054316974519628129338919387465208078058315620992203802688069067004170240674521966789527393794056979269375044037114326902252843270072117858411396005176912912206144714356271076255795388885481440767522848338761446595137565443248400901425408943452483263124105838669640468547152224124046235270926948068452948113083598735844927225633268329479790590410383070575282527182820361743536403459058066780076181377050755513830171592241195341001076702384510314583350007944935877093269071052727072657946517983687017929927384939997121819359204899803821155886319593223809610615575252435480703325337792681017446734931569860507077458015584400211210556320471480165739236949000445776254681924716983968068264106106257356495148156197375268088676237581007799334020368441354349264832955231573953365878942252402420594512956834413145797780720541240207967479685944845273709768918487339532630752546713037771040155135642772143494317612462968472612881917364132545894488011197993398103340155222072827026055169173501028254750643006486313969908870844764412529492739865320619894650760270772291042718276708382567103419183005320591965038574658335174191371242405940192774679878152072159260134041108164880488225041300961428662954439575971309310806298016444144457942286108888413944120922597817057831105697860940057081831747442298657697192739462812848172355289255805315977840065032956541102540509039063069334855507566767390297087243863646925425741993701005897062032523155988996332760811604696857844239715725379283851595340838476165442917871559902425077029640345953530305061960544182235266179959352024660770472804513244447203058503820288790855697800438394786101108734294275466571113662464800641466611785362879992044062161144473541539550472880168786977565637697342063986191573035159226948153309473734547084989317150028727455066537414599651261912234756898951168229956812004874346083254536253618401102587579067770415164999090522252062855550683054008959670650617694049615472939704909541096284504773472706384796081665516561442100492221202215993125067953623424005441725555045208409035980491617361529402280821641737593569006388841970144216924110135929075620209981376334520745360758214428016332573221406175843427876063061957390103164591639343095155576531705168211582200056967844364767584570321216388392869933926725470409332043156490780944236019483503699113980165752705476103987686261894695076272640273949449842246745967664460823777357506058148283935593679329664380989112678935849311127429018032252599277097006581667316081754587024871932999193710830064916658933656251316520121548248020515977194790980169809241848288711208887988012684382327427592797158179809851818799286301825195057618352532065863208828437662044340808658389215534651121663274040086202871145896113065955633968018577203053146624166757054473605560753138962619486947560762641852317994604942462658285486618656890757301172634310054582216278592127179404800730671075062728928695413974785039668673716069991334298582513151407651640210421500726867878941424070890353244879904511101647673594955118593790217942903127166836460300076653750557037697102229405293185869359129320019063114428892032300470185032022292351010105422185390852803856955325883109781874421639822461737515783409782111877756195146677439136498645264667601987193697944810359627254003982109515484341000017817413589176174199676037329059130265642896527965035105235348637125854074725217960013415625583304537627556819123956091484034506133972813142372018839694979767211619730962575778472490427293945126697127145817551923522352418844329193176696259453634862803905910688869084801483178970656478998696009057886301972503377754746382266886701136055503556416915839813686996648657843273663087922908625326653625488092381398450572753335180776093977178246372546643359362463525609485744045612700592719357323594484578305957330384522930313565328119429174923840872514962588745144726916534203198201259084325716893815330978150089514014189253523466718078071581104651045790339248213429956757977156064040281558439933106067314285695928838073193455259205443362074416001042961606640917608866763509185074454897342026744714696030385405065016902384382189782849715400352107169144877290819316087554490813341367637159980243346221529244927265619785656730198933360718717907488226575717922336544386422253523205891229035790987922731124247851662431931181912297669556038778857083333905617842789845351533239385211113650542477867281828685165820660288839384155902221606579823403481733896139631506211702079152543732074124319788779051660163525244834201821801480913950321115691294453607133492605535603064404898296888395499263942736580339018895836091866875415299789805475106550171697452179438350948286869184256203578832609740000111722853743542405954891617568855993274539331515018530971525696888632816597157589520284493030060493476689435816098931262047704681715387124271247983142567704824716173288344293507989689414132575404179787900675849031808719126110456639910150163728155594021235823972024444336205685137496562742284736286074120339356132157744587208536554034783206053626228100704836618241681380116441990396705919493975874399345718303107310529910008522741523239775120329278484969978411543310856235914018818141207288814663824374587056227194284298806097470815640898760413287930068452616781416546788098404382464467365447848856337849594095149191394590885015677048616170305130081932001502443549484565975897542877334357684091139087988568375496343186003088576125864025022433208812120452847486927909888076635310684475561279839258494389341104389488486884827974415428480536481646275368411630967067807415250094681581038089979249132080413588953995748684150403180309829679939514816963477048669333295035938408974500247297304564001917062223979331336556783179362259631284617869766087762164523056124530028746480693764978856607605472481072787091033436306103571766908900380323875808024552172183084071163653924225608504003496969613877624091726593793004339498473507095878577161971574279744419319007136397441065066078619541029876249312942876053294534215207986180563193337344798634881581381028626772455831461908431000323201360923821523370404618353796902305594975636954741194816486160565042860023090796541530631464395402840925476577909133831698269839201321529827507557053905348257194098549612835957079403010567347828331796688358047640350489358452747606101941393030916406719889845840983803378483771912335104526820712848757233299843214317433219372502789449669866533901634146210254954838921299200979433382207556513406075689648363348862342537602314144946657558363051841616991225825055485467879745390516634644926893680044214823732194480544184662752057379000166091946876905760778883542018258697281487450673267139276894300792735032000969414199829108606044793130268135280196452331627051510917374051884624647747782720831375765638140923266333770078644481996543690506889426127203291220735740791143595356188323789148624864330405368564770055261501594299733561622894213009410034454482526005062768686568351005360033627433951003669455809075226959208636943129701170383590596731699651886058107775403668169102616966260711500917652485458368365680979927607957868069262482684943938378052706905445440495649572388794025953721441801633493700450798091540119866767420131990984249244009180832713817367719330776224773182869615192036404484459898169043960169956406897291107602360989155341691763016467626140184992700955359907171888362400813929022827646522427407487751806561494911578965903218038745607864917301346226003474320522690243120292919673583746066175968123601880878894039754298912383501519224080480554881108236690176879558589851249525624392423480774142225946409992677612054110898522613371632093876549697038215696223669823231853547101923177365620237421436195794320408979364502088317437599968760619083156691229607020135292732100016450923269543586460347951202101505446854549053948850785894781962037171090075648433416265480661627178342361493909974797466177068806094944744090034361334161494608436134142385986050301658921247242565753175512725890631316393691018402934186824314463497142663671168490140264856686086244891839253192899900912334591059835511871901362822965603036064150992869985519945064028338351464059067503554292390734145463559979959389981091447177979852339563659879582948172649919668562637885290106393877184337046983087088594228255504467287379664093698450909838383292886937646109554911087916699597526574913413136468870131881793771444320152175253303040088456807762229644736602318910329444517371310811066939007972259028147958919775134074837577710624451880552862881598706204278390328778741162313737022317300949528535930615113734662914661471621327946578109987076827492659555815301297242385488898790549195959400443142203183150498032402297860782375886670741023244168075798910067848156665224429084980892525476040955308411834898752197605198858639204002378521813704288973165093443904281919178632802319030343644099857231201478221616661647334582485790357413688283122821033999335647651067513448228687195955905787802655358743972628793538663095391985433467014367664820163421469324607041086842858461986134036913082225414136948346891559038362951730344511231074192732501696777331325756940550891734704629232739670899697273411408082051455247432462806234178064373392042251536938477040254974104269902664228453549730891320399088191584055264299163921481668534009156010519246903390008074538229190772979209516523064040367243394739233404679396522409802944884242520466288657624083247983857944001709300245829455940931742712733299903727811972127651332125682222354477882451781923884435314191453834548220494379305049711178465207188543119924374441067331963970284632003872835416733866273664035593231272620766945079223317788064875214336184169882479920206768916986335572334397053735467204111624130905750191175579013186488410184515220050317334757544779354768985326653088566619543310474276309890866024839508242668858516770292683443672875050392787909164456648020785677963018518488270617316363935183109941061146551502792244380771618430370939324753713473885841028145176185073523882562412983370024255312379779845422076614362303188485308985060755013149760179530026506504287868028972031395024349701461458621152873430566249263840785931766502649820407326768764663088972107555666687226492383280484329072179808872341555354591873391275202906779715915137236428878348642986615528323688909721109201865218183605791321996389264878446984201735017315743879878163224038912743513523669848672288229294044610729477685133814385777939520693366277586112211376814564339002073806281431562506936205270754089713341547997678012773792598327994787616536994725702604284757104566748348292083803673579835378823723200569944976900702982269546774263732234839763865884555584060103340465693538728045268545137414927929137179065811568677117306553420477007331632244815077986177768270715527966622382003555403801721864478170555286833255421723200501363010070003536940787656837458938949174272759291052675633165351968674374350447986403279611359976999412590146876443386850674516666958834653802225299683016291280516164819511392387612131606918859115947193282230196402798430545613818531887361666600444105779655781229694870291545399439086784772863088095442375272978721668971966405067904545454454063318100334037980665757253083567344560773943367415540717667120775658169236259708341171464996899046993097463430616313622299605503731869189903911989239148329042153500747388199522251581376499216067245211564399792965992046571033004537964976696401869371301425128070070434387503336228896272528671928542615374180090543486099382021029685375977064746429769521430750403019995375820958270794846030706004446577294823752554708337374196923022596613906094493872195427948225196038177083276945095568057728199452437925164122217211454259324746254153417358731253334151989709401863367454807765526690857106149192595970235148143896679840701649305638592312461550485357599353878523978020230250804807155475939456220529360259049431559142548821799588632194266536020235689643087590880986657713099689412826054663289813560025587229063134533060894422748658679600749805783850761567237333442325903060134164315806731341722267590109993325915806053790087405047143107992918535615445403014609201992017948735880146787680963495424680240552902643757072206425461190089188461085986632215719859559916946327211381128580418040928536446933524295507117382164624758605688949810014860154763313752293857411788826242304503021650533138849835038899701954512495605635715071691910765947201792225100057393978990563717348879124316853549377040563227909837969190259611846214786491245496641914503485245543089760294499031644743927537372259163838234954227230484873398064748076016196623293031412473099353191857523025633369345737332686150166282290076754863845766548160945849253687375347584042935638231605720987024844454249631047444690584976420136486748777479365470727110946151767123044813587599901395444595210772713554976820833243499391678129855981591122338428672729922145830914843079079243185655566275158757618821644011999008399259684519584455070407240855901361634267736340464116923600789869802057215713886825578760447464019962476380890201458686132988126777654034132437619347843955115032558048686360700532233615569436214216431554469401579261739797212322415006168019032143834645743388262325645192400234426791858748806780327842216015108968987754934813614769244221519942729254848886762086115115580404558310577879740565419930548781332648636374997541951160977999699924613106862133596399680963709096159723279471302350726548054007978458654080844696384872405243404735324842860903935867004244443787321563652803712546371389915754820796615896759629894477159876010740175142460327881875404003083947228732333611728392488850245115152091801905197717421764966242296473288054009675841877278777687004504000142368968664094553811882860020014816664889386423246995885330697702237991791061032063986532989688713012487741087065852379461060529313094721179273107538613686557821832472161905577683537293061421748715927801017954618174686912916063524043298165183583806589132843831248380442730990970893071733844686587508613556044104213238603430751324589104152488921355668398350392050868804039257693176892508017958522927172535314479067542707316669096782107718378007422398875532177326639203605083569435636167007016225681436656251508239423997913778681427045155975204361326531991170708163855152400582585198507397544714498092147968025666892315339958712987964783468626751302532091813590095169827740048106413789878873728382387035540458789178868050642250517387581766309587505352110603322041221519764597975407012002819647597680570318017612151641861681912909552842028692777421329408264680066451200595099869572103050266163860226761387736889954757713797754052206604716478854936003807747884378113009858375354935411972888487397969438256509511409606054464151687633592992980881553737890030298192739766744988490894169911940003598448623577077744821325372357036389518905411297573498433088206726933588949319456541249114759623664362272451323952670146844729489819573204401402184645819883660737500604475408676304419008142722363187857964672385399368759924144881455817258450924044339256205868599374897547536780638808642415664439162229435680712701468835957552835523872991601839267829517743433166130232559701875077961479458556652217779843380655844216378159373693018151982436824113464453871057794903642328030155616198959925570515718597210827396873490221
80938516973622228412408682075693707308943531202721344743915411166606546719311962429313631343888156831222883012745685135985065709572899063179357376622136278074221539499338356577227755787952169800055363619123559331204168773485627628963710413431049901083418554250829712291717899580310919933776934251632988499085362427038004459330251290634397839863549686265170830318051361910839868428897513169925408502189207798968624734187159955193995846866094864940939644517751771954810493014065180950698522392354421327856847903457756502807663567175837596466542325592429996937699195407514209113951603948091748639019634952352570354194688401461923301854634118122700738041976136340567929339668114307066482255094566371821776376830649194499748118325222998570014595000597998963479490488916619103548623565967565736004383034078986768285761330614115965475946746151861592113507158080759831981537376948502085224679452305854546904891664139722429787932633235072083962116595509481851894075448032163614225421303775405146215447713208312967203585242687110842877013312026546616255409480440260981793479753810097463838641536197345951718310706081369151266806273848763824141635240793823127218543472960465788615046750754098962761831344803832794839243840222966391452570582477392730820056635807270954593021664769151377636858697765739894816166681472014555197644950369290739882171038146738750607161344876631478139631047945675601066239278962519191625491518138923428230535338448580712624912306009609013931508522667459372607897088723798637091229751624845336293533270914289871322058903495776129090475964621771457363437945177313656182850665929280240656997481280838398609337207311564152175119810388018126167406642070060821653109386367807219804251330969695893101227154917940721905060561236831023423868820261561291315000154030141505536415669252824705804086283518389058100941813140246540742921277332161604336782017236456843442728718011239283122874607052178253020203497958332159682396418515754980790299170008087326104211582533988927313714498496022349525392767047061054052769097066303020314610764616868473479387832977584306408449149236029768884621438845353757800190328526413906255685647397195293952734956389440123326251434412351902675611862258598789319235540175766084716445041371499932974587676038367684181799652434823782058879227399601040616218161252650198378193478862977484605722807084883335567977492746910323373268425419884569950611239359667255925470398861589198856115456217140981514803743726184024078382216602308287507982875172853794449169126547533505603176372424961086179324557900983452882928842496118717497375800221747214125796894907210392374528297269328084562530194916553548917363486987988729139077379226654445986796898914811692972799439032273291183501891901236538629819682463072101236388758716575462212796156487878775382405568178376580090090612976318120691344865489595898095033227998854772037260721090979824267280286979147922894061030677926037951313571015282510491854959836448241040214641968878548244605269844165405957289217879910076738291236813339905874726281588263361979617911455042762398687554660208669179024225491044875536948428332998961619978949396763163975147384532931607880215652120034652397243832356073207766082369305166985550927335647984249204659933866400163077978129594439024087064677836387623806015105960771088925951760246526819236161482206111872042032669579499914333109668737626083328668473712655338879076423981409105656698547624302448557456804705548027161114001494159166356493410136721733148464234454141056041388700686563995580990449661484075805761086521718954578342546726957952521937702251261009794040988417426137006527615628150945231392148539121011297861387187223226529835688503588041639111170829698245499788241000741799574513510755291809208629022800888592306283362785196546424258518306000074077869665195623713943842037563292668170840805344337573022487642114358054252343663370981552684085277458446453365757222801963356537205795179734223279718791869243053969175667764749698854870072027782196047527146599401509812231320734857684493234354883221372307044590943688834128332486475863838400763958045745872773560210662958126872669312200331870419449653803176701712347543249250391449283396720553256593839479822891701307013611437044475053037796875307951822602702411419246148853712848837559394943758475591797116863358379102834519507005250822329946168278486216855217174260274645258771944308127655353405698568449448600720236311198307287903451695359402306455501275436835470493250332088137939367160726199369939390199469972999663444429719956849173418491111248339906942386762610277509030511669292675202394965190561196944901521965961461773467188364756510033816291300879843260362716195530764222318017559630720903229106760370941866673466411316435174472025782723495362956859555737461539559544453282045347434349341640756550975413408341196634973467332209310155816353548231435289435412369044938500062466999130388808830123822789737506413045347924265390479726227808020756748905946491124028143387572941085878553639810520062639859166184081205551222824951519736554387183919435416194134011381876088345911941105520005181098915696076007623899450185903195440725706805752980465743483716899503099730975369067835269011521167804292764794983951433378319825658107146474614842055531953383270124750613253955202009221257024608608152868919495579344835439145672325093850521950682946109595762722708986042703745530936602376572063182421804475786860985618516437837923210371074703714766007739765490134414026510712711070510079964398984094008741116046580691951038792313860745131467045680934061158965480254927338570974032432134944935365990368735285490022977484252864522308515526564895258171263751272630696804962321385155370787262004971078071745580121814169072227186298526179689155084234686976219212502889168891744518182993260536943687989084695057696935209515296126020092428339881710423147463101156526755671813045765852427586816212169564123596458724147337977395418808776408868407029631757368249566224910737429012067128097181223422702675686352132790878137197487801889720489036001982829052838368967598349306239789566047109410492424456392116209363280975994836178114321615932869334846057357293544768371015706475258635303258254139793716723027890732838962526015908629567777816090348763943061696423875447480011152468511855917959465937503438730295924454009679012858041015139950315111456471125371140767077495720189823583750887257804597392486569893377971507077079744526982572961327979220372540239067504046379839752462462608097898763917541739966000987651250884056117644470027001878594087342032867614699090360942656232123922271365452798631359278631127322238534094029475212382391540291326850176026290475785843122940156847953115583394683257761551626032845593608864126351084551672125171693246316576604508210950368729232209526968930126676395205588488333970285711351938423044577528787189937261036219143575897244760554614831765887236293480724297009207519948559063657803380778806081801576614206195283419514879343766809457593263960552901856402475326026697989666991908477286506921894317645236623305861373652921545603795268759232609635546142685133861343622228077002954716782669038262294414773419836367578472859158735428565605238310502493343576183166494760490510552873075629365958247053460606966309014594247146790868558912744315859525448826728806265545562943163220796225084575625807172037090294208145585544008060850886483047736417972671594938031310850593501577835238180530024937315648302827252014586532884363683920846790915499335426212471600819953074883394160085270719503879591550328239578309943488270849707453532350993535195337870269310280593199761383711485925559032061358331308858645265660413274477135638268458309578844945765506832805177687476511024549086014086276890786748713702956917830179899185055967380124441987082622132810509993136793912437749296617750609387595083308311539878342234815911815479305039261786151959635013921937329687362485019331315822303566941660306080399083541713103219328761216119625442830880562348089606301353479609151235348636691891637220391186496678284238581192111289276500057724176467059441496611541339475784314049886019260993035085462575746368355800985066062395726339355827380972527490276136916966227837198274233575145960214968255084706634737223176246024544030526905135845167108948864926337611307220068227890097379078431854286503258018165883561124823319647354493682015113309233767793561764829845698986756063657471273378485220813408322191820370658410574990487977008894103918002482958926549091715864317060396452557606507159319912492436455514575840923487743232402343729324734415095640944674753897570102289261220084729960637328951964920741209604985770781374206840255797119064780858283565733110863595330025888519606865555003155278437029381527470666541703051871166724256585254130560874072461276477742003027123508451313220713298863906479510985692359656943154004168191156833630847623168377107319799130019441624303595323387557817763664638274311739759089323434567099643562569376424987195569798728245627892359699767483319623779164608426627166828062470031362461779419429205084655298136787243484488250157393910416905894215536264156493901735480940936843520702983558720393214686977426129627202518928785445833904127199219911888485120671094922463502989769845245990665447287455432514118522735303569043821347455435361629664715492037247688788454232097139352661804943656417558781073477921642607247813129483631058621355263952437964929670544878237486701804852282069311420235332491425627954478080544471485245247610010437421595126909756355481556768997409667181786930589075236085974123706269985684317369156208677377133169850766081758904894191571188361437753698990607569340154859482937747643597722636784442021495758426543377053136912377260660237665926246904730478481020042376393056321317378865280659456650549183558481799070788869020113557572541477027273195204540009608756472475552326750090897246437387836250437296668423362771580440914516324506463445667718092762256925775288930942897779287368935696389753827880423495889258745254996349128445541618396158573024921135090174971890731470039232442463548741299322398461028923659242815349921084935802348359549886043873246067297097318867535598561954853762757583904719553191827093150638810654361907082323421703799290105720640660338165477348128953112081747697107732882734474380694860449419425808111761217634088131026242050930070048794926487659123047361190425556170287318690518941575693522476586284074888507383407116476537049952259238528555609142050716436343585152319949468708218735423144554201347409072411862884441104094983440436567948952032123618581029533389652170525360377766549402989401155340766031673009074789920894871588333770524157353403994546080166562186135919714005286806267476634132158128488718460620843536741140148851708033112383557165750380098497460503174991547313217095394778692757724075997739208869623117035156997737710410504618759553264459383239711623088280279600214337714012680474701194536418384191931066051305348939485951048244189831858730493284384605756400942523513509127305499032138072331917950506019043025432976085738125536963159918493138299542230400905970826081362675629152910647982894609336306654149071501131382602642429269190564276719375567744157524393471812139549640346466792751662088988142765801073161134852956335740020337652434525228931270106821832738921721571161341141046471384575626908912222570838353563808437840442384781028998077547398914780123137366041436602977030599379720043802232759407675398977630881225278449489639760548126601818204111400857239820058833922755637469420626821142775148411170471236981918561248159148171719466689807468399230381600164500529609089931214465208218170140023257168780107562773495805972470416189052740666931575708198685489359140577964090978231963100340843159182837172969845040007391334395955352096871364983126525596569266261095724062558444519057400521782482028093997038878354598472836679542976476571287480433560417737398657229161498472069672363263177797322474197634519724179645464449943973263845752037393199321063741892432861056902379844419438678498124988435551565250774208009365988695978306811391361229270248066687695823174266008219189550323702906966196484794871848922402557343184997641776736784659448112105678316657181037700689845838910886825821222206485277547057010676371942975603002875879730753487249025792200930063447953278649518233883983928316645537069397517343759498760939664295342856697960830024882967472861396991675262024150891768942587668188572167785095039658624678625669562484599056598102007036968910083259585291999266179470612709919810958268030733113040444025694043349209339372597566180118290161433982344287484023961668532501740431370728631620471779470341229748816365440037457473057360333862095195553540133915154982774408187434470862455814523907120013505595566903535655361804742399605889177684708729840653097070821994247184245282545721397075710296317646773104838528980102214043719476090359174802499983268604513563442845445449112891925706305228530428697180530486422171370066641517035755035415326837893335588398014099591623643065629036225610311474871660497755067386500421787933892699941478125329338481307450361228983639369612126982119877051909330757016645980855220939627365520650044860402069711080978126301058906740926303218864353597706260473196831353143959710554638532286401366618455261835907118629165442726728081019334445921017141669266928118969423105911279934596915092588791249965889778399277148291121608113866318341254511706252261513212473423095160183096157258879467496434536643811087467284161709348133629873443740609322341634659803750706653751315358952955088357511904226881031405487951736235125169146401240743885327896799141947834466458557765198729414361269298862997565299429067682072531867387417586823210294062699794230393845347280711672125499327348631586594659837643518999193109153221437928331021942683213617154536966759481085018602567893575489455400548848664852102126363458348564738976555593519307229740029394126114330574582698750855937695362199490499625849537045913545307253950876323116109511452511191159950097676643344665122759540014085512416905764277337644714971438919946088091651585530593429279878457447749392180931716913684127748347365189371526569617803292364380382309059597015239654319820950694454324712058597067392340822450045177553460443729293755271997675106444889215118197718729249260638499472998321415056526290099874452557763962686174472624524364298880341226011494441073000652265143533690143091599901648370733704319227823956293889762540040311858373560391371525008880022746160571224647610839434379325186163330589620473468453517301975447814214918786059958971028369924445952721606666741451734266544487724971876466464720714321633497664341936246329698540038315433704487952794466436936388599353968681266404953790724541047694201930894403757794291605060385478768294573701800355245137561872967484008371413646074492890927919993249877883707079702349220811406582829960602928061261838126710883611315492450773254376491830866455006492815412774414801972435122555138867806754084953805747936351685263921967538592380033213289607458082098129102784930542743885233171501744524293258283566703665819252686046992681483815742995378238197699791479282306844125804907208513487843525546367825100699585307784786079624290493748326529249715354360044561462616593623196006702100687057982052971928752776670241706650794599522937763435588696169234140071283460855285798660463128112383958976765633069559544608793597877269649111334739544814035402735149142088313211243971991927475724577643621078946589551707276636346548309309106677206564177353508040865277719426477844230441026266257452452005882290249118357170364472703417315744600228457615781184023643347293878130984243276000797149753925681537041531402138500956655988956993180564617357396093122656720692956523886282362423221331581046897796739509044732290302799922052954184705166313802307113882378518324467766336261103312568488926942098844804320930519439825359669658950932318823833175829397482314914742909444550128795377956000422393169609693937819043847623380263279047234371869599283248501327948555615753883427346710150372827945767068246422818414565913993313691293080411971632814929548773933706602144031178955450700042223448069457918328966293717477795441030258783269974310919029276207492867894151330233950004352307224673137555560223487449719499758226257066033783811818512229285558717475601248196347761281238693135486351837554067374216547652178316309012446770141359773058583414459087991081159352989745407946715813246858092503614087937927891407761447815493884852861282661091108559177876666836212952185366523836610571034403856371469791781878163343308229576270875193479870500171106745530420699763122028799306062216943166903451444758268154895517456848878451344050808520646163660911610639609172127474900350859664056554759412361800726771475266438382571315096097547424973686277537527032815951297063773470107322133769164954734092514535121033560390861679917024826670304926063901848441363998555128968823628262355034888856418271457578423014845654476492084752087282719001083694004006052691859298329126317937221150098984469866650870307737997324946378734733006709129614711584749441935165049509500617695509928622010392030527537124401511290408672280708341098119516121767417107467581110943168051998382852593562979225771953395236374080907860254384273093909444245032362935353526288077446750500979786084431316464267547036606983324048956808762938032148029918478957708325848109452882412164273175550139796794694488843464059127440215745037322425726361441496487858735278669596204276156372801847452493449041244495208221911350236181028834699847476642910856918836345164752645719337209629364917454685517697895044771076208176308852148189642206739702259811895464607251760329379291136155220839636659674212252855440916152078318754746833206062197458138813244072355305691612908527440929179772004527075646617560632566606139189411295577776362842390375214155991749210864364246983549314055408245844933810007591752093219853687714975141101786184645008127761413197022579620440074578429830052762573907385814492057462016383325738707537842980173170729937449721348232642274460861403573827077282715775186473857317580697728207792931031246410566917798290984018667631563773123355828412480098544208121509821868409174291924454518346625097288949642740643117443852496102199095828834877423977440558907627430055472364599461015361403074076639322458722585941957435583425616239278278193031496779688962084559973949061416983342893337869891563542773052817095933234634586079059527407511515714346183683145934567176005722457619594074743030617018832779948249499842052517932283087305807748396151979196780463324740079991696387449673820743960821460882840655551963486407470834050411544085747206838435671509691131979111034490538645329273670087977537441751367357724079769240747284937106347994115918833620819281581976086882932508662830681291543771515565559876923597393333312445135125425330931897422092500475702345797628971155127721418541418039776122733492579154452295076532135488613160501466167123236164141376270477226648104335541998410733266468780369957940976700130212002731977660580581878430337787899431089671436398981489309739292498939744051544294825555048824935614452350222068144920675847422628891559989230515727183511193815981601791128714240639331073015021745766467893437596810663100214660285789164014408019574390404125031295085397413373867502190634658409235972985694827400188399332578346822357730987610404239259568594623194848900450304593358923511773052568974800812398530532902508067675014599601980709205180856123835942266324546167325961387763074192258807207089376667674580351385745908720141157731328103242738388083009042411451323611083816087635637172415730977516965027412533847511800406589225629905190288809521651505957528002556604033854133967762231916105887776531601218438864867407216140939853397238150854657409191706380908855303840933625631363241721207045875495781320079557428028505157350590671324921629152909705449616376385572218938319677702217651371454751741145913012492791203932043354813582973964966427873353631121512434593015795328053124632462963265394269165988989165698504988258483327364993648893255197091894402029885833082964098560677084440
52996855048550737150965387629383682424657037769375385391402169158655580630993219334901047393800349439636091734784990535266584474027400254303805664081777823865976863242337252283272455337659721539963659063261902146185339038801160392374357469713976941229326477137949273279851498909275261477853344653952991346483293269436971327852815665252661945884092578825729381337490367355179044170882314682163989080993084572787156313440819549609778576689110099128035052427608514772462101902749628357982764972199515225437312616951348090248518900849080119142535361101984523963342834991446045571208016432618116628899700402248521561695622302624911687417060906531643227138966240632725924945857085764437344731456833082312578098376082002511139760584980411610203269232091982206427555968053028052447139112911080945450596065611578561342597238277259519672918465808817605785421941434039723292916170250680558821756788837241094790300483682877691872732697583518228888753008718928697276593900637876556073955652052284539127311205908305481958250085244671260730608863158238741734270688703237270324266626279458481146965939304452022110732816914632510978051784298185754683835043853093558152624804813734329257782237841713227264609328285458178653971647940306634847909306096750361423927942388148247730396116570249373158819627755882508627665335927272562439362526343101967334301212775927572998645768220675190178002862954709262353241301668338140775929831074461190171667932145523348723512626044419197498668474367550866520421573941035076528209320039163908318873567135339189308184271975857749286405836146738867204538577932191013168431776098561588504862338491213447581934007048985371936074525538593114680396988305355468602387139561175452948608584491865428269808067473812204612498044741403193874408689262411403415908020397902435802105851840093075989353960887941964335051359925545462947506467851284983064056800576928752223560880651282388638371784313954016264689475236988293733425393516872783494983759393409586103710217948658640523169074330402422247973235617662749649387231968075174336447070363287991932812541567074086257678119370079581763921032697381437154036242769713398153315770978705549944438789033700076430276668525394340953080620144508695781913117239692443009380485082403446191537870771360796730479305509918463874751504165616969760812649854607634816067437353490375360513717177050798324141290809469842422535091248337641146949410765208434894754396331510169501217692721741448009263773942683108404380987811604450282480830399731747837739468892048156043184411246178132859005025715283857823831761727552393165758380365826087866840155369286397133722060948927709483273197266219790105725923597698488819414443314930953643749097429257683642507579668383816348479988006608986676251951777287431734264915444178004611793581917238392735813763707694906830679842576949867904841606323490711795637865763573807362355378753572532265160147576170444046198276739158674524401748565256919873337573352584588387055736877758717792542617272544878091935797047297971022804599643666200730472033518661909155649621699635198753549409899614901328498729195011546328965638836288994357596200170701934515392103005331113378334356348164599222369433392529937560755766872539039877539551025632912390212716101858308974540041313922319792712225965692434604932123519819975161098368862002241039285820157973517351218877110355292249380522217311228301054959529181898218663347943926556349073286211032036717334769782169230551575934984248981695021681253982225249493250816246189121725176684678171484715335475373091687435561256869427272287675410063345315427359187402870596344720802689742210444463476176770996481827952702570934084749400719915000813092357471205360334018280704076535723729505694308280646781534684776347109939010707354860515212135770067295185249501116310933982288157122315684186857659697268174519154285385730336716216820121188360024819966362712321763301434290298750159914897552266746641151097256851553989951042671807199652254002908740211078402698843846824235715558116226954882252853650279792926046802744615796428868244695857673117355684003528699202903099639437702722821161034695915116498375564813581757713791773308308678625073135411432991730427990899228507238943093584541204020272979131290993784885045444740854378663432086575345885344324503555843420269788606268910946604447445811273424868712127376846228424610096438843544069823915799540363983977202384387319585795251536509977995654154928443142486306394719141113635093350932154641709437938508488562698149459727207329540365781712297738588268433549601921976673910516071025609225758434978368948633480287326242018015080732872934944118003816311421779841677375123730051922552523223711439263766904121669986486339163727163271833689200884029394298979208554870259165093953739568938331147828839251204789702376397735581054968077725439683034801303755145915958945263473995396033335022406902579112835238214284503590784397574442551454728255686530736967932911426530917400075253792767953690828884994387930974909465947336329273837534357596896473837112706842168174297889718678819623154303693549157375376749566278412309319359258780084957517732123757201604824848563613683041124589167136277126772629388580905059882721581212712043187860110421879870566126498688422807607522433816222074440085781840490285108761635685162177689062073117433200971571652960250845427614174015885419612229239239906968767557622386618499963525114745693502446013704578872472592915919039615227784397730579570739620515162050394449010952701379048101946962737961767487337549183338028694467629559138914132553909519699002527362833927366372964542693489337905024201093880782469489368944347328101221718130945627459958640454382630953506109121313483011802217318398014315118089279572652215352697433177369432392310932471987932551756599113586804725621651554210950549384339469728053453882237516340090236862020483398211550772408080506337407016315874657967939603169068524743519782358027137691950318176156197851422612683416762625436804698174072299728715887825568448741942345125538285499949502104633325164191024235033017166468719487428252774271509636879151707079533119687323699240728222816463156711777842880346585606781778371994543721842378411740462257715573288745740302611069567876792779023677180645393694956903567439251833511150366271994324663585386702580893871201566919262342439069689654965774054484383274764736149403276209247216345288533292565663034397792508105672266010155338110946398694242702337025864414063445955393214835517772546995737219029056159327131237896654885854008895349217264723858368770586786194143146893733549683009303050644213553452776289345772108825219585642880179481045217086893811341823523256377259456432073784821709743607742659090294433111796682194680920386674653014762024250223513286591280078163525732564687682721713848722991323254629533894357098147793497003872923139580763940012727234288890389784253366986011772416767699620968843672232988697901088226222402493510636535792960732916312186455224776488795614258418990491281846199978470231560358359531363608131014059720294979772024227555102224337830149787661457243108202779601328858765195547795419333426828919926799811986922933946050326158826252242960574743809494785418815845871438354888361923184300759305151946377307971620811016702533358959361857771133040869905633720081338606864752459832968511858842306333003881460552115147809900449352468717112782420634163243676462024633434822528437524800429293316437410941422772154720725202478267867045564746259737046734279141283557591434738038656350015001007655261404649913193491042909445864226834267755578878413657118000230769463339735707888876838070537564852252819476319002596529205397394021915634511271364397846197519058153042646415631894018747843891011856106493913924837540057344650740026889830861501040899107862993099455144840975474236196587079032584763408718179854322359393121959352349190767212192618621286606999712705196909620716812620085975821506395227772848747620363524857884670758932849595417674582995360788707830574228557649219449060569261223501259355309531401531047633542681404997725683499410811686860796227198424550656444568878368203346735438024742692357367342303156213396652687987285148508509881701726816788997410115965685356919499048822306826372033177571884347524989044197565765940394261786320228101558593546266065170321888552902569533194011532143933936208781027201261776232263680059234980622912797758582520524480738019218109782692733544113689000685571145896495078499758158118085203057711880570312928413412413997190589188287760900297900608880210713614772393528154914861121465722166290911671292955686334748144787227570332079859871650451581386367949915900708507473854321246419107164130631031339587387390757571792490736942665896887889845587232981432938345356695961943180382734147290678711205726684709136707956551544690481137308540798543793994328642996769418543247541669545043641904057238980096825305537307515905192885836074395677399366831821084104953870252570153002817664222777997834428717635592117577768296166143006656089988068912251387818682015765655061128729912465363758231781359662737247325561437513739414436822327528372727146909765225294683229673413557807556547713198384662031984141521207959035508220214547973764442064961367912223041144807095629782631254364020124951801070496213844253855582048455262096441198990139156621008251915105160952753543040390413260577634983591439055665581637702937770695660235370057488635169631200894249154930934333933539125105854137450291927134807140450754923952184585619207118139798705572373436541961276193421586513454859601379776334139834052200027154359365626713047016369271981946140234439227877473321978325315697133774565104158993075988515213416816346686115382202687961707047502581363734760132464774336112671342557571088432006488115128273099170880592475231522824452685616650293437843609027118467584542715933529707329816553212361106835555827633691248475188733381959405862409923664467155325517586404676059238103369190411934563349904782567194622519359691126151815748700677691569285376909743815591029120051557764496965588573729808021865201843810204411976080521235874731041362309776869859656308053545217463800442019912335995431840677186385511216504327669055269312331949709064771682439457196213403918750954879924153162489851853066321137707498020975917390983785469481564254553584749300354755402190084468606254026522919554748626818178832976130147528518361579718556834213252675165352444800185033781103182570487545256594394193680087130890732009729066140421360434850705939745106773140897677348954997127109805756880871972411621249004812901770968749006080178350494867397302806854018823856630765581557290007379014048328674315754837944179809973666781405995810300120997696296299829573059808435325580118562253657984248673081471277240008418893920254324520867059705414404016212307206449898100664767329646179618610283021199802073501288000705394853583747716940148365481409495829380649383382418764625351894067021643200277524790570291664947965887729452189889831269842565762067201860194412397808217981244466867672302781498446485201070710480224638337390516804821085682869825175425309487058716085471594129100860410795056555147239604824592350760846387879092213721756933651969524248166628388077217172912354512628320004974244790543074188269357943602277351698362495841592662849282531457212460455775324667803425459530929530516022844248929887599763594034034931123102097634116932306088260269651589333215243268771960704837706645216545062978866005349430398613856610831055078442040696942540052623091505065736193819876895417805262833490155734638179114065804048068216626414534891096137085974359128442816163701115431087515349340832638573195017685193535413356877177732000958855361771019228165306451403687621196780629828653588234790275218131417512078847808201524203331143031411699553929876956803095513430733952444035959855952277368124520585824069534604201849281316022952152182737056535186432720161071578163976669074049546203490522393289782550458506992067693876300194045385545955812598355641511223406443093182989802308705941988603515924494454522553153450007570964210700869193624637578301016482971962897583146026460734538638902749320595536494663560770592117939476574764126869621057446111264647176294999405619602246150603190073120287501149637515134631624031925025783614410421282392066005553101414036719730176569461694189549520664021190548017330024984313229406487677803425495773682140638245287180394183914701558198616439264121259940870694910081727242154264118788898006492634534268669771905128875263795872952118872577988626296059305167235556992966597811296027251041266622587855847312685443465697860257564482964708419195474135756213844836733666773650279148246842888890460457856713706747303275095004190316857885054130269203949982611226938049403902431904485947916798321905577834299942455160782853089333355245387256835060580617033978809508828502297819205431725629207707406986881504362973759302966742862748045583269330911848582050444845300744460458522735289980635911106426148209990858188783016145577155189125726414824615878553078676057725312083675560291305202902653626758648643825839650255845761288083171366834898408916916476404545621351572303259124946013464494841224431797096718894240278449326804590713748593413069045107558614243535696474711480977481306757715257683520866861951367722380737738893729827018483098205699132672392433236476933253529246398938560384940566396931464708914469974250255507159268872000456866947030633956103075079929999098718774591760642023243197704620599969008362457849632691602984289258327199619089782664401438457500790806674239330557694834907175354506309626131229208245001375223179762474793199463279246063815437222373475831347163746390367004400517068948050915762098346245501175660485885591580265102666678375247481083021124345498281960351344468150085413647544714950562183273468766289164038210716399497090685883023429439346224072171578694455510059983675336498902839226158206035736314714988260506306849903789365698451748419346535872742770872943573878131472880702062859815091976580153737974285042767112078596738659422925074046825367005681138881351544883181168139473138557399582278567158036014460257532353386621743127592600575080423648616300299568010977532430543892287901707524344233163704899627768832937483678366194332547681658096273955430311361199209581149801666543561203180730259209784274560646508828040116627552021747346107739951551051072826204865377110628948322470935367994487131890647121164233476327717388333038791745805340816986411454149851830796256801946393307138208813905347328481917043589819369122700309669497987587707642068880452137099668745161518989765968908023353245015652210038619773553471392846114727516285190704036905750027283310871697563031887593218098996643970767314465303109001665236719461767622908459165298816956605992290234244362174547408852380462543321313661124646893121705355751810105128379511327057107288034890563289247648344195496993712899757930367488388843828926123946423573965262602743702440161523690387200057589312995555544381975333324056589521541343373322101358910457182030726835206723681372941673089686972000419774936213703423251116678284427734254522836481536519789066402304729746860931650798309471697942015676546259515018303068897442555672274917821627240125240084216764622072082621400739362895785432862494807132922895663182462566352463971468040067099519046813259941783026627509998182079051948924407322634495189778314459611898971669427205636527353471864968474823803843056833467142454554074855777733328466755902149958355558033989756385931534051585652637980985636162469437224204115080277503743052921894969934292203882705974070809018720034304686164245483357883869804890929167329545222149292177378707168922355387640614339530529877624353975579611992561072925183418086002612622343982019488635881423533585440192865325035079927247939929058071867560054777166063021165525928743879483658229465326225984971139775558364684087227735127053755212052853891323515944610324374033823592709718113943416086849565525585233562730867753217316738501381808553983769307742641036877570003606375295900339352026956613195596975077309789323128379829292361081765095241371066969388433423909167799205342628205860738704530442191274565139192506971582674942010830635491532126925523364449664269672314008257713335419735877109259850158899208833211261347189472017932244476829748568495446347432327109278191590304524778873914342463240994024598975229725641606961056153259438605904032761448153748664097755192357347102027643403413534016245962130439208536234596213798725488670342950961849849352633081750264010463668671693791428182501470117172574938673315327803391462790794311885807165231073084932385219127782431623227472234795937547031909295493252167679819234768535064720296303270409680572031730615466601443607010250670440442541036796824352959439492677961825556592834563201589448894400731394041997326328138290074102611613082890202374643230583658423763999237410346978374058642387117666031093146322270663772323060689636632892195096403945131021373044532643468300844112386128507264864740658192934594972866803207218125635265473302874315228649662745117936790529581334786500104463618844227232097414767627776962709995895154421392071913255030148973648000291203993962344227625363921733662910944378091958961201654504438050579117460928369472636462637475764767432996959082175346537587302111491154452695475204076800510393178827474814264194467588919401028122325711710048818028115137787145186711478702809008596176066994809490941439911678866016540163313054171904555847506957297713792017827581468511920723251206251946574193627189325127917864342710973861024906154721140899960768165744413873380570354713911656945277948186933866151452698184643379533192330930647814486198192864515033121912146442892148208455988388656035315256917551935527274543016474318129508735652677671033717662993036220029275466928810513063961486834987924061445984287669721184592261997266613629401571343218814088448344122530563406451307179792617454213685744079694409090343158030586038948310978707537451040003529005309720638429689419012934527652942083839167128001472210075858885185312604863254438012545758375310350180980158137415205570790666460995395434119777437732137345106550649344692004405159832468962306873370053610355723195917313412918196285609277253687607694480685538436318357769469791388133216261459423960866013044382433555152399971309968390691801636819407273808914183321213202161374750261758478086194805537161201011036382106031442304556042552579570737884560792513409849368824687102682308551322121722078448044119676431659632281369404951057395901835226428471837424514851980819494032776104898993985050746836672734027893808384379251223149635650493634605965805197584184034934391561241761502746866741235092067123469653498427413778014163881268051590883562022988064088356112996182198210005613900659731766669871217562952191746014331721509017310579903073562397086118806816923140986668991624120428295449159210366390875165429563751551793953595602061375175125139556571670126560939303085759415334980823733732470406055045352242617094940135237622579634018454592251235371003449055753612973466829516178816495484698028434357281013298989428659009422905325442316317374738132113749320260917040314752264024365055773172383491984452596958787294520018981971652128182222721701351341574694708205918413682016976516686696669983170468136891771144291287322618270725882753586591779358854251329807807966346023494407837654949964821427323743403047686764517161724971106824618564543927099143486750461336286520205389548558756257671918186666850449163338836392515409030853115770433821045595221278046923854695734270676382941605509487057463622801104325896286299586898136499797416584391083180610097187828607287757667788318077903925505169568815035833523353893850218622153900138840382425812729891979403122754378548208433765509242798741317249917713332235853764323808160357920284360129692635078883808407415320276647192489491156888038750047716664229956855896984436590624552606408962402598477253689590899076097974567398953067947564728161223394021200298808426942353767332023602999878802470740346839569744720920076348753062080551878821039210712729699821500455652075520688921193172041128377341206550113218385154793
88716880323500517570533957865517554302461390517842079481494841898609970157744209290479911229920105010606899239682795510122402932736483355295940459269477227446195974945419027543073059626549965849303608386497771874336238585763092606948593074929114057286056049901085437098308509368609752244243935704621607467413583224110509957012182747966549293554458553276993467371775986264580543096688452490479589541290375158375387851050816500811164553183248428717176300495044960313659868572411956066016235015891839100403756285816827108176447123044626171888028311161048901853848947420788336885537136600480809498848153009009017306666566728493028825456514787910092851641850695234309904047271836458937762105335039690273148239527903614060528959784183750250365108499627758988145762284320422922622950754847491132274968922994851479690642910792793022110175976932335830695418156182063302884983305956792459263491761750355018667315320977245248549000736587249082313164682362363639941591700475614643763478065503538803705796954167584993349775954691893297704865719060914356832550062594577512664483631601356787970409427923099196381372449297409772076348610274459253758053924508349902957516512116104858874148287442317001875802763538439735277807188353437159545160057357108230422596701682714146470958036994341510036489437849738524469338706687003669087960680103159634656059894807273415572695963934049014720803092635176932717489057288239194135438896480618285851373339843244208400324758370354749269934164305906062792864926406244261489004682351639378510372463968394480116940438814932329670138373930939663000298027721750952794137365521277149764101769701230427895634071296424841799990983772611040120763935345272647229633111133743995120243511449761737085611179314576218995546470610588608955514669450598867662037125190825362932124275217999630818064667443819623633594331726624090904787676488305343168368413873968936417956396238038501783002902397298154122932125276021380380805783541294646992350192497734342487217054189030553273363337220133216359771480929769698491330242314046280100264644957689230200145122678445611422285079653951362507495991582518266165872632900656612301295215296012546926886763806254194802705155848460228825901310944285779359847611576160994891073934060799866089162016933391590090241534412939564310983520670834136176518073970009901184747338616487362470011224252213888502405743458912256302629233656161910023646842251667441015025428055266928746172195076235162219778982110249958717225289710616074838216092936055821219643665282090893609012911285751606817842176114914507820111419539156684636188211263078692941544577622458139382774230168932759247881455512687230850122407743088184111518253485875935303969363402584910282560913190558014181873086022596074318189023786350721076493856494255696014846344398567946367073973508330494257238717162392269403443266036040948405459339024370253739904710075112906226675145608895298878217327564454687730426035398629309165100339061122347805877077397527813732703324317833666287564133316174760703180138181424887268780395678973945407847603955387136592885162074230147346925261022535589251908599347889712981413671304786582336054982083075082722749266002336807173563321870453949701176934607397180990440377757587842200701284935223172016265062478731331453343821015071384578486825854693810292053401256111793609349110581581759990362374703709528065961002622404330852726950231164241078622959086417230017255742824331748248720630649801132637714823295132387084219288350479241595485239093448943294680741170789431051988067875303888382744063621521175614770399038751542302856062925454675789520380918622080236021831389577829525199414490846316298309060247095764083230933795993672440908500800191221206325614663675938454273969821817597361322746649016150051511197301415687705945719214954847996976634911997056158625058534783315740827717233305756936445981316927728925980288545860397163782874800829089391506184427182914433378078433752976038912775358433629512085821645525013853368792612755731227225966457735726149727989725340405336246903436145993378090346311223742839866857187543657896095457613148682134579494319786785966561546845372263033757065179133293467189051637375182171840067451696561899173046779070578301888952516129040580954571813158562005658067065141025774172702465246815059900490005593069111613482489130810658077931796741667806927822148047711175400898193598987605433756322147423576994853333340818920441644263936662652659330197697077703617291998792192274248692440841306293034714590457683393062969867869276381046426406771470544595340003868560147359777202666626953666682841679205015484595918645340236906061423025312396660626505158358390236040313670204383966446442905952871970957242304445267482216648243185153534018440633152724460571483058439543050172983455223850003593996344160014470739500398087919035328257921539755222910100111092861717336679930689263077787092912111384301239011085805853649620972633358825909093226399684153592616826883868953934090900928130642832400967151005555765518663520733431399844241260088358849599830390624888598343087006751185099467064135819093145612860839508309187786600284911811215047999272957126245032651271613217307528642532705156299521565453643356780440373628193390087230354721123421990650110929509276799065200897672937461926929936842342541928561917964551419852431883328364540044697148524585423904511660890204574771364166188486251770358405748825149216776791892616719821468184421319326157061462367071870567149189216528574262888571363081963185585751684410445981174278891449359949633379690075663203841582138380930785780337727288710582973004522809006553845617636900360118294374649316102642245264246694946890763421978043836995097939761317361131247415922127642343496849663009598321872631090773162421700876440017422490242789347504598717925659294178522802414327945517539814138669850998457680327222900596587174899138977118130595257503692120801953362178880498002854514979221479783134059556239087141333230596570599209319862871178161593486281966994925010666093917691249834269828824809668169274671862989654938262585079672792805362242012729721748713330622587979564674304874157329104180049205168885759717278948772666218319924059632794070677918137534541515275204990489662616531047177851631358175997686097086503718548608921569482260800821005632993098300064541174763170962650377200463192780420973963522969527860753532573287723602192821804359573576802890762392154953632116901403963272143811104625583315035950552073179482157487718906006702025079935885481836377806696542391861528088435252162624143681512660545872002388218867822568045566994435418240102702951263060019610148057994295496296216427655345702004391461782563287855821207732966567890383111912103566951070270580732537611173553106842588266004712002683889936361332736604804710780011558377372468725567463226266291443884097393953432180752462324429941456511890836759524780365917876767848216941074808107967201249887873385640365336861227014736176132363425703252763510138983566678251772139097740396982594844004591684935975477639918005054936610250219997240655173768869861741486461654053028367303533608938868463230650868548864309797860796437089888753035517359280056282800441612801913408304053643754077602235182348810873841801308204396602954942956955233818343440895735085482465366354230278066044538996473224976850671623243678107517238773877906976239378178166035028805815767776728339751646717085485974575767089575604113964715439388195657341266463694747847576161495479530360328076391720609580037406153330521346946534421230994961421569214578929294861524903158979374308795343238219587301062530672203008398565718838686775112171744134109262897777104580739604934754543542422001364686196372948597992213577430136351614543006108533607284870758885253552818623497127172880341615445418824250461723416423373939186509577716162757524823565967231821899689909225327012843229348573009095660705825302210523230543376122568972442759552576231952723261515850061841207490918205434662177446793680533273896461215651017191576130744441538791771624341147339584144545502150058871256378761995087032529185647142312244376266778401718235772138480807468757936425262578149492923414244742363974280282652275156537216512143576548684388869173952022094144260766578381397493660009158336637174395488605908099738559400921921383900711921429690344686065467479139606942840878181784132100191142532215009395033900144958139225439525149334923499533043506668446989213313713733063698716379576322666475793097116300059577505157877721991067464863160910329671720653481385377627951120259127976199427567882095343180539943402181485163735837561034370855841977472960460328445385949477782324729020799865514076475265220231889832246919099883215262252703259948600311195070140275455962734378648842644411546162506628692906559626787819118607897846078856439308044633102871719946554878307617735819144375354507699468508978324883980311330179995943415325196014445482332702677968050746463191660820181436668507593512652933499691288697234953778351188330961570949465667998915975440363081237200950948403562500139107506155257664315556782752128575135888568805832958287522854343549552099665813466357325239989799179017693352765894857306970846511299501504942511357029309588773900001206158005966631752585973009963865324364324304529671958657576039544853979510914601892221105697161893435891097608444441690467556441741432623061457129407018013722929312169021187348462547853757643918023392658159474733486681224548551532138511877780606489083228603288382314628322956321400782301037462594875339920490513005198293316429472175083817603221317052088018085587246963054120047628736664154984566436544567972802252661475025682959883825091501071893914531074201082834969359106212692249197878941949599239656072583201644010043643376372028425219691902071016501858157528500495521038801951729215849804251341407100724569312711507034358915431060336406865565547070990400587207334505402699713692678096304417980034512683843743475009630586126134845457191053607221270427295710968586006171246677587068793305262851473099217064606858512285551372816071602997718350446050669885345917104677320883925515437376806802384856679980535228583410373002520491330273544929298196530548742599158843129895747440213539230251635063544980446872830291012753063835645714766765984113336356315171093610144406657924767117384771235227155983466958909576001777562383742315247403246305915380714075296060928088526376913998015550211861507467570165330467541047340561429698327238767284386580103192484319201711103945036335908520700496124765408136146071503496567791125690609347059952010451127652941494025203537894456802274967845995888116366398090753728457405436838592041150613400080395929370241780002741109568314335711324530044104920446598722550673860679638015251036849595855201168718441695719812274008937811200948425498466388246091021427275046820488479058908106809278924212271486131670961949833733843117447217718083891600469022194283683458462003010745635903266829021436995897975552423787892621031432358665102834365386624625748562816042051835012660263148963988553564151688392684629955170648367884279802641385036058735065886744439785496168080943312028229033500774042327278423744195002862045648843354113191670689097630480514751802955802338944865997392227281618414841053129600157028986529941645819985211681901152594607754160120843511978379426704633965691984148125508720379977940629071542136269519761718191216352855474151233896069825851365034195930510253446345602684717992958395412514483126969814767269862834005115575085096520939166107559128295134223786293429285249097556479957579534964509666569798009826570204945078941003418211595204889866458514648393208707976310738924188302402081738868699721964917390196997606314187797448700296267514108644002788389234495631585766575748855720181380694521041310083840865686081645103029312060577309752079354961977151796742624314382307020223129596067757811971771441297872804166152394316792930856489195400103084346950255901997306732353018363456018550280773919972948192178200061872375280489904270565454889501121719989385182725029675991458189733617183810860555228711666488610838541772540338409305836591929878086665160196994457253654215042344528062026400510734235943073323854497212170683017737753684031630740028364756267259803716232060556526600821933756138884297025740771317283025342208267375476776868759122441728667323314740642335982043422485866814673475055573144577348146314067603281815678450224875585392243988479162062524748064676571346657332340394427554426541505192175648315214841712467428258908870586395423524878662886170703590758419924498449651513080517566704774652313420339243581013802389948269759789509562198402297337042338614506661804801129288015276626385510015303131311964803711329933862974316468506593708047339643621046294101320499840267898346142716164942505109547438072304497506601894197008286352262756924943988518018291036451845305253435051481112504306532167178063770307442716620402933297439633455463513416427462202415820112934450149955980286322673519558016194326551264862125896774335390702941856411068446169101236119502343934651293525047785741120828372029523568340337891444538102708358173852691014415463332980273505873187633966513429995424983842591252633128474289050510183906496529263548375352706121160144859523839888833730368095389202181892105443176073962486385620242113170675506818865340767489119612978758635775751016019099516185329966155950715452772265799139041374771215604868397581492248104974351751683332091192042849830675986971900252598872075518977338112287494729753514305951955068122580710811254076586171959769538649182591001131269856438091033564073431070848752770638910641871649654744933282229046664472728211730017832582560569668644429018539750586513162474060068407624444872412677529139942406259348436459955474187386470167866505799478315399819707594000738154703043049166197291670027852353097677501359561380967794795903968099619040228726885183960918614315333920978578929000067562926033590463699171229768546146341042527417768458701394454811446121566935966262990057357182152059531316773495628943629806182294094602732614988609118694346135919125878243819468356944748887853405170125581729143333128760808139706710462910457041213797167104554487737526270880672723278856240221707397986574624114182550683129116431947991077776033563620763902659935043750838974812529213317613236385466892288318365596016762052739235359310004181465192676543147235129965841938654578800298339396002380679944571295683295749100795859041440296478669641396422393437631305342010764443059905397922282070570184787563106412172593473343124020986295114496916801540398552954920501840937099049335818148765125357739265021711013677518322226792103657157283945430304330337914048859878027073543397586184530017077388225113472716331865999855350484200422119195296159622062872013565135003491146360308058951299036054440171382389443296913856344231759989088996950732792898209251862039865567273101575168040023883489533429239203023161312741104320685448519844847529029908782212895588199651676764258385702453709863072239484051068132831182734141608394607041367360711517481895507816748970036980562903170579641279239955399856112566035382513811134282487243971150465363563705840013391530265903546697187407925395702965919838942379071348801264882224496295141422840068118713668953365074091510646342433878324272953042881215864098202974578956262726777726510161710603975141557916396173149833698990395479227532861415320317451068235339947826594534937501627420109662459288735194601798286870218753637069509276227414997257192686431111667309033630865186829465144322754004370262789382098751160880148444237150334076102919585872125955057918857044243451604833647824286220721551804865811309985529528499527570227193376322802858535779134108153252198809133906937869434424275178847470912467589455635267894029847597876815761443303311762387162057846538264310842192815113905967607299205818099262703068060945368162274775881262532521615953229507626093062656561150357329725340345699434887818224638664008986588351878413552213187057939846995535542097998615532218286146014133035589845528173233686745648209823409591405981890830434089912555487922307126612047159789132390598305510809696021198528156028085556501808764068250869970708359744438479623055699882169099154146974658361738934519124721777141769798385841457869437620205979899599772209096290806461557845052964364227461462452365257712376727275007318687738360486026395098337003852995202518900769640357835824041233279496965386775979176092295619375089269772162026683667597999021166347207272137767409351645592333293944925944410501638412882901637057628673869919950941209386810074897725186722660071849748607682202580530843464351754710078234210475592176288841892040363735251286748240734249743920464017349127180947754664208012490984776949956989436702468115234129841810364182279725028410258400775592323754587444713065546938003350046209361006618111457156084819851811490007121239831657632779947823613364505409707778243259670633323860075535020913549054476360326402558089710910139613463203571030484235439120500319541716408946791965720022135357043348648600332629286452188706084196398329797635061235320411099287247067113304019500314466344666438919886885026242721251788867967028031259473834206807161874155364299658592795289444623993676183835388204018318879850720011753059166675081967494626980311276568860738325512287458488183790139517333232639143663372881077788820296924804931235336367316147374741857142819799865143978884584273744071600375742085053364242836133547771906201216624836552784928867352683760988779519565788447965871011061171922191720646656717212729307740874347127678230851959591350694088815363896336380829948227631807869252307484048568181836131439075968078029191625006323915966977013453691115985663573509903169772512484447451944510456040171686133493663215338339816801405470067638367858251408919026148891954426884720099231327656771484371826652005950267738054425454077309016426939103474638069989355569435871876785061338698509664647935895416978674217369737788496526827072682364122749347998934535056665945458514838398520713897277911119043509719264097961711837843228060135408656763560005651468910548218603452282792054051841077727951860111870705755561808207739077856616444986925309382078156013912877305540269067823172151101047754100140678250010203274391013467983024328550132843658002176729143242336749126674467403651506599355081914018725545115663727535415472992363592280424975311334688950445775693974326654988193027012894524335644017707915748198398999026217900696332104498919246774735570458670378198528079271994708118618268454076939589832177036497069499904898680373067185941221187218731491294137622538018007756498000781866113559331212054085029049590387418274167310185433075281824395515089617839080887034761000705090163785030023358690299781915389589028278259253337504016206733049717819813018217300817810862589229735786030386175731859094706634405191382236333509337843056037470129465624285746324420062767147172529489944922721890198489092279641012821572220570841233956200502662690398157345185746696295581125198859865288268227555710569703607050105089814845508141580147047903202473572748023050540383250041176711990990804414599886373561372781132110193275275932819099920277017748099768703148098779368679471347652795693550175875578656464508548140960285069341279744566920668277437987050200289396385571162743534038246758710720716485246433046770839716383255563580483815604836095447203105301507170818753212543155813169616632776663556921935079409696033981451368981925468306944564071316166618247118790005739063038806460988970528841488555516740717226322415041991124214738245406205992980858315654471181438583993877426103968394049597315651832609494449767818058538190368926849813915524988817805972194599719084817871439319963145268062729896743199164129575502871698211544316714652388836633607157089779094962338543941718368873014774236477509011396991271932772276038322749538147119248227489522331181690477478066753948498092201148563305749595423362860597387817737470766117543151273212942237731206745810704193247371624739982965298211370189831976321242856802017306163677406423815874410916418978006677540777574758448192061219453047896486262161445103682809052103577253
11070574702104770100074477315356000683657996149619162891429805487710554542640095480598192306582000435085843201649199040907117827659204415648190822226450971986257395270077042797225446413980652467305823802719049181061701284759573089902517779573321058336891283872391410178868092635874675425460902695412132250303357089807268354096827067230671257879228911726000554774903517922365264298420948734427466183511710241488062488604712867541179926619939914381773019864316748291943419782110360381980624772099903211592643720803195376890922890470646564498566847924373446805622676003241045400226024792930546725835238916177582334631469807067099194595854596945589037667921030318616322429920499129198872790674162892514077060177285586880329619162532898829437921215598906245448178746797197663244500068479078026487869497719800514674488976381153379158106258745843612154975953760234929751396388944440293061782166990786535833406981401078932150544037828200107115692626432321770344675573048097680101192856570050100616897270213314992433843718364617865575517658437773315333662177549260832958871458678410688108915112021027061005379912758130751008852088311268194892992943031424702209227826903201287523830578044450071539252269026078933323545294314693093187669295563715183530519361137992676467011673626002980978909221766829927291284871618322459516955392529909267625055922145785026626294482505702418932383566897796868669012905662898894818806135174383685387262426691258450999065774356735655381580903334431962311356195344414287822281983774870243765899461208543683969308609536502246182863332269411891055892820122046859294403563841835677838739791144801825676800479968559289451005737889986648790052876381408071552675212817647446732129415309247388655558421804589770055566036169196661199510138040614816777601860959312224913542281419108392783191861093853571040489797071306229996404909683056595123925642029538317336728915232008743992710847975692173460564157972912110306967068169306825322157533403745068088896499421654631764914871566887479280333053426147411426738140032979786502644799603275081304124635045932516444250063155394604909394508676327542711436807276561853893618898451605203215073305169368494159902605445410095023990245540510564327448913498937319653087540124288768495086118276467504207569662158339668507051194091773051081347996512125807780011464107209578212325470633013765459372662297200044425755462339221117891435843751223063021558457169741911136643462036482645314326575558862730126258661210218857228396550531468364694639467307362506776828400336858467918379574905298417429558010290476734652407909119314899641074027589375773719625980403382845279030678701064459654755360904401628697271285138637810379324768897266305924598464625608761778287803874057806510365084739410022814457403084515957508449227034230181128763085863232333237677240178310171686655191611785359141834389449729963357552713154616146272276058361477948625693719874808013769703063169603891475614057218177224959676095708266937299227764627959751091421844632579323237164129895848430482430543621940040520114104219392016491034136580021725751856001763059609966928689734134702585891962422246962847092110554766098053971037390997242977187744845908788371573464799007456605009766276456206538205534544950693984597564916909982430233431787388569638087043610590767982816188052208040397076904603384108274233477432449607033068516088638787585355924284967460262826513728124135210295047685156469827571639789927397887474421467767999842947228931022510039847782310619807076243183034864686336051734647639237664749144788727388162858049438327117665749829619857910113691158591286805258156403051139791050185568696586995233043908642207912049392994271129427815964497611112028960683791899019382603198457268807277950408021226267277452113191912669755282224127195030425642710960707002488371338269080483466762003553458724251890594354118880403717093236167757357935572822246190479448000545385100866913223404716958592396964974659124296594626999229173672545026565127819798060358893814298910932951401170810965819895658719846282133618522174428546185129895397042390673429565443207417739373809336732627814018899724788190190738291858115415246437672276319511115286233244058431873931882304489183726624509512196164931053785433112739158824644351882197009577709500961265920968690254628912754425519590391506258143972133302127511366216780282902747551706516196909462972946536641883655963495477453734576246476962571942500565332515891652823659874307904628918642866767172440729692018924843778022279755295778379453026059221374561734927456884976776235524145791913680801022882187248485670868908830459521621196092987034272305256798505318094135408037653056174224952874152341930034552346490528226200648774642044649266283275601376769726647712385000661612060211841042029015827596446464142782407581470528055802910497383667392377622982126881396149936457745252304210426025369047620267389066137074608553832908819640992956129123501258481796782890702103985501756431578033824367301843820095124041805640979864742349166637039463157874268804090339284700852318686451317674840219832246912177512516128670916632684933123932527723729743324932515947482804420818397631448884855603989956573553650744900331611046356441596917514267088060489054612533218501703335814434222585787556296949606397122034712884978292910392193011045421369658768433705613518200039994498156884036915133157552296045873561129011955890823679139042870163106389411606574766777797140142005847527938698016876070565203363306950415094931226967392559927430368134134824168792429812106153679575082355410169938516617226380613763221138893271191203203165411453910238509630868407553454296937947409156688799601321268689400967992934696269661969966574745283263068403827298265202492591338354969240014862714645304734803248360688392667548035075382386605538878187046046840624730191939276056250146876942435113049944126811760991619471403706511885840874377182678847669782912509735251615856333777900989527167800520932898665066877952092675879098467745627795226109806687785344373351611513155686804674471845475296548405085744662696456111844241922346161930606812724489001379309232705004152060645717670180154663736625737413429311640881876675071012234350792381813203640989698228511164853067591104994569759048977561755572110053862728290812318139860520697553357629898510496551984837398451303926370238082494361537641612205217327794807097734403635112687929179363068692249611567816148068992792040606625319047147122669121389288964281541633552683315027005277888675990110550099965047573914958299562589329443334200018756728682595833593737920766594744878316064532958309598127557607018418667684904103726386054444855620685120309139793287758502639682946618372419340929433005543541106532601671417417098509501098815280050130974762259875116877281977277642982397755980192342019090641312217583150914263162218768009482801623559381077723776890847449009372115372682401830876715243910383852103403612938724251469987855234171811119585258445401765291343149801929862113593186800594216087341543163690814796831946416800218233397268234746940577041821846629127604256777410722855535886694337401196355113815785457905309921497515488625521655888636944397310402695316080367121549385262292833982927494356115370504512733620433058284175453675664245839749020488691685720862057889264751280145510387770916978806473868105032073259433602945772703449996295796116244273559699220602934984967338045184798158801841154378024376044161205065510940692996410758120087873769997456002996967750556970944412013883983007436414350647569230339874325181148426433556936463073978900615542316522363865933345251980485269604675559951545489381013610559818302262906221955224238078235439758606066811870148090698466609085324275459193123415352104834016429118670889606766797727064187510412306334435609308432450041430613501627008926712873640660984460619790882748564765909533582529089818945967593323871578325219638555631802185277752483307420792632416543989950418540448432147893450482253179024836818445334068988372964494199649890300938496901635120132900156472834379362854719049864999036596437954508849070301795618599154230781439510808245237112798062075030110836769505601951159981074479617253342148934068554751722218876919821601498347380064686168618813559876229108372246863293475234538084273730503062713222343028636272963817432835835400594582666951799531572983531445123336603622058773370507889581419309685446088864783344029208901562352998148766557194318376772058589544037521039783421577716928786056696585243350101067304183590332579670242148516601815731154004357194463785100044684739463316161743918770662519627560786831304331116129762947992378651146026509962087444507930320163344576581890859202000930736360687059296353229815539039334727150257957366699540509172544858655441642713244530803950487201551221782938229591637144458449477414752767124994750054995014224444207967576199921489756340537421389593536445725288058331473355379922994863389611140603101466438287810201980090187578367188802801537948794498672689616384003755901876019144097127569500835015725579097454603375211915186946675133149100978023093169270789552219994256015882292403005941747520590012393553802196647505518921170346008303082872324930327042161039018125140846898306154709318703929526198441373945641677069295082023459390113294807727409842646471529805549949137733851687844182407802616080320223291392212107477310702007126562923668091077738782990056710803684456980931762695525337384447692941570716206038250182478315179205061769202040972518063861404035312772182821276293935308008888912107141168770599460915721147995960473258613880078449408566842578669390953829451275620357235013336230385698121862598062635289978845901736885165484202534986253445260268246103891294467117816325588628974726320013680478284266035897712654580675034044176453678184416312213007136916992961741594644881287352997938593187894547232521850692950489228651428360761193901841809846091253404276891487278421818930355371299360636314540981243780977470005962088478775934450882889085767631856172576388629353730685198657082415880927035102030686257202884884956742811473869651367396714417362000408526976621845185701186682318942767918867707969862379718299373963208037550701166982479319086998492232824479633915083910261034515704217650458523075814329994679564923453629814802865326426516950776055538270233883525489729395839997605680368560580165647557115420112907477602542341448816985698059624466725605806071112494624406738392569912951002250290049308761543343410403579250826199495015387140360683283687663232552456548175416986507387524034289059452912580307557057683258827695769668933124839332130185359832001968585690634183553583264321542944759708425568866224895033220097444055641789396833575060002174530530120526098378788605685280704002046956184418475031384233346319721457534715507851825707055200905903049971517268180293158449007801478220828576832229573158743161673775949001040145163270404131867165607314149588572745139829396596485781223762314948026679138325698326418227906703983492625341096444291111902797464868943584998991542652438772116119744936283176340130917647068585704789309865591108124307963453717897518079852772014359462412572926582596490414171872732549739939310319591041023765506884554002160071312266824286089986190018196821680367248555641795118584395577666208941946201231354112403092628994940951086305152423676149088884082426791017052330580585647872899317194156252346162183040191214477485419491168368146426267087349190175200348261784138161390818234081518682426202126736698359079394248820926479047717470430098971829257338825043305475122925096514630055451332708572967124750054563011606637596715397763332107369948698208755827482392082691297730550581165136428761213264245715879199736113830296451976251941154726951592558100140554245388135484223661550122585585245005720543573357025091073109880321282763290299441648495041381218449831727835102795981500669846857694764100459052739429486711879589809497288492475370146596370248814501498284684369371809964793304667796710031914501440091689315615167862760620004142261203542826489199396812443446072578697999609070643279829472227909443721892096335402851375753813423635932263131375655314990507511903755058179889062762561258592271428051617226484688683933519980214132471584887350004784593338462071493393088504106363882831648325492217403074224064695255879592172303829747873648982877029541090884879414809534047311380832199225496872685754473011374530790149917442435425491740031461967767210907579056837800606858649913534543144854967497248010810432941492824498812981716867879977655822340119638082299764848203881627415954353253955250424635958876445165714583132162584439667095146745840542980452839744267850217218604666353128916251110599233152889903124386267059382883182031618843268949699844814640277518518504609248042607053101329782600211586455324819236373586617949366412746595616464270192384615672958939141306170852951706466473323374374336917502351880416020953703867704052268944435109075724652545074877267777314126830890461114660449685590065233257857149488061591178105941578217512972485247696024757526528979942516024855242457457567540485527452303144932883396087572240324681080370023554958012067727318123030143167857818656398492645622204359897583332210756936695611467154815321765741537191977230100011907683968804522695560445623692340655885337581885659826594200681513432049934951844647930364293844439715492342173035224786165389374115872404728003124880729371619897798683849093454345935157004893049408541184896525652019437598192811516700451540087164819152905324906749201331275615031102342195592547062108158457121098593472933580594471804965939449535180368796642477752214487138030972396834821085887227597669215631617990478154446443828499626993082469794221184443493582618637562747239258913463992661987322535015392584622628118342541328870314562309786817598936109609740740861304051865856176922830988152856721713484905184375356594984030999653036489004113319600463963111332525439049697503750248410823426102818112162754862755563800104447777063409824848660249658162955091870101913078408774524015126659644196116755114511303751682530256301858919803371426003758096305117287961775466418548846147289038413762609473077467138927222922229472879628364108897125021035013187065492293174203903235599773047935537488829060188394576417487076341641474899942947554663416902086676773060814320263501147478896740961268837131457007651362628992521397052337081170311221860429879927435769399257441197301997822327671607162622602392186941227259489366563735230682556954369459957501885792656721792704140085569121444460162822381675630725418021851693997111834753608609995542273085372737699166682379698536242373620323256231088096849914830885021205140475521669250906161833529531007757220744567594867989266098925797151132963637633999017088935980486990166589815677194870582800991409689238137684084215347487320723396386181163386555552838497413688348811690962767627536199760503920792187791620661140032028058296016812903703743724165029442565376727791908946877258239935560535661909326509542187792428257458413592977153488000189747772114239456631114355951220941092657205721591402591178124123769709146842329400738043401151512450232521346557578461600651734592538191488327186452011247831201011400496241662256267302132751378235272538244198075549316735661336138466464354188732536717103212557845953440113194119130196859243750902541009912695368728344767655370400227902299261810475544831173637394916929681091458053458159351463146718333207513466648833733576883650742784495872147420312345891654670054219070527291977041369244232371670576969592510824296647234398655547876140447722559647757365089369734612076982028165191474371359639702249481920706013725585821114118315650587310115519139463443863463038757976161441687158706291177677887776515346285845933801202712790848334174639746758822927276749171757521027472095036582028506892300045574208291239502280536113207354100208743226678297334015326453998370012584141836956108821949577093177756519286761681417622563007892801447919986067173730147523433400719158445198947639897551739266182767543149964057449688817977273733367344770555818242867640975183478573279491137086339122099607156176515325117789065808485567354440732288617566139390664981305470477631255866827627683779083576723268720089936359246867180963916379712591113116572664978835639097488757584046907422881602432101118643442266061453975483552304386425432315148985031889495099040920926215260747877047995983487026140296927956447201452272877438649854591364715255744685117974594777192891992687297416367761331791092818233432724297131386402615404256633281537322435820767656232089761201525279469969526326697314753702189824611340828671107638779147302735083702578672696772505902067576257700256865973311076365509546780498779663749832649744584421648402175416270841610153867523903681439587000165957130950066882862985110649637686703716249714686943258938414027959208430769837996043658052138309706435602982597360368550476536138975525312566590710671125812167893763627455232184991524882267789231188397921891831724655308761281385714750779528564934791359304833597163348201731774052681071202068534993818547631920120733546651334833331952872117517691491247990407531670545149489369604179953455936475290083970985030296104477741690097811512600712213632382050173102872586816720636431221407394875831959738641605261578157571865663242382468031811632825094594095022093139269474901017189252259946183593642579505687717549084547181243349836723676388084257489575055565175257601164642713410182303285716791609845125940678737344550607514946458328281057033749380984519574694989956726196453256164167497215647321373922514777063079863251335401843000464605757870138729499719593054906957272710143559414603838882626870512414039662104020723082447577992866446634312131242700564404536712006549070087429911321178595594910986778828421163695031024627969645568727257245741042876957259376740872066383500756524563742600359039809363675475433840201619177277930013276602560026097598739051403806208984045205858398991590793234693804015735908023097286362546937059971703358612096547186459719481120137035940437223156077589197613146896897464691211143433787774834853140719926336964016775407682256520095941174307034296972412420402528380891076761177669399461878707644954661825609681816079841248603226433461309999447615038630506535511619124665490919205750672397109539771554287813659182655546883371858395143232468431785031233448681478869466581760747516471944979659997900587668383831782244304175469199074014698640565910342214274945344283628044703793440362801024430115282708287283373738889258669604344262844883946709862067887228607865114662020253191917394768684207985807397865698885612282030382434446625942875149076816844872654863417089227018190972495296249091839248087473331604015411399256559311241931752304058730571724934113215478654501224602617764627883338119417161020021846354497769118266729673220033516159211250946887154013539307857093146403614083364706473973226245195747343639934222627732157856786855152244011740559467024560624115895817816002110081836824633918141171933344202220009844819086663121834182101524181764640215694356832010634060384053233502213162696084421609789105577674052088836215903415166013880503842304668007391552687490562226515664658357421682616952583336403776909390884829919962383091380905402969331183531235646104169168200745859159774266066311494778563202005787499279873887455975593518958557803426481653263797282481741335599656352636185346239866599024235492650456529880976075864514889621761101708810518492529004719256785151433527938098883040252755567450442456678177859101044159014930091207743004768384569444403737500939123992532733237040544962696555444365969287667201264879535716740153565894124762142739449586790561609904830605806918751234231430146006478196114727483530371031341310586891410094046184066150010699514663818966902830582844077098720978591363318861879878092325251971199288051062550808845842983977572503268264827625433680374727991687095437267467597789612343097833198603490800609121243315960928403334040744572003448440285596421918617194811220782921808044870305969561641362424496929001609267880632873249290977341294440833964162215279452997943082414742890600
16593831652777621307439582810561231331153970243939549244817920714637391715605728082564046200971137477353980716960339512884468454254253334217096798697589954449527777599928070631908380505985190678573445004959215490255226897613892657790925153957516267096503574146328696527819711127634918267424112340300548004133824448240132333783143398351532123278994901030405976147541309178428748943869885974350481759940808660299245728791350979463315733688811312986856330097451881160134617715874570007648243439954037776973327590886768283920582754393098659142063816549280246650762001193309595411735791537863374316937220813449164367900608527778260945854963551817745234041234730502429043734414144468396807505833985933438740828483681825570440019830813504803045439284844571879591414812543161867958429919990565017895333294449221920019210480710142301171008107785580089905717620695266921882467239317077441159023709255327762281673902961417253550866434270290485242743213106125822551884724453599340788121258171469598183154102763339175417577143928765511447316867809742727596531094875282288616056764833848149394294002622073536283005525331912815898075843894102718601586143085740316208735376477268905621302759873578700603737906283562704013193753635014484558136198633762943347588006639625581851075428133904432772451210859812388443736019154406311405532417451968990818771041400610687934777799496763357870629702796685624633849418290153941373500596733086985617422170456195411252446420480274848963856330674396529263892009921310328159758300035253434198805586087666435293971222487589965708238484854730680206159467369501971002071206096022091234813784349106759789893137626633515297237516413575463537418604610778090244842936388329680778326510641902809890477242936159268992064559404247065624222614422426465786446516227152255532640440256518508756519792255206599883987750674756276570153488158762646521201275085867307633412311950801877307728726533225876619232914038264554770237051812360411162184916970091140759454625387670488245933839721878701341211037683543425624739147756252322394130877419499505161780370312091704030543259309972698333309252853287504871003139671096743937684882091647320536616684635196257206415751203219127703703010955883438332463634839078998763587360575918867646683437325038235875542096280566913759847771373799501370217299530687224602718746238097358694736784267443311637602310326130359984641270588151592972828320756717373280685710731155040668400601319702328268164168538953923102565278874202097426247647944144898095221215010268117484669778023547479802749247213668691382819847024052916402272565540567340323137863066328721432787276786263855530148956594319611522082084458588951661909232442722063972779479404448796318965089464009879008368031958342752308545320054002519399507674180850397533684835969921915252408944806608930413990267763957460859344411440096887878689958332183822562688026533356739330969994626777784604705809733913958922022190476975086517851898351503492864930708644111788484845579521970021638178355265134092339468654575496231223326238275573286235880876656210192760746721678018104592549331764696245919410065958598942543946398418151709846685564157392781450166442579482303994988996341092336809650006810129089270485540615627174207954399558809347927453537938910808488846797158732409047332301489953769390698024980354959406191148336959590748840367519790014644159535130332240692400999989872511811884782564932258736453262987789891978998934921458192589603946565550506966571529321075821331752307911140480705391302157512948791965593586102638127251782998116373383232258261399506270649482717126156959278685228391475216263253494880437845230181761810385208940902253301091468302973626979350816578219813201999563723618282414262376820771297698238123273998758895434554345380503840986459360259190891165599326107866232340419739810162722937657954300338080062581746974567819320921060180688943150199317892217212771865189874710816786004412507359450205671022295529528172638388239331510261272450134922722952564151250867306836859346380764923421102151931468493738109286953830987059347487482800151290662603499119584738723083437726303571969847369702566629845789091686905548793438542195074263719671224072754841766953106113776411485174261952366462675208102105219341879142301957245486069791896783683691017108389416901079699002131506402555817848939435874895949037349258365024755622073852798205822036777891893992205699188522825294817411409367305012939035618679140388994086708028972033267068304379863580773445505642614762160323468396488366446778977790766124383808395852098304907324678200762118162671407846006134385937196208065243520480703550156572696331600909172570185663564660650440166096567577662801168741891139863333277142214485592318652821969244830919909208071143016741185689752863543043124406048314025133098005916998505351029182430045876283186303822361456392605968550636705253949107957683481126824623876224781782324824117034617700248822581125022131532975574429039658846136994945441540011627191362484631070242666604886056863064301740863028505332153322359788914650518474376995971277097760325689654451996960158228452939080535818540100058302426377381794146563890893750673157195914943207687154738980002291083451956934959113946036431097540030833372754719845898853508592722255789961418022293323292430684047155863470982273252225710160644437451160890690029654370568604965147712061739593991590020833042681331616898051881531235503130786392990201379106214206816164831786242030429236842886397044615347642767657912808087127212421994022677882503605982011882896316765829200702585461641820721924720270407366129062445161786194971511469459839535774402635183561000082524958009539890432335885202795140297849913527388820169522955369738041881616851216161691483669272569252292326716573574169333878028314040953435235154648351255016650065787998502866830909707456095195415107107872113465557714278061999185818277627968105154827285742092035538808710838187858448811889924344481643956584547512275137284998474413378288222026267633798959675918943877318652680129757842278114248022391602877445683857835625463180075958406273469535691092672913310200937804823176508691627561025655266813099928502616945831708980636838464665901156570922295522422378367396633312186659117564149269597664350725440169265554862413613714615380149832873679718022784352727283297916397629320335426200326569566564615422469954877133100289938442116378945061851656041683644121181969241738928065903734605891343651543918929897121241279378068952134495554493596740729001968642575624051587919152154837422303599821704678145028280863625135920674155309272379895435992092826588682388172237819123290751638659864990314565384917778811644551593386433272272000720617729799337430140555871852914659222636254307468365713449798473344303156986704218559645249026492704014366050887702583796099586910212642010219143055966241477617533569297468328985655217234071332036354055176744310124945112853167569850080339965232740928291351904845948189666739842877801428495014053957174134033373462999769152979778629924529257027655888984010996620651941606171458983806213224061552758457851234294152811805106596059563774547224985647901762157916592168635744357601887338306361274639809917032172797511858158665162569998136736855778977013695659785973877138366757947345054596993433342835927685453842198957860539490689913940621603806379412001574511161589288224043639962738552199402126626910502625810802976648864940893170129452438961046181164954837573631035638814895446175027930026577346074614153181973976537062537422565463678805813101600597961338349237689031490154787590894371272789472986670907445799127378166629220385897620743976471178182930251177891800187190456790512420917403698061495011231218532616522367808291308753590052977998636826649446061921277411198580573059205030802901688987263440462779679446833947225156571422547000035539973517343870853848404139220674847104114143722270873998710962650985837397267309568607346740960259980836727444306014611660010254010742985896986628287485373194636385827365618922631515914224500694234225738741832272623914454294888595628668292789652867823919816795455253524919659809138890306840764908238713346258605412003559401608465188228906298007867840674933042288527472762626066579850237668788870421754174568941912994480945845764995734613360296787642043532644096284489725878858546343695572527843637023048202657136028305041871437875202979739394750337088962750964210710591618767024945694413776727464066281792733098785339575067917526995451848165400916821888930924789251724866689179357307974286992398640174404859065849885692948983568233583032628096339646338461023399875112105450986220801584491789465196672013343964425735076008233319774560727544463341926764847590497820932212570045415082178852174174884167857968913422397997663254260790307392550897215188497514542636641208397796635372576362494614980941100827285651511234539095279691456468271412365103552321366759798008020404473917046364450331171844718277595501922981089903019090970664304110821342998399352804073592938179252411759258432885374532499581176772275037363104593605979224038241711473530843851775928770075526670333810770807957704270999667407020402418089381623218445440170600437645925086624504930194489699531466232070124096716106413907507838726989221202473295476971550449553014133514362445120671480681513942674801881622016620466531777345716416828141089436736541405287027438366710023991985151490758282986698432089217466115818252054549696584303269271576844826207274245953866512344704344487707639851655613511011294685716747078269097567762292153219400255823066227231947731236169702934042234239803829920326818481503769284883436295721447399270615702133520777675467427874143276588417387927738970805617889321125062030215495812544187048468498452402733561678461178298265064113657830986999957336134718726166182289168698360500496320056406444552270570051003740201371088667158278463654004648890101722112654305617895332023805307933939899651404144609908548510962777472297607913198958860440644384543395837297887908934982030093258863937419728560211902312588127260636752143847155673671548241007957638869262008699486526182846533613196015495151979639553013939855654800478950852960572238102446213211545215577082583535304839852176150649194915618929398221946753030002680413164962866596783189474707630004426697122744940947786205371765981601174297351351670936296682701150527477016372994032597470699994513530902943418634028904101482717674102662171502619629776784558005058441730396374865176728532751686163332404223850121816979924544252097169754567697823454103885412200057740550178318352146931950742041449939230001420667742852970391119105537807468422154807348193844065667310830365970210206847454033377951137818735064894449914505449417018537432281969642453960016512023458596474807537361994563783581321556845038769008041944897454232876599737731344068415027009391687562464408322012330775549675202123455161081450841544249427458951185942524379188674948822578986366242017687190402551496963257776448554788998767977559337110067692977396738119006348243988162789341384715147522090396588685098677392050896852189517137528310687452751397646588118654538750718205233261157329615412406342741134115550332787140572927336301850933840019326970043846008573525145388233761725918753056803706244098640485792702980094907384641298849659123896161977078865682891792552896673634002668876199326160950823940943115054746387268219851204350215785417236097436252762391111826908411872676776428850277784838986391631480869050687711589941254900585469671850963287396942713327793856511227902292586458102818307297813987767064123639980374210019432012241495800789431151917035496397808804060735445643933268529221288031687627666365946331719041882208649561751868138038514231024012388861323056748015650796781237916106226371102649129998030812136078894612497003103100143456280687151631376394471568588054192761456528635461067778766657825632823886370857379728833946075480811502855157732622886700986770113876760127183249780032114680146787346394542475439017603073775145356856540362219671811304670408056577856872996009654605164575358289387146768523793641085462202219340952724090647931309263641945181119879565162046830964870980127497481537143194876351745190235789977947597759972406420749976314934057832268544409548548863824279455185919554794901721652254657074661867775923484127428185275989999940773328856658861962285534288837747464744721493500518568144136268272645931723713976662591638749226020931630121076843523305452713764632718195254730995530662703703278439233362407352150268108727934863227490799440319158658421701108123331308030075570812201574576599762807266107737376010328126215854975202665617619353619109556777079475039590764795380022820057288037428121027880298202882616559543979170378552077587982501973340853334143728423762918337345267389386142337037915657139836150997129036387494733667394254207419093715495344413701001917494559142689894858769310962887930045520766880368119455708378744334029946132407168384030295102163653603743366148074577126942419486922052278384969214324309615591228726156766796288106432456803839399993881464854533347153660040625915178415968202352716065282557606212895239001108720259397664708144886454333320054983311854591873246001302366119634182166287697761645235166545631575479287513021714126343894915115967295528937177696410355845684067932638497992841774850588933252531417273544160181034931345587229775666412029596203582033498879952678352911542832368624586234625183317539828646761954592569598641901863326202035751358117474696454414727912554807955920584502596736561757771545935392502472383918380940112470506113531158654876771056881643401821848344814292158758184742798662375826282857912161810977817090228771058240423208197737298376612250013562091139060862995591703798001013299190776487446518427913930971157570191059866108733500381983404231168471413965910423918829993065387951653880585184373096541859791019147314099363162378917556289876820413443317761239421407299742555277516078002277837653935771305263643007995351498677963792530133633828638424887385644966428271761141084241254088900929347576480694303037587807419377969365012418893320191468279735064722787696359794646714330346969939297551199166888118960935793249912792800456330403456640957182766044811857564222763684939333989673668293781875514479474377016728880582863062772382919246073947457189314166017433955944053267773367173283618537297256258339430962408664528605504781825033123159688934106207009068015814006643455511555443043723825388370790186429148398988196275091966455593095640413293015088098183269245934713470149036343222930262216746133764920828927148771953215619037247253621656878603135695404358334335659776218208540739575349187391231136336312716182255646873637456288283731651679421283504307826942089112509010557265498769261052641958147239666947037767618698050461086598167024411609094072739205986128118114910284286851100783872513186340807597699540845938368313802209880625077996071240972646872283392869132389528831374836665878279100194351786608402075025643234252203189257953813984136461694970548238390402732712126943518728568928555839479923539242993176019305727248406757618408696706028328105248717099026146665607538697316494327669975148127766074203522815219213996330560637639619302770232430543903264523091603166961588862433699583114275535505611729062609175307537224070436202336996216390071550148278354040516159971196728328754516776783846972340343473650893661540288281702533781283290130444562999075113965740917259660441288394954325646293527731839083869130733256348002737363011099394815178529121656272373889090281448383855209999570484730040123884654332527989253432962628737246911718880391290028353938839607390686340041165852306419680301368000341567058377759089445486522524028803667503743106561991996904849139327425161275329093328920461841990209707498679141934551635275403779805341482907607989285840276741885235206197775327199854478809909780227888979992033299787007073537837523411103811138812189504683360800041854036624536383181182752276985220860557896401519157509741945984053380458884653078834850099580868240212135724401425795536791435664986936065155407678654162242647029686811848850459035397651726517765024498095592004815028514342788715874801770092416625412625115310559606123791723702021496759044289907252273074597069712975490363727780374319228082041062396672620942516997087837022921950734699716712543746748395496443570684908130269326446926098908699308866848497808506519219149085658768922462852659033821640877790999999980851950026641963532087402735569186697535005720266339093401701143652022890413879696337563411184304169223809021650490738377156580706474688129296177215127194657960611465801362942821960443549028052481656138980781648382226065140147354464047919967907256891372702407241626535533171116209553727459572615073803466384365625732625350320764473255762873967529225410717429827783365937293348595373034001737554951361121955172485488490246793420149476452563395713213046817282276671357131016030219876404832723886639278927691976291551598882411168367644404648936719219551860108819380124382622244536136253508171495798752228588396572780877866101008479428302623520256700208567878986483422557436258355678845675302086627899235197958173950419457323393685599884335597881781872255517412730831852520458136409690921296478558617502236054700742828170397175964472012528650973645176284433853438873938936035380736979613063569003099511308466846627145377246210968044812476235188215695546693029740211047299639911198922862739226706758321310672363470324042637558582830363389889508118706691312299335348233336195881991149440566201242831454240509004896911983086368895610754163936843267331278816546976672038785212171603259210933720414071175468788683107736892053933394080052143306329849268307950845065738833293904923263326472452462338994255142632935045727528481340753203122670300716757000772616189494296200858383415526120426209168101221311496596520382711514255684373710572664943634886719947659214747013386542901043862921436322802926640960309818749267433269333147798194793594338681676078012623065205386642294470814268038889436903670249053899137950532237938544154871012169967130026208171403932754668050409874138763196323062588048230258239142343140779879438374206757816452277361209877342118259378220032489052720736328253774084461995832088234968940428155907364398992339228123648717627930285108255536437303348700896128909951598638702596603149321355986710169068064351298814922957354583657282409158190315960562040677115031935114355070339743011495340800792883186706800533682173094619090993857194734384001988890802989575981087567012569818937471035015470500382891435018801470123066481024170481237922986828368349861843318198383390503749758519177494642093249732897486603321086772541396254861402257898029285803141654158075684277875769754983410515682567959116026934255281660607733287585901271215662570859570633782306459689360716777929620814736747710371504521137976867050338249535949239839674507081352903245336917033531539655574442295420485095665348276978121151635960616451943510083215449354295689241996545444960217643697265290459016029403465351747293385950264157444326384968229583200948239906395128871073884936312567174535214169439678740430355033719057544739327274417197968663867861670158028965410688816812804230350394138106449885626120719445982612813668303048470956350431233568843692012053373810963426633847967653361274250353619438957407692128014918635109738177190753811997351115366963735627423448708857784584583352740423186662748215975643628547022789224360098895035540269727875992435601536501002652321356763033859216414670361023444222847405106541955251544484058421755758478661897990254790197144441235893865371790581882443314271781081773449227428275699007938664571489894564814859740116624759167960118743454991821685534428548967260676479731029095541262577086596929681289952383513373754775612997634611681426652064660851427618127766350922313758786531358289704465256371234160631299258469860252856848703956476192358413993908987920683328141801958463346036270998145935060845889039768362738103510634932114186010379036855359143936001723590742130488218187318505097327349163025224498363213123062493745337824031855951389079072924929668406291237
94796200345255597071345895533900536357970218197309257437590479155004956206180270692509638619776730418487007089015922035707817379655074896068933414443980261995357078396899732468028146606949609167070939585172737669761090604176418246800057660830244806237011376917685231030983850598339999771978438190129207599420764326920102982450324650788335645309511014908043100644472700795044658446898418148770396356807202383041481628698813914074737266251771820546843608756331750624995434246974476406833184785686051842191102316278102415585229367813740343107986078228523111568425381998031198927946149012405332878936999643340382925614546187226457700767929152913703324191926112998780936421070640158076997001132585233725671389280298018824001354324894557841758250839598390649894803608267773305893492958807153017842863181576915025332587139528518833711927336344374091534706635453869475837495818811143124762206262961872114816969406551063565921507368848231430691382013970685066915190283371287222139333689630710605618276551354747855561345864430582864897367739305267589314553082361348848641369011884242057967954132568738191174133229469373508215859925965497445772239431919643977284526931110368718833467423332858509057945306331184212636337266992344540631425245025972724458839667665053761839848961898511024530948805926171791050671704406509475364336661186472626886676427664225281341091854739061836883707701352370466196243301031101537914312017529887449682609444969331204421718197586474737071266350370538370157844066802926812384402215412842867500320539322540573204860611940980244725764656681116174789575962812679115070827393677066208725646627713233715018637404689735871908721727165603679403330882187837019322408742806078386108873224634805322434256171373523322009970790129122067049630743022035128377914383881214152221488142687390545382421858252089477731300234322856479865586309110210845392905648466502325081293515853211988275694992399511359923964416367431366659524695598230392992853963862045063746862625040056997698563081760427636148642482947623887175200615515618116488558723655436892257119423341002041391974719976119650697129366993448306733437762339695613765125785459434872960782318051615476647515909361229908041176896685135389400310035993077917099577940522294327700147365490588645364678945817712566598582599286672165001033566678856028578268770278039570737357092003501324760124323853029129967402910906213225738001335346442092588144949535204590320621425361576532436220833501205564439152230875336754932784914249926107380785157422192107400814254844740774343286301048565521677932869900592768163741070151668323371405690235415335119908966641783660550986698892176387316257136931069788556071411016958101023264238602192339929640885383074442786819068848408436127223613098510352469721327820753242369399892575804545382762261360112064805554928771169838008964259143990356811684718205060915983026449332190385585802634623465330151979422276148821694012179073158270311829603260363327744356673922968300483674706756388343625843071459028377195795849992047892897971242038829320731489951033218079186789645832862127501546559203156208072405734290615521722451385022936558952063272612217879282078911180430835769018709450701110937579731547683187792184493501214721752049007998577693174350378917891723761690600691978380577383832382558592806052186626702490612702555307715459987354361777538130163060220810765917651048042888912597505854678545411060234328671223853722327617155790813777344101676232737952882239060025187334152179370396548868851891172739084145509117942352185926592487466112576965534909895877749043946136562085997208508628847959361952748289588348732170884134286892448089384418375830391819798015358188556310846969784270786040773282320898938206027368263174980483285928684262503299997368827741122209415051767524054725050800425029502811195300984354741749408716439359669217106690024724269852285420017860747463572842983059731942108167138341789852481182628181299785869287562830135265007156481384149427681435227613409121485059762960366231517820660179709134731476871952134665162728253539416809922314105522155717997086441439777229390967606097892637285673949761935604834447386703503548083434950006725291064919570778806185556099630167574236596325374368124223579221784867476942820641232408828129287652650619926628915608818961618476181719337811231761353169860259228986287621116740910903776367642446995551343484010373073634572495236679327565900620740450446542218273900256269916659261228397299375872406514707052782493110482770068863856410733633003272903782035563467698766694476935587363344779057822198689956742510061664159750295560773170868089177642336944483106357649004585733866146468770042558053590385366377177377884012409050821464637167064515844451826581309142919553975989645019403224413584883134522847994305940030826007148153334210968846820441555340753071458185770114515684219437227216008446137358018265972207165616167332383699991380589852876478813852712132210506991913163923187803773850287189104979759071150497426587496259099084880864383661882392261569768597866659630023099603279276826714677817726531077607579100885930398416573289651643784625537901184130069709566915674774360109951321437028055533597837046594171113764263479516467997049128768487431066103192268374148005296043170948520524366318029977186249836622740629553333785149170936888881134570789942377249746627746013360093291104435644730321717509360765791002380880231189636675898390410452153730568681355046452509176698827049732169790071972558791299044412681019036277938087561488588400527782631806239960665466859525167318148083702387289041108882357820873981769243896470813038353588584613507164344630466423672394259196588048096954856945742810807287629170934797837125438562043373562230626685790629110847344713349978853476807528834902342593152688008788129993165608390232331118477431196931686287220407413757872932036899870661410191185159811804160344374720998470963199671657490342285972664800374944307061804493344226521992451436500191432067578431037172981644262279301888990403053909843193749124787056301810390106742292311829321844495997992433444644437936061866045299319937996572137329816949384826647541458046214296084076523354905414747751828898682973513970844321274998724295426933065756688112666094970013437597005735047435164815156084511791399728107480708857737906757380605732726998854977048112371587797044493481575918198324349670497425229956712905543276858266321984535076582964870205139427964673014148659912089709986650333881892288535147375747909756109298756304389977846362939041941098799319180954337092556908282622636468104387626885178819480665920451754108574152653986114206863612308335140762210451550938997358939542903102094228735922258977254957645934541876665314510316808059241808736406246061754478441841158054035366695598118850133336575078758712324091326934048779350005502624043923678511044752237231847733102090963404705883831894132973455223765184917946820984677249229498396078415826962281019204762221986547952304346766477979496808381369776405324952701725566063993123279908152886915740142388943279150205857256654621847210558485739596108399467701878902729466216104063877189149538643352267381904414646091266472857572800978236948827324635494214164474658853661423225110291099359603846953102148856193828929660895876551793628143964900852581172512883967983088221396350251829911743589400504102213981150225803451480976232618356707813797654404258148124621379084351264669000181391246749265854474929162689410874337483045709118184345651725398875835500253596430691426256291573997956054021922534141558061411324195484010634944440051436603953700364483164556824813210678197192148285315925774180843466048178344254469434552482997395177393458600432672343099630384178163621750154155538162091894314982354789438938066568347895981311485041546466302779212093008435727399073275412529158017586489993193042365492100656110023898439812173191724859538058267499951896294190157120851343495819698765602479459073729693393528789103119772948076150555816495143863578596520689900580998953294926319333580300317699693255679755967811910403355539275502085498313845508680211369202169864082627330464062876022726339566328896171899657474075050656837890961193035307844243540301040359697979313788497678731675324158917477714344085235401865942447178663486834847721432878364776842091126996253140210918776989826397111926757426690326817667565480377545892749540546096375723624529027572589292835382796847106541917912177499943123893470382902894616506510379097521050353242824985762508634283908324369125963798984182681854219243777352549793210474954096990181322334603115046268768087853237740567285617401525649074014138192183684291665681961510591508037479223573218959637425317478419246464999949250602785027176047173911744163178538698017782949733568665822356758453208576217595091925592587469888763347258711574497748180858931840697522482239948752149142400191828926170476672144816220376407703248552534709484003122233631627869702577810541623306642857828145652958286504291042204867704558280471775112755699386366061263000509724057322839811546636431665948373802667826814484457941959802045358632742671553579585787311122395315911600668000563510313573934401125201970510029751511064512981904130100092362385229963051241015130459762069362499183759183503698916928796336883992638580180478901269736447034517776191765795232720438304047136981625174138910795721628263166624480702994991823644472839750398709748333108206482579293710366392123400671350849101966814278374873105985470901948119709875432011974096021674085253878397610769801174068045955403516168337549678199708148742005533157746345722656167600561650664485270920223123136350019835570596749035841179940409789264998400247736466255474430531027197408519690249224666829438785721199821928810573545412665472522841770313881929631271389553447333675049955044646506913076305370731586599052651334828403943113971632691076719580899762786484194672514942711147306312039345110176348837279585349952389762133364586538241033363871343706373783584015042875968303172300204324382639163672293842979170635204733117445800398094683169083336746369454729876493196801060458700753894266052172173867198581767965915669112115265198369087049131693676561649601326270000029117970988591954117047989636400224823202982283365717548828615919312497940263719248018124720997561983694018998644582262647894289193130281476981073959155523198061040429749315750825438106881470860080316570851217202853952489256458239983360195114117557869831779531828526572428046941476359733268806493608376724855027843520375281848175958323121304215283075900525857416921672811231015507112429895791657482572541178930352792827108982399118802996265376825724650570091277807436965672823353404456942546603871306533597722311513967211382571299003362481724739882935563925990887177685003249928728906667918422823776135599136035981810851867736257529395146452768317017863519656769446374766003223218411628455085188278257788348828760872313169935827773753839536606456103012614614786042499542338851850802957766152862941508678112094889531814324677796148990263957880893745434560202740503056565771523106829699723423073852944089181443517616670685608081274628168036310697174906433461473145896214943717983039714741876333330297251786920186817969255769731766719933267198662364062077430297851763334222261517095053180280606324525350478471137400220591386361012989542700822764887300894676000400245130320714672200808551214709358301005454331444060267070710328571622011179404081030516037186964616004041563107875023747598883660523421292004781595201747043462511619653375124435678657845854627351670490037949408476059844845822310213348725113470692342068044778447004313055383202188847699941974821769197103823430660017100812471138442462390420612710079774906097558355718932308458777411996998865533152947265085976440547524168986431878617485690442040385399904331542860686172073362262877700591344051576992076306520228419489439919362185660334570643192664298983965349226513409839000865617244223342878361637354249895980594814504805410562127990316459244895803597184690769614433272804451495332194223212101826087688055381028427940350747962489777589152427228779919631372154898684859213882458905341463392303108062485526988741859283623279266254538513289635770972410644638853023545580283431567854670569475830269220674649490698539573760174505439917660763764857996950279775510058781779530849608215775101475345834337358238458842775243216609276118078828804165062711920650692377826108062068855340108787817208596799064239551803558729128148199491680836705934468963184222035149496084491266862404371542406694166157346271636029427625851544485662108530685904148673372793330187167784687542359445617182104061318472554049748890671165868521204525453523954797768438462184881272137453351107433533798051757559373204712371154310230383909470207474816040141585724274905229366035492906921781089682349762193086645039879220526017574127394997858632151697168226880500411597634202676122118817200358301011999841620753002094642476809793237328745835769379206220834280775471847118246765194597302469725114542384736847172705066203412667270672965019582894928026383496435432930749889499688620243252024542484445453739330593042709245589751541851409254026067691629355983869031066192170128405606846130599494287285904136676490908163726931643385605479549094984392338586160084239859052521221802438077998032917894786031518033999153186534876269794007741048443766880552485271924394331246617155061454630388418618059278756258771844002726791500244435336576939434087741134706333031011163178369053779256125429401307647541728531437598999524887535512347470227175431159891166740098078096457608401433264099538471751471821270198948889253451958254894278996548757774262836742204779522537499577896968919686416154219646526198295209322225259566079757897809749197885982722032794025670138391602869435966073898312955060669612546423345174584622659927666834225897892093487646723163645493713385587202909810552068277310828429771344209696941271330849677057771036220962506012710901491902868410195678970386711428468641510380797448387921654011966013045225341598859990578825064865578399939706307949174827267103566170190355234039850861115420662174802302220559586444050163738424068396755797264244414134551571445088673899528665660652257209887115380569997085716285250000383199205682253705555326678896166178394273324982268332911645813775276695588157052146181831132219546658319534673733991505416790479992430162702126217039535695341670708921309111349988654250044215906818923504778430198393668574032642419227950980662401246924984464843696112906118557469773821477978569169980593843596644019106007502901773900520334601821554205247671245418298773103187490182071070590941456549787618633367662447733500922598288760692567814889621497666253271276297304436782687526800226894688324789453477438101230137230875004703046472514857070550165270170533620074513274876859429297988940142639354300911502057257042884726184810288638068070395494500669385768221851052722040000994175116065077027026974546389107952123732493080419817551311436683814241096121728991894705195562203796876574194298534682123390597065042385225204903539929211421299931169583353888559973922102949442211936102234163117113965290551393830360255079923662997034296157771998125409617253479300691205180756522332081513361258161175211673810576535019970542296383037891999407911188646280314880035801885314997855218420700658878034455873880678275345651447719537891012811882215320001287523062512203217273310407370271787519595323830186463943612520985773035177763290755479401854658064734707418888789683091731728252811467157738038380660363037622505922228055798995929562795788865240254499928173603639239359944995447518240285418787686764174881382659369198698655423622844971282664485133594496891614591083715105663617533663327572240124915072987596917204620873066531072073247008698566315098537871396180559301695879422220984800724283912699405677935609002551673452340293826342959644252351220151354114363756272234443945951304931899314454223536914465595949714481395012200141073754099421006282739263055356155619796326683802812384048524063861907979786249832041276870416466019154569655645265904250138300652538765006819974886011310283010989733371689337498852777748012324128639423605494565858082148257268863732675031387480156277170011235893759040761075022968418964926064147278006906478249768124498136117936215148559855598690305684513518734571141986525563863164320519716965805570019023317992810921520958198426978369174761730924135285232813766807933260478804586666772766692791265506880449603336299075863837898776513369459864152882032206990569545260354998389994589427273553216512248719218737688736283635889647964736888626074531578570493289016340744361201630981687806798815335642817699392354235645263376005716689784554897119680152688969162679735473652990067751012048577044712154591527387493436837465650705260559596468739719078853280025013840485425509440509474189858462710384105028841291366102646034693167274363759387738645650651434971935563521139035636585448726496808846718751426123616530325254307340492313792351467930224802134782441034319755046216337898218671939731972453711705221819988136930977676946404144454804292054816361769207483949309930510520687350494952600762814118748910472508879496676278476782148241742726063106210765336714314958898993183965352734715554037106762578301867642407553221899752551497376650553304622613381903853622743877048487302770989277397648239945765256983979584127363722917843083504248168511122665234781533350051294307273813961094643039927337044561347689368524986471011747461174238320579770134880764399336576980068431570017719583908713777095580251406940362330699963061810221307380245959672992988184970465744064080705880461401640936099250513765080027743302734519676952495394585411057113130783820174321271988938306710413902195406094463136394164371521566566929192023196040868079982001030378575076421959151686208474324059854005361737224229785840037690512701332449669988591918492035428578535263242052418910784102212442804624698029019996659758922213615878988554540054896547898857070174748183911705543117783284409046976696415890984007444781914497728235043275449326125620352064138442919067653370704971853635676169824549645740835751115012859833393778159310285216024206151330871492715733162923273040003995236428335940205663844905284680402636511356268045374875168163189705524245525867809291115259172714595299627410210043172543731165160952384142644848398713387696879252334887065411761104027990210108587885272230921864515183759309994078994620275434332810722937297943989569208697653204164858674001816677247721880270115064980152518623836219303781123472773789964047654949688161330330854944493662022846948382926705020806467760160388268303366262512199115277357227219930017216483529349693278994897923055387354203363839129602854090518206956854660528101047222981055068596590597559251471587217977669928303582978326663315092834215000271409513389499226223371433254356995718060995642283017561615470356954784097996863777073621462576154820855322050777577773903173747359019051570248358695542790441847146625603719046722686439695140802399440129843227460149181627163908996359228481968883329352750127042605064081112215674668751771473593125158679939263063745077082600280361651330324780625132680915181072095241323122971563001228638871985655298638247128454721001163392816504957456576028695129608221080601283042738816089060039764523030110812733022883537024718874923024420453348493599338459842406879821603857255427982672400428519563952721633085339752798463891401832087597713402079679488547606608687943613235969112247970413013637139651712152542191643881486934979689379634812797755945528645769078417531992497321272663077763760265542005417614297930995760844853159861025977032077510862415966144732854151035657122876792548165823445676327961949942523365191267390318829412198786153460467489768231728270583741016056073416527597995885401423516830794006225966114786312697457047744848474855887924361234962375187999307324395078675725029570998695316397604675645729120426246976507065555820640990638423738293971764635656883153199129962288932126043032669134552169540998392539249596327105736508594988439153254704584204353562840113154168499295876290176666493
74943023392417719622954046190314684931321998051197195624080602115508202155467686602855345252621347099784834419178004616413184074888477854629231769791923274270574689742726497384361935449133786804649921257071434817289729066494379494363373103360031389972306701017028577698322285523414290314442272868804979373783228822051256851277775205655039616241572829478608185710749292086937538774868837835611529768150150640236208382329965123107924711775960496581620046726889516387616493080998442301014825746031051326464755780500001492772966806397747148757945577533938882788824252125618440373066848663103263489371095569444286076085618172332056551471649417777620528883945760897001787224244640488898772351955487815595827091612146377806594042536704502587624383516678498704393938173335097431533280971756508638011891653211757444810462074583310248919431195606933384464019204472052739970162486322481440718967536330551868565432454861780755817469015300332617091405265320523810276723653272148189060179356795385630241110687021134671901762699771076152200948772400083381384534656300184789892321218240914759633406084376441194640936640070102194145636388635781854805667907140216630283391179999339850609718098743021233838339659576901477135642389032908200892006601788032881650088439843043149257152413549549577371671028187735089705868211517703934086754165906976233191084689931747331117933514827684461737036336038093689287316279616350844497624245331637691058308617751981048495482854016683235032542517354188066091513312267055625148471723373341155217551369258494390698483969861035099025932711459568738148694111484387687318244155874798356194100407951090204708428944675042884536887673416094554130459594786487236187969558948288351597058266337639531634759014337084727658227013536668908598747556069039247373168190049782018225932810082874335721197780108815782548412317583006022699054774827708779272398065167697363199003689459261145213949309497872036290210067086811524349484563715317438711108098185894445029598662699412260817391044812865425024926810777964395647284960651928514472708376623947654907243408096889081718342083873563433965213507046742603279406061113051866525627155089284276477175384478144720649429313879959666968512736626541925155945264971770282932489670493494623748236214843511823440242585199492957657797863789173350832722594321870384798174556063337503650653462001634313836982522555870905873144989417893663816520126557942076865860434791546255177761235137783252979173439136568074659348314223038748458876408651560998843490041837755622516382458617166116111025181908407436992953847588263155169712470499042338370619545264618028739065958656903521136034543939762285558513069570404585207750797100715259151187712009015306352246915884526309716387799184967067974030311206178980937592523660055165284740611532352964101884085116284603697296516705069094503699180120707727242136457099990835053580688750194895212524623956444138487646649444013998538394173073527082286204543231081703470499848100361532828832342473664702401085018365320030476878615121183601924964106612682654597016280926345778785947864918799280023486271134778185114534661286870092293608800190334137768216756861345847596005068893490945659042838967727937115718199767642797286477934401290515710535412500394483295525274770334091967062925277988686773691477748170142404060248391430164852254670688523981010793447432038622966212874039530500726924930525305951781150568118520182693674899618973589425619574556668688691383459303213896199474394101421499621283385695644307109154002795825245952277447867414571766231270164247564509921793551504689428689264438337079736550330002497614750563013615542283489796786277504859304685399684203127608052401436549994204105721793675910060581126505759250396943205821400340253932568900436881838894926267628314010863018632985020185253059664239522886988415543750737641905668509728389485831245680999261132415642893124113666610812826786690561506310437079775649060842659015339514673874643888671438948190802610938659074356116930932749330732186938967812703909055831948611578205134780734273095546946110900966626994020196734454293144334940200868360633417330709114454246307090598489654741989002045851443215677400076170171398753222735298500115562165116377883065132278384369241139418971475078466687196850735113918883070107411773702276137581893718482609812221176899513457015351569122382868683303103936798426903883757474579547053957697812462203726885775098642145068460081989067804102728328914740609285771943487993390755038665445672850233590839133834997571112551621111716337449986697343702474955155703487552899052051990269028258926484555951081340109413591580215374584012904577971443950743376904526380575294050665701669415032929004242568507334854752261291469741734701144300995282434587197130731178858070574712247259114786135879798649100995517425196380818974641883507611492335828774463095262931044994162239111137289615252344336391111895020199490124383200767520014526765073105321348645101615486530079271718039613546360944781919199385357799559906998968617977005600646544014719151146632159953674915985795142141860720977227383595623010692277314304069579581382969404350474692565872191621717350133721827236789774141753139884780763052983678121620922004019071769954305582408315275065750861160329778944140038545962050053971887937959533351543078563407620589082394724373762235879260983417329142843477510614070745426248523812446989002205065597512115271754591277670413560336574320889873570827692080102663020470121139607892134249857129753327235861425324718544082533246512490279093490015644213192089420417960850306311218306745725125411339811506817887451367075066562103659610882050174572691569471729026996026444079111106274127019215064846358865326251149192929387306256376620445483834648543438476528927368596114724779284315045140928449011617647827879418465851441986658134974017076892121711779146059837155528648149468365528915366260285639022036639682720153439911798692714956153847374436216980084672566762024271362449701606510583383643025888679458676876362427419844606587071951365285516152818024078039484581768191656053588288779910213092091953378470256992241628666210412260045778861228576790843557565640031851277041008163294874676607769103695950096477698964943852856870065711069570925162751450742010467814532870104945061066892516077044672963575226113422419806875810874440436131490263741886441327175039332218017299561175530270544707344239433435688930395035684494920133480968941726378942227005245262550883120261769600898602718127952015027571607687774384310258932504776193446910214990793934618191827400841037527420953854041076247602622516965489485506165007651506829350757746553772664032962709218189442245652251445058119048037531758000663846384909518178302254643956414041748405760605942813396181469047696260799247475285848568350004233734282899754118381253586035088826561124731716869522272602789364898783542893273880329859226756095230252388462959304182552654995274624730925178492993539989059769127110155673477885348657376062927563806610078053824520204692156711851828398885708072585925996140620223660420162632344312061997504414362018675156733286484812630356035061182375917385147230348358245544598560205052424684639564879193992878927868737226627889742750698823396614392895636316589433908166232273686725081450338072174467176736632999019290025725162859197362456162663212586837693315505105611132503943759664840767925765377323026558793877834525536582599839130003283899277061381607423658419943297894298848095266163130270417535267021107555303932905485356277336651834109991033826968365319759907131484878101177150593922677974419297102578172240887327267763192120166910383780049913758735765994604906052047373741948746366863016066755513191039053138731510715652554968955729368855891217130232088869661379899865371487456297618707860710558457081582390825504731579998343335334036059131403574444024142572818069122247487739130685304217309030275044201298135226593840461788395224937663137804552817531260481002784592784328776811812329284773054329974650100192306134201780364260007174789846599536310725450323068410876583218380534148830566245133601563711479620939691960454089455981313681732925643975469245803668100564701316598349934176482157988884953994245978373864411057076304686560802436645548932464677817558104720998177065262997083988913517656677871015180463920605807528289604616943386473548823697250486429900814221706240031326917160628895493397372728024886827663367651386072343549365870588694904731720185104453601453951768744002815440662789513262019002940460376121703852241837906678283947194361309457635450036999361992169188190876899736699072569907923121119585474053612509525045422556174773013222801065558700148087952913604789445355948994359280477384044280755138520147760187227512178285420727354597379233145184362566619783876366722235038268924856831046559440547623901615298536157877763961685913991466343954584574175036016081766018286684566789619772347991257817080778507611610461439322449693095566903538794261004074845993764541107355331200483031796979436240447021799185913984301386731637980741677193964691038716901277142897149590398457966975338578652114083997868112031180872923910538018064751954260294121348203324304689616310565447001740253299371991042768958801721545894931874453110839938108535834809886151031051240017355626779837783501331892159001351797281772314213968150004904860090310147280563741932202190353712828201114854332065678174481688335590651341846123848603830424686083634236362186641323312426735512529390826811607671092695626155441113342878404268527334956869271493746888025486326240695226367581806446921194002421717807184517181000043354428770755402641705980928052496572777564592252236414453454035926983428458479777513572050417137419300043803971977294414493979866488570544699347478200838563794013932165968594759112847985720156179538383894131986806652727212651360172818158751218808799757282458145321559358760979002749939784155656843087720878692350089105193995090614975642369286203131985071046500575948924014278730279548057422426054630075520466665297338122406481906503652123447718290830347502786997169713766894569199403351167587317766271969963317608010819850676586003994249663352376614854226853183348555856695680010070533617576782608374439369207685673025521811769493530686967380505205482879719889862310513145777038780101837330854756729293330498464062891760620794739970159306173118853750692734022826455717991434133542971756141706415035304654333617839378431915710308603284306315377939672662213653300961406068263056914430242327771300890759978475607121316620889636040668899292618926599203527099670104493715583087838988342543844666388342559232296091082882955190204350920782526376982930629611786074898522772937981817489250327671211262607716203555406981999530333175480965041594616941377397295190704589188926876917208030007871041804397342039549121889927839499622474284080983211759347632792299265360302820288825384895953326782580651560540580161429485336302309320046638559059432513146246388949568728054206536988249625977300686920364224443842894244938912511933292221179807390322582867671774089487729583567841414730238147881707914491821321277835337923140119766649141885046523465882842639994164251955851760428930248387188127213243181337255309484939862145509270984910242515565354968718032421894449704285420028579994597468739424110557187568661092898946766852412662962150106216241425361257371540073497643382476610621921230058731839679958805239734380314406235194741538216278463632164073314035364389379417838401470561709843473803021774897934107007662069627167921904243727208033977493110729338733405538841428766170163932405749661905450401974906852344920119758981825671692619068186783070870933451377257521488814385589526593018654489901581135497243884878956363875656605135989624381756604623869383851888039627531727166965679713822933338446234045881969872863725028872927267782719617513418896015610744366452456436782416394845242543780067858232310818352377827530582400229231623034542593925723674985017624972723617577085014217013803124415070621417423498889316603281004975587655752874880616950767236480458102170270066993470947742087619265592363662451763639110022227000021355647452110474131663348235986207924314999566028416286665732583320313908411522189100761648776193721322681990065113959203734092062140863033847960171298027568020388462596757758976071018357659426778990321364608048776152873925611160129659676334588132366750184691603086155364058492916385065910746871240696154673751115673075461953249445107053843298244894434853154609598955024821101670607653678402718363892088746806721579808468888016374783120345195614696782975964921885385897190257445582007566175091409316339756353938030456915832174575418201755548192707723607891689396506479185303692067171237658375858904403872572639618098655033442727371386260040127490934795339721988491004726878779954645818729664700288235751818813525037356747871600813559874449562922017857402566058653773475632465453396067202798862160281403396171148631999339310020291329148730047640659139639404184361488289473449929888121792559283587682974113468473603363434976965905841266370724974447452252559814200535938208962728392436350755053144847787483920968398682454730522501022720331174008833215529267668077856119081687633089835243273139243356337363463354548060293583194501173700180185077210661487751949716207216590672483116188719275665989578407447363218618350813024346349069227981967183936796289682019328412754472230983476668902758546283290043891117726009063648071926428657132803711404500048103698857721489691133079539898490973883653823557030039500737420959898632737513700372682995429564252448667091233356779240368503056391320954916969906692362018030114904352922488649937062857064364424969555530750213673625496073637318546994913942631891172811661690338726309717053989003317281217702422971623672657060906638933155611098303354331966438064311132769488678913951807963642397631975530521474998142691702599187582908230474714866335418696452033269564621168798012159365591895002770566522847128768768783626979447218961931389871528701337604264393981481290335684103282518615669435908256812844118920727423870181803945306869917452778939483416455159645314084917095870866842541723506892243776375802654266823405815213341689518171081475885256607962167200736423415495594951184665047571899414680836559437924414922649135716152904126357709467183164596484892548462731053565500604481248146661200916887509810322913808836301703028987893538301866883111156351582897772878969266028656831352656278696256645574002351961087473179145800315196190003796025315350753204332516615881179806736299693021700920184119540780837921640332770461731495186595708277468196258801086980477123126922061672070986193232865106490382310297673452690668437389228954220214886263800477600728000523122522031157025130396243617800259752127376078633643850743056254423291471891473882471932051570819214472053877647567747795084119660167451917979567157919956582889729055526701761989723457691751415807222711608468831870259451846671629347582094934095631417882358983896152073822504331310573576112346578419384246871194481008358507747395825825291514735365957711801877104138485526470081056389653902588181874366943865783314164981236987065525759550734429933265460088327650487739276667164622504719440339864927551875636977369356382992620464257311484682744354145310801858439237090397283802533277981497512438263972524260771647912116489676570579122741926580912397591108803228246302862850073407133997687852665143863303444481230697734780868069868817926825568931916353897359660070159625444581200294984197465583367037455638267761225767538083530595998280125446580429540259974081247470431624571538414928775734208186177343585752396050558498033691576734336823936527966445177337257516524719411866023585590874049858967379695776709746336454214016994826512853550856765510657701642899715842483031310695047321128593840150660814278543042601134455038682343832471797238588860652283334277563947012655316154898024101112997340289713603268284281690541291642994620859893139776152433954720881150791567168400037543382667341201354409902374797088987595604071911560875690494095586378252738166741092795151337715475860587570480095731457655211022567284982751319723461567816967600478555692701428677839008308347402930547903203297095618594914766248076639551485922117152178650922746939630837563141339531000290507952387646156476004062960859622588849654523171345901310055614286292940266740297982325367048041167618478109640536563756359019126670622874488733139903305797930378327055403438562304058447612562271594920935115896572464157583843895535219314069044366987131999807199090970915539320882005874569578200390473826019569215493325202878787418544960440258301285573988845975170887256949298584294498802184063486236316233829487355074274187630949030410147871394301842985604902552906950545191753211025748796622010202036139322850174326782364495658464238523017702921961295923040988388297313861071737763621146241320126503798315414613032768151913696962226628814491168134666245092192814143165150897828664568314852823350261288012679955455280385329145361307866402841838456523430410219790351602448637974929275454485206116089001053649407388202628297902781883958762934707601918778927953981503352381408234689614836098014208578401870291535212864781691214983330530793849760692984106091049822451952165419708847851611828967917255085196322066403313122374016824767425463563942829091281030742352283115726627924247532463429580279444630423885078782822001052553750451288420180018671314555478848233648453837183401469474263949497951329455042328876574680734883942879008405494588144685417595793565871686874363386281021538078224695301567461619745823824282791054053061555234037347313612232426361273435717352501126145334173930874908046314296615355574804812008160439590028787844814945601004565083045450815843846697940757094226006651430830526868475434883404022149854691613337706786036175788156572520415373636324388065249319586328690637320542545881806357240764050626276500611895512816288968283090661850161121460656122840062945207534193065035194276794855056797760472634326534801531396931492019219787541968418242963426497892813634360708353956281951379520519872456333298322258686850127601237559603337536989774730347346458192461533313044156252015242061683512973370682257985853331877646741382487904070855920232811516110448437944385990580053611714635248191011397480325693395517673780178874486303322783243616719833559987751565202866401409263126667147137256124826953095386638205274022404831014806453746798259152864170451000619298554085250608940485288215475555895426808763026806680516966378250954675108990254263785457283372326431132137505013930322080740414428272457780715296981987141620461001064410966745074692417578371280862405541922123857947554788651017037967234113873491785886174311903031555880424376796283812831129831371593392215988392119657867981071557345071216283803442300437995427376401332214444416867099909894708371961056067170739741074898474927409107635592701111206814369246579201958820990490843013274177891607501337253044865059000238466907485274041582237434120267720459435415909953118306927847180399743975407101142219919429324362717167186073049051653251234966430018303000744232617938810898077472159357472403261836937085576787318955544271378481747516234577166301123843657592548828384376365971527742445962125848959956756969007438359564590623747173952969093473621772848057045637452560866922358450828166660763552295183811904098501083215591364892516882594710671647050797276804604043898449076084354939192727472210316634724596818955483545764777738007304149586887195011422359681711753125312950766198935654160457583783398428411248593927957440764137004369708144652559181689494629833561237905154106336832131661242548463011606045719573206678708575473740646518195478896927156374793069944642767354310955459774127797673064366320972333749014671144802833543898676275131306371905510358700818909073460596451797775022643273679650403883885914463977099484479063736223703473040021651782819268557963403323784509482655354321736030383956099489073240792545814095986243886085305987417976527685066170301358173533652153337737008516273402095848218682646150250639495532224069205060320466618187084479839853330326208
36663231515290768814397069301796483361983355991526185006722916588923252119972308405889207863494660552414030308393659398422894724793911009284778118826262142017600747919883187965379561894246834313440235379502201019950147028952349563586070226382050612226157992661953457823230243501199100663474488712189466081954392021453947086219821132386550643170009535879070246803011541614894864075174897201981295316860683889938367404482440027017460075871221063054760554241068939751428207086753833606543123752546135403504999100186354866288149453218065525505424983043364755577849672369499591869755225018264290450891150657565687236147935065440018848832492364894389299195973927151848920044633358615266499304902965396065439287131628596866214012828001368471418362931765481762288409105869152185861415303284399981483504212469666275413363003541154194958552682605079873654359150706644876892741455800281163184328584001810492124401950326982726149693824329737036003820880308932371494613352492983981664538361549363669514710513676104846113448826594263780364918395395517713737438188748640457705870946884315937239972922799624696793201305856019759873476215076681465305632547345323793824746995461249972393769542018273620668578381166235722232049191496991304676184761854738501803261578464526893686469663480697781260754136706442530460152112131835377211170255999726818030472705216171762607193127192609904213134024328245081053144805041158510676788495500713441157915831117180214779722442957184403217274887989912021859020419657071740290934704353121731654770692894914147977000649840204152961973626063022276077523926246456604291801452077249627456589385756405740123446727165999318541221571932036264024870862151962314500377282865053541568245946273751320135580115690464002837093221902562958295462805259406709717483341826397405575291720698880754446488878158499728697520909959817621883692789886092389793614843064350596820410643711044973054094374936792254977406601427461224704318120997646755938447841042477593922756362929599599442840581927210965065027122679388707016459864000250720241764793300556921836991383230057342211917962675497086878860125641301740001052815903131298701489088308578973350443457653276527791083583757605583136905565658704828709771129925665084408643194304409030894077620074484287476498898011877700650714711999824043993709848492831056320348045708325862747790992898229738599518339809817720693360067558390253590653884463026683738119967450119233434462234352812841260768126659687044401445247623671006555830742880623995618448785691634022863249225866939617655113785659152574917871920134537343142848086206320532859295142455226810753918750196064848020900343509623496428097131933696117461889680001130893050666184211777336474930933475280093562286605308870527042122610326389351654646110235255392029716681291668605460022179806858448450642852681130283117323634229456570468308614843340375380986980803444919091209584852563958866320830764319559767215045394147942164309701749977715013007940207986653519999161214224766300767552400473875895459531858945614348276090402784110480333515279512754029180897201661267843214026542661763353673552785990470301803975328705869699722928425071968932477651528753700836458848129693388246129164088286942928687367589987083908394017416472010394076703515956303926037998270965277247635371018586059448565871022065950092183376435249640173032375211848072030663676900153914435799872714184036610943222902969167004624639766990977386338003375674320674867052532741524039968962023962056554029966852563148149341832048975695037406971818815370691925287203652929168130443837328760384884463886388697962259023948596658137886289447780292029929766906871791911962401203096838474495888887558527323462006559522953741714771236841891692909344723991409050490218892152006487887518743238573591676059493474031757308087528118687597991923784512436449677973122768409645562671526492974152241018065352006274264879551740885133283813499520842208569175094763624600284674902941189198005320215574616233079114102064961101282226836290458434785786811434850399506061039841878094390862369881280236078810751782027022075273426513127307523473515877167839651930985257194199268917581591479968701855112709801587482928707737270857019419850489523412130793074396877471167686570476590846722513451288167485573303433503319951799772905723027900196116895063292272286747857796811588308000050627109745847932675391522236873683918673156636295365582524919741036200102673032850572105053973169715743507728157907937298674509261388801474005547782944429257963443022197275987543769716491304084440450141826065397299527011822428592260878639386686484129133231736405306156730510045410741351644611858494983675516200896036859385747172523054860479669630833287833203424742314916781252597505503229909089624319720005514957735666113182943698518163135948022609352727243412707128685495221393115643218690790638656764085142593068478768529411370211542832247886280932268242757870955434013352010140123429201615299722757177680646650653423882815696491489219861997906824935553293979214084020161090839574146105062832430412889117064763043286311359138036171154879545158944679641976588261982498722964855597148440566545520248822823109943662930498951972024410738413760671818095447000457090872358718117750133304620220249707461843279944564644256605056062021151559196554518501604731187917056887330945850101552829074142808946382914385282820269398621324259317364296654164393011342726781431668159344087226676178820095658165841380601433141057866094968467722979515607600997813196986016182813883243703640485573662960765705230441839021366021041452502244252519015809624105108696233533323521245526319923913955559541916619912004930236588804793838085823167393042031285752742051438606631491069366447306048119222806358027511399023136288651821425529487968528486525320583510728173048420399986943267429475582527621515657665834364926849916044300171834753185297718597493410566524928353393188929213318744782632214872828801069163494837702612734666056807178830385533500009819626598864242594664924465110432220172623477934395192279990579126927698988197915623690721427473051000803152861045402263573643214370728366468328323848011270122532087799661400655852132081886983906966320550845839898907444089681572408659340796584926275101957710266709717663606185766526213251391135191728532512935155581151244160828805505862090855262878704159379156825425954527822382406510269264204920867082785581802332280999035342041455014260620592093233835605089609578530646254603402778666844124076287676012379459158624650788736535399329703911343082652723546259631191253890496546676931148860142782486752180885807103917344709768255818187511365739922932071936469095155493250053144020176452179583383235181286481970908057942310967658269417085626511245056798804663949624531389860500175347066183805079810971674198901293193481487851199083801888787736315646823546325634197046270573073669240868712417731250125463761959385478274049705689329436027685432093366360237412860192896244871163896975637107630523457463633959744061918338119790529979874489519552443374038621182902273116505604453828917425145967807809649528929364660756882655042496251012409190765589381574997903033635533370012290008784142416212256343476714901543770464767558577489519290849707830425395745480073423348179799145326182857339712532274564362602233814327269318241515159985135819013345945830260742827691336383077129345806826236049326939735718217562968584942465804093547034692886489090264584988097694379161032711479791921407888120730730666122785058075745105447640422243941279617590740177473415984306762643795412985728923763667609166831574118662212352702975373370419039973107573046138240257361447755962828145937223317112893387838538182846653875200748511101720051060825183443391018544921684536984923315169455482953917782907640485663292014398426871792901690350157555703706377017528095348443701874546837684154883785209541201277124017729438516498841834993461515706647007079434464008945656598597094577775352959815610753606450418019772514428094516504881048498626906019919823315141814201854860898644217224723893407761135400561116474312864262449714398007582102647655434194807756201292534290402715378628847359388741082811584384085991229283752910819251378837518891896500862177407948186317984620269918665810874895775405487727762739731121911418008739523963446416098996459618505311803833819926545673537747638928667895311032336554446639334296862930166281191515983959706726109969088031080379590282876906567746111429955832086344561214371100768135235104074636584215337485436978031452655471265678185467856956969054506034107343551953889479042410527714651519280849499252086827442774222368483664240333144627233093259843019686954541282718947591407819941430067981125402136135609046915993091709068332444282867838072874880222750887674707860318692634999885584385064287664679101972513782181799226619697961040665032749619825475101089456074753164923984091302235607875516439099077552029800307170346160492617316883160718191832823829493880900582949528021161840141351588963584210453164160465928574823371352285887777922196839684568334793323092915577512026327647463254036188794928910070627366055208464468012265287183431010093870385132655093436404803045493262062469654281514901404299404896168543910194304959566922131654523004398256186279882760764443688531432043428845317032218597026995061311284971899751597525417395789025183187113571781424544594530225130125400158854478284432825014719526307123037645784359966924679604430733807171023656264913782030247273630518429393184866272446861063034892070919741492918991812194075942274679969229080486689690115426863237647485963565816371239944561443463932090520438102565918699142805653310428052876102528403276274724577218888769145010506016609038998021988686492938685477645577594143362673946568391253966619548965484757673145873969305603769096244198331977725788630715859002753807259456343733717365403536675933821628916458070190217490467113805770493828919869205893184611592987108856007234183503430296734627154921583331813619585996659342136694159322601209473803662444735377117503085003041721267841763439134128053134136849369929986009735643465065759741975166745918076084224982307125215527646452929447838410583156657878419025148515013631996705045307894108527482517227930668535838041187102029649118663927496685089302044755082610058797523251463379524919405263345969287440943412839805395729820409043618413419301958569533278367844084154631607620572854783732392149397989522726250651061027253171448287505883936497191513871974429769674966866134688352564317696631385242357106821304917374570188889300370806038851680025005741579510852882882481854308275523344689017530214649517545778105059483349555781951765641082340692570219410049305539162404357950506934238850456430691308453310823790496905371431166300196235569849581414898053868225239062080825993007817686901254112499929808297927112299735550666183409532843459882751720025040961382891872247111987568888263371301824229346039098475840580230963247752392683094809475464524369538402564792184827905384435837246575743173888910887185971168095165779690557792736750281178382903955531548084576050999782584837374084180404087995244060653447971603757987805212879190435480473480928166082554977009070377404642197826197562894734760711362892566731880643707328875147623882333855602181752801577616486747025445835101901487187126367368878747913265401489549398856201118294986239178085665126352142140254503932803227105235245877537363776196901797753729844554589178924280142577421485764733156488570507237309863573208291992613313158327182614725908205338082254322351057916997435123542044843380560125496388226642240334148264031121252724142228093042723965794812628567342305604206001544167923301937001279383237755587403891130699557173439745921773577231904320379759457281850073579263756350081606198193445197479535859341662588767988728400509705571993066823750811877570521377942899486735649635694115172161279192693325605067852837130089421229538446609786209794346065816147221716095381376045370648641797843560306541049908693426925460550797247729415538097263412016457292247781507567423517057569570661330069828723104985003021358778923165064323645644988887101981982365812651013761555701056934512540714439647671576882398796492333844117133495891034270351178897970450518060171178008964757347165465269307820082893502981077828485159185636539973644753829881371444947369012390974952286965965467314329472857941478885969656404728391467534557971032788690213549369075276731299015744838194921843295790706927512536981373930504910337965548976154517751682007844289506545731531141339628082198744501036845969709854735194445099099710442756240649429773275943493362806536002463082998839569241528527509303442522381934641910603835705935138131164361031374810133649205516254053654281726525259961506194191296937090629511168388930726875426250000263915894232310249869468521466390993150312195141101274224933023290640204131401613364175059937676252079608830533916676411218475955365036404724977484925920678815877642648222934867277266129217170049436947242180545460634922176081852367882163459588434857738544226608935857033468941777465698191792227884722667015748818783856293173131059497275768197545607684679949000569622957507171428807482295581132998176351468307269961718982591524781015542268120385618163315627879083034245353297150764800461065252424360082892310694732163872273550012946001529385771832625869611868456706288193731645870832351268239503104483042000343212230630772022151526866601443332994370098449829588904951638112201463533579577713886822188536972902421309030018515915887963639385135744139703761809230866269989512942792017424858543156662164883453946525811775896387090731922670673994631387233610508985535738124406117907201193966982263254401175010675920097827863571522742649961544585547602762127348994713881647615298811685397001306318229120288835767746009883113195577410289096284273669198654954000578329955090115938713433277828744846581327277708586831150043877650319842224848136434819499654176284020122416502372479494281171664846878178224308598884753381512658522476894311228845731591667781378520389287539695803006543282019278986318483369811202551680165440329857740899149183082141579740032949954454260905448530904104503360716478134762735601006619980599784986678018281106429763839683036512050705359065288779092031815350117053626401927553777819128106638939459124449984969160331209412890240203502623884384532428517355982293517380730511950902996162195907689971131748009177321700074153481466922900250072005803280048830672840393270626609423631061050616359148106157824361850940088004297871964393492445126843022889201310473177424073559767882011731377164820255650657194463559216952678745169538508573004686198646953916494720253168110136223371578235916368327775803484750206849196203465029904638664351810191848654736046796495588719751247678317208213202709823503572022093301743292613379555027668532043724053575574947260317300093370208585432357774084151463196374806043070912808427817404758480597054348539036961243861993216542675856443348700897394205503733406328549351841063937617302872917636002252235342104571634769278459400084765633146640621190123684730970627703505274430348833546231844739210806448264189786872272721679255132932785829323428495931926441986477652285694948080758880893398571249561900594037250071896521991060464820122623356430378008318200749254222453052439808525367424362745743599148081658595884553190416762564851651126674368601149979947259465790741676936100316073661055172363117290008471294535722342597438083680522988134786037030513530096642234329093584347886519527166531765195548938029883771494440145138865678014905361341119729921490592409199898589000862022308210457031551501227711600415629734718341866553596576387710208970915894765524311770500292757200822339307238154292968203151169505959436622164400788740221822835861859363934221608838459116096337936323705784270366690128440824419686024722422515968489801794033929494199534467351488193370891655642146093776103905676646699897530060537112330781754836492626070699532105539209084448715480868893567763093438565432208135142061730469171118158816711287293099586172635361979819948424625527249199345165813080449352491442066806845992678336788701489166877164743400823943759580541843449917637003287410909277913601079488636055817700742579707239042337501963820052183473928491803999979287646891802730205815661786169321081223587946894032990466001967832789416095232925632715466030439276387169331282863337061187303987422018344643428289648198317110693793422995621215533530416854283143791650919287440067062563306855718101651346936763219716991521213744028029551498589544268263641968927763832974334593691106045588674806689613172584200876351080931616746123912857176119884344939247191635741760890576266766468153609459914291855557902985567161220803705000516761685973237229186959199185110666198862605286028185275680607714895426760852814376777159605033299837953728635544603711855044571328774822615364684743125909654450843636735856321541482901508508581219544327719905384411065101785311902260574346146456783035497391637459095878307991891691114641358120472413230335602832100644800802045472122879108002083132326498157109610599978455771534720308848804081340245607458261698149368768708459927851727230081922565749701429198555249950270614066277209185579590744037017212320848034682234169012753334202265411603813181593046273972607827452038666087121508747097842084408734221486639745807709716790386913051044945562455050399110554912313949428447345526868214284800433725583587845033721641637791510202060316766519923062419176576103682486352874159876815894323749220524123505257062552018605203562799302782013036846032711739206514652874769951156644146030073534941254714103881357487523721174326466861098290298682134709146021010432381554561758605465832283015454435114406926089446212124214862276770050316403495087570317422758085374451620774858483816053980345937034124485109632482963403170502902012413688860086001595157630931034847453858595278448267725593420483817275655314516392997456354063591627862322497472182020893598606958554586322000744209681347104631787157510146813171710736191677117573430923476788123801517074822119844176058718431322853683099785839020960084868865891693116225631402022423275161854614827521776935943988301678995094960776600622070877026444332215220293506889709270521084682990332739674772890027159948649309907067581215513636198973901524701239525809320526776943945897111778442902282080919980981924975071991789627432227279649994671886066428706712799348441246243576239690455299292312134567207845205685948445146281529042447987301067051900990198831862723124275813340191107115402312410842634455508913790173341787554335633439798172494172313020417753278411640287165626009058475625654342121769005085234028937040203161837955597001108199419599887970051110148180093034170185109196861233049983615385543513037009134922153147427410125108093198091470777493828976292987170779376205793690611108206711656345737818463718499112928503059093910337448870008891332111115268935502523378346375281571651588967321114586903738499716055091584494875611138356577725448158559972587440717612964428729253269743938229102145080660666585562226510048858148039753545959317782462056462317806294187782827865731238454538187954000715816335234457099453199853669530370722205136412201444401544109001744071202873329214365854481482328392481995381763884400418016830208523402569861371769548062533021987399588365867006091410509942938862904911146437218880201973646123555951763890977496054314637717746256355742498833296381840952042300266021735762220050078625846928743439258344318273517996044882568585320553116503539772213658056859668874172230850314036872493805369542427122046639510473135957757283534805186216850125273607549211473188003818159346751155146509847624967942853580284390075642137637772110430021008483063449897935622771995535536029382788156419162023063236118651593416258771321696940996341069799839860259856465402265061151998871087852335011973700524987426884938680538043771370463297365608491883899820512715066487036070180567810393602110334171397297918661576214669295821867271546830897997564611109285648483448540938793546050311760205838196744478023656905073964218632944039185170
91843757066343326515603359994834644954050575026678924920839796289512706486570551289937634581223338265148213732852896445350880043650962853702433980101873115495955110436517468349029813774428947890808211597178650327938582340717644368686164139337445476758599225783813615865763235720544541198442295307858837441899308782592871360241937243658348960268170828806074847637644835000673748141153206713253875157707790354550627686027020413890440073324376547965380985092669679557464001935523010489143666945008398693336397905953741208235215587046110498830406886744350048917095707746336421522975651238827091291108862916502027456712272387015402867328503022769423924260508920899661908388082920605911552537021562266494417969261234173038716029648679095215493984819000541370254539996929646863528438228912599155425908755095891285109904259447775903016222079237378976610741576303427995778679490932952786163031541892475425791524362082097182542123968023758961298131314843951197460841067839933408119028029957560899092442376172954836269000048809960944310717539993220648036745800833424811388919569921817151005660009514456202376588313835447901953826869240612753272421276722747942789099132588201692671568679268168981265733734745018280519184405374458970536867132570083853424943190310619103992288275228352964972911205780694003454802463205448838706800457617022770770152387007266187413138341884631498356757207655268915303616739040088019674093023604899701215494326345148626282330841888032450592485068592699989790142567239817772066591824790729584512253217421818340538305275421885907722012800530317212218293626454028009153322972826797336505295714546676754128057899280905065534729254888209609553484063621985322133511797750590014165963418736375043475716070044139470965721874116935960193951333303490271358043752054578747859627647645750859554736887937393984030925629539083827093681639160001159272820202788759912933483601843020182478875553719207279794198133242100248395075505174183851639746348099076992068489692829066279448366639515211617136692139908091473964240123164310453475245103343125843725276418773469191673167556459825077541104980888172250456557257315817627199446873510453937664178637694014296329927128335864769367979859645762068936341261466982340061876274253690289812234652094892055039200482933642878512507987136523801310890241491258940625827935907171816982186919845754655551277824698830837020473333983095004034139650694718235675429076573452007051233217159528438422135422108775340719203468887737257754336650193320978590598562845146201161507925319613287829256812451089416931083919670261285644671853954008254239883801474009899869603151354923583416340046441942842406848352886516935246270485162002388424136842286830687075100316696453904086016188325619779138095452057437807265372799953575829001012842871449249958211910162428475178506898671069713591929191956410758521193385434282462867205158723645828164938257886218632543037769190094855716618852928843243526926829339235971691350871855379994206122536050434223402960412005375764464660779939486404473381634423461151000369426835280591853657736179337371763329286949932302434090940437002266520225358753170515396091786562257464291058094069062243109487995102360043780615394251888423332850825863438527510374299278754041781112149885042463231605824616661428646208049703894101724200975217604203063555151324468651148121367044938949634253838228930543603093822637159665759489707865707133011341569669216615644863752608606681274856780271580055619426968912109046558777939655225728426171227977421674979828204310256576042954670642935900265083286397414988010509450214444378171034218921615741853891543536984370179939249042263771185328884175910635336473553736602893123187495321521929441097115974991489136243801725307377742237834511871924709587344343076464203104881463776465575233009584492541951265331080544403420547974605963868806874531917879962821642504832150036225924685942854665951747603307163040854404503999647629545869019306932188091601585640973519541994444138899178412465278828406570713895713496292585435210971708750536114272870945956987331518733682529695969352550661274675357802021584417251343130316692048695055511494388181208527337850730917340468081121264113463490791456691722371877178337275638701398941213141556185338940348165306926149066791072819637023747489789680914830660697292496620667475288942769253449306302531721918873630634743934553500760946641243984222628783190637949006574031881413527662973327922563267782647747184350553766209730820223728680050544687337650866015761100084995632448301734802179413793177978529383589390811071884620658705173754794322294373743898027926194051725645230982521366867275854009690792961653471268998776614636102371739650809863632304933729079307869421874837097020265191674733502631861637733909502890575504016742445566450937626318306466240297348731745395185719724363309572487272004145172215824009104523616496462619632061220697735288049385876520046355503310911098697807824451388068630883254154773518814206549030240025409703675302177082325848362427066799660532156532079509897189262237735151323213794544554603682304623358840126707347957473740788107573224008365038669008553797258955324162690721907933347619706317978845700376383519841607523671915173768986369258770280646296927064825262566317090653411106428431933929926476180734396657869432239191149707255366301590837231596543192215199472697039143906420810867535623625373280923419783562372977006807693126234938143668767747294906793888844257113385957466276636650981182997627650176648905888725813157206277187527690240074232176878528446515746267725360304668807387235375267439690157305686909304976339134797015176445263884459779149912183968219839721602984055315328231223781170982767219655706570243837122743665623728054241767301191079759673797747764504939198643732786126308303817072414595967361655602492304804650781188312586290151652054333655486733224654705740511251105501999968634169777867696716731043881320079283671330078509269156066700521530854019261739190712017960331688060980829026419021265731510470781150680397685193281145250117614533634018268605251329454644991015089217974105567241877023802273613378561334069918387035821187416047705795281903138210181969078145842309528455788558578019212398406590804820263687379468584772554247987622377677693138199657079509004411417141241981869183185746467834759366210097768248771343679425943642092431627514048459462099838217047833463190180977478443872782664079912843484980777431333220391141589271202575359802838110763906080226324689995949395624636044212322592348061018642083075646655689718398840249846859555495921419618380659937893500632848295163523009392117479341399329765635964537290822989307316987905313852637288751232342867419359983407074346100003937585179281963383137463161910660880698174668873946178910971619291366278488659393411966531801263769641300394743777402833268462529988859491788299190988604930643279336704497521032244541000065539410771007529258262045674406953788098169265989839416366588193260590681014203011003869138970728133420717631390409541989023701990133066406882882349706524889532899783703825796280402024727155855196010790507074726676614019380297249877820410357652264724087587007683178650053409948837588043102788123162504954126962758690771043639071902184425646086978619858665631439491376156290345734445552078321781416215380571020868086823841864043780403138659491372308079641892182788673745740436644226677104149721425009034129631860226784425966054891441227654085675244474929882119698122029515947117993835951196613440289954344096268354325319961353889500971012663734998956292460603854867534430041803392139280967720887278034533275050816944555554725211578058507485083672057717726380066507788273748323855101485666268355427117168071714003679991364174276914315974726815542183876529242619277251551857819602624040523452237292984681493393666462352249166408480531805911147383099790212060318918695418144030089182085616545198076691466416591189586544362957396771804192604797170006196233959675260895617655588159712835532254037096415333245921094455315210356836781834013463279560501860037089363030139153293242190102194824803775186470793401061439584932397210427356660190211599320149905497908276051927710423671157029337395482185598180423348485935228020274543381180220430012816359459650350893857175300224682517262303135474584128056096937631994746291705650739582148684719030733573992053700651114224159608538434689709347790588469394131351206551166984494331010407830589084077642919516137167808355053044380729251505929936080011469945325984403328783080567595338459099366251606150238545853145178310588301948322087161344123627162257221589264526429057271231260020531839442059245220441452475848995056828851802998306121307351804056606464608725258006677817563396979353674924947584080474708161925083436955585187606123016156941374615364574816284777804771006292660852288116301926410629501898443077888530336804387657216835265816052917775098456154433481975259905780340837157274967972682677505709357946241808643801605403222536801703553152932668372130511122277568240129975051500093984086879177156943795163076056981072355604377865385735895309622050064744408592397665904671265840483058595010817535837271378071957659497715339613235555307207702250344162056680758631143252471108625886131295419103448728764558681628824742052160825588632390782363554109525229759978894270896942998145803704885149924579111735712406745804276136085334184917433733524607122051169198110374470314785762562685857313803438348624391147630614593371859262516676823486935008063640852523747245606226506697228815850290199206006512415381737261732384345549689027718355056963735451208253680508241179439847593799179305773332907880869210606204099430089455560149215004696178662126716066382034123844809292489921176044188355781291819513618905588848275297314421350360750873349717097173605874806935226467561522302504517635207589438519868504436652397533223366696959425691876313558139532648758883236168071161565634927296391972177172684506808443436220448328633948449488304219894005177342845722086116381652021822225709573098453699059105635727328768171554832163479656220607580075126268279794088959555353013804272489566651030730147530027152797488680053898949075498458581276492289254093371240144774833299527640693253258224459465954691369783900277036712861765341503344011921679375702420904299063880501747747403563249419454801477696932750446251389845059821315352534111365476541710150450047965295002164079927068629121736245124735417234290259649240315261361596785051150838542401435116130991980267894909902207938506890738905496337215269413928356919556400587515620171321118393220025068962484631446270448123851424524699822800946475584148805337229678000546857859021022016463820473453048165474209426732743409268438101189033107424627433051599910331209213427810430486910410231204748407004908032707650251783387474588239064928924659704803475673336635963269503745906795150523981379239408249892867879830429537126612042196033910477934531261205779957325595006577578229170942298396973892888077067759686256527712145484498916400421877805489677334854217876561533063161085105686972298073646640548612882872579433549899842600811889530016999127763832107964239661995477845261909817805337674469719833471208571533190028844596807979477826228009438735995604867771475239432105837755761529434423312070603206945854575258156856769972267885227887115518520659481454471465053245408330330265843121104254480813281779985608121667899084707460431050531958944870689569520211726913344497576660293214555428501782878147877489353496712327878391108187408975397170383708160933664528847412313138721249834076728562527195391996412517450590182497220879165613782309156309218063456313216594223510533017562547677967969869676603697010215808274359026613835490286319114878740529805975050104712796835674130584923113569292228453057542726440334113107159739826435174533177045630734673081272615240610448541461906507553005853266597641009502091443099243816719401943529617531490131305298043524209558686567471572614174747037336859575157876519130205387623597747208096748457410154557198956845475355884278514092739182578698014523427005652758904221669497256570675476940238447099276878186838607392418251562991081050467030405043485499689553121001007296861940917246447923881833403872587946566134527118849985719518509057308570808618588788939037833689719041069213445338280770157576799969477788158228185873880953993200946936340890786501425250799659256448122483699653840549852455553592937653325024099379395753811988205113855769629699360292858627531893704141956242086658683771147445123653736675253841865410818157054084184893319955457067670001554855616002216568500285501595615020417073577483078567343382980243962558290616681198561321324964004302117382425621210709152267542072570299098848391233931784568067233560725864604569342402666209445603115790424809241710023995617446413526341679001154217667086109692360083050784219391749087321557151825766650987792916591724530576545256663106254715316370054365034631348387156806333364892112411645759809038556292084207002945155731207057022982932022349616860842396901256297535041015311381172620443675084883215171000778825324831961733009108058237616689299933976044130193784371145696698976723966444158139607223434416820642959758926854260610136953940951149690080862110336032292669069394628230487552875296321692150321417289638188029685983893031212763930889335964410982468105193562393619572819611423357300925049945102798800884318427969058272947123215810533826893796683531438827809605890502710103605243964685034426228482664501653025500559817726011031350555037389578072942597634628675552951238269411866443452249223300314552082860764100102545202476750354444401303354992442181677650715177988446977778526053038137230458892045705477215160897079508284287336253134497147535301713615369584833000264923988526516310837531292665664602801582799852138531800602965382082855730161258237774036631779186840467143511184812181827785045647860330989972106345284085259942480133117150695236367615165893196077033967802795436873099409695317108690406815117996147237168980248234919508589938532564602813971358042213872473385593369477910661024867861909055890054144182675868481304365176021698563794231409717636438447985222859122875007028962543370030104695877586497155041352909918245256385605993671116522313856367512407434341607625458358355399485017030957768281341126221852710172283874889304765435289019533470758467610965840158453822572270428323978201651004864080857552601531638201256611045581826170725830786734221050734134671539740898401425584425069989134517578609046381572490732604433217126535060229499238936760482547789734748559172861295530252048157761680313831702734345542837742726945223884182126071869224815279597933657957534359939794314977278510331271025376821283249405465881286901685904300057887821786771624537752677830225484463443030980253293789074028498648839048522146370002229063068797096260552913272176316469426523180958452055715346555943991998736706523303865143331181079640520364556138898666583094862237336950823021446698081437763312792901392140102435772207896669338443439190758081954017063788825242418412514754549028441119488021684965155800017068250502757783282311957214579596113623839121154926808761226105137750866948423249811082589022951118297964474768106531449603003859459768831659368524573415047152713664396084481682027357855876909607563134469212837064007142467027137021966088490165439299344932583696652415403873388101100486772602112698240349109247446607858829503435732259806589687317855211456076022411247741857923531215495894208376815583336439480774967040965633891391416990443366494657478508540902169958699539338599963080193751999072934625676940100799596723416405670825950426792086392232090633560501868586574434442961383791525604611712565826848839554385705521327285906159728266292914993345125411657306448118039706633053527558280658253419732979731273115457411711451868756427215859274704563250540222651712545249537662370744422827135892869394133306230525794661518937411504318630519087301206106636193628783941243103218664953145349831750724987258523988021535490295588876483511086302810455384413992210209926663789750635966965985461626615288412894821624528834142863247475888262492000934866809754627813443361119247790892281488294801971985020552900428174061398731497584783245271877689829528131942973814635700533342446483760932414024446388072341108219204576086077314217845748162513340629867719541511874875583846807653336468918082130552112878974259845857843250747770351438978117817215175718855071046506336593445702067233732601460151747093355363242109810492921920211728072619629186436326045786662338712508783754026748304730321672314452198729472737325812306360198076159717206221476098815367660563779032412545489803158599872400556237594462773276266478463690475845517250230751606223031585995543782691944086756778015994961721688305090783739940880675764708477356899286520508323969219009588093196138697341746068862927737293427399068183105225544703986996959182727066096336341185402469958190447086903126367501949791872051175023725406943933318951672709555770818971842853248781004485431408063683641542594604096248205474037059043442594122767675890155568618489359365642759720524510226038403756578829469052128570952924348695536335563087202793420956821254522120115516365224102319453523181927197034630741850646460932343935349704309893200984443488929216645997592014609112630224639324182378955912976661070896030725801619675051245283152693579180928508575939109400626908325795400450111117120081315755406655501983985297142419439899473040140687262341300032603897751595752676092177581368275678434476434378207298346125040605103397760236639545667027687906536211161097604316868420714642801625342957702102187596954042154821155831145255245028016178777362355097634580913387467127233032288040476062954235070706997049916379718733347920769822610719950704257965019951793412048302179579653763363983577069931487160711111088870916140965680772584954262417356478120203293647356691241733345771066178961134355142695327987353579750955605818156838260853156390900196699651493841392401601313328089888514102350373933322530134984452060362233921965421790867558474481860637069771591828325562069670821776539789109382909655790305791027112713653827604962997888332243532023924635633342854126308687700725235984782597730194328936237001779030010181154146215661693348227208241623702353928411268437959014837912936469987545404293171882001033329192081693755582039264938615448283629540809726579134099609817020940704799014246861671203753651562362623190735557033538145362298002653945732521539012598396421908270931686806124408924386997226758130905342750966074701333538075863229246944826871734250794190106227087566091570997752875727352034823357463765773651522740078008120940676410712518426951350049697126551291753092231558148112898100773696614898188434417076306747965080612772927787660162948761044134923536080527185726516335662997167856208758929718401503678699713599109884790018867935302238874352167630857357149637766748074282858591807678336666631532491051800049586554143877654496987220390731688132703269670679276895575552084128985625781794085374010567849722804443067891037760209555448579146883262067890552710272188363263014059510911873411527097849991681428283665872389014105437962257644658673219457716557781166566843432772148809983762163980513356821978122842766589411040406929287926556138539046925587727509714818903094385907395042561919917987964002158305394779497311904270020559063197229189038320717881538479618232125755734073870868126368053417223530798036383891604953990720223441518815140261510789187727148002339508306938137654825659862827784194334831311881304395326370787129489566453660718421000915225744630949579863726395949273879606851229625493902012997712985974960379305580151180247473312412876822564388839280871191437715147564028472744178418061791524978108429809871717253540175834626596203988520797605161849249174552640502093501528246970997491223099138148329805160235048878024786532250219672533721379997110245784602297113597431686151544279643794831357488297656652446185225249405993241569146710997343364987711526224875003447301585098674147765054079760749273595970623261446312128740305114640528859248963348954
27690272403132917430307953642488466284419435780622819731137872288781974702095222479454027504782313670985029634268669006354499366086637835235339978064905683721196837745658178389363877207126022868982402925159691508545395366770222295761274315420694507418117608823672910931705086799810790300597174484346896707040386669842697132322958870955075799523412701734437510835465069000811043262605736549738462906988437494624316322372524820137441350023540272668758010464583654967991288100869593291453718025307725154035519428400208394007787184782760149861095240481256035302850697835214493952954199011042066562566839974384227301198355164777926881806824564285187040786407411416034857571795475151233987280002564269429248992729792114833812620416350842559603547966004916665159865168463890409101919167744027393875044011035524365754475135320321272357742379863114839262661767221345966723922303349377740525332611729121899771264261977978299790266242587175939183035046535665349779976429278525864467905650176803016007644869853201544573577051016815992474197844569641297633079090989482862177098503083974288693462186779926346471192239037918179804066287354842375439918380138567984491890117542099937306070041238034558402502120109474244469297506289733742033367987739695762124506722977973317895934359289526510922276487617744004641313376983942733591274187155002549731512223378910737943835947527528070674268802110335294676300280334980019284778828427712275283444107905664500553891469994664649148338552999674324590911341744301005321094164869863935238716572518972708942630353326341790128043628788710537744695751785149471212368151772761910251720818932198444651206888154546690542314761651027424731124413593911080275265111065883585935552479984822852713985316367366140832519384238374879885178990661459604548017244975850302267675315813952823507955556151671182755878325871513518775681030123281662246663116265801986671370678732733031195034813672670826493853162919867952628181760829422890222192961801323809487709376341568963141157373090063430835773215939092350952616758761532727706552911606258447711367395158165002692506514982228905957595396942652391147100586700738953012434671042174797921970869014693048644348323300946354159855436850797345277125876171916147937006384698824286145037036128910289540467695004729137605951682447189898777094338806356813189301611539452829856416824993315066607538774687154893111435192930340811118487918896888555157291536726252068530239288201899745974242939039753849902921483766939357992751923853176051862263050744383230481276336276205224968176340519437346927066198142617723263924029645085661206937759731170923475801463702703538624069436885908812074671430190764880272421862861957525122500585274690513305702952505234204822769738150690336660517324138989705375704734972157192221533413472452373707323079931972546980535559566811253772614351690623164548923332421215051816322534955225210037847209779436040354295975642581362668445015796665411499360175345518961560696450114980992751952024138409420184046536766750077841250169187626750658644052347806700483261536431750190825101892214736687625607526261850979767992830353639633342979144340957240095140147169235929657135056896639399145262651280193723961767958769254730742042579743975243336810578369988285388937489008054860186336437112304285088803497486244479771536287055399773431112304611592962498891369006587485643041948725936345741552400603004145083307414365741538210848497870348687538739855000232907109097442513126806282641403568744238486121370653509937300285093365899381274426581837460165122325454917955812444955982207962578492965985156063458179297161966505398825879534353808269644526353916254087801894761167080698211327251633042674933273877693017563846806683418175373855447768367296527306821205073448632912210527060418845834720444707437903490208339253774431932962446104166765242380572720353115788871631390066566099334460819224403288200111203822081482707911585680263798493288374941311679698100372654819697948673181182070424694391586407882545859106237935741438063130819113257207105262717540278496838188107481629294072965052047340668700448329880447062931441061825397277756049203730011829849704410306027672837902067636408844318837790903206659479525582214764906300429517872268977095254397985566301378068103862811368071363221183148825888987305585564396388632536680281580936000117134230977639011133097137232990585056607015384592504262013663584196788236359003349826539489050849594941047138098495026669556647512949111286870625526267563491072250389405371860579279374110714686699624290026307042947584752424714279342650971666585228214354167105884160918434457888468007904741490031410871137780160454062466148725617790211420367916036513935574834589919818821075125474697002898811417904855249184913859049782620207414463521352354955221244755687903348221478244371995709621914036176145223867685068274760776483305519077589228375799762877371171198377583019623423455143990845908010483535018014240716757229151198705642029837233534082991800779642253450231909613166288233084122459483028891999796780676599910743315331839996045791459391390951101692089332426450846075708176113453925392758836296521404718055061747585630709108371438266572526628460645953150345039265360813340882544734712917768666377000247526042358394528923992921452558634031539728781594685648786754929471884300685969278919387692987112366330991459542088448409878742910562288840638743677138649797984475452007361286771965866035742006264588820485224753133266576956409605897530429276121921261438620207406376890508446063285567034054758766507405582444483825689902598010060535595194203941836287524798247834141225254719099176736908016131344672558083592742052557644987446068932892598920937216883966457727507329950509137121286231772209366970231778713895229121317933818748925543770459840766971543186220330351355747075512081093979655885767033416619809466226921432812797757688095504688497283644551083156051496498071359568352421133360311628691005791810031054687028739507423148585907098854701689187261011986155121851535514957260178550501590816050314292845170340573614581860298881029926100870075847308551903747446835911737809217583753768957149147915702342718355066960950539522125819265685638774696636330233824129837501265256470548889790762533592564937349799505121634542901635272399347848781888254709959728430275188510742979097554992764777271189532811202112251825810151181841577575946506137976230559366841240572873156278320230117182662037433040676215497775365067657479065320711447364282649596039693835386088933713521263468824686418133169280131787683255097993105933304307591331844685108644629844021484137833176055974357718599090294661265082235647444765451297553425904732890247113387470826065016205447372150088351510474453180852960971141395012816816528175217665422866574482928701712619461326798702143649322279192172612170221456582686929171696946857750741622016943964641395660310503544350443022585545765587789082723659056210792982484748807914657937810948420487220221347578353650066766914804735829551442840743301036498667879198036309231845080546333845495908443095837995388838817796297788633626335063791235183329748588810829473666735459906179290434963629200133099864328253689061526542791981037341301458920764521117881213634176586910648770732278772033041798446636586476466775368673891836488921312631377245527454650532729466737510862062976037978120098435073520890336101323155802508695644898848495664973636622877497944550983241753134346747760878382924366626920000457906635365221822615739631714952757518828542344909183884290894630507601394339152521246180638796729159211292133729654504957346788659959477826892404326564366339124856475531515284178760577318956037237271533647049720546738487441290013926634578016121391470803347982844497104396570124860799547216591885186081392745483167926691530689912233685120643608285820013648590113401769642976938296250511226118949970433000364800660778945242998468157370672457004876609072574464643610201236351782481763648108382588855267163433823290720349326462399281148696699363162494975508471027762999775340778888142677116197557324927097796996117763434471051889999413470639922557074108599960733119497073455879162894725537666642215501181663857670355478080120260973560696739911338168592572111874560536962377021832968897664905047581373341829426647928558408876380895860487531680235415922452377968104718860187848594391610644367328025046299999364884100197775441850906084082853928996269957858760262674221549354316148441358181400135334143203823419752431872871379602319015939404056000367102572702506469158241172597997804276949236100039544940749016766533092268543093955949306287235453459801977372468537928507205848388795539449492241320361196353264737607651630190057655780341525747751487146857082129962397312912364637488754700732866198622212266708736905127049251029219869144665141746645875596949865720896429932471671948207120344475488394646597201533746602683709576884545980702098956278962111838426320334017796104583180502529664989465541299050949065704097187439600970076645793821550123796093366453616202792167310991510648872953524746357806719992615718239910565672470071419880279213851678061117801484444568525530779242469224623097405976391561827961835324949979567508481915932649207272159726158575613687101405222808326468446004783641637915415642519157273687567482687982922811671810457957157257782762499230743223325424507653235508973283581906524444103851074118411254925458712026169943577144183952227155344161444953265306966470325210351032063643307560274607539490876808167402969773445758144256551052067487173138153010571191411069565237361886990220872092812059842595617196651057663704278474712124172523716784052877732057578888529824953231455189485728967804867398740729621544428975566794082796205046263661410580180875110228325946863448786519063652020483952835766325476722015523399381873008379326909002940654888916500406303389293943246012398136632932590788249235793078209080544676491457024206275495572416810658931906174780154588599022100377671704421782059187775017151942578480583483218545287689423720072398809658887671443735969023684692423268907223040632339458573240220276500890444305914351102607903141803281635558645229733434647896807489311184825980685514561470864569752174187539158753670640261897987880597352429313852117663796531469502427111948451614497288875001240231107710452053914137260419503590064940340648236342789069116001276523478735767887542681545260102837417004083338578330258255462333088996856313451797231306163521355720506219681045335393603567741073889714477921157084885168315501497122386539299030080782489502261125574233235594126737467676429459035643500020072942204968664374586397024055120487755671472298280437771437652789794389766387194919535737910298012552893716951323222183757731020408057527139050924664003712961662111093105821674417007793157657798105950241272440886076313826005245604503281193477183674924749949482639182439215339541732668839399799697732518268609040746913063472458492949100307796890490365643625447728967657575170977858520703613844593993342047238809831657557138940216038154371059396590275549082719022054035071284352007269341041250184927623702434388983592121556504202824770255103226733770393222071080132091801319176840899441136358349455090883190029135700154788543865353385071585265384268261183043632146605652423448660633565689980977043703928204050565185181870835962843284249685160314271599480850632689248254704763279913763082844319944052843801177443566382922513183459728089393922476525746917886009109826948411128706133649764097245361920890611819498880602625760645083919158417367620047535029141452210582523385660810708500769143445904385256249317895102792964511712929631675669791258607334374380803036987921401594332241610059668690303172465331779138632141819422419536106252752290348275011347514670309748475501824753991358316794005126111913924633194328574159288243203208606047746301555240767955234668451740929794245831230005768812724282738307487712777441395801734134084106745887607077176256119183742970023370202453049051889324306553548924221319250389039230717847452329083270217353627459783693408435650938899504194241268956317825727532141571363454408656144791378736996464610113041109638470236943171635568303565083326376498396602681395185805021813719710290066977641393790122721790335457900497143377496831839915292575825724185717469015544489964142809513612318759887687768851483001849896415552565805270231228386277008985324098358425014732421568992995655595698018346171336484489671119414010788442650056160289890619868019943040821563663028572971917298162972154052268977724681817648507666119349113785450180500301321452753838116047966729763980199793124164837649870555999470173529845777301291748501402251869698720745335278143724004971810801644412328843068974977414601933882558691137372196562073273888659093255106312866227352935488745233359465925824338146935091701413383080459940604396857311442762377010281569937479623178333042867202210730123087702112856387661775781174550835911949505379339337415453360596129678938933282282207024180226936225434543569193185372733477946610042496583117119011699128370059423498290097556046045176367366058454262165526032613534814189429296590289533399406489744844948729493067729986139714675995556214925182409340662242499015979638629935676699297373960391367009193459372917378582423875588023223985844693408116736991656467126978497809179034688243808235637290864956146788784671138286634613352977779876675105328820080109260479771281394122181812182204215077397535887824682167693536935034356815866836580478003175138820339568475119904215057482118924809624858712359401371125722142830314411350514987299748996142243603273537699959168050023974229256871057559490627421086509215019889258123601095463671903234790979501131084616995938448220702748340585957907899368938986755489969637217977269263510540198191735658487921284050592326295208904517360773683250287599517890162600901241153574428289016330089702957307405147121998800675001598107311931830001445837743012221152967558322101812470448150747154639201273573937050554748711856641645206826975147608136053637143658583409368303842356351872493717950413820326046709555861601779182995995519024698339683178754071513579807003358775148552587654567348507933075718219552676329639676035825153652526075232659531212733132696649087724507945809664200927254770627094737662652620586967986125289611885637740046535897931501803002155630566221370619992716001926139885415705614896884556902652682666580176099726363661844904976542265251891557670601030455820066547047162859885293319915072512539426968461020289985925030032514611087094042600766487227445866972310169265252054709815178171568266272167082022252135619272776944194548896636903717969877430491954990844192316166315202663543475910751558106006701504279055234675304844248148049614221120389244435932892655400576073555157640296717827146103257570835172483030321791716811924744065684439543577098977873528032221902033450760254647083241044679811192876865952547899661937983245911500536072409861032070841309255189808176932554831920634787195610661054504316527839387545702882885722080573778198620884595565068069946208910495952696853227601885830000930682222066070709343945461813288015885900668613247034479932304193736655841710855787765692107263432699034185591771963472697073364113734299430053414291438791058194864560222000970163625394556812885862649632096370736842204971146676039002410724128416707531931951359487159796234939294917320109694760530506712603853960804389127531469028029632783853318739949619798237777099066802965137306438678832518828377383579961189265571580452065233858839634773130775394048780302056631059970119497854243441488677785352743833226254827481964843423467578570423367261483236657835535742635446218487372519347964415138261995668973931263297249860554969139372244043600050713886760659382904511809312244159769003199117111391457330482604304037003368755810501205611904972205637847284420304950682048504060420389526524470887545371071363671260331162527506289973518594305392939834173283377175120721736737038528199412969204971333716242951549292761609894990026546334396571956207222450283034287984819993113196860330952528518448833070518438653935950941923899918831601154919215399007948486513809535765921291479187850204924342907758481886691112712276826586645345572800340603233307156353497113274230205433051864604419787600435746821230753965670313080485690659502355885423503923788986465417388566871512062255846150384606033797744569057151525342281667244514267907265638836532861354443616081394234169756133426638633905550850197509364917478923921280505085302983741269865860774844369251884449952119627514138300413388742721213374669820668219174341158927358708841235358993347054626361574846254754627282802414289783123957162960237960675365965468952430758530018120796182779824923456518124608994349007922515430729713653380067712925177915111238461996313848278437353152134450877127741571477005428934813405644098107656359847804004803428153602373553595493557072507357455482633513442527184607188518932070938286286965456827884572863046785923953667267549564413724282241668246175888835233485596770730128468223085984599956719774464642628078922219233841030438626138599931966577961132645243506357729746929377851935273821143747464759120110940821795879001957181619982432234163318419674541369188087836951222101403675037114623075744372590556454207045389949637140467045461728786297733232562653193893915317733343140738325391470573596757417729848734269818718874659009746311931416542995629597275734065949948756135110877773659914334562470490462466490327093805455866708787805672126566460906586572202999231646721185473749650455304236976448329537329436232377831151867074545808334584576263218767409989682207070963037247886816541725788152863548213981779188189179787410529755377630370653612373468213246338453712117992518071527419695132013559400852893624193101889504504401760819094854921019664187918451781337400607310047383589796464241573710938703534568306114287212712367324273039405320830060620690075137188566742387543412814922876448098425424929474345028599910610599941964709086856384405582355139678359857190993043022181600473192169954650250968844542518018930833391162435593306883388102511779021601856666372328396707422416852935617681260913435459565384294817353028009866753573617638370359228115845814594796799429476813764945862842825738225012338620262656415374314749829705161708512585969582937434593295276919528435214604600667095821119327982515701732194308435269145680174821183760299163003834334861494320955234623392227009736414090361273703402379073518768717887913088774002560716616962918940738555323444085574121079156756062459258438414907192746123952456109964507445404299313928314345321863179536477470260502686864810358959055066275784403023710259269945993165465285363079113834724687308231391146586745771938788216732273959214712502838194978037763151419323581379550400431762118885934715091098375332667347201000370804972169797137884773573371261676725208290416938116151033855429191872226270174568054913440496404501694536349731145133099195158380928681594031438064284222928116867130327469738340319361690889664440450077729890514867361525127402859845033054836122022958781450126688834799242645840807101084370773391536014991008047859906079428670614238064969857966415384669672420914875445573300442114233288488744686901030855310406762086410815306676285681207391333876674491964092567195960308812973021494901811100800748994095289142309686041081222509844977763342356440189558486057224247401521138762186569653820200773660613496494631926232366217094348973249246523187257243270049552722620073311656111704206399293212828090725184086478022345439017805584331567634754810969127875730310358510774106957393623029986925154084771454051591351204381247065418789623906895533672175498588843942251159320258450261236064873281381240588587610384794615879825015746543816990634079006702086334684693965029490421691158060391478184010576044178654403531445383149458611048747628584861369806400695449045544138565423050822944781758249885044267725121960991322158191203644476137826336388232677125947515147594629191698495289964955421272432741364471608939639868037542480954384821579938021738555639642501178509382431292764696815818220611075115241
63581798112316498633001481839059466906590454650718300243234950282610199308742001409699927517874398422806839557648725158234824608654638583816736373509159931462611848249458031194436145587584017387251831804287227429743644116937522065192523373801766036230251104394484036445270280019622091969517112694620066370715478625893036506097108425060086878596370821191851663768487175786253821606772230458560803900170175247061171427675294145850066403980426373899363219088582791613420073066198702689403900454310092402747071330117070325203282561947230761013685960955476536106878401444771278557818492391212736897545508787590506743576902228170070033222755761525214756814809992355835630498410492253450112401737270906474474540347378202919197995680553536807846533703777612745119280603720687088027719561119718509142032312579210397713624244249090169440302955239884557120979277418432905450199528394139713051980362670570753876979095972159544939714000534251843198046210073645901043658761403569119863650919636861597208746979775248230169843286779105118632616263670105606577917545295999775517828999008106577077059869488440585623296996121975676991024492773913645663243455465293871183837595664044221263001699020336234053499907089413201411165415606446961551060618344358010464194547395096366408862920774062156696907992993010058473126823590301936302056089750429926647782050729152386148362068950586593545205663075677027187171089066408692471927123477274660412358487783614235139879707738812793524588589771275584836432813055391998192119546764957433557125261925610006693675964328619325729140835186916933355238773856730845670260244684705913125222676939742208550820133159096592942030961167553932810589297619382352751240742986528077159528148397243650504587941994555612025818627561710436881596528128180662071890663444146055898714413953246538913106593655816325616158281715516891301250200573182187333487590879066938565866589200112364236611893021566199763199762649227474049334981413772292503312881427051077988232764682275527054154751186689807701915182934312167965214749248178535035146817774171619024881952190684105727402702723392542308902559709479434463175729739348600995096705273901357617986971330833967496542570940977402915906587071046050163608002513393813226083468959749815689313727920602830967551690183845138476675569600695581037544114786992683957143896465310044021325082572146090028540189470391738368541357830992250674368727985482203105682705797096314999894536310460858150347882616315359395815781987378960662235494532646822278095412105680358257235338992637469011342174749717207348280879783333916049778366116708769926477239030950094017997914537614887729078024308999099296125198163673734965219461319895614005914158841225768136158489350545321925648406603519726586991237746572117037583569862842896605311077290487763420577294373174462694110860619469056797171519238033773355678163373230503419945594041666647443151517626723534179674806536385569614845850925245583269608852591798207819469010591381721695934799558890468296313686737564933155964683306305315738661617611278029611199175353993730366403197727031415364348793522907320638052119060260765544287307283889569548381094463839065455368014661289636114169743321853390455835207364910651880991519716343479578173483113108967228517412659928295849716807496607755289295618027361828205702726292959804346869914045275017626324902868211177181318202147437343062144271020879361982737001116390501786968351801817489418543489443053161799656387207252114411791924384340614303725458084458898448061379516076439232840610444376699178544969055882910773783573835100438896684455465421170874688484237157422064159465660672320812461472845587891312503265171821474367062797632992856816165851236922191742664865414236077343423347573239881172304312924318907092728974805337422113943536008015134640156663089148362453494707155147515878883349528986326617400420960007641760335108013360758052223564904491312188331873086468697194026807351145107320283078030862276084398941214742768119204407700520346856905572485542937709526703025686717359645531889941224374572238301721479763943686938804107518804330050062309046650480377663815038035694993502713776842460010817188590758049253571049313242814692753458615082451775528552675152446863117321322087687575821293809690380458056488457985142596111085096995783865233177006416476870183775037793836297050429341873417790032185590357751720576325235215522591342046068058390496188804855589185008496307594442015860595082321434104698294644487372519736698172323448146063137717013448759083537953283609851630571506620699999820951018826283477964554610715153731861399861017634767558546642665064208664283453606269246225957962942186978045444999578024060652951114406655081284545461065445040953798134193068263574530651855528837770694249297300938473638242190616420170400588467826304149858956666278360497345266002024279598717009707399109320186960037505451551921232920195259129713251895759669056722643826697713806288678498705015113113014344449562466292774605690578454869405748213661433124809725944881168879500764098276921042602430241604443694753903686866243840534376494584032590619919016324952443270366582324446200036943449347996076413686960321670248477606462592790638577002054093678097286531616363165689261411744328219140206831900480732625018559168773159775533355465071010625845971221380686391504992308022629545375566797687191339367285220890448007153164614620751815319506348094942887156218628572142898370894579539994888900285868954507153450714455207579580709272796994108488762015042677134717263736023295551409028567031213676248120487442180572538907639173387208460407134028143154453729243493350266472575900935226332738867694667580774167091857468699262600555287178968213221353313888522176685327375941088728784236488855112585733029394227059691038871655081318734380712849871658155428841742393164314016629467579299667120356759439798311828079956776613340805584893086911033708352330504366963603790719142676720682152638123998370112740658229599469277004255736175332411442010748990881700925991723794750435732017846894971252721394788367594890066855101221675864485463757840127148855591070517312455778204888235881040755452764909075001018302091836378412187320123254743405823454492780035082425713786642048370166042228800019616920043186873496747190225067313727744827600648857473254919305753743764696446949032836116794698004690635090926413476954924799107886414396879636289437553663533836044010364672106705085198868930247276738469366104542278515128558529058837888225032694104081345668091094145755271694992738045277611766576694138925094122995521653177428349610282926768150573368354624349343615545315650582043028794933163219788584701289138011145711894825511756294502807464816587310776897642966788949823064936043405402523297372820946433555247744866425657528096856743095152411847666775720549611316703206807043961340645098241190520010665188086268732030114656428573088336672405365692091259061483951292091974544766971710617313112786058706882615130010488350037694633719655850652870849361101352460224601664109411850575529219116445930837730319422583747719448279999920160606665774585027408000099470514458764183286780612399873355260212682688055294805556731269602489440153488120005252905213822514328867685267709306309287066255952926074216114759637070542116376571691781981105928413354221107784963941888070689819576855373882754527575626333599956373941395448949392713696895803703257326429714783585065247447520095391150480049181269320346516142077836745460436181612875260184831238190656098534221239987773980394952150743150112018319560170419255842422694322686830974433079978429891868124783458830231773832123470575975859471125390976822623087456460309827191781063065145190537790734296109341031563781695533297365350322482267999673554384326311927219789878985987390907296966605980830049201746866358457391400614767349781221575090540725748206496823155534095731216355716982752256122314751170266894240612421465901759529500949696760988484856755757396973829185661078306013477181723543596082198687355697981741754873978756686129895702436956105154860652826786240006226659502001465136605816047272467071884269995467089441926923814740339290242124828931405283353459976362551365618773306551855871994929795787290870030411636269764118393481617455634773657348691975119883633669720566093506074858193281828572195921465747688160029863089172004403446804519148073169091589942377572505408702292448453799688081060811204122229984992448647428960930953715402062658242651168627514387264719229639723251729417467950496722466150023084291926336674398665520268066706907630626894620857806061420825017692083616960026243432502987932944992232662294068179605327137309193248546743255611986983690739268992685847967443239616793052800632867313763262666300269468283067593320878674668413635927940536446363267830988844332082493384020539971346681777755598330318496170984492192895916273460981773853616327308314794929682954014333714345265808935011847384795390481897933988024632177658386875870157155984538655354735713706217641556953082519314247089992345220608864302462604908984237337427817990251286523481111064373895762279584762141133545600981086917515113314560616988872740083671817367978638612870852635180530331115378178657093281544320090266573423446036877778705822683861304016059582544522635020592980464195004754368180129209066997736465458240321771038344364830451507237844875570615371218692943015544406951301270010194790362369344291062884956934991156464870813311960324619214603757742552013007023872723146398166149478819468243383377909299905024907806047782264991943086658695605250141474256436816951480666780686909899475386413072230570105479811283169982951041391048630477089672637344734076180738836691128712626609322445041488444415778154712607031426422392632520056064253046321580006302481153983297612921585912435703215599650144032472319770814539393074049873299857342187227614233014266092431701826460545764688657613760414044013261393653678862548409698160987142187725101905484320983719098238185998991502249540668944286088540972137463757809583820516464646950784188398924779363753076215664284643234249756358723304034774781982776165992135691529945442012038153524300044774084822583467685639037866234806630191843370216636541793018901452031973495120754395385089726759335091483580506585979765465255463437379728364126755993215616025680258004928604877378755886234696491771200273501864435778642501369030178706018242364410797965056529471076990653034013113873483134877263350252626477905887632628220732703387580834679854277502004551908448549182213259453038827432274988749307483576244281886199511472296108733123008629109262671492906181782127854657074057872302885252485512065513015374767847768330932599238698893693259638901635301238045741933881157256192947352916090116650409391146710134757317591482832391090166537879621020436669976679969660343961505251688391363353264187354479530944586603738768029577715134525965409726643381634499480076215280813430843076538686042324527805438007953378740533045732564966020584614186190928739095213390881866522637609372777969777614295718830971064211323142164793096389884880163064832759135358630019562095165152823712415851742030289830704592501491385349502597852263960206748462013193444474205763982118287335515924878157662282917374622084505619810742475187319030168824048663417229351620694174571273240221321302166926588225956456586571143558842942006843734127686799320870607081839715075676306903875163879890363882670547144429383163752601034526603753804519141233158194489102562166517350706187789050515351862802419056394802955725128441593147909350535723794979215188078868077162539964080080309709430301337792761980316482618225407661067414230074746285923742750818804804051112034299284495113487092683009655616752616132301186678868950128601096036615104214673316679958208866642259484283969304253506497518030911052417340625030288866635139901494077812294712635548429156156725988778823683336540713729062963596964981610985670512113946256398561738021658009374668736758643576126359311478576704571423948749177780706429170057451358268755788137982947082238401432521945552407824924246292386236801080450716372088433465444989245795808039343146276607925628863640882376931829627462093204568819447650703906401790397563992758000634302611383330604327209008504311854009207953605482802519719684151915372012042020561543444580175408266156074996579160280454871497996028813561196335417514412740275090137704449188262913922777832860335955351983043488934717976569544088629107078031903583263056616250825590756235646111366720962078139659025119880467653379221688084205739527706395382170655597449077514559041176264553255019650458108155191434462781479907080994668717381194892003788438971892641293535562760070345164550587556155105537845821075653970387619574741298745671105616494350560749197920152546052947351673157824402896071683718398121713382510778142851217723197594521740338704436569368521663628862772466156625595134250716521379435013529302845289466145071412237959967646045129253324625461960896609671265177010333230440645233177362274620248095157516352988528907935553581276978523052032141889299709294505069550736776084722305198034574829907713433906691968033865913316910496560347402266371457995849061946018389388256536914855642761141765278697996061845578389762651350758264002188149305728640802990159228977038188851021624829243471333570920837955357836354083848826618536489480399547066860679632219713704956229615668542540932253824387063619731905796601495864956070921666037467530807475457730174371066942124167376366778738892040142713534225580922632286822087056628050935819050708458302730494274027469760213650245626423893024446224382116331118562341115019450695295333810002085870202214511204387507536957264949247763619257501637806261179602841753145260030354274435945966270496774675415045061233985294487573282877182056225070359932462266655779044553800395475198214770422491388907690846893227051255882067486268147363891022346194687538472872206897220269621348786492876443476904951530542659761763968831141590029753778969138820069353822783631557286920409305799913600154308031827552563013583397567048880059030584753221706582143534974219171304837749243486343512653781748172457876335645606635984161756849955992624650203642418807537905473987038099116926049096197625591976607743728286209220603047799462401490127829720408979843474448590500112851365018563949704831664358875613350090499565793395593065677841405769184419479361316522652443761887865967955809906864683095464309435616217158043459510837474604538195500446164749301759505411566594704982037693249838300926567792195780686904886005240182879032647258331966537057408549543045553874713302957663493001485494731837443126200517124811668900102780586252989449908099014975784996346617272301888684059716277372771586451302750629773508076403690944831951953294087359661073273638712903174371947900338964435516345917914691139559805388857275672489639975731812358695971792586699345613403627206383712172992304925859387261194111021283345629710209645568822384161227917615654072523388893718907285383636500677955811811448101613361105130686936905151048139492773602883051852221464301289425697038555527064087132782466494027712945372709879473844682048885848901363045989078445371634218853967265653195289328796386907983385651705467368075467690259475289093809216013515619052900009955308334390437686392350808595146046750478857714898059632416052536206319862370613128257744527929482871610193960136457006083681006472301965166993413431284007599571517727262117918560141052501544606741908881812000782784014019451856463207976142055312212735077546004937343692553261421092834363420785125832925620960963378990190304519562571169500169743625473008189494443938563107391483606005903615780826267382214625554129104349495325091963774062588105531787145269863899289204450178868154224426583036310142285813987811416832222940269219000816819823977653654992583380256109063599322172349234734354871912847825203114126936740649870629857627807065163769447194935975148228744375661975730900823865464422734678572762993318585505596910678532871750280759713671971651972762007875109080397617821653904949973542282413262255707768184799244662620634468423213227844003975970375304068436436154106926125201866434273169309153592137943184036827575552628142023974524940329182852318616207462429302129452806911938592619019064282599832804728038516916976661986971152646000745600541995868985059473386783700245128822463193541838354757984036349487821344930465879406576410180500102432049647244053092894667879764612515792453257456264990821138041977444316541365242090034261678187249248246639444295596086352041996709025849801484595129396437899462131787375591337009911818698193652611382412668591665142785603503199867330164528740065250940464012940498457933282623650239179268784574550971425331053666566211954919731780183159707428224497730248784899192538378213850044201091985999018615107106413331720386599853576275344616615656875566842772478772210778518422163541221182646969875164377345746372168841167714535741445276688573644320305823500871950762146762077506001027447948031815500783560896735020674912291556568988452062924701560499222261781448702911975817520274595295856505727734734050896672107548571551152638912116232125315888247840655906447673803322139604211352179289285585195353280079948715279309456954862830774176725950767994298503691434651178155764910003383338062413606122260312645375461285934074632261088091295801514686295208024800928144419421844911252589425910068219897049029404885556279025109037932424210198739112467351995232000250561851512064788704601414895942804852685639443319138091374491698571014876945115925241894078597730885150499936067115892445597538419137859631052181472192714564962487980283065278355790031758185833231630255499450867704044781878227482793478989707549825749540047696523505675096392629664197694975989526488984624011291567334675579896264308564422737730864572854093172478114207965956657907364899013878719780881612696747730459619643102162494758458228996903181145132087323730721284300663673382890637338374080280397134537042814480502202155455071384207684998447740437195181019210730242564643981133010022458583094248346559092371190199240951533326631531546783943186569448088308635451562818783891435811261743386556048879721600973432249802217572587140618334111827663493463869662264477529179047244038916253220851823999536901040001323476361672596027865625340283516803793748779262859045949035704445113793501920920112517412290695824386640336560363068088568333317787865539248083606214520838267489125397428589285167656086211713575044607474533780081812336989512926355272428942769323738318631918602602137687195095569030146060108988380346189183020516265126194697665672756946666798571801698883990800271725479088344780652592416740280379892203582436557753955416001023145682120953642917486282361145245761887109968769495055176953759864876024256590148081861413481660682338568983793585990359129433115514957285278241903138110103286801498637535857777098221347372207681474008989455332204570609831241980535661118698341051988905424773681044743440568103077960929447300535785952786068118344826808452934004429067205240722011969976379724928128380278200910593260619288566997086043948477372184281181440764830329992818791044111095589387549488064255777878771807829793297669630322958547686227170213451031730377540241265761546799225637803548549608551818724857520795066745398438102433763988489386196035514936782250408544975869165778572031042564770901352574076897723731501911497968829135403744409028276132705750132511984635711082759819532318445984532668221140573303051633379565207430423788747249438758802961405373228032303683119960351403322633878821743812030721963528210134169841053914826006190500243430935064398258786260401483300659027686402070422308768369216468746428049894623023771843660186449424390945022281890220280763911563166433943757478324318490587025725066685560575000071645193463054269078808982065165397586367532417766241607546959351443044058330064857919942603870534996390939350540677301675359036681637282580957808085985806050306203927665009299336274546108499564816248325112680830535266873314018256722847233892489660766096812144982476999076168683019055859023352770046564525370611475186662985985274076514
37337388979735780183411137544423417021049146996117352651099065042103872568622608965244933006714111645933763075325024482023285257128613041502424564485465773296049307990657218578195377893796894142973727391204480530942128242220437646680300688624417709297705475871008488362479654568980585556088263711414826681730076739895547218262185385215420487087487042091381585767712076631779622916510337595985454571170781084027858884806898875632842813706811280292489542232886664030826604150970687182067022167899678575546097478198635883535747612200805677313103177901719086660884608962674929987224026455832476732665591893565293236748305024948394856529712577741511713186095623174422225703250930244352684448405385763106611222515482437907432944151417817534152158555135635040878613767727886599909113128903213486975371477680571365843345331524688037782520033052975403464144175375671074828286182581392377728472589379649427380346930496692778752882057415010028248536947552628747785144669738302411928120530568709168197575041172787866634042736417131110115129888590455268499363336479407956062701383278773477511428761953526900295170964573328164638947027249951856835844241620920401156946687163825179714729639236369063741420533709397674411147253339996147127343619561159385940891639062066994521466392335278290662041955255049249048302453019810039940657050378970609086698588131598017656420490732638494817210135901690451084850884887973465792876069473149886241581321544619042496614337430697717615466388863854803507964801197166441305043899721025437613154330221485464385761435312734064958387165791797050224273758356519456871662128643761318254931118956506224027862497644913375358018084186800948806219109494665135310677535926960144761355271350846119861284993172873518415763773954021528981308491773870690615304948932860352979647664061223856571213586650243340763948692382818710324867526426465503318412278362044058685453669095698166470131995887403525046879024807740358062533985309836794243684755444842709357899961754318732515855874645051267455492370041740090189113120266069328743244584772854591067868974984499905452525004655227858513985428112747421470412072041210647736589302440115622639596948260679029302978592708542653871330397151976301125866643180450923459806154936194659253200377280326259237267217187162861220761274408707278509149545378401910264705578575198165271891422814378569355595093923046172051694079198667907025710750513197656623837752327225454098296533114501842186116419715478172190977709612300180198014257618696538617167418907648842122192275891518133127786003339836509422372733626646074784138044208718161780991286627667819052729132253237470774980722292631371541381848699577514210927163238191984791231048011017108169186714838101364269804539129327123772565060481584705997024978389767817354534483983773286706799393688658212298290571017037793816313980047684091097019422483564862380128381827697309121187726711118254906544701293469814434034928664740538057239708879551509648227199128084896084849848688417959498132015043603685876177277351059773065524337631426288539353934662731850778026317256132832684155572692709438990983826658910106087090773527497047524998735336579169917520953463955085850352384054935992221962129479490078925506176078351919207701724542356483871690089538037258570588879727139398185311117925972585502830065910257595050905445179597667702389465892607815277032351687222699180214877517570997645049150169752836529921250098573980540279911060196522910788629655006524011727088421747261703669159813083579510348225879364703816391488097432492291379564554325567795043994813160285824356312799614610926376206788151883142588235276967744465217035673796635152153076512980886382677746997448671789189587486979335461100412089129202280889712792649921451669118686096753339381811751897858144817134702470659869871299492871259505729610615840696758797422821251264060860987510611337489390312131893696667419236414181529540150795719725344607823778550206289951176395810411181020098319277969140965299948507735873970035687364968643218698211792690857679988971842853604253953010875113980547538539936611287491814804868137675587985867223349282888900200858040829288593634344657715227844159750802829406142200727113258458482649394283764656616218524530601904161186334397728492632890272461847879484966761994209554267941823765685268442011575651596053493582826899666003837824971947911040285956848911727262411191463584461212587053062532476464429761913032986294656962560726969524658019487564814229531512200259429926754955790554555076714170995865294745118964779279663166211715623064495943229575242444628487937748006659403479838168428041089694110236692982744586087199905385792734948277785112101566478322109785011352702474226934826144808924350567160956913295677218701317607738438964375974582795496944373644732098305366517327762640659368265793533011656747379500638865114223404497077375731514170381290127191061838439148051193600475355321489584766454769970814991927173157724080410332929927078393330773727843390068328174608472530820269158920082140699513894022518117848463457278271029319063557923657341988418300407385560009075532955454363391748881099105881949083568358277061479741759431238753124301909311868312954860115294568998294021396223205167435728917246850532525707585821134911984828108804145466220879224442131341057175784780552951191308709084107136951379755030107685515465224473764274636025898897714313837346413045646363250047998740324578774197193160771427079914625973623856278733567153338683961064275032209233067816973046190069230266057504771181992626431868129195256725776669868679252629834716380740042331155241043656495183284587190870041487500551671724016277403663596791200734358836644320804882651685108543252594903379275598392802647089679225949632683920594357966369250412188719542732352365428797314456065010998439991513690452074392295421180329468275032687182086452809889210974460315067037348330042081953154281819369628228195633361486710762318745585558870851407920228888476823857150132667048633579156737103081389138980876595288509791209342697308631387450598868264025759091654294194443642309194626347827664225141659435327438960071322215732265174998162874380853210628620098799806939723456586648265462855673292417667373751359545906979383552188055064254063850716198753562035558438917254648873266040247939646323823361008926124370203148019889593265712927579859413255767886461052810972008990750006624835049614300990140154783591803097337549352021315250943689136515028584036315951048090796572528056502408152401482333964857174315422075868917457004936430605106481750962960865257576838054216337855264818319014383792347112406434393962427003027508348939868641672135359535500506763702357848066874145507391554488247527064822447771399448515313755777340688596307227631995349601448755126038817821248244840977252561765300160013587710926418856042553293635168284533140269614880763983418158331628243061458954287501678816041670161301854785454633997685963270394767383940188314288866567826859432842689185277832187191044969638195052611020920843494398116936382762412117458844157418427259355222544251958462160355417456852347400035820964462515935134381816973563044356926826281483675533039567952105645276564392833308451848369913984944527387347845715460870750922526365599671188053480078085815794742810936818035157983031240628510855713808259787069533026000245201314394785963868066664980571906264126342151575089150760631381546029208362059191866418227990997965776842512882248080199430024364592761453471613679625298120361462250202766944273609542911609849843129607671169969854642971360512963287067211077995385338329991383894973261323087868050211610761573302303721382419369835613845647536336586808731662328526886087377919086047160082358018728166569002828429424946559497357245837005946642499619856675476345841321268084785841815250534295971211547426618825850109079269739583971850006123146150483602097808247468531205366568995783426741084055180380493813827292952682722473981057382273845463044071484320467090579813606003634124755113072485687934200209833564319854794808534012590580585184886837635904492139253727368461782242287834048234479040505694916401538860894701614895396832147916284480571692092561666530805843014089475795615299490896635026566450376764542966065055748579540987960473146470744317126626877833650845051615921872589538678628059283992548725535120654709858615605331688734837770377895320161314078716884251305618213272730408184345992755732007137761633971543799271579031388170065098477707784756299693663752241117296899468847445187524660265692783442139159008534797051555910475771885810638313042363091581425583053123887734996927710703629343387652601964175483122495986828470099262653422328126325855880633593760809733969812417416289695069772322417529465958177558213279501407452710743940748221633027060132742882456514558207535846327449663454025440621673248108953560902469870992615111058275171660474506345856533359620565219720255546203162740058856150993753796077779825690057464004016491825069536217810431863147816486315315560389016550491054869851485955139532733578715928337534428436401854922753784226413081457834207964614023255199775958169310144511450720019558082726968579784615538924700429570569703742367195677228502887369172015114611499670962104029766943956913674065899615664033667356873810363506790637712201637920672859002154503282044441395581735319282047416070185366637096639795801571113323355890794813827174977124439169120520340591162035805607099188573208704496132450847843771795221526956328472019680925760282511455344318288677180272990031822881008813028817790714350637524523259888689697771745750186170877725638648227175063370587928098445121960664894839423320827453032485812668238306844160055395759502613828798974333297613767377659278627575804444963922188313459802329331735617399116140429722135200347378175778825111253749609007141170660817846265637363970287880208496323260474130023868661916117850924620751267303440080568469580019391178970500825200431280030193236393787612864341853966946921678270398340156785540546449605697700596001790386302238778859074560280756330172133584431539746958201053457959989572359655962870704972741204501641210370623781647551029289591734477628893736317219710317908535679835687037281779406964215534404745581771275668447396783518546652243869111610548006157273699266608918152717222200761721641837570768531390876670286545464004791844735653724132541147424140384805736599561406030066994801329509623315675275201938813250738486329475320295212252931313357047332849249377263611596619024475158087729519515232126262962309215834631029691899311416864417420027758666550693333835140426231245650408549916795024528839772568485662431005989400881400342406772441324799475575531568918315376805626186157485094091545266114249550679454502232220327223052712634095810111913936706258285557856878987322590019033717104578236910118255159467177156276010236725685033765648218148212857831238141440127752035033331441027523133742071014742401781545471875267331861869077157637886257248040349608396246575990826623369679734203532822092890104411858803740926757753021439947680478982988626074721748118086018716983506465443535210779595665049217637137092930665951759978174108489348582351793059895845657441217271531702142083779017957005202206424053799872076449049605871407446904855819238726508586759621550715109436007716042934121241001912316825436018449140305449474195774942115818910316359125329227780715498327518591367342414211674663962677818383011443915883308457396673441151726349731515718849335410086555166286840145611330137702689369718744436463380166462510721438687898763413858584167666385881102984760209952314808188468620598688966521967607964175110391303534349518070925368154784550696996710075175573220054267237217411695864764922581127687154689228178153373909284686616634260810504149493787600076731173820584061621093554788837538824422337620106776882267482807090154024088095986703680359827720410196355881914778835185838956021043688547046765693900671358957235993790470273795815288444690545190722767950403560837629325437084291642763671118789463831857660453745416260846902217216643999230454570860957817635948306253178989599140682194051544444824765763428143538290864869812659717070107272230967226093465061875536655681146245780669138565778808626720711083774516931140214312594522575455745715848675928642287917228601241722666069328514896626165848770007239195543547985452355238095492550932009936687211591467046957710138208689984988680691648320887000310761835580499385663180967998591140664815188404734278894170192907170135775916137129017197501303878314496778127511071642051059865145890040278154010387655869146891810431893220896447737457453021531874463737362234015371363057821242345530007648676607789874542793660941747604117414506132927339597537276848972357665107024211198319982369096036544433771685920235110066789233423962110301834881458985525608060452638610057088832508643279368478305818969922426866446839140993075011013054424616317865381477326710396448655297950389503684590560950378198670592503284377593583181674295329238356862677611905925711889768930424376832605205559093971878921679099448380892404677076421020813187318662890086757818346115465906311712727983768471265678775057981927492746356265018517758984327992477428282850862813743849548409496875756481106266448874743268148798695964978559761249583793974403969708181406922067809309380288851249394694052461340721642895575148025954354332469594628561141158223806570683522678061412030263695941194018629479951653346906500946359090989786209137759853477926638720893525986792036464995238263108761432022190265200800772227531009287442115846382088814778184948094036298514685870607074899239535866943976453369834659069978521037820395069243236524559365238520446641951181422366837070375233642394023548492615288176815167344826051009096660141755755798586655221866927244936520016062243335364352429071362806974816929296034631259203921204546001265584344966986387949292011051073624994101358647272093471553769516077898772020990080242167963914916407570722588026621636497400500644852311201003090071276658769167100179031147095381885051781994806904222095247668830436813158511009977537739487839361606155592809631673835446327308962674990406511795448368790926770260558008427987326106531880482611556602078080907533553107299994822510445817121174368639790288183012585043238282164627600455622088104297824892224920882345456957797444531198400381049359049879441976165431518213057464659811206582721395842126620318638243823760311554129653402942609640786508483024063819478992634883780170663320389492121105818559897902524629299294209392893649221155205016722243169580075811553162510366843143041712287073787850415641837018252764196538566246005716801138399787926485180467070593050134982659967666015254135775213823313210513461247621372415257817948776227827052729616149394599954046070580298460841024831341508450883258217031920071459090265321332645253871845032536771719022428090870689681777308796314397039634824014683872691162423986953036959554933250163253684429480407171417322648235492473523060267959257252857059420283493885850845562232742497352583814263250644948646775146037719440326127162026080788878856866208462221248938062194776879856293700537188140115605766652052226526371717254127471549660315103311709410419652153653975295847547688787870037413608626409552858979313239422134420425843096437054160536652174028777183080196633080632913832974175844268917546047014496473410062429800572503267630210120332279087351288977376790627721558787784387022947337210082323266149179740547268699045379179745995899470200756942570954193776201430322577077986843170060337831951475312140149899255652209209210553134392180586227441189350927816369441430915271010030950277649746794822721554502457864702739513062989093757703943950368723435929160529427933748228830855230641603095610019279142056510367405722584199810702365730431899163231977336311779697873394491239091312199852988544613060872237742626430432849041604800857671708210998641291543090932199789917814030708969012829408186032870714392539317211773377608646973612299750861436338463798852034721270187151602564463830370036774175326009638943908787692283542404316780990730765355042590570056474192359993375817572965475166549327418388606054636998304304459664071825026833524850782797345764857575534021723788749948427133936321619393719749435437333246105052333849938797313578627974081093131577694915726345214268408351466356710589981836747873908143690063255003479911190513843166687687019351150691430025143381373716147363169008242703790062736804425379422806839676717709775404836725337225255125640564429881932041009886644854730725040418917365328809437137430200923409652511050031460329603883949918185270530341909585295942098817259864326122192503954245393789604508078962365190559652586616025183505397497348463156938513914184838197838776083158028477471954680513875366876824114690121011526769389976577862238371213980993394759251405193587988970255899701139863109840351919611975465351227690780930623741629729985879830279135780818094262588462995207458335922385578281372608365620965896904034627643754812078626716150179546470184753569609988485551845264481802027832109288246053532254291021163575008959840764161196208385970714433294908908856531546440118068917259005463518574041054092386798997039009988344691716829416932645730575274654171610705275909634808494725911206146808465613607030685696019321556166900029464936163687539696538408248553895017460167325745930463767183973730414747198104833504483129126228453005636715378045779999714256094365969222438022281500945188688789394472597649876201379011260643728772695925645009655768013763406258204320495791154616680773898871583050649223505285608027811281672528413475538259374936350875142661877188895495420756676205754656286276487313879067316396649542159252393140761233487783417330619021997895609093616370800287511100624273743309177702795568076207736074234104182422543417822428776641576474343214370200097628164912119200872251783111205368216479420172467057370371520894055289411285557415064242486951447057035206030044577194443437749782276565045242001634541755072640240831260610131825065487514063189304868268861255335471049790669643788876090189535624996489469831915945840322726885577663668233063326680445128222968094279416333487146028094775940333280733226037826475944586350744461117197580710354573193431112360296688296379964390910786464438990095501013534381111815912691968971277257926038977719684941543147555098037387215429223611832588236660660913130778225193548386190267070633070444364027803677027628190480846417391308990066055003760064767929129733524594745615163550771519298799352018508357265032714325119827459236048763578241749956011118570095482738446084044234969189361772691693655197521889422921611372058351327496628242611900285123553683567475268523814169921906589036107668734850462846711012166813924193938525559146245487269056812388909182810987494315206579301977766254164319747082235692945715312811409363572556776052766070545363865384460542605206865439655739049686694426253692214552516017366496283635412786328852324053530259160259856366115118093050247718615369114156343350449736155116354847317994205494063612045996494833294830579144303850343864707270934833529927237276215627470218570108445188653515764846940580281225227243890227213307337944793437008936636670131783967279787024411643476000432179338459237435505645875923831229980822259358066138671244049088286184112806341970427506186054133281524149673775876279465226038353347038274581221116549455838761007056550254193948409813772843166649592473165894278153463419601638398581891477378491975820402208466293919846998033829654261817748957080535004380205183534340186404544155451762814340848484669190602309608227661657401475761161611922937797942578575337297919930807396274103918464621899370745352434165068869185372988418688870884183671745146689694279434974500056512904261077450089525448038912972550571524097657813527287123930220536850353024300860214597944868441395036972314009552944023923814538887799515480685514639687589636959399809482460466391120712850186860654718741917756938462478110882501784135674123240364343836834386642203681843672971822939967512105885678077270671002302911210315419442186018106592838637566637271786890446
11638711241624807444544205832681728461264294345741939635030191073863984032999990402439197698595981867249867938901920901779863309156070721453602169276158111047263566450529898355422797919053357777237877545649806580098064839394619763858850950459220372216776393893227021615078145845275914478683373606969659395730552694543769182600677631015385288946578670133989367635634550889029034101649346226405953249877579671624458854796495112104624066140207721108408530841621713549292783502079875088566898063026945235090106025827887844839439691646130787687611679827532228968669974907468116515264960559173768006287590111933295849753141837397599542216779455748994914303116805434192894725111524862445977623324072288896601174366154746435196552494816802384361889047550959662893915817543724246901190151088173265564640060477418322404167729748089670146492226023664904601356183790687697983637673658258344042681870927078467681215394486812284438389887810286002118626611893284826668385114400736286264559614586881778713699316305213124761502991472056668653982553577125764268526519506920267208309127477426003282207490058186362595186431897818143194909559677040574233714418175513280426435843282950274208770315518114511489592503519783781460688037278935652322461206235094784259399741612947753712195405313387491819579880376048424850910261263013882367736250125129305844495728149705370042905175341931752650600437412049266081235905809584498944115236720793638061790410678597244394175511662433859209715916754004398225293510659458226194222219094698384385463819008002025722136493665503280183899108795533406284927899798079703749452089129513398562006986129923584953794440000115527011104079831652189143664642424097983730965332692927946699495252684199731206090423078697836902505098696298604491444595669566890669175042714696117112192631570577919132856206105167656379324827088581498585524879084000036589423059949420341289934557539502200902664881287922743183716265629508527012271794828034254337877703494936958066439781561264585537064366529902275507018742529994626856642372598611734611518898089466412702989313037190299115619419458775695684375840659272368294866352486404731594966506765548689725313646307708075628183401506048048722235614917055741471367674482327303994951933006644805492353727545538970860031256607776865613062564047953573549601601621288889821492120287623956573132035935100834418406292862272438626570066567937365955205922366361083905467779801757410276000098938563474190311244919158148182930808865132597649486428195533272486859203748209408862308105399753804974804862959465369425346950569538716263575161354570502464444489840742069710702605544832531020504809002870799752195023339325320809701741925972336342305225182776507443146056851105298394954880974275324972537584729635343558691209037631999180511006645228055900576976868885307956934546460888935695155258125026727593593407155320818664556800654919673400741850695667076626459112488731308128524559809213033574311834171906955955353210379845716530953042301423386746186748085088493343720849120601730426504375979339654422845552940574754522717952611526466969727862187369943683623530818180638526574528368378586901131409225801178166228234514974449447374124259747185849225947276616850659047078875581843573424054280503535983638542861423194027885817050697981102345734164716870767033808143722847131586948615750569316392319875585426717006720701913307137511371923842252773581202005032004975717744369390728271109657238880550464424948595766707279918917558395032701181122102884709820253801855586577887654549279210613597636702449129978748747472250739276201392485199539289891776793534923765756228089828401145064000552410956913227121932736633677737915434637511144786536190572942962362616837850025304997803469686894317570805247426749832560871592049587617435204513404067248795592180194001196519627959989326044142162774695247655525254375555291400894633699190947686959850202361225053031060520154391194530611335845378716304098508411716144208925435514366651425793320342694522649242283710207566088744379685371015712989286538420243579533347526281289245975302110311678898773695015481515618769345672869815372991011051038970371191166350396297883090742616002766502502279156794215296222767953210804625437630906096475129061444488308868953334537588221947297726225486279270222789831425502914848053114587767610290927743276445578814753097008623625062674997124117355571752475063947643134335952488144208911067021976032567412386106788006318985167281756415318785789280563417834776021269216498950957743469463732893897630489102934601095460853068039617386394669433079832546922140547434455062728733082035807446664175794184883589579984710513316928943647210971615667187270564053129823020925210833523174322779076400310515987383640933588099432513814805582147970733150426394245057200940361908540805606448196031865867619044965504888922689636831672968588299290452141609549297585609361056870095761365917661827908297483164313514243812931654521275256607845513702246924275690222831298831804121065732382204999348002066607038446038134585775322669163410390166803591676192361461495529342081286621111147557506845456474537392422086657440355516153769769645246890379529668580553728095044782917573161905078240282634899088794327125964971263740802223634582735226984777957289637321308594457892891623553908382299641334020348364830455177128918139718793308188484834232697439965335433253125231247107383822975506057292205190197929652639732498088488233672172936833189128446288207338816571805415956964753780307666746879622147523537889547396789722411185839704509927466526420374217019558186046346947303482197245639806620732509729234854765385072110212032591521847520873753008040757979069928791277224259076446102101478230149250995253270778860538449500980611832901116217506384702686151802964011574262063500089116939223160338649914271729005743359810719007241575639907791899620660635347230974887520479585175130278548853690742681239147732270608235396871424102316330713236428623631426256838752094529835427841276665542631026801355278527841182541047579504633859340703021752992086113216862836933652810869827492067214979590028475543478485869969207234525654008610649855477378842386915769091804298902408171848342599878608814896243932059544665603434154143001757220819249055804742657759866849330057458654607294375698012575836905631053121901287837758893270628075515548461755760339825129847194267181580344917764118939287866759312259548630670579215964381235030046597079513127852383838096330617036395748100668274923304361437202246699112038481780095356387959271206110362202010870775779612774115342572488466761019268488785119882732873367072048842155264396145328285465093703448348014959553873280401917016425297284937787165883587738994942486499381865934222756350814653330894179238823569547171960856548829019225763419842437392345712745373150115830808370023571599950003792843036421883605059876876868267689508806994488543160889336252157525734199686793364012407480119106512140259140242074047214317203889183152034949227415552331802939373067067118646906744060338212811927102284054859774166479265970399023517693870972821636392393289355478699657020995256973657508607266580529009340159268726101854984572734237190653410732958436287988593135041769878046031656194953039776380565620792831518833294870927199720566082319639772943019770041206152477744692270793289823079717059597037650518438529872033457770703989169978260311731442879379557701123552370586100971183349461456555296026262715723982624967742819182140298374955457898812811376337785093241809846412372776040587808847182323569753321572353000056715052327852609886563891918396987865284451893440646330441537624720375060022044857415952865552456677455446006462831229068604283476789380398471999650961813880152650438547113064810848236018380055468478764561147703502983618541013353577371924303145318363446771675490350528571815376433337672392749588470922192516995669221619471435045586346104571989183920488273434508751385287652815762831963918137159349746432466831399132133573601530035382771702015230673212274666520134985263426661971505414573476184173435107130084231637987676399202707894204177223903150089965952844789005479977709678016550571285477735294932619477234459840940465837564042942666556855758956563936916563451591817969897214878650782711141132261292553103672617334925057937079638688727566266692178989954578872722769703852560314708704125821122777320332054690562526273724457186567609634237256746327651108774500583420469092329618552391800374095611828692324134613496742215217493243521990098773567817946868039617916498892442025279159559638074375528285695559521180698567476683837652032947420294356675371301395982069705908258622906038011691085515426210588979582039443355498862291593688337736052905463137417793292465655555505003461216042615520557414757175268241308072306447524703833494381130202123086182101166914330404583104912287701265719564387775554150339008623608312330063257166686684501690890122394916480949189964052055561986791306564926496581373308897900991036660358722431087678363806821177767565201530965414963602297952284874177560177433837158515728717286243580164130538926986478931429787877068121232863435928711257713531877408334826045372706036280051211004693363327064963236243037260839665310748378205414918891811809605158892801301069459511569885116582675419927193775398459632581384287587764869459661019962389522193625362733154066663197647336928756000196015800439666914222960671065785131056770906629411757647013829395458457668133602565522678129625511312025204426045457388705390174188433685676333193795814903136048402414144525691688191177849043483040164803746675928669855171423989685884541986670999261851455875097363486776940589701705300919423474153095646334409534614008010792441810149695826234221397117015468150954456259189436260532460649578772033567036396988550837843982136461258683552702869054178670521363194961096335876813249584379617675656320776560348613535191071741566063964680099499178487249129947069201395465988856247762285175986046347625503791036561179960993603964363120468543520120703286165889111949373486140541518489537231417635156872698766785600302360460880250481180724256543630202089746604870712146849736218964979214875136817649572965610710583614370802146765572864522296363805290906815472229656946672248539116167048398168499385215705817592261624045262696428974269558435139564147687049677701596780437178733886129533587016523564152512233133223443842754558410066920860912379259811645242037906195574780929870213031877322550232085612222508254046753742363223527089824306598104002196303150273455278844375686540486741383730668733368771166387531987311725436473030500266027445069689320101092027049393686479384299938558449893837506608812190108594684315391101092368974177575675288825435878822051160935273202335948725083279864313277322225658014089297510638426028322513881405898449701540381705704037002486721299376549229672647783844736571775494414271561254276083068025804704901531094702989695003540836637043385617297778483196413958505516223987012254430110228444318960320115480668036120912963039591697339851526320972221211370065252337806589335122182463171272376073803631918588241638167190488613070162280135965053595331825690238937844196234989517066694314682446832779324301231876963918540218483516183559106568870205105823560576053936192472047070023586235071150877189633527840328911651197742301913955786592659849390653815966211547711730727066666338533772751698233617691848309250518249161423484249149669234185556865893316014561552967744519349145839811895828154449116773763716073163495470934605661008794148624029361110010233177828501725791626646920729841182665911120288710190868115844333106879316837774229063555525180835117056673489844330281563607317817417870368750567261742833502523381935848625026102061078224227717239334544826763398252095982027171259235715869383555006524804845904870343825739058553675242212604475865472428891394770232025468876554745650365497394731055556613244264462039461408054167519490963664204909617290203115147877200645951847772751014996414043211900317737733241051156836337661714026054790070949594828133703322886133164446889718279387519580952593648725020062018560197835337386834355585371502051648728550654486280143773873151508737639383103643214705881876091098671010610247822797526837311461155090506277661699699413864961489080240118880779453610872362186815672874272894747817484759942945869926172172182283165088242136035721772469628235078826236153570393226271514750793142570379113165801080477131417178504998261949708345847252999637617806768803709002868234955720229182042301859932544991813379723056036325708989095609754989769067006330219445975999485400980712511061348524445970785438725299066591458466132492430281293834726338931501138396098713386388139272622023208947760340912997662015778494585772297664506670839998940104599303509303069947414895855783981735045828258772155703417361481153162989395751395013521663797086238584220586057660169559045388229572413730141997924315742845454038319972038897076980927448669650474735906187783139331991383965877519618359201302097871303781776207424540826010289874591187741316733563482691828687158047291955555971909864691665381588876112544523993930309543821792278764779577366038134903200641036305333861557968994609432645545699147834473261522818779134988180973045213300434345249848991231662287358885224502148348138186317380009602593821730796084637673405338959224195925365349799428968193090663762946530336064617241419964420705859281456377838884566018091270699098998358753450302840774131991479646968834780599596197784050674402209764635066550848881398604013558320101926658649940826256061156657577604999474257000499899251734088973837520230922287600127630438835267218000415537960151749062130957550121593003993417723263013776316694614244506778351881705439665659090895328186331401314045111043158791208311266699730189819667799782529604088284288622792599109496646925165103067077525755173395820668265111733802414102437208316015574890168260119077595442534833833616030841417387761445399088970093548540826366010792543372687031073318502822510260773954841039966158122003573329363797933646976055933910730304597987594442966264410776721551489762165203730950436436223654204390667366101795170382472010137588954268562579083215826875326300248081217655493186981594183187421206905623251946462644012000737723932360960743967731805838376164518352741644794929182042292061737972656104148790444623183289894370501466711687651312326968551403181469788888734483643426647680952442259552220727052380593662793105140241043365592925060485022467761253185498270023894851228887162595123929052874456446258486717271877611051265331659735629693944365312955476940632725106573719652971801303964688769412798134737283195282551104158089190631369661627585257137066046441403996449916277189076925864176255418740212830849651522281947959051684523238550627623071504605684641709283382863208465794474925266475602710998104379039780991402765378128229320765559018188650171663236844047073335340046378208044402007428299236645535970578332973250636102658111912718913900376727162112473096397300948554521393767507951094292820735172761433724930537293427549660982167596695537356622599580247044801100673653882570472984058925916612202436722079987443229425396203835168531731056052051324592316447894794974617392439627357315481308634260526804293126331893707586899937616605313143008114297306398643249650186195272937165154935265402047126563985254566379040723380704726904712512981557809800972866716773914087816178896195508622788206869858855679262226690222687042716229750046737775426233057543826691271310884861758084505112048130283136900119281298860869639660979010501905046210884084813260302059440840695717318265183045352493748062056543739240334525761102807196090612590202810482395540638088761934805406216959773598743975060898844936586650919279395049479648436150678430762944894434295883105472369298719237958649313914615121420445318020551675135304508316034111683717015204484152249718337165105494102483744394420019087928917430143439752092489667691056951392369671695453981316486859106065704084344026633359921993066322429648878909415352593504249041825117907030351881633377231682647206160742692002038791606911863166619719596895607693896966664618635081564958682957048449664890620681573506555609730586398007687460370491062616352141284784577348818145385225460016402726218160779938562893062655108841619820116235242189180530753027049501203270385178387402626710891579128592641727207230913299152650892565232180106144649818202662970772281823699753570517919319109798800397513313195441426421659112036026470520524061569696813073127429146357576096005853026370692220031776775371453459831288036958172873666258615655215298771578912948902384809016589124931656173061069689911123307890496600100037002280048112458909216797408974680867848839395053171887899560326555739989023916763397500350191964170838752026817438144661495995202147302364217744204150513009074097628351183103053038519348840292895989493538657551525319629370759468902522999985757850190375090705231996677053774654902285387553120039534091572684696982259494178470256020567496867974273232364402169474374896255197571215620513682430262317709648154704032146857686542555210771851959703196306725519204541395906144364702947138097814947638578916662584861519712451010642090814074263208542764351890706167451029619403133923181853111954815645367446380155376080325857946820572013862064625767204433779223746099229556778721784563109953945956640087531470282727631161463985353935246281226878440688797153599491412275706552806723203277321735545821109155070061176306083374546951808152988472132037418524260990308631295713972493860281564766810846398335554961347043595886187817024448433113778029716451724279172029023208620899368640831319098198319538058769214321144133330614755543514980114937931893037472934318978979866710967713862744443884357179459924342524108508019262099709929450587095507471342049550420002089119574035737738472978989629482718616063594501672113870232309387816863912596080513493061927213171535183215245669992447621660481879849826055550244938506917543504751225553162913998185368736184394003760778915528066155534586918123413415309995084441141546369396866551801159244728969812221110461247941341942071238844688387198613150707580898403162289777899689870484617581811605795741086990270654572575266143375416932311547681495082599092297115792671517455646361146548337308745178217306619858861562872638709499288292276141453432675645731805224838481814382065472935300703363133445322992300813884938006602857632258748263410623598811195365669857393017106841877738072909767084251256184669656583580960609597754813513872143235707618095387054708358849567673842224922529919954674611091159488253465329208895967501759070858221328334020422206564710123194355008547854336939045011476185891405119078214007500184060994114707679456883338147026356089846676363772311821365988058675630276781689948831189407340982219683241556624077005695087125655246747910120541202680147991053384716369789731661485451338202036313327979785418997860602403227681875102764639034995558513364189428807238832456143552288616302117583686303566000990252571635981228234365606456319047663837815149654200555126440338038568748661094957899038419961424105969810164391293329106849854574348218536886514083064829790647067441976450076645850420454893559844979328482840251202979730828845965622239083398109290387814199493456630748823095722929330145391870485063515115620271478222707672325666893827579537901260509090802369941779242233821290688184204263883320805151209722610213693033807156828093180428328746678613708603787412389922772061786782631204663100358462483558515959725436821501180452019338281109248687923651511400868875351257855048798138537301806287183563262847880316014358577053894342463079550621872419641185521403955305416956818708761576176135122528916003830849219209467989385913325553075224718128297358257613321363989392560321145675352954471726060598057922117821106181384416601544680373580306559285379064148528759466039387821448152424048196238915153244611875663756014005904187959118157683314543419118241397361029847649633546981408439942257734017912425426097990047966488058001529511623286534580492635446469381699706504375244261305706
80121007636925031566549055909251853815845666271045813039460158585074864310656205219700756000826189752174849040024976196342576547855412539828678542687342859534100073046774057111382319203752171457214550852673400499343346841318442018686055508394767729314556974336137567137351325552181802925851645265863729797014683184935594966540987848550527455614355152141173917675753619952481867184442750560127518424672492081715072576638112533275983450278216693651412135582999680904654328287880691021735161837624949347740799978664799797016607407649624103989172838663776698520386517533782556410251042282586931620214018353588109757658803776082517132703086493434499851603285064998060614381422627830916172099244084606393555260600981261066745093474227455421758961277110869702421984397570898147552322934091871879167608306891084140111268674708777041940808016926847751055514014239303013082428931428644280243150741515079098560443891624373185630888908691813721619671016624124324587834044114654506317158141320099388860761650221810365142818859971934814594829186880804239436749207738830528829029612005554504952991070961092620559792004187550805911073930368650947613184315458154558114935942451650257028348824881146385591227260342658503367071595054470722893807220237037624766905216699758513695835310297712325804928172780540899208050284990501534088346859684800360091732788509774859486530831265315071050797552293982694805831669384444568040713747124091172828211784179209036176461078571639625633462787643278435941784021552265411951209482520948548411663336559351091578431486517247965341499336699523394654919634813809917749312585218600726968231186687532071227925272565579359105509413190997955941100345135323426251827414717715564738022655641638959960803564853705356981505292587629934150088177513809078918305075074112433424204673579105807744020017510855169771308034292745863064470701136279812024980723442832235372097948708122014246399809647255348160735090111742126991744967611838503576772037031055854987267403256666307413664834763010128314845160515252120684230261120780230498125848073864488461014312751654086640476016339424628948165928785873042218412000294095510514410486365730312098594042794519343411763991066963960611260032855280635561900227276293713705994231104612099548968592706117355002686013764723220469616308670308707853011997744409652200080489542401304911867330950078716494588230896717214774903039278675865181886055445210209510262376206077628234702413552585421008316068997180449861643584795519357989351473165500391658189812819532019183950726544909256437143362586969470946108624730012163093311183690514854271896669147041660133601837702230290892971764122424207907149631836207688878865002797029041544674915427899814872522088827549136480783012221679295429517305379998429564061474191566992334222708744648520760819729666687145767974876075451744946554025683680359595464153995111088227687860187810028709520549636724192554758232332809033292774954257981737613657149823842294786593065066549677431401814499863843577250782792209281364750992512531814110223055377842157707236973824795968924041905052435594427271367973874231613259868081987280547795153970968936106597140315994833244709700282938421584374493224755339955803380897430713879380527238667639935682574088033555054648841493259093517960771395452379430582242622508172921409863557190097549446073054427012878401558007229073308911713966666494150410524387660194330193139833580009098084850927381796368329970256424755514546353508815988439369385808835792055228112482437999905075478847155423491365832059959835506075434035928465354498172802893978372573946086285116747182660260331280889036687885067791915316157845779556305241485358368880704195204088911645897920992550118235404862519577375754128682797363872937965199051913537226489148144672208393449537234514671630651434626161369513258458933219381215481707843109518905230559258883217484388388476563002898753412583562873978441741819578590958410273541163481882627888768742634018045071594785494080334285005983575193507553738017859406456785934291829754976468062307528042746011552830416611590031100824905743121579003613547123822584105253149879329493936830744807903848350073876968029525468736613197824423676103674966275110381611706417846142310854986234042997962619884011878546343813532475050841968475118872777885586383876342896264561249503448928394711749307102321430881410558826722646456946074256609515206952367308576911150250709868071959001109907717909644255796723532646228574502463810047111695380596576081717685622853651632367036353283425865388543953542359753207439776845094988281804111020998675837830259028914660756240849145032553611251182173635756415052163365236908352452030709445451020963765835254290170031383696694221216690347911915895912832498530477703972589279822478411490006970287780358061454763861947533790462637808425800458856796962133776524809310948882434445985264624255694312096735739419877098874489629687746049101204027904225790411952684761985244528465589451774144103764822716188216318814440957787576189403510418005059773300910833269443616317191510915481880207650915751010170538231551330947211076057764198568500562771067736112340190638052571057233472443512624170036230908792227286025066602355907453373470461010979665738044243901656257520928011452051012852398464895746703600176232901400356203082501671492826416513541342717386932241951234909370535051759831596272979215605650221178815310980775957316080798052860849328184976945446332765650249102016690726446658424882772969963863177514941447035400158633738241105527729448652223066016646689124517575282823899492489323539164656548533326684294994862986490725632358975939826046237759805291840634957614976333271074881537765854741702411385217695499489377222167125216877687191304954709846596020132949793238876799645824033003044636097284651392768325742138894850463129552268850974228842961226950771516220816864119408621294237446808658413819707277262295212228127182994418315219001690479781555673936402884556358155819602295062987686049704193704522983984258788900154869040831357955457213916802709932084133210320011949177276185855450644171489948627088318368831186563030043475294146971053969202969913791499444209225307573041192243228375844262783085398790665209214658888696984486488702752043898252175189177125917193639532803483474945041948417808662980139088346669613385426122752774406542701102268519326428726058681114960241617399001610483759200021441729120087437491255240208259754656472999577393957822898198123730856310388864582632751474097046218061900701023810652564526608618411505211065605357397569392135862593071203227498281982123634263280815251142998853308174871215839291061680189525089634986258657588783483986079776550109625795369679252359938038055145670630268209751378565524449418694317959201600874759411521295974066973345217320374902185255930654875283565146391462401772808775987774105128296418085254353019087631521304448006834069802004773021832815454717112571482064715503719705719368485386488377689884402310719765185988577044839082004892595608161367019828868706293216785072505923837122989841954045154058785685146960060669743720975220240664066842349509533807708291970844546119044919432109928420259680680214899272733735307441003434219937843210975463824415980284619171823213910651522441983809477587055177400416022135761272430487452716594579276350905170055536387827207319887986096813505770905124624225098727698279816610513310540352153377226232888281545630532786396709260771734839087649926543740307039529130159100013325202762883214187664949881530725747663269570089107487132467076729629151808222294770026068593581420441434337889694257229688582425805762397765633163036056516293392422681682489745149913669293553631629116540203284670991902445737288730121744496985417733049691169796834282856807217718698714195066894253574641326718643883093698171642745890744809043308733594453771793877600240777443646721600340793097172661572228012876965833125904157097378358728456894343087813396103531730010956510355985327665760625340934920373600431155290741213983245570622122424110732141927164066137286704268639688814554586929852659692071049627480876941260739115171904256507341972750137862521564038163714365443427688886041971420792651381442899677597568101612335362164163047089719270973447268615843928143828410173428557780339163570579635031005492720076450648567491860935366722921326252422272137551148502086018807939712167637094509233565997932828885015371681239623522950193212103119419884732181545598524003529156144824236983623315638335984964856192863193784244805250559152142878691932143510497421339731984804395018684203086017152835951584891341835510147624709887211808296380994763951193144886027065095819295941996819737491297785433364859905933678107722458717674161183463294045771695417214941811746685064228409119594090322852876098708638226253570499770499877935143927580515828122047275378968816974774080851640947943914110006044123142815545323639715888137964513896047367620768915269773032912262922517973936436543200079226317775047584904820575821259383119566025189171025961156787713691330827241547358933640563080102198720140206550197693619879887665635929373290688277396282745468161462366625329758965185779180507405332394562555147570432613808919387608000674891060792552574508324076448800485917093981395499661144760217211952683394082701437891468909646142128503636387261920265506729497966780793591441024440250619530451899861014292793793467185523896110264429694893944239288105005892809283596017038384739129171412643639895532268804667976481234369897649830446578269682061564532528959876480349362963633074056141159717604055419856150908431595105023958264671057236558339759556343107104346227263196675582588068735785915197951442111783496361631387548900096493721889231915347353272587682725247891763748248300569717285431361774649808876847663833527500567589052478535322136960188559031954474394723733629509645138692813651542191125488650959667736537315553882214967449639876471812718997590768171885329790309749150693070150452938048329918169626595130362906628538296209256491492895874098781316629000058416012790147830296639134239235553258974675567648336284177509572447203933444791719648671243075944588898389570908281456215279578084120930635446530794661326161068287659205205300439976316427532609507607546835191034034160205701112550964227255864969274271429037117582073072489778113633567074861455336471473629735607107664418738632336278035561915770018358699978468921459100699691403604920315937036887287150526106120127108166288396963858562496113133514623122298909825024188343564939933344565209433452437264524628792312235369730227089050554304392796277253632884922069889391413186533499722639930219413170550659378650928774675292865297931710883541751741051044672986679107047269665511460923921950194617643349367024494429080276438501766903910189527527753635145421965036757078108669546745094654772569682030474863068766028978770462072880518189190098881383046291449567673072470046379949406887889784175532730135301542152493442309745503476371474870813542934924355542308835944094994302855412216654436118829450160517739643541797253743713478792404906272547436279720836441635388998902426732491127308565497692558149381493769795136254400376160844971623588126401182276563478328508879205005796238893885290448998617860918293383994573117413815312911012952625957565777263534666709171312400462073847942744617822594299309111012445858306495637072238160098900138991436591983613106326139745683264362406548455288328336214930250141171543159671911524195340570107443786440188556850527599508838333150085064298477406294664278698541280627968707868796982134351162979326532477582702140219384125608730289352334557227778960964933585173093507876564315434683982182597445860970527538140240281425282750574746268984785227779203694952803813041505154319694057600350250800186013181885461459487457269485900742842263154954449519454462572138875039655360745378481376812459845938212061761549128776601903316262415457318006825775631792909727437250846670656945116512003398921420624780313540083085741686964451845867818772939901537186857043834424982652479527614608739891603466538896877782833417798097518919117172265388129642054933450592279387627919511406511721269741591101884693443809635555317741628632758285326347356558621370483746361483660882729695300681436396412870379900093719343087775044073679828627684865309270017104002193895303440175315448463412142085841611436379000866607791823602048982850625678350301218316919734286622001006474285221635959853894397764332572542820849948581504742830512242362806850466306515580763665381738502777921850014526203004356058299016398396593464190055369790094635166628828388988574314035456585090095066895452428159841054963078800283025198991872556471417366860461016762234213820726152161086049897525682567360882367043097308003625884271567753367445040727891649669657296703570773186946226021695898538618102187345740622149823402774353921282569216272768229226479299846953803854940853445612054351301182047155618680186136355199972040071362184780840379315761867068096852192850512596401546177266959948450719829361330292888411333508221942348865806427203477918028318649566131370246619092985365871421608783203573347362396409503630552057579433355290009952818733474230595722453356252674321800950849590189272788135648143305176311539107062419714270312191088744549299983605819639376819529596687151728943471887416707947414851341848510434583835261457297027849801085478823409150395360368000213945102930617546037024916853757899855700659734709544489196179591410094322319372734808453224500588102908373043356805977738798223196831726994610652414425690214078255356431734702166706221288619665550520001926841959764478196711126616694780082546290687259662410998850446900855752878095115459652445172830576069405920719949722717198820833026917026549738986735836485210890897660715598970696364720551432413962746661937870488674195036733460083945063445663208800376649657892346703641420031918290735481367434780481993097565029898905193780115049376349493160712345938877617079855692797578803834246860814062847472538990943401504894016495479188361721565209762575323988864355460406962766458999599400652852172400526545301966871526014564025273389727703076514420427530536935532803616506578985430296124269701722255788424704546148126977104326482513596417776079516332715349297241471079391471120419752353169512413981640037507034598597368930907460741945878186458201600232274262724594373259894814411071859205647767596914595782444466736790027949976987684621852379837375877992864484864526382068509475494715765602616078431021851218252177530366666660751911446592986927156149860572605792400113394226114287451967053912537192144211207267473668130013626183916527895099905159464655848061283830136803903301116000619747368732059195874742064089907770122923552268414831382690923314728682718163606404558780787903437545088252620037019269915146292430976741508659015317083581682985488143652130885061688239176322247468242369313884012759825240387559843140245328287039854037854339643198910729331105783992783228411954419847674789877458127311923931258579029042005239122201534053219678976903718770763392405143424714563769362311646730776413428858638090992915930560145970463455551350240924423878313829402938746936696174406472825010783455910569704115038662186014607906362431206348969101284122934681064830672555343359387112609140221450066913068111957585264470148322189955081245534642909232401517997781070180175183532247714114279665690455686529042149096096650870230373427675314867962548835718653737226724575092956318591867357148600786277061106978579682993180444883433193594710619131504868303944898231411955357547508131149257278601362840936766433336040092160603982997855966288661768636227860952148983428229559469125359588364501047747620555626770479202473504922027389089432013915481884442830221500596000348788398090941512270833981973850761222950633794165799143574267451293395597597365290013051102511644014713898644200710965485732362561429991719364232481169193017119600636772215777039316584208968412749556619973490138680567988123502650440933241723194332557200004827118913056533429985346519140941358640877026465279746579348731798156170169677246987381315905000925288408963032425799399855599367942306528729320369086338502089130221022668819541786977040869381312852097940912000066242024715465707720519528070366930461770626060835900124981111589358723171217577898083673605500449181555817211014830272611649203077327867400691582983059329658509551861722333912907318234509590937187587414815660914271784019631044821880930878958341204320519071484909364406404470342858431344478025847818148558558235640036475933289226864189354393554300394685021902146052453408336581414041703540492429491769532341836438966968313133369350700697656994885986702872905326064851808965785108492171392532733285897738293990574153203925111027236391666964200265187700999762889178683719821510782640368734043578643426393665179251521205012148977841453090359659864481026135251117374859710636141725191208552352968200778100962149117994343792988507745642485836292672019891979466613878736579597425512998805369640306215746603634981544002791336123978223362430429645760004751067335616050364014767606857431153458426275145495283173030387860034454115198212514008680638676824723356287298526298057058126312728436355261599098313455395804220997053151291536043412248814958762947533904410549444402144362970648005125521262765633402951831737424776350656747612204820210068953622922721617722080236668722654786059306392937185403712027911036396876125175231029579609991686254890824898081808888471364279850899834390669316079630184015719173329808395551930105202970952085632400363392032197339697469687998147556389652459771183404022870566192106151159072786009544821584016490328414411363531704676243470541048105235911790605832041267330983911165295978211124635845267477369011425634678483081329687819743395024280599348885583329710553475342894419773048392487195566342949190405858495711850836632959979606092248186931161225437049452659361950911794030366863859111273712033119817698351305681636329234746464754481545100837806150464251815881167012302166568877973813274080620362038836884588208092966408953346987923603683159959805751037352136594846332569671304068092802230194352607561653350974229304641784919817146048323527294226923028481310440856425161200366022833938978594480884199552937352797108499233410100590117766411289255751888217736336166459823361368846755290622105702731166824046042448636908737494697427869035270254541065296709093732536231939346413435651250306336533363146322245919584945399364964296370337965430901493487585308569357696133211390770924867916405005244425914161240090859311121660574715187869947343928634810904026071875342353590710851182058121295048861911739167856739627851310049262058661526865638833606276120024482696510107225736659918344666062505636810808649921580365982748885124533966646274663933195633135455276165950562148363866637087338146028821310776336225341056377173694078950585371616099826841678664932817365488707011896920097040928609322802318012964786696331887352504972414001058588473164527280896539616874765714428963784438379614609434360529629541210595822796855000702419695566853424246255255817172026477603126364035886454339386995360446017017896660276045350867482393360521943007035813038918656130444351752062720372220207072201061381451167992374282591573758193622665837691357505378914444681915564804812931536258259108716565200594592941735845438373891248128497981074794837434423115467291276798911753351242874234470653222650291584574112235819316458492465525644110137070362085082389435792284916075264862226485831878986987875952217770274644516074101416876386184006043472505673379379213070336274859987276820891450104585461264936009145775772169141554061013204228944084867744836144712271619940228646936438909767658377410845850213088846347536708898869514464538048450948929471555633294044249987114325305307411551461941526211173991423131957765645640258942767221539682919696247390795298811082413531351016048258663149157581101021252630145162663756964179725879008823389980880669791007480663944845818976640590672195424614140803345869778065031892198848113207302232332224042123424827543107740907431808201596336962652532967986159608414603881381375
46545098552897429126396726213461510038956908159740632760606508618564399850303690033852659108797002935058538185512122691363277750424762482537836721728531907846801046500545686114184844222414752943565938230283058710192250181411661433175957643062183730641791100989606237750298034573132056504926166988261028740657114175876026290584232967787367560471969725905983010437166326869071718162206257775861192371933349120050320594731727710558653596831153435378752080463297661251061352501907804218022243756505736454775596276805793976587639047706919379068762385892407644870780759233828095907179490525962489555978624477788448766664006750508167786424489611303359997797087137691866156168141104750182796762088165502694261055591359595604461463842866275919047900695220595659604110613137389727386114976136820374680221813123475372829925821921947428056022855575117413645981411859986909993944698712030467997728299243611721471555809768908493079337153020587228717279487183947042680429615070288799156117135141378744254912938323056671795896820130866951696587906837246359736509876995995824970751835332863450894172175969361026228501042706524626983206794962019967715662101296180680210108451554552357510496868637563635770814584793206984552768526109218575543070905312333477191052053889039513921630859832657745652309475700887433001892488027648909862833387345809235619847078930342915192970641722841648877156396426347417577530574900887130847239095641196719628599126055211339894847350352223461023612949930695257442050951747892094933668284384896989586369223641112337330875999428380663155067555085824927574281893406571840659582823026165723393594705861837694521160298751407739865046119523016798282750570758935268619320222490866299857233653654113410545039652001038913717390909953926898142035374677222144423589627608491000522356465637020728773218531911426455436638635613107077508347844695876763110516924992483841806657753751865593496331469725576572042776284503786483666680476840908165198537488557623350530316506059840931033812185095534675380534124034274128917104487260818039672115990428516366325263834935684062460748953082683533796762520672378292464575325908531595691687616182430823280114967693306875603452763574541068641198203075189013244237880084514065776432771950507690786783024879764217421706855699394998370741122509116510994328685635055901002982757664052934698945297157219664001564059874638740047206292625823647949972282539338470931900745144900152135733154029052367265043509318634260398534168608459632396515746049685291260317315319180514077925338608288577657657434411454845169370790023746109816794461191701443150250826859082626432592970051214526824560847049285973225103413038178593233809638012668286588915869143377267128566912540856290027250362171273051095323881984074829145397021571038097455454534726712188958221564930770312824283407021946081911000702659576119935565294180824454756668050629657640260291738281508102679006551269697143721178773084099380803141691487457614023285061461072415618992038250551304982071111308076208342327222168930973351645213453526464180530249314717612248340257541013008319333554770109195709377908155487994054306670450083918145553725905952339628111688196903062219134437170762788257711533973973839955777931266109664086353878407429010966020949725223618829882675131570946240537826568921079587480068671480966180202377614314849076306678051791163265160834782626457646787472782003166464832484553870622993114067782681568263227025899143916814367845538775983923215057768482638522009888527368944726081661481720720661466583172805300583409284134616056311977571431806953853993399611867204514695643828132611779447905881386659156282326223103289124893852829218640911577106978968039392081286773851058957636212280003661892550973932358060938490526585149525124981885537880170212546850545223641930189423404317716105470872439176398682037273051681204323637768234795324438535206178942494311954000392388852537532951904069862550626557600709488207157819765020106061308606061800343041146698959213522135320609639593899784871881505130607977641837358463531942895953916866188446177903110599817078096862216744776282905961497205910384911725388539111775723198685709995888104874720587191828233338086338665109211639863551448480679040966215147792247796649260428622343584623817464573503706670567568034644262476487251211960636981357603453369362794507666184191981103055371857176914206980887285377417635376207013054567382047075644689921143784579963355260523301619980068090376522176220227134952789624228859732471998172414429073019956327789284921114066886338820174851685744316469751588041522555842274061240945002640889622874042607403878671775142471647380437403533796241193095510325980136365909969538523415069680804529809276164534714425346739007394583334275131230963986813736497540709829630465029057251034780828367744408338834278599988671023098339222590430562698907166431817147856270355896753995216949030148574775724837158656072640875180142281665896417373482857667152740995087481172864031256924169721885585511895063598479788415247477377530269511649679479058799554102080316865054856171405756317890289154498647752088919992348779083164761074458002622635497796245240831517083809244648091537643058115650176066352197848426126952568865348010164390688375478239346366451472220867524584786854434285432781752894209947043102752801596831775383448994083933198018706309591834072981776769441526606507107035730602750606095583374234381634045524470597322085607737145019540988409310112412507364794767053569443564202904159123773906849193990634914151023644867549272596993223819367776778740626415177020750983203982238012699518047325001985496012659179328725302149292631352313101390727617289634965600537824383826091261887626358532596080954278952201967519073574619326544372149899053459325719266114385814080597410504517693229765634973384745242250653346892784612879023206263012929133234773882901720416824044769265106088647457153923818302017044240745373158607608924915402209675038529271348454940647036229911185083932067254121823606639671528643463662423201171360921550153460386209041947996978675279271565743877625685786216653896299552035618212038675509599664570022603316851460768559054672379320492378366200526796820887646970775651738742247081194142806663837511362422063558112072932582198255843472170535216785917106003028090143230427086185265676977295287290145394483502871688056648027850486499585208630613263747738306649258356220139075497841295696025541141539499509824684985688276741465395213283874313152925020583085821571483058678810635891536042388614861898850382431895502306250170956327002718624541564304647638729112735614114848282018824924360170192730544139912049752682552868854511589068017118441403048388214814235047610206146316623213957999498304815202154214789402984541490670498088472512566246857544642539423887214421758806846624535550741068557231680176941993658220141804993996596540128988707064341682960433377616639425841184491048169737222874138571499549203388734496693105337970732809988361430867526602807047525258632855322757604666508565191729888893540719799722373205605664081236701778776692408265101707133607209522418602473768081225268500647290306941546080033011736653602166250238179646776766178004316174014241771597959423418921406828251091287799859714478220656725715635738914662944050770237410462046587002233752085948247033387541322376432302731087712879727085070813049515001478544909679167224839930036700849177349577026038348754642426222031405733881899216274682417484363517849046353273850112271288428599598923139166624392395437002471759284255396861828580273121593402876131883024740859574811584424189067813726720306812984750847340156650806233642975418362383065585246610229410202487586118154354521388469398460341826089330580879166991059387273195284014086601563786050710907334076969380068722790339010618159642343129573418789452547686030542563099233872363352293143064919140998384551646491585693369895288596372812624139465552497634333253222583545831104096665569490523549606228288261910590857723298889815474600907379556528535812446652052729892002098753608645772544142982373144574670019502959172771986200416962323580872994559718081291825277483242730883864223487272323534467487269950656391863456278232139500130668030433921783569546839126871011689991233666251621830610941985261830207476838991735719296494816025415945365506888025519921549076114010240618014184272718046307548609317923959444226035305885464408028627224193231109029880538761715870998661096542984968676475057012837290558978474873796180082804611280606352704486732047520783570085311689118770740007251595026376427647169342332459949227330537439442541828296594012659134759727152874478509934598850381467675359406779849503360159353050484633723926895166584860925473295652735246683240419217715506978904095891187310151159578763230775443468177721564423617782693684172335316146052360512612249855636096771971356726089471572210641662549920075500590252532528812601285540842929160037455317609011278381192566691696309381854720230529676793037716645959020920173918623712653151226036251899219341560963490521994931642832906252799785785226007975586386754301273463331244266169762742115461910519267318573656710144147092194552132446114011070020251097398264407901535135376781057457628315202666255779542282127937362264082733488895948081593717289103119091377365725146861103014870647463447047620151495492870245448497566593828058093191382816895423044036221316108809863574540456317088670935911197792499597440243675000252958221134958140358237750131107923135179463728932804083332500034652328618256597264378544603040176998772676231629643704275449991636468354281965246665867883178224213485047491810266566299926338898894828169821395664582289698183966769969612043885037843058624345238642141368610972787246516766584781422344429663011247153423416136345311260390809924806075884138677702977083046122953567560463120060743813873984481770911164397172034945329623384589548794097898469082726697354744521304713909195186743599939189631658516745320144112267822051440708167746529162426430452230844903181333168639608955442445537815673891600739986407068201843863282974560512183725965265362551002463889155889031850007793404594496679574701276832318997816055197461648370437576408704634896805918569655403168831058920426320315961379653234057298239696719145020964663241347326206403806808365004842101753860802466676852527810008384709045476110841576314010864995305209046531879438536950228119562271690173348148913494512856770134727643842379814887137034141911446733547683400949221820701248783855465069144186714281699961760951908080407617842754400522266456433136983004398180856633996785277653689159144613589339329417812072901023673734782438690616392254670279856824442106555826470240696880258587009664466643637740299948006490095643184999326026799587343461314328890551680190730957731347365329756413773296573048847641439907850639422740648534661500452754144791065215381573270055900975329883428247276871956185258051048382622284857348724269921988802774695238722905719890585942873086718554610163526500440662065770358937512807226967232305838151545526181585840654432946380932272850318546532273145042625643208575555445441143568835022095100770125000776743963428028648571974575545977595796002550370552413766985918256038649678385419716543385188328339138422951494420927921073540769658173499195085724795635347725569225453881279407814460334798540589358406389327558525905515299523179428284467651405950924607293839882535404089807705512929767974025597696253695184889871773749343805606010694742118272012339642193807455113683565658364771725243913694684882645074424320707127222923004743209419725456133927120118346671846723634076239544788507195148645275754744726710652896963632771770054580854358392962601517339123392793230959724662435915152658982531188243160112691834620976388001217484279604326165155490439659698665630262284539199802201092629717644388460073661090880805298993154166645807088073631506278516345950738817393803636877213713119356549550320577867528511555220384542081437656220931057765217298278000969566123415069574619678836502537102075917649821499779907892772371096628404085392787115416271625397672183532992445008404893734080858322926301822235567916347801932915051252279816681368135998970981996778657610169509618447932407434523939472346950919379296111218327334108136271118198203365539502097601465133681280767522699182243014347455191880970865384875097163633252414817051048810256724405366592724179292581967188816587045932382158654079411804512553441963043352789311748871055252092502313764600314271505959975153147883118052028503225602106869187508219254213621947563292715399146513781408894347520125268231795220479317492805623894151654994227226367117850252000531929675521334763968152683198485358520896658328240107731439032852642991873629984844651603807617675988234061467590560302946150694959254939621671317008313012519954811343963269325612083206600005700380854423354530176016074185000848583101404711544650628920191411527266656313807622693550722559575779830764285590404163286065959472957709578410324248693087789650696834460943804264943240994935968649190905359170016000266176996708765593247213205418278497785312498791334436366020648027488241936665084903252630820278415016652633671997026633077152505631003380255839670523851094170842806527951790674402183210794336468722839829635955914028174826336596515739999081190908010165929176342474283414209820112984991636731446546117209158970094740391507215689788222244561260527641748633260713918977584620843443133593659128672755469078533201940873320019707725123921679012072601001804688596789951464422268513512803128610719789853285293034101101578068194923665626759413940566539958729574138017007614134046618084952652361098067372109451336751443556636283379865054145366981922468206945691071076163996248600594826684935460271501736040031024381047865644574254137938057860256176774982759788715227251151541967336297285082890244332738805462253194451255531832995509698027694001123896842068541044892816585757799255779327310191181090145156238404135618822234491761892933301041128122191226162744930351346625378217129913054856444476436463480144823075614886878503305395050295954893786972181768057584622584783945001971866470891296715103891158286872583452224909737565921091439053022325784682346374167269590234369893073655752873032079627389658863178954083502697156391364825981047026202454754822720138341592701681100171894267699902422237850696143982833851851390358522364743755871267674223572645413021810390394578888542737213120043029355327768105535138881213958534727244894283729872561717011091742411038025002512790800077460079464412200594491072333939577943895705052819940417849092953459749097963538416318529148420795132092094071462974556329301461441470801820969809845878043002454470546035510868224757450503618904428219345328571119339914144623639102833803060380322579632283283122125254278992282955983600698954404104741689023062034566704073834257745732032621111048414296810251452575736591774815551199274472659754104276512330838779602200332166454815293547167723295726533445028657268680000656771401151596619387254057059417378084852567660410973319929777649942150452667241008839364947188720667937519618526354111238842009151703437214725777999708491507863519515343018940365699353384546634247542632103157065720702035935282939652150113073851658886015295360316600989681729214788298219387108872977320964219217043206955206433178390625819778490362908442303118203969309637826414836636235716307450595622592870663228551724351195707266749375141482364191542514399929172295531181682036417094895517977574487106319518998800242084734446289694832601704268953001460277322584130801603003047066074059926089913689162997546099044726650167612488878614936395590245183180447562904339369963665626486714723720353506369745025764406881958312800295999130874588273358352805206485816442008849192675195556235330260226543169289981797830018824930874110597837671316557409322390961846418718014963536576707859592917914496607288648924593575747732504397352432460454040357991824826712794505165401012483592973436918340783632347077032961030650049710785873350045631568666272061573563293588092546927644724690673630625676552468873510730020997906731467571223650096087946621727085421346336499854729943861527107717756441637456445078855286117722828985757186737059474806036854025157808004993086984904204014334249441071923655506710605997427571993228937488197343457760123557538882899430710101366266724765572691900149228818397673734522221337010217605321590997391903275535219517052909387797644867068413320031410848962117229006535499325742393259961879546512949172735382350239699849113904505290747726250911648353015501233131715106846149990082147766877358514604511806100476468862838936586357959504464548698432273773774976702162763694028945320725094644756045317161543701733838219085218457062186910512922284231386015930038918421090609599825233348919646070404887161199778960341310499286222752631711640703951101531796093956013828978168211530878780540001140188358720845878367643418543804019443974200338162111856328740009354835384564437620489612441764133782312610624175228784590520847621114616318224012281927552065404708874113180333840680981804270451455860130778534735596672196337785992635102000546036503176213364807839064763165730131294272373983773668364257783094436566739365976806545486439358484240241621140492037561254119282945504124753442693684524627614554389322598198964183220629625967358737988215036927082149472104492098000671482880995903873543163068088750933369998394321264011395983000744859631624600179516647728612615728090267254149144353130099074474796932103426159894050282319201433282691650247864769921130467771195621728950989580223156527483792735797611380383559477488291960204281373132116208975919221365553764196173708851400738174893936595598001529565981354292639240355223375581745093391669800524795665888495875029206287558267742250182112186263343608287887357583871877357596992147754346861113958649812505628837708658311538777958424335726598711185398114370986623209789940687803310248671734493983963538729027320332527631069374081480226426612653329359329439169988497927210433231016308860764058383171685848905598128865065490976030914647189630195953959975644431830803210075712588275077062914487555916654165056070028433892979906451332958358853231397012876839144953266105547412709904926657119856441393378646735088984241437831092491901773101774240153095678387377540116996110336014614004096987764120073074204675963465019661818992074171951277047681477912890782667806497217004678554811643362770842346013194485083303218355701004687867333425425870942781524799686752735348210640370402676763468638005892708227581211426253155849953897815374204427787769392708453431666003022880059497050524741513633717369100606069075474370974213166112082996211628539546791081958813141128942881485790367065454289979448429652267379124132043689097045951762498861677105885645054023236918455128892819062206059229468876193460420757165571588706238819450970525924760394530922974578756241521303175802566227284765004643484914848126905109125898867187930761202835397038511348223113833601671203204125864103461811067492045757050353400855872215556135648864323709702456830907316815816826925786994407041742375059666111493813944255611841082582589655425892041307117318922855924817011642716868914746971382739352783974076834947367846288483454113627440068751827956297061545642555597415180243661068208651120248513311040232564337894006001433572536670941114205350764518800367182769716829978776019203743111805975257115638181182756902601069928524910624719876471694407067703952179580680514027544490916843442726992168036910455760627144210646801178401607037917590556565627033262049451353928064576461871553117054329981612917033002779758123229337774080283388882642706190854905699140510625164994671468707195987657261394606833986969881173869080237952760436742635479136457558579677678695418984807851694785327791228350624744457131735914341738579154461798661200501684414926234803015075481934274491568861438496964045042645944017538110422525687982610652611873158851165207998165453572151420402586469100339074842880475475498818966069492718188962624348688156169111845818164408199982458951664599945925896922258598583824614580220440402
70239700643661304745947736968748481218184484310493472082152989591000448525601433497385913126102012609437396096911618833573063767905347386887865567561976959028499447065522238796805208804556360082760401464730130094876232245165055826949011341026258063421344123303909549102383003604090485038468792650180504696157962918282981085098973280613799382903183099378911827916610337513793355586844034935205321150672755982639776047776905186096788927366504143560100453238541811358227391088676747881432919498644688233973483681770053718213653199440827524928357657987794583076661380058318741460249365738198032040748054061750337862783697845209446699232762968321623352466789866060960975263475575835235257046096823475290556512775651212061980834443119526689237124133590537924105773645419140766391714217148724343987528096523328698620858414509553247143139516086427924653321501245219670353975009759642167194020750317682897174791658708097800214005839872693890718330751333652877084855297312795548059416378329888091140189119102241272973964984433199433608347219740231300236608903621500969241972992055366268828380960897686361810427754054562723870273395019404435116797713396672397234784889028797101474060839733787080063190165192208528977492036100529851040342058921640506991791177560716824992582423705134196593022350407658289099682397098586547323917244317833016491445214536472174330664678950611418143464945263414316233537147345084869984948987261293265086586812345886512529961894957892567042759161012527033154413933197811221204931903642153413928747889893065991437143598899794963131052974396598633310306173019835167121566355002600619172283340234665169561633998073841138487822930330406259608820400610464153884846724909123014350511456749536700211072106967324830227776922144995225129640980866673125347706587898358928782941432602969188127709417954595983261255489839272947527179624387229121436138543198201234513708753159104731551033816439903447619085366168464324037829376315303513806089440787768729927836961231879391580903768446233369366089481523820380961432687280800074408042626573339698792053482956806955319963990971999139857886328540427522602621549515084838300438441893659650856767944781802508675683693737044281157212292600478618479588017943276803786966088690645704245413704608330433692223526467511771559896675085982745026554211878446701658229437274891616728323944095859688263403320551843079900763972794453774293636023495268070431509731250000907893978007638744497205655642700332776827135759268278961248830882586068439708544137587406302046231844865471658325401166750760318821369865642902727449346869566568521105428319312609124676488642187164855318539618780701860217413184863689484518010251131030745516096563806783337801114757315308882799249471164840235384965499311352704348367529437453433712210609786481344117665942372224808793828476826974883149915817979286123618640464779406197123199215219746735489242536381765786541533480381618306766529616971000089605037955667888297036469221149440582557736170210312810036006901014794458010872750312179883384559062060117666535858312910928357127346752520647660866007457425254341923478084791347173664832368450456664682585734091163439168640292705472829997404465607404293480615600327248934268298066982281565290514378153959639292401111369264964122100460428750113060490484543026930017023640263989881715694759877550321340651660902510598104280582996627355148492110591667872091518155448035144249006183190350946183317649413293276735082201819192397444292050884199417606591299429584736817440543491778561166410148295481773889441095817171184147630838659246012076097675062400595507308786754827881840064739464093921528287455635360053318220019498176829942445880722178554831525813054205209792701415615946939373835247186925721733566593144584785641782181702376570050808277435193320947605101490666958500554177913762775028779595738736581856089166312686522042774601604635023065084095390066790999091245789772334017223017694126759340046194696035244964143194197996496461508343701971817253576019245334777498615934621778471962779094540443179668499692351236550991420945038241852128244187149864576595134279290274861837703901225086652844831123609827274937831636291699496871419338375647832310587641860717363045847775363739574355261177751221082491383886061159080713407313614022514899706134139172663957132901782943119431058515407171518958490894444197864511103468270554745101036359887865737521834266297212902376073423955697729889859024053344220337072135878304134703989754172315711851291687615042399690787477143822294255817983937823282969303079015875534556726408813722263507895185696084596622278682495998469912539947859711969507941740522363754422291256553232968790359753557123692682072222551661792890985124939150061865977042145879162005439048574016718486272223405331259519777137361528276889563739471976138733982019363607093749786581863681035707460470723739679556053592090771022410003963279404709560169414267516071415279700139922951758639495083446610938548245098166455481248114298576284905442865230864277136033539944141380518581598714457782315297199796298990925100592821035482985081055428116408221460218881891578982501959721242095639478953354164201019029534670922818910903046976847422201589014614684176600011287076183781365538353109574089979933577444994562878107739658570151965807234530790655423069746382212566929984544791822683998861351117096979662254988709972027657423204480568627067096790999072779861561708120113747635008143912746902314249744583328139561403041943526489318309420696591536477499769977623663122698840745735527423513740442499824178739907446196906793284227154889236127572060783539161070158292043615498325752509310409494643449517050354277936221199800461403479467678942946530072780119594734118760054303598283342543814217950064494830728206731554266760512243756588911242219986876361605551655824603842343071233564788315658176338457124034816557141147651484412416667472878058195634378550610612132720532041924555274770886127344645868973490783457958217228950388609952304194532827071964984990869276451091142174126747903640029255488037342231730086591933767261388478611438818542279343392340859251858457165085834941739017663449390704695785372569543831069899932817634638435225985409282562210081336773705338204812564682962911172216205773110967348732381860284160657529802087554603920660964435833041497562421969613599116123501545077858188939501756081385621860897046334861754092109427870868361595373060581138863834610755979359390462513471631062542520832934612330085109760544014500484975502355606256095362764648781526484625366292418337513914005403171565938701710789059316944344209869324175273746196931682085755708690172879917954472586726771158308744733138808273476702908431008575366800249759033132568725177614070453633698407260692147259022283068106299133610566588594956535854405255560362177130981516533065726384387368578263329845791136843540809041403520834495501850980743824667027267069928635182380276080057268964670255089175461414935646317937776505157437087677090335573497209343469361271314847717496110087707876576224555337572969722238727308262184956177603828375965371803282746345980616159484129484934263158160161233045244794859221833291728432140557876560149708109623020786357674873909318027112727171103523673579365452109273595449981929579895005702114625847989254460230828177874593106211293827844301159098128761805561016225293520323824505918326982178644498856670549123951513764259066028600178620981340869771013679086222178807034002527774032898416542280493053841360028402813384663385918854791615286279559283338446526228020860896930443997826050572296930477779792156357550468458873465430809249817002193176972657634142764024489099877843793119082662537924252953363007927170715210221977935110169349323053182227460518185117389521399973149535072561849932199387983853475906764313474221916946107462928130177052036694033829974074214248016120716625522192204245337989601574773709413306293567041273762307582403397017843786597560416530836319549267733393163989543092819974155577024289130059559288193757783883564651436855374099717136930914304018829267086950896412233323337050521753006794183419688748420526422102148619121221675978299870771757694037344873875474645622230937896424442774310816536539025656738371494613892333672341076985262011342098907820920594884355404459775419967054097300846103430210187126997520342048224078023041209711134872260581823246326785179133355933355293213328466609135512961385651054330989906699539106078602793779840331608685557247645732824443970686086847314041852042123944996978079522696347152492598236002354542506958863130348553870864190591444544734536936934882853576705136142343799188185697807175859124703280381555850324082453789595419345466289729479928265503822582331112797476131028693000325578405318607425769933756774314039180007874595070093798490100889575733578355114874744027820629187397931457366663385717456310723341642372275927627765976482109752836019494794938562333491897572989695325463505370089783857882122203644190852987686651315544789297441674902634515355144740517866763985648470423313511761764897828499765438105151693203663138279799810966960448988958477174732004325835785827373134100760262956896368044047757911352896019617997656777806789766675633831720490515976047273550494008474913760450228209808244331566322684644138522385927925197272298371428378814067558441138816396110162191686536779630699420154069923443552504805015454965887681801470880570899201255863738671038405975184834202282165338541352931242857038059025993167755729803724524538755815253749633183898926389395373900547736200086103165285844700716179981882078746209920661868872272396812654635632173408211206400079626647260158479804155402075287780477638639668857887861721141449603170497637183343717569132941869051725768285022428656219072702106473031510450826618213400493265753457436015244402450980670509157227785814382698123056392220226834613651942026275031022112913249930579512496929922518405920267951524955063148592032065617473183323748368380498373640857719284433135324146424522713968623627604183977797553456978904370388037001134246382224366583322010864633409735279037237190207500275859419511850650218324754379613287972083606553159522050027709182552233837483269960429073517709587907888714864838789264358251861608097354264269661524445513380590088415607368482468703460769012134378736334215366468131295708409135644089023545660823829578791734752367269712109194690523054913333247428872704123442842344022224131328198793541321159023427032586527513841594555192212962710097680086458766925647662886338477364775406341699353021362698196280129945646997706407186927737318447350311340407738755893385398824396745644857248733328433428535220868077560460138288094070119630106338662793059636400886997252289027295665449106338927220555440910704070141493903729868038092318628000625656943606149587372253912451326395850986643632613087609853513359719782243070744124402787506093992417468762598845548863340657555939654080953585304697854282499308214235547505522992219869385367203870793124064241610181070273356485368874677495535340973703675782562158379204045673615361435454830967232514463127107744854019491930906083347327870753128393090092452002519105516211383405533861041153124776585892561232194281661410962469607209157410712904193900057505327470333025443961124279212947278712460894416422005764780066507894743128341432817420768044776466845374070534439893175921804321480796583332960459672042346734343113005724149166234731630161789544523492566513616801747629526746137307033452743901964521984507947705631691720290693792829141172357625887215762364953453755891029908401016823951189465014697208785054537088211813218036085229464639005935478234990026370296744617044323293099323244869564402545704007247201523519651030831303845414766295342887068572348479321845014916025931596427285017095167819796272032961582848204549484170143916840524687906061391094080890467503162179287197789913269466254457965835395433088372642337074727487355621563287639917013924319588789976598292479980821834260913782293140359685492002006786369409343690790617890599528850073985881332744016277908314463926343359793280211601250194302516327696097962574198458321703679280831297739038359698773371975494844247463487093106549663521891408363864733082416969873907792290729907102441249741819521491780842407622244117202499681204417309044550855031277277760133679108051969317669141372118268751432785528555395847519621600438876631461962837812460534117121019028938453061294865599570190606243194804264496655402554325783571081436163636306701561037505052143792808681714280322363773701173525974263825218363801835295670096137714156798425411944434258410349256677529226709432266785481785098740070730292436330886065171445262219653538112991130820304165891477572090546621111545017341401052003184078433090885410284578417913460718724471299684390117952840545945889664254886162528752412097810907631042903619339741278579777280285019656631934020532273015193796712005112399588314636363365028469605463599829767206159434501207324370061574160610360626906051841158835434903403147053744939999058918803142219065929396799224786804086911806494971954935450568507364883427026380099749258088208086799435786350475340180075797496101658099089940457420878075791900938807568684625593273108028632435074977470040954167615702046414070833720772194059327447784172299007317694895441336314690653446440620762989886679134013698883404629306454056471616164731198575342101135235025838958185769086485196825421892468855781065123604035287188902351968328741469344740782491471042906755296833137064933436818423341031293565768717607073965024651760358517921298346744747127261984475722879716149225224708762245896749457266714059284677659848213143981116317526937678800450684891666393116075141053582726952483088973593295230152240839012583124555459057283631731390707364174074731426086236255559647026986596729716754594662162522875291702910335330634144592486703313175946493333102126740161937368115910170601530091935358892676596631482341131423387737287153044745143318447233726059541486838218292036327036593117377592297057617714826610484740273747399860073421618737287845352259823555320908677289344124085456728108739930194414582266824302067992338673170188877469065311373690836107344882754440866588652064706086406092656612657487851135458497593404454369422472729952735396169069782302886309598748519218263898990430310839084424179073848277809673930120841198672024996050366243578148403589451570440426026175292337319539023344405671339568495929966872122555817938097712694446928436586293966005570075326703127775312692912797757649833668154716940341858219433891830244344430205499161256316690206585910227531499451557990837816630041953313376861674401749237211147499881386254828592037266003270056285407136747607122903583673791598692710622307930766433246637324751048128986037777580997035618636571783031493171306247360457155763971594679134969550790076232107713312464266852091813301647753921156267034718993117681320405540270564240680201736372945183196267296080542016719482249867809776315579494328856055430638987603498423265432968226469301714227902637674448119539004847875352264530114327943427168514785724681602871769056189864811587155325274911829853250958883189987622125598109896148405685177171707131292879802760320892431670327762879570273560984709231873675565464698869232199381716177625557186955609937383662918823934136805339180172295547160736442681534545707393433000594684907957565635569435360863049525984801410831725758309484772436961765996855222931522295596491854247634274535086924459447289773524667448871074809478285774590183731716092884114362458279655313068218628869306544751472447378439490265700360953389577378813916286569169370569974854799174629482048511698337027018786839564472891220549162823949402435128201656920760477118614813984888328696782325986954860983838541399751134553519524820360419680255658399039767516388631685861784256349103101378423558757001890125601283513515481233563680362760479864048954559969824470205074437331308769354956163623103133447926288920232279281126560563506048007312953302538755091432030654746785815672537270178057242284084091868076739212134993554724156026131231176505049146939957100472366122086174282253968369691978960142210258063219665694101351030463516274169827857923854991284418489039769846725311898603437259658303886549102520052560350146776266279268388641699591176916373986212208539603345686033399927831809399037767240941926317450876406818800991776157821161404093917224296494496968265003872888611242662022796752595216059222266883090761080221385602107804712614920714093308212590067341883542941681933143369857748811842556309529097069420978949806522152784674051136846746218078320830491704157224297986500234264098942368311322201547472987381683661690153934929540027154856802820231898977286993728741917709979382348048350057027044781937297834541456085462263110527639615554647529409501785759677955799409725922435376550007554449072375748532408100484584694040399635250453013733838581854739789438687997483445673714611820932367015071819110328683393814745975931409973381472974192715418915784522794179526897430046997335454068837725579072253079346385053761361326230873192316452708219584463691764527153448315345611383630868043473853752264105095637838134104747285494033481999888700367759474326703450157105600170492259721258742013367342496513754015914601599108412582408038252080114665552715955511741027704851504503001067667962740157459854309821264736489387961864536893827056848219056957819294846976116686140485999265252414114283083643908445271449889391534216265655765562945840663342101771062614600894055277782978941655112394003730742626677022394639513056393124535604734554617772442065014455206283358751491318393064391588804736966177918318178543180801885086931774503648243373255834974907860769973885208421570714730855249771690193691427248607615054783921209226633266370441474551955151518742861890426618390979895681757919575594412049897696801611546069411250982755867798313322058428403937136350679812970347975811352353639520195912175132278719824343096163100430421003844501537983022821565325854344441259201708671511257842394320148656722343330333719737190021470453221284623986445643978552910892255854187687755730035436297697665594480600086390184468081158582945872677328320874453736834277197613927494404042585877339487398804327841901087791849422483463550595650649569161934002160064624042999720050775659200139206452811837340814779995989275982642889337235781286381963963912114202939763397046179838001784521424520619280055447422120335691990968634437137828756772799158744973901328799847625420440703030204024274011894146324482119009486364454438661566491574690935281508769125858784551024716198528628814155883412336018633726914957431956298041364916935502475276100745536190001172576187115901736760795872993563588230915811911255947737242141985863827754799640296266299776096720650012287927249528012484942635020324581974839865778920177362942821826719766748627873678460617970021727762225976940441190887963735601911627700632076393801032923911885351774345548366814267240131552164469874107529158873927834215353379771131081519959459687161296835732603397331219840266079478609393369691986085062786231644751162248177950449715509368405051219433938290195834360418550555929369326583450595540436515933369318194859920378300939163370841740177652401262154945607994729261271327529623801086988021473951585632968352533545684624964622471856004164423380446050835859424303769578668116314534513341297851074787326577052234712821251736130675957336056196335956299477262945026768594616566588804947711048889263120334707442477704999674432304179568085738860211442650438083697720771420414942914306540805542658471554792954656524838988642038847272447734925287759814861821097058558572255660539829530362052753790676003300577286802544073246666121761214738530806728895378192003539687344477430630103585222081672013325483005114459446199433802546486543255033516981457776548471339257114240228117702613978956402597923188285980314456072246975790584259005898531755585553512887609409295056930936333893834134332065247320081216868792062433781012218420393291423034554518395012309526621286863809004058568717519527048732566696126806040796827736390349056427692103346588064364
96514768636740229139740340952430920243110573947581624390660251377417397891284621800578440039130855016668828211280695946810390026153994455439621881801084305998810616798521641698091966254342613281991451782618994063625570837021097192275345151970124937165706042785177244634019336872334291736946239504127698260937064287146437644596287675971982070663202897035919193129334564539646749354516903897446889160936830518409164421290809779028325001598321452250889131386466706685556254541938891785931517172465758453851385438688512289452704018162781349450636127409731702052275277865473246976633825806982771081602581709257423206216683373012757163285809690853937758565234213514156778091154786730976668985832993638776597392608840907302067014516297035235808872871352035641688719927936667863728519850284125900929874966209769550445187493719405893800517144674257801088250315237988916478174039725291786234911682815423449229145570507668185285020671193649164730452825101323737595656337663700374467856956091392277677673097885867287795583202497462285010341692939115022554089610269810784651925593415889777843543279445553537217519575939990015233514787374600522385009468427117102584480619761375442076303255966657227836703665746036049722165086396010009486361010882166109965264824220302241699505204592178562369154693985199375506886301335837466581967474521176804824447057032794396466520410153374005413090037298104483629201862576978656613244593001538545569551854554278275401609254278515776434951784874542254237768883406434507724361135601732252877659133870803263763935201499987054594021586141129276374089850359532315291670082620340541305182439745021663940401048451411405926778127544177376037849481089412529019280065190882998651242069572501890664362502354516330416886094694511230252241701292535267169947287139237331363342513965834223645416249120202748409995077805294073797192306160576814722530584631567073141383141540456952692754818705947166974955281331506913295159291931747574347812179822850156477122936317142675232197029627026871020320054870503622652080662047573248709874979489888495276560820832944644469184060481060993372798166584843549433083641725165058575381498417288037547636203140703990212512198116361698489659658128646990209790540553385860783290703461675630158625873852853057095342622732513424691817657807642239431122124206841284422312288718544454352022379841038881520177099403583594734910108746080779094843111314850984684446119552368715432558853235729169307548923452740315183570866302886774815363751071551118732764052810281779186135209941341204956207000214978231143508329851347307389274206829776164137520329098340251075902889794519662460172027905671531360500600378400941753959349601985832361053938506114982686244601668375405020287122918299328520177164516656763699517484993784443611751666853367092698748093328630235529921071459488888958512875804179931212639100099795945604754808356190746799773441214878935402936612162229145206321747376883210865725927295944890741025953450464667691180907214552276427515244537778402056346061038253683135796635159193825162983926768724625556098714763433455159144739529828261113165133244333290186765404986483203389966677787913123716704939727427815757697976663023186502960801240228559980628426278209242984990091460978019416934560115455546885317866801944008856148913106544996398515119246859469439481491212913512511707595510368620185719195283379558712582457280145725080677260739289400101698752766332908726313300100799087546372971852063526259065703189640322692948582875051504168296380604053689973642463409296883299194946992493856548387070762035440764153053960206807143225599573292022799797427786791750432452079808604679107610314282577338119946044046439134762950519457748691246229231002126367397816869361104449862592328202091549647684231682710859993582600453343620470391956035044097962330715460167283272350276094764885314635274759844355534230717066223890396561047393322195997998446136261536103866214188521938027694769039559289866258678439205944961680253943145677197015347267286977980340678416313921706128774193475584477536306739575869230304385292538385469614709941444181880335030055420451360668786088095138183430874739752413718656382256044512866276446965017101059723646822823611753868565726284617704571954615270424467958898296215713761832083623353213572491127021470746993679577859123209335907955403579993638439637679053628097602451735588613132961253196940062686357204687629290330132348355340290016728414949824322106273983613741632659802508525911799891604018053581164878611146802104756520110543310418448927489089577613977408459292795544172263766013844970262160931001231912603497424663979901719807286732664446761418502346853178995843614431074556645757552684738659863458000114534029709914938966537087730634651169514970464727948659210901419031483617157349749980343696116254007826406874416630262919080545141185312879468682063920175914273143116387851057421133604815894177449821673434610686886677044075948004394324187493553188711050142731744755751890773917239810464059756525062977934463712373965174280174787815988696219254459492127892577837474810561296712772912630927869210231596839251007716128284942719861416526717219166291414120396916186179848424237044287848136634914826138021266691977832486136446553177670322146257667578989807328335858800530261815920397062531350860785663575351439143754244823121500803326841750391362185350755911452252103128223592396721137812741424633016631570466999904831180824986739338365124770456064822811908747415813825824310329000038074825650481936164902225658956164563215584017126971875533089790064201456373245242386889387808155454668722538407867763651562698317077292232651917177930742138837512163603336424746316165274935529128331063518951763543657601795297745948740185851707302363895506333049424599176956999678063943050346473864386479567609164911789474869817915452916242595171801778245725644836514417505754282261064307682457017147231570696915214477373295452179042295625624895758201978176040014321066705834667911675093812023948660525266401742509729556054274466147222749397292167186405228458843277385812537876795241177439073062023992120676511795906694673587583136641657595781237342097179084962918585698852073525584927248715547233643856213742793974715725389704188426644682135734523652275278262388210067836396607843654116942467598936041527027590475879466879552546940057144757448811064114263298232382137804371831280830006859563009248007001881176053655650927470143663578453783383126020415743243693786174416010957855925175537368820340820808712505180261887253631359476850753879616615559885726131972761561620159023992470993990858046522114309869860613678942502847331780908073478342101935618346696539927216560692446070288297415955620715495682789515768218788865190942842745799307103112578488793778412873652348415988622491464585413022465643629200318222404920121305594607465274372558341386787397212108656280609975911768681089429403137682610676085213104459936557255660263646373709272685278290793713538111474242570724978467908481283704120635125565423142799493778717953606028609015989294581359941811723533227978416476671764252934831256661777438540178879930420217215201300029304513396332364236765296634121149010492958958861061647879613889393696644207994493578620680567902524974437242475632787358996722439452586790432542621196854246465474597562729287290956851269493790624505740292434604118789234164333598042969090347493230503870892844069298150428413887649959265329399124259155388448656209800197979648560200136663144463931466330070475835929680359829648609017652810834962831550016794449232318984806588449872135584377946304458777820106169523498704149711527903561285604221480470423433323450871213330753981827945481662889227854867527236414757070520628470573596624233321230850754953055078276036124600693438843521466955244581460462670403434587959936370700804373966898377807359396867850100990293418588890524063407876595558161148812136111867724949730408360884390124609448150230583021979469065887086236716128057254667340565912355162212568772263499784166336356015396585117348292525344453333911807683887428041303713373209855848373575049291172785438655782381008085481048791505792079577986176085407904093726511180969842592352143701500649044868355323094221450897825594684047895832179392228741607139762521149751406516086716076923188106805495705983479838932830739786457323219050479862276896605715503059095026273736338139152685083269717133871010177743622966976767312270759782764900390538308949995953106554101201817268405047893013662296551010963103175720664869039795610338303529522727589652245484217072799321746496918888516238129388909873482162630893507677527802966764527288878975486621566655486126973776912699240808983553243482530467965686748563551278696102770825886002545767331287423052739197120093490198026714096619394204080609698006671496325718463997927261061430068496618314182332705435535286664406586224245331571739365321898874219834856521356069038969746996372077089308049995270083657503323232188155826987830844148541558032763194991950088548187655890538086590561325725089810412465777976520868275583272106511639165162237141244664935479422669315695503608548686892994855021803494622472283857007453374783900447414701028107110162945600821397055899158022556398560527572545623683651798924290529531493525570218972622047508723672345756842998979846042268582875028410566346588212068079330657132150820806142104446659955176436261202125183652812704827346848644518787982733403534559986592471420646638613334405001994671905577021813505184992351497644171688070859240506307604364007507472428091775288059968933200664344080548128406575180294391459730238927379084167858648965336759091962127261100573593038044071806067676143568566715147667408221500124345138292945247047025972858572833714723412531511372575984483755202100828947127786353866493143680589422306870787225377502163962273589253892437979430503568547913113926473003731635162142630096220895880893307458370276772967861262154582813404400657260811440325835076788457651292585853524237072121849970463941209429626814350599597693057654851063544917247217091132216252480644499762288627404191045408601584952854038095907467755880442826768563908114846875864335506734268380651878817298467257154802247484103928687095943709863278591343397428210880759455129776259800755396438981497027290832923610751939245195589809619006743335383092756276541745854126176046322797996935679431411366419793565381880969324654199157474078089358434548396828564779607570827733641124679844512468686779149637682688183835465777373962848017726226854210124145441255670616355316003891284781976038995961266783889188378072652694204082841789344659797434903136873415599475158958596207723665757907403258991801202006597047162236569757240039383130544732206997748627869247523691961913291273326862164227075331942659122833959206045433450898832954924914348092770865572786177767007939156755789031832898373383545641742835979886308591422815124819538113844400427384807634992433274465336917689002645348106810450691799285304646051826035705337032822875074716877363469858186659537146564937925715482132409667890911796949679215416546614745766747869837227007683590421367150417570379753977477146503473392889603697922553587263563120358170664136276301694120984264918145875074907618939371939482495810807387614567743596910090026706690991271150230167240908976275708701337542094455916223618972933369908921391205153610279919625962008980653161734418847057189639007847938105058806820447719981708744770526399135357848335740123361610499813333460870374154603064051691584787125457411080888946019118594673596735413547531086266732694520259718996644591219434813752265209227213166043964773964090050409238713547875255238569015014917401274981877565886210348023979924333075119204631784248915785744842893912739678182105626419500497528847340204227486600578928405971751493672814518015269131998070624883331229546668609832470742561434545759945738699497610585037498237455224521789694309759301786200333963881724002541479159939860030492288203352854872779247008634120474026840507892473588429964192344098787097537912362403089544936337140096175600807700456467232944218947667780957281199494448396456647644782086466275809100916744499259800486344190930373709647257721659815182861267455891772153033976719692973722181270102678076281303344923073158836312739884606948342654021979326838706300623075466815738676730238530618988879454779537268564612514007062776075722129574024993729859534318237235889094779455651341196949165660499011457347621776376290207910917215699577882329311418326233910116813558907924888460475946394024590145299947225922446351450983227238491121473772733165270388329732371220938633004573672757106300992515781920157321043800862405841387228696435127083092245557905622304115569400880128795556231447141443074272371943867207946866078394040910506424881296901616856593262010537975116343064944384151413466855590719283539961435919667149221082256845855651933934744977471752150016034241350442930907827406185362197069136255543004163353967553436479024988282248590513783315666963632559932299113484739212915999206222552603631707730247725158751361464753946250481109010026517628087738148550681247434515978782943669144854273771170599930921271193855729707437121041822236064620471166704406439384043181106210719156259645633316628890634251810650230072353867244909098388483160246287731418194778772854419425870958815393629554847616089558829731762394705076817872769949639564724393037238685612444746640002278343314762040462539095212468546674485751251454109350426913313190229078159985395483365062029806989655856577000730359858662272199836566377629074696131372659992481428708154244281495307341504015497956324672565577086035534136363337674781411802014291119917049875233224103068254923454709252626150734221582018531850975942686035478552961100320462975609565708790746578820120709124092660154633639449708398151813065404531095923171523231064357421879232826525374864147832310142370170509565873329944856132778981123165565263546532283761539182379512369709659380241241129750433903284627836417438978970123306226794933084928290444900303172199807761316244219322494651002723331843575088876062276202339312584532578513070890891016408345587231444761997788542691392002680917882241385955172041189967226100193679158901023073185079217570262409144485577314409264368447235063309057337405761305877498702028282603452108663166323558172208926234710504289257850538562655663684121380939247560227647139729968482674770786177984428840429232473721063837776338766108210292193834776170517801726301132513819557823107415121143919619439962991001514523735037940967019098470979134364786038839341912187291275101032363451863479363028537872155043677277195973024017139122088689868430562196814649381953554160218576017238336306097410390064963442172609578192807410506209907517435437771507175971671472960776951609664472255152752785656109616077699640489649260305866162989260794949751300334743255088468471478241536819781770804776247707061398564516081965927731801291219426601741301987644258924277626299919722344589441831950459382620784723864744871050191035791985968364355245115908226228438059348095222520553580106378843110931891490329911640458435419787783830173758522521314355627229935255989249044357041322220052932853512613779294379860587004613906973419946178476799058064545207328063710850398740397324234507250917135027806663553590298758974697136502562154815838944432893503084655928888912146218751822735851376132804785995481950699314182218424822704016378971452240383097105481454213523510163273418331459479118447708300892620496230653050590784215353729690176086636613409502864768883940923444436320677464455410721025312547351560874574726065330623697582676141228241109160297851454610951963460317719122560604513396978098873303459488513705220084627137897325160605400347817299611910219918162794397098239307879625076819771347686457535167726203675563025110735698147153562099302965953732232562345552023387763626834542502413342777234009539223130854590203569291630103202985362891696332008884289336674588754383839994234711985927697611112369618204762530826597890580715845626584639572963940933193432974520448269938839838382439197002350365998203246649449729343444636963098787705435710694667967856886852603988717152306033769529837801032200864288165359867733052429831990172432861459148236291980245137688256592410191397019921525246031840653053640603735761618717654855869370837095262704073145578770601494976911710523542957670785899028432498485782660937778440474374368027462567806699100273928211283140319642838035596239253804622928170475144435421254065744148648782852496216718079153074335565130205201491203724602393894781430245231717217099782963237104356063352376023801912165405166707351521253734415134346161290973266954131420922441860997485836275676660842861912947668188309855348506375375136754898180527048323403228153108307115308324180597691766130216733986992049234768696876620433271198145531328707527970237901348052207098384927936954265228132268166869255786343635131050682647535650779046852748031478404380024231086986805044254226938204393996158286028251724299625914126011678659903472657929499106991254729628369558373042731086968306158361982785625406535782063469096375002605790151652158216385359599758588140640143674441617853629409308819293367693990845941004424101124217972081327721680247681908537645118188774290734777638177991913383877602423997486676671352665892987131552269798333992403322666447993158277405225970879096919270953483339939358505485884934608609115474212733010275982191635829097556500340902749381604971154388266512211607306011261721299469894972343539580637348683915146490311002677813427849945066468419283804048709085293432156784191145681599819605063486203109896838157447598329760571328968120958083331842517175569898459043026639497713120655872463241954251433276137302254127065298588349656070376939117191569575933998396288013737828869971040580337174333749625064305571321007143025747545199966293053593270836486773475465187724552383559774176126329415625777669664405054063890197873194453869808170654019040060919130847417658795823098972742376225149348653062093019474443824888540431242661485791127202309760547463364989051097732671091225408804077206985417092086576521292979362184881368140412010803553345465860132085677603086594535441101421040030627627070227509316017419739579839365972211205267918961771019410270040615760573915795538342289643241124941588975483662198475935023076630448847320863350482753145242352738887708489139217041473299757319679723455308074927945065413064673401218130213197051100210041951232631679218019553412764535192450442191527613429908554662826701009679929798241112411078898369936480805375044424982056587281862743691038282504935344558749063420859311736362869846317552988286838588678326992428575025354778121302688887221524426514969053341463758621568036409225393397781049797949843169745574576397432260552399091664364554273422416893174899028471850616808305196117062660356062026370661156758993213842341782995721649779314632787949839296158722877868076731256480583664347003711311519297691840534810855217128854856423298803563753807827476024555306947130796302313394699097446034784542485084004287021385795896883907598847898697533270974964056784720268411949137233524649724406554488471324380183887357145538764341306515635543934951720251629711092872990226476880219658843858545089986178640536186858097706993769841749926632586409200030952650987823381267233323030705519495145962508965949636865956681501431209780668237056048891323012008360252460356406392793777643544148162064090878008409791860928582420994854354109970048158109776702636217204221017635463053783869548920042197473807227078911221001419658134888783773103573574416653199330112864253572129967728286180337718146427134882970425206949312979535853932678418375824527332750274831634724149923887270136248465910479099707986803820470199343645499546245963779830350860237700485818954581954788018269121256507749579351811527125493428781660396518569668228184940053800441337017241955052583355398327752872085434094474904017540759168202423432793244123664621501353506306535625425740441255489111922522847331047609610267086816737590267352155324780420563711921871353137942510115154628229484069087063707822649932444839631602
44073718758961255064256643041165739977822834082969585501625929795401798140751071998272544805259721938276243777295822613855686927211150545165372422114849738752916719129495129100393499501880961519525544495747535649882140870556932917558017200230559562867684004921466161424143111022682958202798469407641081354635089670057023679774444818974409294746583552980221305705637741619363142052527099267649653055279178293679147951858285096877053637556603242214885759529183738649842334625021547659676060719423498435822000090212386260021485826989684226008294237984742314012050269642522462268238976081089778980319628684797819062285425587715551152098242757051046512237800595799534968140826323419546358783704749605084076666310173902754246384010343383395318772450348873373972759131748798442102813330834661332365394986626512125359378414663735401474282183158711426886506277509072100044588811506052856565012174940147277809817543731768165499624389277743217426927113557182247291990397037419193285106587414325496270228732372278760568358021838420035398270220996398884114959290522762052937081587455654205930663127288952705686468015304633660370554079255112327543615791277701787607453156729424998189359606689422321610822426434515905064917104280144907839668303177363147883042838847386364046900396113902888586066163302170404010257560439132744330318306972897911945789434085037734945795204980097724932817913807812977813437683334125216541645413023896646110264785019483677069248788315188582435427208676468008595921471215799963217961983552808272271905945452491702637610362334122615454145102310258620509255892126178990323775370570907129082905012675707821620589548352120030189689632517968405626890444555268191513229589213083360296931989284595552318745992426738492926244239391799038164840625153387744577941975972240493559815844011519633840825431066522362313249007091416523516321447561267224474332815150675048421342584130940901547283402144775110872985901171798616316967257353317458119805094538281204778256748285596510810041311334372914523474631106074383995991073423946670942232933210369342065526080290886009713827665151038009539370350934965158436893066828655938007384664058581368679177929621896812267110120997228185768318524623715228413089727410464298678979496371758272252869179066346189061733117794893214667269887040502359278083739047489024297351634075921483425533197287196967871530697326252982179474214190662445246120106853800696396031988864263502043465062202387159347071697602413043821326203898205207305065185353726238132240193478550488025909434316147458840132347183781636601551249298636182630740298780225789813612410187400460778135018283566788805717844297154955557747689987621282011851936744768641499081687583759174238856068821295242333894757808634316991173952886477493466939926780361219232050271314423173518275002756163250878787417395129224495784175890635137999557079942133998916036368071786365753981636698812556071470943236555498817417652576852120246223050021572778770289694981133152441818931050064701102301901216952025805310379090899457662672705046057555632962619628579981890667715914606263817340912100685773178773392715308417815495682748465057374695153894569182212590488346796327504063215152821031183542680412262213680518754953164214634495377633959751878310604395044270301831270118770318166252429245251723474191693317535174756514234622502566438578189300351007288317747805048612669534924606871644832691063761014702463757725508863062939357483283001117589491067224636971819094789183415435195163835356983617944744524496032247490802860749246563696679671888352117524822439316335078902571476938503839327940081470502322295650654432103516204715524813008179215350764898347777264932635978404707783410456754651600028750011443177062923921785935262432781636203725708710836751872097550802346416130141474079140727952802770293964907231743605329802422327924648191067465658820374532470939188473844015907152403039090118936533918329848870737443661280017237991279465612973294146291977873577346212605552262955532654854296103195605221169823148483583296230892685500768245211748656473987345027709395093367880794375660183414226509128475427690881485161940046013209631203541514750175940460798384779840765707395970212597468527756708314137326659823408534072239415947693810988643848634157266538817899107991182381730827312423569244132348135919306504331096023222712569364688212716499208350685677180248234605871700717307852913902063120979015060360621950168080501418908508743953167940829937686460500856803567646720991886413208187926801548278505024250030580285631647299071645623256423379012597113480166035649863009300817434262499924792353140084776005663287686525700350785991781278255382228502914576958486011160717338585400264556662981929680918435984000331005701268806469174297535747848391513401087280252200373121982249314339609444930538262032402620509730874408631173815850150375127763363280267587355806796484920004585626545306662140816465261676633288652627735356360807336945944182540974959604412871181738602665221750733649337505050878263357903896127166303374397689925139744374174318380221528094354957293964059423782735932089948765233349441973189565199090515883749178048533969354242036895597818792513023782563457925933701498859647150619841435528446234607445323687155930070622091299992581680955009773362611844824432764358631019683699588059686739465016254657061041401284607676303743012000602434476982267740311418653050313784630841487461643497675430408395526560651864068074039400914236172527409302772624112069204590136249779477233771604186722912020058371220557030681873045759557266572018597480218827710509500938236446158636048541521070816339272274361256996071897279355472313989725453050616533598553625840700092700387032892878976457425576522703192671013100749280855119479239439576968998690119692704599114740431850635925453977210138061169203842109034964154820134081870387360236170356105304048311561530422056629232294683038300688047918755490275727333842627670878713823740887240948496389041357214554355427962137027576353512570231369476462478915868502544206146018286207125424791984272191842796949740282427391088343358134110496541321936889890909024194017186349537891121829152204264121138193757226615465093543686033918328167579293212114274780497806482283537276206433121938538743473457647664654375017595983748904692767098903485016047843938729821039667763660768217975523332301979863560342729064227799248982955411767227025354453589283439993017749602710022658513674707603296830201388310835776796132160303071885605520723528541572714361625814911039693733085739231334681352364525914794257238018054579998607500609363794916510696386840857492825869766533165941272476771447554011677478311833688676148044119010294796229094735819118733077262820279418828862447439010847784058418097852352473212349068269493770643286316899374161081186630922785315659484084981127593083762568621096103319236485104668367230561591964627700597565887179249783004266988009065035638201252644491823624641530786385484281675974064638909703108849836594149245680386955552803842487194040451215874845974131933571028964559773115985967900258708849628033568010284709432128843924111529107960200637284383992528673459486121036837578490484961529185330027665012097366699025501144861809055285682810126330499378606617544297350160400088010757555144313756335681768698603526751989100343082177419376041144889642419319005348972829171149239537023264266167894454196818149049767834267431641102284342887487514117902680131831158757951394965023671286666580457551127333311395801281886076247917752045424152644647593105773486787200083853308693461588752919736966696069879521710064190072878609140761558389165015012372917247832927318786186863922820323954488333415743600107553112686461883308495845055778833860567952623363448537619064748062154072999726039757468570727422542505427175309422837447084872821483354042169787250256651912261965750254181421310040617222896403290876157999423592890392608679675097647914753866567891384538780984228852171276736727207415090542128651392496547704638154765275221048747433443719609899864100248929483392756987216390341278312887556097692526901929817059578312423797214235855010934265989287912610363765576856675794368469194296159782462822497162592376269745264250201316357253771039437397690156248449347482783657572748637323781063389997846627975131317379741346225336989437862090531037950386108986792320988633081516230445195085677851723055115118682105208969710559179098462239146283132564189888797013622370878351119895867860955094615799813702347225926165880373875275590859300728792144339972576222932876436004244522158117754017474885573122362455082925352125393343656623509788330930075210924657733541812269109277824130597502578375304153865469064219651831153667893960075893146968808561727602265633745371590643517817191766753270665417778351649574672483293473367974239087105393655975499222287977681118549478975149308051270994481096190969800039176081478540511073183512112686161287011818046622579027939514577377264709627062466430962479271294043906720210234874380055592281346384307423552758041994593142215630249789565145658210880312447958523857048032869718434950130965402399732491685265249431513496936222264453417893144553505966873126107642625470244342565435829059567261027797261555773742369084723365207175619436565803800206296026409659304893264003574453592596113370629204681086994984988063664362747942365551141556405019620666464912544348440859194574801113750614700559135551370218684211143761510965118613323860373929823677408040514783644140794042352363807933792772594416143016296629900034717824976616833860350061531574517662652633177138846080211098006234899994221476877504573222799738806975109194008839203767093043152962897752111764946113120567544242107862479680965598096572649630676792773231619886376283042646882165915035263953998875429556815444405140199828180772761238034816922927495978861988503513974637055892890695205611612787642231647631163288208708861163798139507645562965811761032851677748004617911873474295987560271115429923961156808371681153921482011560057180455812245190458779960388040903458071359757006026472554817678935547766344649915289087769553931666465960356401212934887359072251247557227321191645794141662230077293969978033259868165412068779068330257421036084182114654156986529446492398223894870018468481637877550560373184358454048801243841256034980041978901936806933260611172248150405364992447435800383386809120782328746884190012964220496196132384272673751835562879853953277319550279487276622969321945440348826772796047021217000004359271008459222260978809277972833329401475544222417805243470786500912989874738898914753787980302005820901515547026668410028170607311378097949535938760432458071824492069487742538918172961054162763206486043725541030135334192775717587869955790357760124793199338318328406526330080786426645602458000762933571392760067118920006664632314396931139264507084363027602066901700585095009004322214671374454701079468273792919397742102494623636438760091334710365585323776479619459795931825411856105989002302691683131216542804069624333026084498388219191524657137497100402870465166603470276279812791591950368371236834732230076897951012892526193421515729968335676835679455765007741754357819610236714487353382179710186468864148213798657938471081577426973471635728578569416041413489614788508455992814617789305194501226542792982119492332884689943049526936983465110898944709475999635178956979487612692068372151433205094839361962520932212159165405903163618809319733672783370644623693299185522294634263235162913850735821520436395135190771692972768788329129551471708802221122226404286103054120934918259626413559406253827602050848984185287127473791563690077275419932613238297335991188824663050035070056855353111757554254430488345976965246293788657009009722438334737522459102524753632001956988911125370098126661196565870518331876553672727436839881106756080344001605084350281318715394008775067172709768678893635871236285900085123756762746350374447328318295015753849245163444207427972856935527457355814602034987119721606713802659514346331348682950020732212413606144638603813596577966583180699808755644964875839705771263075824178938653846752791622388219399001375748807849993005683364372754577438734995780793517698094013403747256931601272684538851557452718507117066850865411693408024089645842759113441143125942606551612865707747044421993789186350236117314848122672571449866533686153887934678618950191182549537456797724583735662989767515947560369089682986615940652569559824680652909513801586228853367367553585308219167012576060585721816996649730074251133407942127647704061839084889979128239022316849201729920263744650658936664981698380836678184370580380665963690838150843690692889033574773053584647572419808749847284259348650031023405576394351043514925129411698687804450943645718599089996822806421516848153170981528835713977034133353287504877143352635261372944253331352659919261244297419116821428055885488953130403018209577611001040755990117341959098396297010392943174127845384228489634066464864827383406522657334480150833643087814990253308987863640054686880302376140387328158711127429405015517024777204832679549593207131459071337690494317167402954174464841241689904870785290585542706359522919256846224463774739200283353621514964925645382409186699901393610030738020921230631633233346432862568246988604245928313925795715599315878622790685696972672243576194457314188296762710349157481155804382244259166395962720571781743753233890458985675297026643745857047751682933085330024729076425041549257373844333660211480133968401023410100882474905898869502758269996299831107102203393960791244188215879428945336444901467462554187222115785859590440791083267485438378488673905176784205450970692343454343085405311256448371530892055106368698971321248008033731098347885525251666389016302305108125543670890279232209500961220588697590133544966781064115309265640862429418160236461117626347480858618792098118228685783336112051388417589582463900265966018475734100679782027646094199044154465684464358241989997968221549974295043676290525977250969087327770064719590352696109901342886000502789660426971013001336210576071618313460288357602990859789256309956754915895825109544297267478150796204269457826812936666916256374564234512275234239985441932930181619380855811497693105746939421737339943850673970510215948406252326878822892319876617259325737845259422983090608112473512823958449205745379941382018271990661303874729576281656360551369891139659713423119902591204429759667555102362015095025605422764980157632516928569263353807143755321235558695120522534030599701437956515612966275675290573232563815697731921839039623374538415791924435268847363459724895064081921570118557745230467373510080355763953620261902473854883061326948941440938156347438833600059498636610652267929917001773085905725547535801619573533445663482385430346924530186301790045120251567658223119366322688315518750328040565797693943141213241941588235840367565077083343110273123914304957654923708321762845962731010851078571609182543493004458108796972241169179727499767852993629478032209233836249779495529294424401443498101102094940331584223353422551222042412674921093897392590612480166922507240916062094850459181298486153624971515584369436168229228538726392539685894419464171873384075601408579743629081651779022958960785798616205475667715075995697996294775318958965892170827510453291158176128165989593245339419725944194209896446273917471346227674356595194906909545623593377479101940213847475237381252215575448757964730700239939020986796255017830971222951824284853822810314493534692742303124927810959864441842756927694315586722685070750348557811878134474565715824216207363123278050325072645433755843319141904761765919629595088137298658800825528307050291802961642992504508083869163925563385876011631172937951813596934807869759992270192060252466330246412564531629199354352416808816968274394270346396047603760960221454392273390140558751884120621783596463901982920866190585639720078138535506311745284370513463303026828994181602426631374911029871017592765913063789338679916338660158937945408351800974319103149344483993650023870561067325564660039028398306198289860141999647307499205650805190683137095944228999117121418008993601148474831210825717977898313999522880205067770703025819823523564890422803114476571126185052921199829470595007840970417157429131742199745672579606741463358922616695014831431774382338149792813205725582067755543619336877472064859334891321093383781522145322911992572205493890413268873899885376220709541384319527049116813003845690065767030833391306024254556046095279576832644494205456471511122322815037962164951511076014440830863332833104396608172172236572734828830093899486331893226436938264017266816369258771671849655230639441789015202637340821169239213983428144738812036414825832506406759445928469399164445783936694395903252624214065676684787248329650014472187616808350921770363537438804937855554428399680761012795120843389300740477811685939878921982638263700435411788263884483027752777216431136901790890866321519410699676060117716651833625340827928509153716646789132230069206437764502295446429217980491984138957268139995942243218709744619992717016182994370938554865316440566329607553903512154547765853752012555777465597106043358896272435046386205379888376801519587009756955867137880318021792215197405871844658118904622568549327172873858907097392847757439823375834139779324502099101563034131162297537158203798998385742809406469591769780679343864185104879949111724896716774907665567262493950256665063981124126167164387314990998315671859432180255072179987450765365197098615179232143430225815608967151044445039534996891706471308020827112123202154813423407128946184286452645799818141953394701003684213990255887730666050599446502544849149434898640846791361722377304849442294108509521219494269880826608586705320002354278800851170933468573162839967877749628970909977133233360926017696126832564485844883433273092383362684204960901734571419152297499719552170282526508047455688957397025580855153538536526659074955242211757110176257226269505111631048418357770691605312650472631859291463203636515949726438245895858695299279342991621983985222619136250830809542530991655389543415859425374195416583761902315467801131844566776813428261217185984127311899271523951000237952985942390032474481015170257712031914570180732942310583700191574901976235223363113733732142324721919201474606546604797034842075459881072939623682261065755937826939872957999933787931174687406185882341052696094374865137833583918558994328805365165032128696919754714055095159304116657545317135326890590042921806491109089394766576886397519056777140671962481335679993545699518868076387795332772266762760323449495016570589231629585210778297528614959096773073193572718873990460576184909105347035414863417501136915730417394606528818168951980898211634213717561666908587978855037465409087056469004129186847600157971503219252725834918040428694473389088135492406485238793466988458283480132640205570760559790581568683960923267096154184993927800765330353755387779195206175334690333563501077309654855268370182716815193206080098363036155131540757888507695252315418122756870674568045067367447350229508965723474693987727589494303177479476875018746746183826613803873100846752771045794137473032761101772720002837206003363141267010751782764775125991448483656706307420998867372471803600869016638237437430775634290166090220083884692802617980978058447559813207232612945601921887784101265728427423040087065587112925543784577837823744930749663316819346556829964889168648699456496888357784894941408877421506489337341669647350941277809037941097432157010389184792929633523296264533283420147220410481257437640842659775686645592859050817730723162774506294155619591990667320459930833407535662834087535731594211811050552224997812283947424762470689580472441826010954982980382613053633978045678363349689499374371464661923597916963342664032138576040303321974414541113365649848471963170200320127097687201720199017854825405588410261541267687060876470443378548241421098267368204550972669887621599443916732774144779267936203971119737904683502182400813748818852297919172291954438801390909928016532470057098897440375200193326646476424386616660871611556603732255169
59933927874088350720326314024316621885501959602788083167856892782246552942784914396525789956823290534245127874848070258457792033820322018567012616008156447940702121270095852377024525149788928498861750671303015574583276077061922853618618993062186305630451162397506338753715367948048794837644013399698668802423368785162459721546239726595908883354580309452327203576794201238891583315664685364613796347292301071694188676368563644295388161737738790285599032169173115750315308759631692539374245452143902585211074251248049065966572191439364864334109078435490709114137706674076634147604084002543410976358667190595691276664746149075069817651684603526548421292991577941813629429620300077253101833453053269582405698818108231052360456116260034382525114481772860055375449175199034107846683358287526803673360814790299038563253738760944548637685142475053182331452612141523438987726963502342927704655846401193824861305218718078207089844203221911777134808365809748462418284752653888188556126302780594831667823746856733756422470301806104960906710049735004576650242606402859281887659534532860200150132008923662393893710004386486994271701262529770948983004859997754767228806185232177431101172776800343433362751907854231221666850218195217608255051920371369320121607624728581255839922848442960796898462750760028146444200516159362604744522970907239807815616234341494375716021044668623080473334009260549890542799284312778341708353955428190767422828009639862066977580403618265933230019594507037812933879130309194875475393470412019226769435427591924797007105348500175022239740689306029079543260390310269083165872840769815786371275919850568383914144807883140096572291028635051780976539211541193392961296780146131951476112425191816162288568229357270967935122404744375241995846027044754697736957063607236339246830361355215631666026743981914401091885581665469741133100745932183760293353109005731431447279052266510591818054977140053598114732217084309470122654740354504899989550589587086800955474846724865944518187712070901699984561738276637377936342343508426411705251122121064990888426291506176145065826811098908857662182469111545867144806302023458969217006036343881391599813538455658344035955833273511469090990504985088113071214695040350207069257744752401709078763138348206293674325072656494219614347517888567001471456593752838110234430184613139675216431170179023288376944189669539432918769226976418448872081059911597656176000790640379395912220669783832341090446868521634513056612861302839903449447935163514131395893960492427186183389884493412524842506738571058995234003069400196200036148169311185299428656277378161214678402961202930627198425400454766740523374207896003903103371151015371160457075896374226887737974696506161218720820453662917740252090127110026080823874978143369988951072755001579649629361097391508584739339810001842789137604846511311879891283524340765549615100749897694776393975421297964199634391277263500725681739087909568603210669631303123712245267285796878395138557398574468534329813188417225126646014116259909508289495207527693746150618387703560536776714238488261747509634108047377732289500777505707214874420680043302804726891042229049940545411459489316818553646925533583484632775326532959933261245027796022571492942708689212978784049305137035852274023745636989673942036310002612028767743154660259962048992256936834455047567510727712481741101417334071404576859035060717517664016936188225033858325876337751710183070739694165627763374163039493404259689020026247228432675131022637955047215752239288671299383151114186963503796095498106158870900259634849702874892365880585361438770939203786637922736726497187467180955443166718165528105356250979561213874681643693907612746466841532691934306462143099293714820892849748993422774191404760417057699825203755789247940624213575959080786804862161979157309374569337179991574647995902501537168425100296142344159749946537753370781558654729737741182651979067116352621701565026399217269866968653275995205536716380477319572193084402897738035098083520487994384584472239650487198895505751815135570681288939658904937046610823993786896707733662310952129989104323122605598619340024266115226978565077921708317044190025989374239566527401625740528915785667041467496050177989945136318920588086695446879371625693040673862394409622725470448300124456201228167557024083892728162658994824085435515592312178868228066557140835639240291786641663404631929261590803139695242244246456264290965853130107663890608209806120845113521548142093923300197933166477986771441261453054204236429251516818047998886996991775796966701119447493486193304076752704420025391964698628602105890351970338769869025661222859866092402842334089114314336041375687669646599563232717616481755923747589666573112170376841336525111727820328735581762132903610010310435965301031158212361750706533979948581551452548538887354282599349876580245425233393327370624244262463589879451944944420670177366141554644323105245288297433325345596629730915758154975334982055223598905901669589910052554513958661550820270967888284673743704347140196509708510614918687186440554935614143210415383416842554875985762732190395748865265314324456322798589198381565292738947547131326683328052931126545758292507532606217040999966894155349396569031393126465238657000474854940299384964626623316951640117805938610259907384244225444693113475076882876501992518594921872324580466423254603532845978065895731310160291851587449873422814207724989843408834751399585226254443414698494955782046294807329845011454095922846604372928902090745907097117373832223763864939370055341750464471335054091270622792709487888701851137447116468096804331605593615817598467425327971033540821012942856897559876538419622043310167013832729672186297907296929206907294095972948108982297818269965793291989122007323692391152607814572200011247633737334588921032614014057310294667002669885020372678543987702299939776878160814830423486625867038525306058308820168986114015425209922456787395429551324653955149589370866631540351016478672269482159928836390738366667167491112448200121832128306813215585628789769813680753058752113915942464166366876930263805262440212642615152567386424464764147517596933429624845479997461944525018051941595527587373940667807795347017077471474649632700067754338140664724444316356231043240104258112850289303790107827209470381575762414967245688311015767459907856813814991004477632323311088640475953610612783164594048951855332855587092039090200546595139427441956756118172046218697916645762945410602706529182715875386863751123906310916121063101263325235065650360800375327224004044045083845150707077812560782128125108236393970993537374667200266907240266166887110304956120291658651881676098943930370173611924971181216737735068851674549277319613223038617604892167959343238657670224757239718733347681152025623359962619840951564965756076906129732646558872859059407000369812239852129854906701919492516917457972632113140431613506215674327129552940043122733712824391816415964185434534395701593886664831263334968411280724637074150128394164449677555952819044651038241884295116344731973445084279767606919453169415178499187843215366518131932001359222368108411140717930269746086966273260387806371319037297810139667011607664872705360020110414858570074070299347022074508755116162665079429878698217192472952140987603354524076011105512230283987683314724872069651139419250492411470507504517497476396883599319844486309212505632160651507338434578599188279030636368324529029978602200819537775706904136264047324304722453212930993717309439716544346517943864383758491553682282536961689791787077611819890792259537279817938586813748771661242160329345568654624145701925880570046923581716181074128355089356746896934054696390528054725918469185906643655676402946810019352414772765863774240528471685488183738668079843969889575714239405693111745622652788660275858079445064934575370233784369903460929882962222972631991540448390502389427858095934104315066523378045099800109319747964448319969487916431314213172410612660026213496180277871604875763766916895844151453771264951083878450686363695351961771740948095246632784656773838620239960939757066625925676987588846822870092045012927607448134756534430899525345078291581124067804887732758842227653793906549280169730319417732976996216187035097441551636498831056710861539079279158027815270298884792996587785810775783251059259122571015093081941403466545657037232625951081287696971221487991806611276915074939010867062999611778450299030002875438205488369313774223591593342594891141515990071515142502522337061592073615988184080847554344354045630628903567665598463215719495669433125150325173337313837146315330380237898067896683106942073461438802287295223186486085255506836390577724900236707376723306693290482340916848672184062610401350071875984912324650567995579650022025094681962818795249878615687268928148708731362213716210838318191050978886978115182620515258831367742657296945858501982996148164374761701182836222620770666509734460177531723486460898262911922320710492925776675795727154833849766348679838448774960166199752922935938960120000246712097618171771387363597389504528167678917822469145033089908465621333311125444176770419039861322090201662770979487959244450748125512138593617740710237891622930858346003232628439141966318793755128486197246024610177062946092158588330007394203162527753208559596131459290380582859288020201922728312735466042259769886255251706577990683203248617751263006414090514593964306034705740924158994112812365989315385254289788968593108648331825206127456439005098679148079031498061645175444475960071841693950036397098218317836950943284795434523826613567383080736998255183794772189653956157199319375780833502154083364303981222692027222806608284849694791868093218771250078651522286546894387135444546623696270945354091901355762284723921419287464044886574513810843069941071591517945794065851262442775245079388259048307896743994717567078177377564010543055333970186964031528842210929768392430976785335928873569872610088846873158027679346132198209107580504287876555187463865301623093489396936597013146744172939129720381517962866905762939778516724565958684360528470555091354366979126747020764102480040896082090274701612656611033369945439083450428266254805123838448438199683506092269210201383882634103034811175282054542596295226135194145391340592710448270782799565706650459920690034550883628254295243793746999861519889342223020645137031837175003354866255906908269912137646950911834898936792252910940046366560068453434553072184132999384702817946834021344624210499578729131798031119186407420708411972051116191578526299775502537695774684836137597672168027735081544120129334179450946707042969777774058674787535730658195004314598880185971279822407909974354523552642434355492018707192227788205567415230679774450965977969643727950075669350632781461242345762337459396980825717777322625441923515653345140703268454838264838714501892548992020677902523981309392028758428824596859596672939041661567069428369006509182316111428936528918926365890052667597504663434626071537926683491038467001921056344677042205691123091659754854991996159590850406986873815614846232245952407798687419101375507713853228574774590540077100073718278831102794993164150679331605023505646676278665790307144959512209862431556195166635459497808682584103884117650633156904891487503890448811249377621572777359466157818717565786559653669172454533747661815907070914667822045035219269700712474985480921357878815708347107388264870957516730509769064065375298262317084820074380981384309062656529652110159666323810261336574013274174696842111454934106021039814189260787917875031454078658223237080338638602935519880139762089238295627647194528074664431347688415691186651122643833823465816756451146216478768826490569566755117609033508483094215809950746385324749280700419506742582258233684917595604352766006155328481245534258914361885761887856520980229732603780085898740032461317176993584534679218212643000630344975447271056748162414132216675678325524881279000335850724587109026067005710130412054191229412018011959288021286462820203603595049208981323817578255752519549824309608502247645319060320332892762285491830822676033270321009495534984050904772539178064015641672237349152229444312940957287606696958341229285261800460801845094826292470575246555691014857409552272982185253920014575813514556620578003908740080635498231102322610274629236484556611804249712356304545161684448273594975071065477145372068542528746623284733894887605318065959636260362081415281868382758344088632380706266871915767747735092621611502016025919100745199711654271955991472453143005763376637477393567580325835696643928372619775703777447250097510082175986871257979173383617558163589347725109388874313324116747294284173162731908090191584068428432017874963822017251927048673738892710957735124016244362687778968005139035963355942359594878205477146730609735651456591928250429970306109755353898882708922752694784897486685724251752125930560454473233591163268794791959221228942445933566416758134988481366685466292949102891455894558524326590975693468106984915382570444272841820330971748116968891448924554331821665854253874506712901580630437715148138353028687626961437253616914820690427253395744424218588847227388017198845885372475430822580399093846114304631109112582136230879412957753296049818997641821094738964716216171865388047212568901186061787589462399497983271530641821736889400620334300906131718841205746702952536371398150490229633004557686124068844408449303642493721910489371542140494780031676937080904990537143056077502658596197660090808455505787290263453242726562387091236823265486860448630223103147247693783619264844150944650272709712361834173587966329508954556535142238755984386670450899370330096509114814552884133356019685478676973268159347498997977997794175754286424170462830273573535351542723552804264327582966738743646979399421339603482894478505765331789272714620978881861023798494129790716982109672544702477458734232678214440402648512493438779146091919374394541372476461294086720350502158909232879944660995602655289790779906004743948302964190308411196853671464312475367708366156125438759536213947966908705811744484695386041426418513392276737083964744706656367785194037060991123333252844782698438131853177587391371075012518463790457799803040273511106329635247515067757689984244518940172267583737403079250833248735883881435919035347827288180915785427391573108495527730619325177137980974718633007883315093352150618487010836619782142875302101824009238862025358431437439030907031937607485491855686344520330982679428447914086217454549182945019051256868051677833548967076169106918480890512960398747657313524357441111034276895593223675387035739035309471907714326468453986182173178842046637343438848738443032499792102194964774858211007963701950677352895909487491808713291357153012892580469333859535660549281684513282865544906006623906774592936429939778630469835279509604002954844124052710430292888733900975997620611519160200492756538877068360941518436826107434680849575125149320639057303860115743436012004757045191766773984569356860551081062451800677162116511000235645389555923450106719748823319284367584525635974166536437327593818763269871158307323813208058970980960379443843897133509951459158066550791730330961600914335857310336791291258652427425231553922339119349883302691663629264852672949557605733835205130555541430978869445041227766556182983339189271295315253092648033953865932879985815492469024355827773549347719565971744602966346896564610355708742267668416614617939425700054192894543073044980934356719104418147455787606355140089876228260203992855683723341318305239229547660430749291021821847566900595219072850169822811034874735396317770496499526666901667538933917439848486471433731766743603818890172691754812019856034549080102316833234534187451762466986950309290841718146155575846093786229885134509515651318914543558624417368920783673501224955376618465046056203890870930807946720309890617864316677094552776790419054525299429217756966483594114578451337040834511465006024744900823813187719777791241201415699621562685596597546072463631363458916197273431040034585317178034283507816800234995396689202143844899529702954767547014600383190461557940392899679781592408063320151757117735181365304450179929632693693829400003341902975219298138102215240360878017147025473180866974758735088769038850298403871289630705336164041760666026419189708782538873848307023531944166564868985643607711053668896873043091377955998649946367169886852071756898894271930506433940562253096017994383345038800989985366188512662333546976756502021849257913871309716578145390524787471568113241863154459506966393608920778594709425232181584720813148017091449803330146878388526608579732645389878656024784576257617347911177649236604809699578674648580778913262608303279828188457393650699435722056931384061818212375705326147578467967028618180612629193868697460384161148099834438977764936454742446642457930547241782063297479129830314974104458780995589676988449095346331923908663623450877045891734293338933461233327272694923286045744925623423123804760839613930248136582270759867750744547461320711703222136783432582842714521598798327470344836555643871074943924642682597178818744454707881221493774144290334855475541222722860866367854594572105061808928097559238483854187666421212388410157632416590355000461051198452791830616405267609404501878805260742327559831612815856658985972661495976441196787308630586164780121781671555953065197576964653144273133617072380300698873057539520318421233052370013290838444755462077649967444350165792993377615969806894282380072316604050833175576412130781030491865129997429697944534132106461484875290204689147957511633178308678626946934724343336404028106879131281744318888366211746468898418373565380083056731002148955483002962004809438511250709786795391160306178669095542033623664835742024215966368353998020754344030250332436495289734760537289763968292273712228742590904783935716575935324292713133661564131787404117393262782998518152573360197753529767869280969893586290236830373319432116572847250759892556470334054251217955289699982474029185439202500968314050056672552115821014467600429680389199481239456527770446816697625167002149284356280561688996540184013268444388242548841258447221403337351837156645008858176679769267339147754545512699540722233152739587771212421119354947682432265089966690803790586813199980757731145320510569770468838194913134970855070531527396729759201104543621092525518769040672298862729712615862979437586810960882348379381210827887320157986140635019426855675043910147031913917178908329186177605047050469465792694512649811922230364964109808276087820301369165589124806690514174092276594174103584909619924123861431239545576841253700811760185183978266274724225703457539441064395324340991292324289384964247424287042424921474024614092495799862322781820530484937855540724443095431031732629057536242229717298032781475880654330723712666858023150840027653748950765198209507826337681776691965784662654307151991930556387842940750153039945225153757570302474232910652517684276734957703707542886401787130867267183408462709109487589983238935528226491348093367534857105939394161948181260224278021939181235360386236000466410546616538522843660237543836694519363756614710564484409466954842617188520875170126733663796415878761586958222982639411097529083576608904047854776171925100963802511137666428382396119565771452938660360629780374434340931677004288869117777984311989070765445204454066045728859017451323712080082711600956842713508300131670991959527367222916124811863474085563999092550183889244733170760051395089495621931898133881424315137835401011320644826609399900653368109397338432653769520813672513931780104525924079607541420641847795100519576928906742720457801851311052935410341723236844053890388347395104834086753206613088056937174900577835608218465632263762973327781267889622040574515435935212491768970665203517245525987007018943576579850907302481465981043011113813582851541791178185577248520454737541535500641000597350143709040815505736576837703607251469012662553589467781573452230052003223836177750148895857709462321413239129558130406017927382098660734248718869259488548936272336304767462760061142802336748096631674368811755474737532101795294
83926828186546124679693086534996922812309909752522940707111277637849030620797128165373793915595054781922316166085168295615915394274584729233959393516366800493025682439910393500117137461039508432405770888228139353825097850022439389514578924173061350295150786879885809382981392366300187490910512413831303273703290908221476514542209269034454121366816192934208238524578627471339677267054723716708410661203776268551499979763036747482020288880743273619367781137593942348505076675863474589088191393260095494460639766924967431006224445042160648827476945800403995346301192705192554654398684560871157713449626106670595620643430228835429549001817374372462771808494596807796822977466229836676066046508574527718648492022978676103728224791872310778282650481554910374586047690578523955953187907305434887001530280700014971477372578141079091448904100022862350114550678266435570972540906038387959201494000978036375009758668650916518878533511766964434542445473590374687637375487400276788236806822581557680721299861228133703296722845943852506972706764105584010156431222574356134429662267716547827124171615800970462373890061848911329339909197511586486501780201025404138373998795403241327202800715217815144410327591694104568409775511902830557431366608807165208171038813268284638434989078833855403714219980607046189592880866701096130169539253274337388827917074892718039012823708775343955484680030144725202866902291748657677581474727883608521295666688052135619753028628249714332064746227605926255230832808411497065233220851554930738840619358933765045782714447759290068299090188786976247664708986342337156221746983282121616008960719572666511524983956407163406432361321448238899613780694726292340799121749707303337326806958407957573444156076944944967339605173831348547562786348418390331526938792143523813204902405507397878487826384181589850797466378071061666948064065223523086792465585482312891962616679816938583362547572198533398018600064977651162806662223734792780977785151533974623973326967817541937110606299994076992139678626030172179001840103276234221767026786512743286343361243459916433808267642186739908882812641720188156723067965184114102996379659845111474870974434958112013911860674292932341827943268714344350065827557429750565382035442509544950655013492869700596482171181816914525892815917776414347310749281304442358410464809462255360243578657780225978220680835798418167495317270741303501077521764303072164370415201619418525662462859861827853735715473751318399351818609574053882412373541257385601722131791795106338577660874506689422160944388754937876911576704947573226818739620859745799199610762386331759039108183997311676570182628254328475677898448942403511040539558963434063731933606960783621878285996811048754554038279040721151683376267796906112658799457080786832170784481897546976430913419112212551193398332005343235263095210037340183132930146374358899117234452405158967140427400968314027427090848711374193861408017231540667291856313181105394075256523862763490121306812563399384643991192457740972757396749911515738964068246479273574146196929254226966389545442444600401685877314296767596946134161676976955985118023789914993933189210559055454969038117623932066515753728587215189760639455947321826313525723785995046297023234814842346310092642828630916789435830531130233773541848181634584171410855457934131034450316829170713774091521880672226180248974060441653126576475148807230947933496030843671468952836526899894708143974774357910731164961932552673339710612341888073262770892996663728112545616611163114799535183724364732701161356853720031038397283716299276438178111837801640534638919448313580324747717521795787054731056664425599266760740258958825592567982751920442202688769631767775513352449184281227678006974753477033116719266318062334105553177862257494066941125195167042077266571221139404411455230176650151026655247087653001857799952494397097661974825566111288657243657298545960294383174703916034802576430060317458854510941826516977723359282172045326181680703910198033929150176174827314989458580534028938180684920109181063083277949572622449581579117865765678645075703995361502027195610741841477144172084701064277278679526946610661479000534222516616583854947492943291046384079118516655658250988230319892389642872158709236254392469827482931591370039439257342829254100325910710882360786346849929137924026781815439405897867087140446567029392930849970773262099231629156073427591332940419538070598425890669032971601005073169849057469181755922885762607626293126856494323970549941087083078819930529392169122550249010849899993923219703961480972889279923329294274319434865548871347459762055288198069516402621730023914558109866451498447805672829363145763301359365881584395271975298331311558420024444368984728949797081256161069000631818743133292709223665203673639064541367990008683107477670550653123343660489064588466971554640401701366413160073208081568619125663684791027310717443978614869763612798754918383614330011588413737143508807016064838439803618331192529873052600213286545757184764960296349376174477443073737402152569958912890880113755396126757502895536169163409385930332406273369825673483810968848320894613598534168035933581823145584752131581451552846644750972500953097426350271019514091619457390718596083876957140140278858095639592151500462433857511361704737310154281317166974453386870517856583509106108247077292724571994236540944003095816482669517615992615514479460368724939097128731635934726251958093824602737348759386351527651771652515087387659423441181778492161050921983226799035211531274021997370709301799171336070117879804004210354913680062710337469965006926630302515997733541991774473818261093162906573615231438509189045714673084222377709537279284641594673589663342852079253770039228799194005128133381929144867573512663419594548833689342905487743605188575940498428402455028630201026400420676026392561726296004345245065507228245714749523076397920804800435936466432712331239015833163571537451916846728676351145863621714556076187160151186915865949094445834520221162171604652689487941000786137009031029110038568489333228382419945091777384653229467017979826627685330676674634991934041468138127685922016194010785259625637361476239983547901304838236418016427095631608680436845053469682728375536316791261648572764759346451388912496628689282748047436809915864124485066187747922438663212792192848004203029768054068801741767063297765357557118434375463796849134432026068202108415762313665384656552021757853869805330556991407672267180545905944910754245978439382702221159932112522510599150006022670658909094652338952372710784398404536268908412632106183288854831652821281788182003746856146470561400319264845546010234689162642626246951869243881471532640335366169308299707334597924226726285714398861530873446940291675451356553657936206633030469684757223753740366003209956363026576201677544562988813020653139530858762453398129220789117720424304032812603865824107208936206281361729280157015445357110749222731745917530081693431572868166689454349377005406567206319369226649050471243978422252394300641190376048161093772303057172435459861596536091314940300154137342451366126029623963536547220061718786586268536987800397256588695091764007887192487008607389722470021232567951064014177891187688974740155337317229932157943885425332417825142597975718546587710335664588764045792426563735424180900338668150788865642364742499658019259836976329909698683888503609987269515751704461715837332222717063771682515422408750475397825156939205869279162650819200044176465276921858213793984762613471877341715469451081039007595887061034534273660606323999080846463240733733031980899124756900442659644407477800542762631834642990522018937760199638146631109576160722680703756926065497454229473878569459123231748310233653787558562789407765277771456024024863721232628409202738657891577541683238905194904433520614914655706134660994011005090177514984019840026210018902176520113862472386589092271192519917394925905305684990419539178837538645238210355281626102854884851387753304931827286145712844042884786556772274569906412052949004356157647296488052627059839995128691708029915560268872281456884188160385467479756442854981526710348550841950510054070324267211379828911109104071759272278920550021670434120537267693295042063872488121620359236030188429974182501042757422093815477962298063637645995082679438157005156743099483205728831903436638515690811560090977777828432217148981378158797440294975957163606124454349403274772260783667717305809569284583747704881533030622401894815676084472297622304073782167680013962045787375057023754335468601719103330224633394346691699724353813482401980330391336610064762850909965393976744463595733120542051585552656631459114840218399060192333887934307367726560467908654068667439007849450684993484182882867791735705074113957416980340162753496650639838790045241773017372166256747648807978807425584332867995069420875022969457587942254175757509810182704905518607629586475045889869172675189291851247074409313793195419691905034174857797748499325080536125581968661654285163311957276738767325428745434314187715171124864385603892967996257180871708520142679451032689025567992456170788810887662497839466608674924669671468138672570317730144537394727460508324647178198627303490566354018235570907287408968124480368492267505417403554724444138646524885228615300604833024022425387454045684986599517486822134245105324360422858312400952096015501477213881303972214482507834481554614797355940404064573782263262735324454769125972499357887245669500432994950728699955358233598440389313420389091589688186625858586851011010857540303427483261925557809837579471115596898333436645521586785690900439346657011130720541362904223648719900056598711671565474529663577129858186518753549127297903153509309339602443484832303038655541828046520134430177570106224295748884699852673440884156891940701287759229253995317016842655902588350356983929063477166347910108508862245902692277639090639700749965497748611918052176581535283632619233388556782009209004755674360287576789200755654576317638486817892627299339586202995518750779889765555742933455354413013606022810563049088788349081139083242605974981289560069228997455269755048320310242373988016420478767559643797517696868808757460554740607435288574037079740109093760432403530191349905334290952501283229166789526753524985652658854036489007811030932113337159078531324047625404420034428109994434986805482146870617152305135601392315680030681227461190985851837469600354814464436747650921588276152372666631248528034941572356216234656434747964539138480420880099972783388973066878985764237793830456624693971963407040308169608792604905030965821077259865927644111989283801179908028060685900979651980196918303241490061176758298775553826827572932531744543993671393506170946991673132382581606036755432008214197389559321415014426038891039549887985332906044385492920604899230623126042676220270105657334632041879727223652508133876873233179677589828986894670857484237501603935368704911977177038088651395926513459158227083965150323440083214398001992441014478146245635432689069958010957128017980690542384809297055158988301564030194837860067316941488773413517833384145695958699600550273129585261779234923429743782273348513413319465432189845404001021346068909010008879184045822845631269628848653638837936505025077781817098274510774864115014164462377731134427213565051830381339408590769638338380408920413391002521504488157064012447023387804667373898220144695202317067460051927151311928861088608198357337157824822318006451070885968742764824819693366784506228114480674924263310812354487546684333822371073981483271295599582650898296616032035011302624333720738792627262090202912487485781284222998134233875540345888402883733700514876138750061045555714680744966854553789565361479982240965135914444720710803287354016631047513835071003545704426763840547341369591670615443181045102143899577139311087123188356427312928204208521676912120369743218525506206018814760234409312033922212905806218516191401690562739372893093108324839761459021067300253149381328885073184914320444564337793966758922763100602185284800504371995353123347870221155280799501825890195851808895666143932520745453872948149094784114311963674801297360156933387838008963884243796395010322520743126178225049481188352946315089339398787717600212863391300665747750584868101193505045622273715755007765169213105021531645896525871261277848685737222035944769736627578396196960152201517270976017723151160881991863507447160635010981652160818134445884487206010966920206352534323256292017823947847845576209145946033323978906901480187119646080129774893364522267472729918440470093120791571185311262510479395574207927706695652839317643982924323326870387799410711569660988823953462847157168577235009424390062196662422156330244140528860458568226214104360872226668960761024033568559586621025915772409166576786239784343933594280971737369860267237973815071331082269628088058391877222004836570761018594281959203575618582324206677982881938045110655087233462968468525965016429113396052205355005915294499623133907666407460029359441858969411914235205159302130855197016471708599253210606997935671881660402503224831964382933824930979924001121331222432709034303834849889930857636274557937298139905663479259753934213139186403896109804926042153051317245488051619304824395821085724218345767057405980869467075777287972662872191659370795509537172222700213757309470261267803865857740293457357716006268429924091675530341260221286571916406161313500177094551397404968269288150617525475870351347091428470987687028092573490031394788642447010511987285170090594895227405817703652185607549954241425136734227658499843261126091006260110620810627446058030049243049673460524736359517202501779004749885802258348485630898729669971425487383463842115637125131497608216258604669914968580932531315887729623137808781345706745029606079446802937020448244384262260830137273217593883776765806168627602668915568107931424762110380855987066694078241912955065095373309601105439872565343518599575554586891735625033154405463947262087734432268053200726622388767658643324786546128570418227416856139935939398521715567620974631642820616690366702381332981017239036971506256067920545061687582575845140591224770202643345138794520389748133160434686486898061754604310549107842538474400581649174224132074451816860572754168817708353805597211939254993182423140804287803899728820918459799318146166543119838160489546045497610039291122746584600406826581692916108460328457226627468795802153501801937363150536845714647304716986629657167035964139046288581609313080569553408067643044916156732583430433658029772086786878997144424856660638153310203087071526458462645348141932955005462254482390600252402614466380645647956508314598843238225254645725298335083392008760985348942932542028130761605291948135708279533376137940329269754213947574003341787564517773544069955454857446595119749113971023253556191456226365767336573537893801049721624892157766581850651828002932688570065218774121779970275547296216416742368236298837609620270022601276575158968562767334229424593539395215536019502107595675157169028072377651405496188160760499097690308848759649773345919986684021840892973587276119450138788267266452439719904686172521641479127143317827542299153857985463330349457601165945248726460104609273135042828169257376239472854895672207761409297534668276169544395415402107445994155118076120224004140661949411939175893765102950115037898849680408168859932619886688677749764783660349631642253070641113234135860152171612257280237654754924734016164965858111667770023049958123444090908555092773402760699575213611569545920842546379157511190428091481431527928612034026372815231280007202660529696463768636839656184499600616997658788264963541037703329794825885449629939661739356866442846986845692294876637571599525398682729953372910088518748620430415616505163219474859472881113773201756068064208211368970666554026405465094614237318695575179171564373093889535994037044840289184829088714898892392059582989371516808972320987066695366749518845845620215691339736291096359518921754701511047801089737552063525924321553722529439222599440673555674830046343009965013397556343370282524361127322803501787266862252560998600866796620045555010832592937681726954159561987882670735937372055981758911357941456984592335055807049970647862132417217652385359923941257893937871060025219505780904425117715649908851557063029497354656449641705700174432326664687715814089390270588516480352088517363296007235203291518588788871414361504937830203348639193598295486608702311602118477501441532337962720557330034257860763899990149152257084651701192188391713502510716971039760059960911193553348060867036862961568720841853363810128399033594754552753642967933026584425563098810583694370292430667348961101492045229611382021689595141666082060129797056633912724520663729929530541987439598136539164778185737237779629216889403149445803388651261435889941299085602907861971482075858129642422201846435156132979786439552309584506710944498837504338034816570868996875901436225329507761846716512593578361543106296344437772263515890142160231271082791794114856113464151264988162616230242545306965479421174921857259511768903225568907608207636505077756788916097099943423211563387073870095950592698431110354542453038618636512219689802826177743631327599502055707977061284179199977312445405685979793277888423305283561696382627314980473587698819864762531262116268047035344892344680540045733997174385959778555827387297296648616026220237600544652506618517065105076520662797465532151506977415825641919623614096140700480676201111939828591982308402270322835700777041397091793812220883525802248549026102775253136890355785350769403129349905467159871539986755267324018392033710704145686531491168596582930771700271333218626913858617387416113738750709562473729279270640967729611343032565734153326655461926267951557942614267072723457103191950884188965968726405060686124319959047480435701288492799553462722684732366700672608764472959198448536716311373735855049866047163683705262767853088027551875079289632378921086099151651521419793169036834423287269396852657298592578968295777597509267286687675634719667646280923880754568862088883631967595762709382760316823562747595152083712563491546486087882940285726239175195196356684447450404779836185344191963342586625660459163421713763446184166263572581404352450830581086560075698007823560242371807292667645597006454906318937328017203794591236275411788577961880390330312742090610632659484668460807407600621465622468947426862115737379901798676098060066094534930715444009730654045502239877753848550299380209008734783780850095173327373528447066497147143294992576652000961572402288183803677283963552938745502917158989773714172462558817789136408928209959783234245234968959134645785835075917391836971792825123627723941657536698483097275329549683642212639359440008586241096102239363359851619253331800770976644913195338233677653278306632182960544721716596350239738135604037162860073710597898314740088123167112925467740214234347563076475489394841423054815536622156279152024482421466156719302629885741266234451362864018731244531621428241145927107388687839730188701370078570175522646214976827021239767961097303093045580281653820548997600152411443710687701551132779681074007345612659122293804870689952928420304659111444554252123134550024439007194737156662577773197085082335224011190836241548443074795583439270910037543179342015726261277107542423371363456606060841417124389587886361995679593037377031223664643181852562586315974844908368030355353049634934313695410388634954690337640345981236145651386445653898209922482976516971875475039675374524991667060858775267884601691295268184279828133876667980864681680886382725512804109633562615398881874791703275924446033235883826828948200499625016231862372189904870026429814481966368982195458192835074755814286326378035102178362075599487841688195410866229889811744917219526819646635221735213627017876734775258978721181533721984866158404535433708249717217758962353415976029328731794230168055926510428356518221437291810535712576761517241845142981068741266023301689732263682472116023093426368007854523937833472488377091118676337661891738952468226235826296621447278817178891835034090107125995018746921303653
35750244598835141058146469695555635981095732263276866514973122080682706415235064494540114250996188948734569147059356020579223371829349231507112411873695772606043672871951472381925581514731420734877969047126285784061723227332266177754356506026330417232957623392333973847382148615922112958434310836637970520780623461997077526380536082532816867769660453489088068157596960776247440709683696242007408583088074922999667845848704976978394065023231803214461765012285338238846238725386492009134838541653879287881861005514821809217313295332428632223985017730366964798441384954307335082021735832383843870621887423434493095761541557653915408627728545909414275873249032742048621131242357515643652838372109412859562915523766155979324496532465734254497293973085370384516337593788904677290373661472670562463214214130090412420567537894072235751857489812050778962045770789522864154881099277934144227567044316838818554445091316851108058715301078220291776780850228186367701844055316767813788194279592770027698187311609192625587669354233450308526582613263857005467109348158707421672419051104218579613142968889772701697403141508507717467587765811960423815107937275836136977167956154783608343837498035886823290765973730942577846072714925334690286658925149057648141979399565811123760493685132269220306133479660891497385792393255562610591455899582789456763565778061730441809075163379686819206456196226146105003458737047401847113578240108393413756513033661760926565174842617456965861215124388195028733396847540212762239138406249072344986699629840464082771454078071444804430919242706457700582767094559955175208595629120955987629376435265555807712494258657699784561012764740468901020071673440058410336564997070735148551033848993391801791031841764655521892770377303426803367113801790562148131832387387353616508122167954227334029809019328096825499494651109688752949042463506767722213637035272691074081351019572375790290266383288693685246012675500184819510827045493648614921365613506814476021333268936009391722424129715693524391368351964900664315501896229593189047956653752767347646593206063063226650450534013891547997364561478197808632667109877613052340355130754868704109746780104307115336422894165806403375810901410948480598718124776262966852308733548338116309172691407487078281980357916982683419370600967806473755971986857632052116539477470037740296355719389032067470259947611167751960442650333975447605323356811210112037668796707973527580520839270914483527638327673079624203741551621211927680819958345157448506542237845251744825560672429195061883047939481368993684380627093330317219609250226713284545016184493850382171000601932297673387805943749862276699026516050285040083921328756395203572827845055876784791555784387602033562576355053730144695296120187786187395623609759622919978142019026290231267986875180360854730097781920453527253478271678575029091390818789329549192736332574792239441549799117071877638279016520343602815224840988318671127370888429643623528285989696622671242276828776280786322005181625099866174059130533285593976929258951266019497062211088296117210377643575104703193938964403510019454693887486122206374631447718289872070405285771237900963483003462733892240503056794116522041910337264565365695584569916648813827790869009074713778641990429444397311400974583110431455269968469906408048867181824428934820545999515872119172430300532243262084024778733084556665147391647937886043562925575045967165992380955247595999510983935590111818748010896590020164592004875050133623070754851448687934299577956737909309663416982599766539649818907947949867917672625138777964886732482376743873371427291517888739973313832586367878676488288193896804433592454265191236107902329754699641404944078779967385523336299675319308331506477501046148932080607377429190048185747041201094592788953337598596815129426634557815121985061947233993038922199389574594431434807322837182434620430453666310090584376159701824730669527108064270083307694081321340552842708230600260786623855879058408667908573132396634303198007402395623590028991959698927315312264384634985422302293784190318257918940775221816655071093944202020921887768410799585864153588732828949534829383686475306786489538741805321870742501310883971821528728860561962245330741609113922689409039444088457345791768355944800365433505172652578840523570085482382294346733259817818385992820676548858214834564546784810418338082291245350390692691671291161454839654969160292703072780594984393408618846933370232571279659448108477479899039186339284675686925504176470298596672740939500819836453844416081826979579087293913199111666955262744166154613571131209482085393183451124124360306927820187269888677471880456003342223020566405570826072371302385739181170525721605367854045351503838566546735935136141962256164160692719736078499313486082114123306170477660247772718425543943945709503199694532999795261277751953761045689891049625965151865649101805107313003507733710838370573734446383120153766201492157707696247704703556723976525817618034246114096047836859505484835890802515960800101337405033705931547754098225284311527229100431115850136188335494834260737065363855428357171581939833264861093041960218621724890322724447430911968543243444208765615663172874723023790822036443792896082362354790175968759623964446966614194537199179057713450272931569678075131831658961903586071362315032686614204002747270932591699276556274470242770575127435153711443824787249290751652188870386277475319772391590421354566354150833730988969708616403550098612461434126270442002760634980353582786060780486369106844230130787040820488304434965896882415205167240291730334902359813200551374794514094471989030616718336716716785604681376872806903048853226598609588471388881856717453958483973495588719175414218446359012795668514358865444926106087767732571082574662669898573092165148137492987689603128721919875426643562390561044404857155323772059705115550129597246392900844555209252716484713894663891864682393468044753201188853402003689466016548058284835324260859131425295942178854723636441072066465541073592822505698471563185094854368503906667921543312389116241067438912073508921111870510857819035421599786028650180481728321461894124861557289889288781889876353267475298935720394248368183538274601996474750155641272034402059669709638614620221388008595106364386274652671027467736045587359339845416877482209182831478533239875205020474847187203114050500434252974290674208182453115077233481636217960992478529019310958323608695110012147143947648445095285660549115068428025955661373492834502766204070148338586545818151866225440759229161781325216183294058720596378128064724701496470881753949482699439361385475396011313230046302674485926287906692695415288856276652907253178405888406888746955900030354248570844106420852261637592205033740479155889275257144924150773798596387253926750547602208273901830969560473013230117849422582178818440884883383889001558026263799904203158761255713850798839267761983964893947906269766751159510748855126220535705865003306801009612958397897998317566070301838720055907663250713032987688195556057288404280664887034418179783154857498345589864403400542616303627301590149723800132475931442922459602991330930246995850177041107545539390079931320374746635505229704786067481529460874753343359826204863469836827128226727563378252849465724798242751310589341762963767394889765644063543044067338720470960453345709427737329622172807851672126045356506777290134155714414906414491721941344948386932501092442056900649346389220216609282165969816333941224387910359298467843556964784347204955346530588374656549461589773650087538584100537404795570058155261547529893291751623159208666967662745798874267007042638197530564224470286364636642062681882871837989668974658779539290017381163976756960100234478064498168324373680837801069540967157906459542564855693086681786609498302326576060708850823517396662280517048354601799241290761237576958936184064007320902158905514648419525351884414919622437201430977716044008383065061976192307999263751050477165816273759235813883904820674891712680628103828383905343301439778602934586752983680734423447414220982608268568417746898346533016873508314098225389052289934547889542701707838887382718086053532736003288549433795266060707337123560104166133638009689387986638391667166296220634441294039880537734177663430314804124531639393814862762538614418938603351527679375781227427493456314996873888522717530373662344552264425542331822850402788585661551038856138469812160300162627179506086106980177784692490713285068780147119782745692457231571167676951347975311757686586710975349332959650184460510188715428040072066381505772376688126777757241425975377513631833456496641725419571303690638885452070302436436419959529262148556569412221238442198216454727804873658019545488265184460985419349425273075840089814822455321830025604053429504905092982963324605945988765893162356788051962742771978538410672452289524380248778063198330512150218503873621562556495334863939077484829799803273284110313526405269593867527866867325579439168758946190575306900916086478187294686480693559976608958821768232652239065362869034348559300272257001116572491220116160410596402947776806879016050653676521612583027946668191562310642771451894758369682818990237190272199424872479638388223487503569952203896988345563516755915420275892315261196806528902198784348884458866720491335218235107468270676561398816919608305748634342310698425907724208939359121410990516450449303164578703980450390957695432944738164327244241113962243651725821412629016653291682465600149822250015517877743029103575833617377104870423036726861415920279543866019934735505461355226225950068113246898104239364856160752368961708539582230938173146671710890269400173317283049978045094546381841993723721969213414920320468294375821935308110410779575359496417251567213778449689917288041065638298440365012947649073985544058039464980554116675271190633815162160417849179310552045724110941966687120996131898112694119079679983207802673797456583595209623771105582449291679656080913184138990101583824042790476976715297100898900277904319743498727964571793105291750594515136493616714942659085088838314332703310125802273105939029566811255814396787987080771343186100941261955512773623289532002846155185313476325456935964631573320190345329944854160424110169232905178952452615490462340847706828710088398320716923219067988106678645263283282558408470578474840719261541832103260354716560664610603413681410283378739697463883826362081064771236892197496763327328131807261206127245175984671453080320207193623659073234475227558458525456634919839755431777323574372172691344741625198666668546287788874829859803578141771026456908151069617577290627209095269211424188439510280815197663118549804267737551296382759774847977576018324791072844689299097267527025106715774035678556777747619278959591476758592459565985389005980128676430833222849863380902355300518553942951533707324586294420302312731757598998072070114266365271977491319258374371560914100388122488546079361642209442347565121178650700272187007984695042247700481658824775862678315381849116292874302417862751642954467824467380820725398789626662403651392230762122064998374572205156072515897485786838456103458631953536849876631036131811567072701465361872566382724085553716172225326000138746338997688442775110248563474917156886798039804250474479012392586197014168193485854761334563490913402235647972134194650358926931699930088761680154257570826813000896307474340681036448968261988485028823052477671979450177883339817407971589588677366983171790763870263772487728530482590106397756497601238271075721191948603582417148653827201102791829840291700981085711637834206623071378406854647702595333098126574236130999059384801261644760637485620930439878509953744304503843033777262933760920094957927413593694300415752016984982777557150493403835580683095110058621538962142870661163391031317052382719702973478983299249996681403786107459019410023944452746667070886427353412841632310909559249572235578341977109446547921094534540549836325338208497135511853371198529664219471530823275257723290826743567571369346923829387573529458779570678317401516504758359731911477061587335248272807255318616785117904945628747185937161350999463822492900591775265820669033037057065132913851218644231575632220839803530100060616225522479810041810269953493176108606699596646790527896533477219477259502480261096961794128191326378080475350746147353622788864376122381419778048430557582222264539694098109359728883270854806339290626780883906785947842823759696640469041294082976930480642377707573522905279792835229628373792499995442546289198277672488768783147884685659706730526239508959070626591596584259791532472651163967364319756681266060858412825146147707318018297532826638747936825517581555707790015605782005275956474244274214610535937654216390522621084902922056729238199937575255322038488666802879095211212968700831060813585237509744443789979262143679233427345424106111875686222909690223543991813726820283258042644808843781627033135209035597439228390075372841515115933185935020753886683450673776524449208409139601433689226155651633172099239724060746688308921489478814917546259747503796160757059176683315404634454215643381285720720686279193257644040757719983280176542406858198081908085687448475592881329546242971844132811940034176632312940420816559702106018325696820198175005970042044281397285343869909295775413835157757376205880546226117754957338088754687350731534946098828567868178811360416693530002002295295108729953344987128583765380141957007962559454257842787772331882526789747575084656438823312343421009279152629124936709134971630378984176905216853848614360166129475007826994813772653046887953568256726297157378577144174482951658416724740832368581983275508752783570712230111849475091854564868068876056850126112186976843259445520400820933377416757308558429544822543014225263093047251312155303093649739832358194802113413367815952272780122651200227586329654011422016648448634769822485108605648138244979576035709972560880026228661916999829043857994677981300076407752872091853934967128074102670760998489820892925417997146059362121319588386856920684121049767617628043647931554316527410338803423595624006158613595143552741174419237375932836057784215177060941333374205095462777928707917423563328275854635122318221542076081849456181353826410290901887710021757129199150295899320597674348238943933374798290474691203634957528474837237988400718232247370836818414598057271722447528485186049884779092285909821502154278002938981335768044925490063953059003708539846291044894172510763580196392339000578830162204283970071079291768097038659183198442275369538964362270512359300493618204058980433258374618206008810347275394110032365481967773244289616608187558470010039700734266551028463416953067428405721928260893135209208292171993652850165300020495381213652536444438859781942314952021214426649378106851867812367824172019382507062811794990831571258590538780596293251626334555712702633314327986212708466236271769960118149109233529154716605766547958755170235393077555128888486628630167241933910349007762313042523609565888271765547020532227654917626378809589637655055327823197726413869957226127767383676954257111438938970516882735818116844704700082579593136133175533665261879113988424395489113277782656593453897072143530485076336728039041645345755405693197669851891468356112895013686599445418803680130350241142554294816723194089813902079808031298715775570974738764838689977211689345620700910863960282813613151604444683443296286560955606281862426287894856662486106486409687750218543785748389862473076660242113635720013318708177992611923607193000087965180907471275471563443708368206077274901159777272396987224075255062044623857786789284811015481869553125234974802620918459064949358863052622011262607966818089077269421021701274278265550898460931528163915927478345971779769460393619523061417791791670249475416180722289706912479730421554457727190208766995892662519844069070773144960723064643485299731291350336258481818482594132051445699213048568985559350650126115763402586948902460539741470806992605496837285846659105020567626981722033082992412999275721579341878967839964321908962789180616077395178730144699599023582490339445707935774331023895756208360212544417764048201837252925718804802298448697576287971409553975180580391362261637316948015604797748590356080986308138948277993553515072938177522505961346278944751715450961392997990504437667922378121417373613290494138881970050874285430922137087823468856194738910955884260784837668997680011295220073423906540061197585228785177620359827561218695277102563193603369973395806882105974639457969018316893867552302673359274940142596860279205997139394687698114829971234397428926961952260722823493956509716548214438224897871337076206537670426403932446956066772748365618743411954178159136652088768193383998768181788809990015512984097407115680393212393618500409589901169435712346157036380587717540509619683701268679681390225132996660885800539591452917841358044807802519073597041124508011387686106405648139352291396191057587658036541831392318381428434244053940197995052468129583136185509012998107470385533627149927268201131761173592638731414737993401137439085967320606125575199432661425376320243104784837828825388293832230751105536250959486931450054184890601969220632729165969929649424506484103412377237761699168777838678683381466888264154150884720844247346251351211140911035668880511177287269929773915140039725419379694726840834522820950737802054028500394531838119544542250974845644939579707024785899483736884454490411864800407274330983592070256479863585700121604996332131446991449702062834786657228705881709388284096232212746405145896024369880533090427296507289560614462897327708411481833951348634625972590810963265969995347138369989678606915877772563533868971913694308719609496861497286785221640791759630505641591166266627486661738087551664449035240220609688799069733681844987646948632570719614989308305615984108980404639465139189474122180277692153803941133438143506094649368938248919269537170331219146894237952661477738409831965984566146114851661752804888560147930584299604112679384183471430875848860938317882736514480761613176420665271075048284673004852990140731488337621242950619413289341137557486354156029759378392124630938820946917722181722360553295982196336459167729279762344878238441153787839124896711018018620639667197041373275139867257378042278213005324761456253664286558076556392930106757340831252183921196297652679515911534218488994867090627798332878932732675018826296238169961454048368420636022235657980479550909826788638260113487144840179093071004618876501014440817930306559019180587791356838294318471377363268223451966060184026582899005180718913452128181491976225845494848948492428332024702353650986636013403742432340738492102746338225771989463837369632231751470209667542535374789019903878539956578966040605689157448272424206826093056560784979175324446342629374694934969364190686613464514467823453900617309437102067878858065544815400722431078689628810022733886468603368548293870405773211705081596825901463665623637160648481397456681838154830879616483963897579529964189031714305308517444955992295307788533730833524006271907742089634224437380647293548025253326004737203815031686398070429173018577002792075379997112026563490320382717630244735987113645694466275393086868670538656823432742822223883560933048724193815571927183152382819517406480745726930261509750275565952765025211020538270389441407296372352109182565937293527194626546119514374071014086422361599753451040088498556765705860365347365148711217759398000979418740625300077077836292467594420674682773255366550778111475538634380385095367825429884050227401486526464599409256150252886304757412968941335152176844112366520440275890268886252416084849041429313439659061761803296109365568620462091705521692816583396015244875714961693644028418555115814861835068945507545563568687608640224280197807998374618091509422758696762888468101449039956102435353543224467481970310901809439205563956121617044843336985588404692619980778271924610946161189988964372075871757562301588415410006591151768521932722891703577009753169683451057237594436255478493426010645658878460140257981032000060959671377729185858531820200038584624198704397876865312379
49816576659396979094209451885435468399857062095449404534996089953773440375888449016590031256473725615798377289222806704570428462971785359904189245142553742492947347669643399659912859433933637332839887742592813740829938796981620175794533463532561125456082030198526505068865697001260651519538324635220747840345215910734778918460083232006839801055808799578197569189436860237049606396491209780692406041421897276754161465027397689900830501978166379462799056707389546466643544684074086786191526707234269935398270108517073266542912603846856752814873834629259170966325858177891112665551089520546991139040145615992143635038583824131834302715423012203707834557567202502335569197475077515773583849048243013143883806064587277599069681471138294331232741567973247321015835241032760717289004353196101305827667288302284209351809890104524675673488160151433729525344250206876957055537795141374443567599395430576246359919684704539262026925637981453194409517903125318418259460282776399236719331472317740934685524172183989160639259777182656488662754037836863496278653899661935933789505514985001149913854830518281726388855523253140589822793497964069548354769098636551836663760394800029444426717170861076189678223858634646098654572364579040949211885790499577002385809985440863967847941249612680351060541281473256444735660359798781906397700307477138826281494028699861530320608306483264147363287821762139284433240646681744473109337712605539475153743194042750476357583763525173439416254613997135983668031280452714579670521537844793176105680979966420463993610713006954750794676452825130126488888335433256541489949674616654372141169115063479181778877977745452087194846496900138037876660252935739649915505808689156614129317260634153242702939974596293246982866894950733524318432156603618456112710738180473114844749032305579364262448856149406802673406197228989063270679420304079423616205168175544885602487088768968677293207335572650206034913724867327045260400438836408982546223321012402906593508494457589537856221639241933686567900326657584655347016854329409262229601454282957879660989633954808206064212657812970235214445812504117977832622379687253386595279596871185252913163562175685920714437569647308861005213472639273216438047397063886334925723692607070766359382146779195485311388061726605279824364124234975459804088200044385837125700061211343795898158210201344407308519216704277387587329146006015558820355344565173278562849909865940661832805669888845632783015263657301598667701105377166333658685598632206277001436747729259455526246654999975307670374616779949470639086478609711842108598613266337843444494742358807621712477262889160676583457892145932849117453071266186021202323826792990537157550324515456427200316011126071397567210708844117165329461518670831395145959008700235492733539736017925618461653151381121639945840338259734207964933566840410673258571205142031922998646756887743901025724465089479861618701004474209284541198146500247097476194933603853060349735355914358875769157889585629710621695295555100225286375418676119221800734425559605081715486399774821949004798915819722034630811586523706963208391509877144930951306244449800560872611233848106133196241981960662802083575773453207052304353300436840422260595100959681128740986730559874885627502494539429098957161262044959343706147861027526464430037420183839165564089426300802690243184301867184877328562022976933298763367294186250155349954906511025687088685451934843946020422265900696257356449535696127672231253070759679484259830732247278927637375605687740183810365871702628076703580538187514191689162978618791320994977824740414854211729540171876135140712811772514519997299567347565284378433171444950269293943093919001197400536245960095739209721157642951057850558232554089417666676177757789705423254047040963735864600871936906340086944925652906133760908423469562279038770713511391125782121304382979848314885493444355551408569733463833134240454370871400395191269944350672044917017654746903703344264066086945444459402547870722983004203495201892926655266654539204778768541218269886431416409614451765170098099640685752813372021107307618876699916718762302950600154920945752946838454912220554893338407643099091650888874575406808404909935253930288230210373172064190786280603717143158524892220033769900809066834938933140257764801620027762828096004228824224674544394243376211408918315545189461428672993644316392018071007481260006207264021063783266778308890783496825094425002545020694537723057469050972221626516325582757654354809029969105601290986918515803518927017842154981215369125214381199317862557852739903679267370242898019089906750186528687713947642532243464660267051040509955140185487896593486938352601519930519116330379625993435024487429629750687812458782073477768536817721700171481608716338584211888042069376802321774188506501341625656207448019332326781942944866126236082985269817161299653024067466762583965428613801921486307125428322196773330613108571875545611202207277054670135843915944694847641038360418273364091267728259754003330954797430473278475129760377224707568466314758321991381782672635887158002093241116781836641023023242897903497541886788362119021902780904484661005225147636128191073497987959518446976811398094170616538822652321994153991075006360398558191001756160492974086323379994613125829324868813919201345382363157698762816819627076547145581788529278305864489931144366368517197694793458426350975670547080439261945338224673277294435170784714096965352722274467129858277588516787000338408425918413079090771547396714123683168457379879665821070813800360171903831262692369297632252307399637489863718426721711626027516426238480692581063940918228115279939158012522641994755814393187760907892398538425900702753631516161164864504752702914538891991077227606543045077993421936268367990015314988514054362955417844669672446394379888622243612547210461874677012285705608990033240708913601110079351456675060799937306040738425334078957031147418651163900266664906720621346980126042321254539046715778963323940519169007372695067899466098106542515415500249159131000459882897282235038884562411788438081429504271074524547154811326470724857672849152151865247224415723200529663749545875340567417091484116260936615543989812221548607880987596782211704529578650681990920100197536404661902070380922125671501535245687645332400484247350061042333127431319871970993059128299595431614538073716649988144123807910591772146118840659188762469346746306351616010544599613306348535988417178285661356531356902592958241918963091561240788302789354284581782435626860263242330518478017379514138349035335565304709241898775001774917100521808182200043761749682386591708963433667084093318863085204697808943517936426693685412679322031091489371482312760928401730000490680715363380574556563629042903708835980386697756734355419768124604353364456902329692808195522894720596721925285403654685109983324721430498764367362414025654455509037405383505129894639801692350921941207911794639626339405981025418107403525597000901016002085639171880975832360753900449575212397070226901371707478511749221765743487132271315603128159642846439254552922110082927222349658191162158073792223693129021762635555172844393331666051126362138062423924578087735193869233224568229050445111645608254106893648007490652530146588774573192149351472139005035505837042663245825875040943732165327372717109979050129067605066812079121997444801019414634654091577801222614836131039350836516594063245571729890911653247203713139750914282435552634687382926442663155473850173414130528523878063017379867373634411896133191082671616372181113934258132083510901111774664769199293187467908312366429987686188620262299265588596597016412419004654564929136154647005168355395380250707631895228106592485621296622556124454884580255935125973591668644099257356432348987450768991511457002232094951017013524779992736521538777944125181178281157724990074919974460255357614870102239737665051625024350983064843193551607999789888912726875267130662217159574740564381311525024509707354122638381182695221033940879989111016706292081121780710461631007199648772390087594370497121806009938123704635220815011680818862186594983612272096331810156091846950942987959903558261916394079386238701721267179178126070426910738574371737195146906645584164861251171966576617220954865801773985267501288881143313426037753146457428281980832288593719056868376315269378611846008902414867794924974724538496170451167489650904158084248292931567284612079170780281705749629643557520756429844353433395384898512866872650095513805627862875891175003971973210308105483698862845102949132465255203379060582936200234190633393007054882202504631005468408435384806865515325538501630663055600065570949966929602369395895834947641137228641227884239829179404209819456291405112472535464040159822720678186981493419420558490373011744090136878458303098209553589320316735628302181165801520638779666747342534204788679933894387453614119282307716844076019763655456127990768756517650335087654779892648202926901682160803643611224173334542979651219651723586698700691842342813446653293224324459777310509975093536668975017728579079365432803713314336107102158529525502020710729638573269043912697131473505566619988557590517635771418343800337436725575015034367716898380884382863765271829123930314244385281249931197684127962238523031387776362203038085762024007382733419652795339092446188835571511334872857655903625318616106319781654541719842968594556238969411795189484642526188624775958805054309886668929590753176210494125799543514121214745709079731892843988621472149771270505149189758989642595622689840248412766430955565390350595852020725344586903735377893369042840573656040336661638115189527375750402741128258516715771439111277014177400134464803691484666946246571377056528006102247067555158467099522000705260939121671458243807053581548152749138884122151632900578933111922179087902690578737953685781099737176950021189867696625053741821273097413813883931702108075338178751203903211655178551585486577941321097441909188081646004515549204305647599812975594030154771181453006282155139041390795119504520290244334225841432288283890537371633245255271893380042362239235911835787642772831721984916021191242012147684537138212167310210672729502553603052040469135035147276795953519813532302564378456465222778213669478731291612547289681604196722085297219703554497598368440084979139954445224048000085901022484779575006241374025649433671296912445069282026306333465122577068645752351607160897062651996425778579311942218287876283538668118532045611835618519243988340070123492756975694730765403026153122048975824697729484656734354395009835445882812465931345139727195307477983634362011765507378578734092507901398888808686893279868156081619389959117833406538771668656796421877932431281371981257690633148759797882252332154900425593185457230963585371926206973506612906920701211120966998063330960808750410980453361721457831065469582012534497065438673582864540485462440225862376160931277955470093582369250849768881607444179631496492771212919681008939450702270506696282167264723044898933892175225310818459569904933877434911617668819836126369678319675273642156155163310995974627107957292571236361607332035912130336205930506734552483201758899389733257719341747375025506492311826097068708824720692527792424379296433173966390072103526799301373153006728792883388441239320390979127000329918892268588084654445992017108265212016462136732514382225217484004347226064920715051294657211588454318752358001489782636083330675852081486206289534118561292528082333974360233702980372329363278315786617350290776640712066556866311708836569986835034977464108672600232700521926167405886766820731655511945033264711840306981850232658134199222756911304705113658521583231874651881408422391731508476700829217225514034344465752683684806775087882281624175882795173063115598743475973826127009897362595205409314474077004242080045686264304470679338985904305102993441595905224859355087099373889845968856195418032696494895847827304376391363118502756733840778456243150485609200491114839042542988614117190724350135224158013558169777840780940721609678698279602261480579907724522338616543238110655231680564298481561618113905999147262674678627856881622257420045594980684864351366286594989338326389335370360800244037531710196666890249570158816768636697689705510583534561154289823395309548558749223185951872308851316804164709635846064747090087697547210772796474357023332808725908510630773797298170427881326174657212331725389574132974107771005510555283681494089190329523048538964001113766613867689371056358675064583993257473052816718378559962907683171684870603857663101384662695549019377532028420547249356868641011295007351054812774317190654104049906332113002038439046195069914775022950553994364468901302974460821866776834490099708722097857299282267733221218856569853529814698112160268087045537413584206050496559245962650453127246365773976876832132083914090881819519329239705599245184966687607496001774372939179835018106711599221305190332356546864554162006035806208014215842541701128579354366387367191404525030113850198099499682392971388486834170497979173203062735307010141879411056203134332031091700835660633173891771382445342917096129267135764114127247449574000299609838480114546726964854901307615234644158462587031389227842972691115398501944356212151454336953542245714809764244494418554056278831736078357871534831805541606884540607804662750997988421615958716865564082776180440396351482289286852993132043091101103638458677581883869110057023075833534312671715598129689451586409011019316871388652437591021707110488894203473842367180647343283192337302994836526298330445615016471182745637897027977611048392442313076558743251623804026749969986468962076817792355503334734157456333714649058413472066229329993014866739739372063328380491000892321934429683775430350494570309442161322707386339503517333416678087449009451743324588829009545743100553887237706322595668442667108089999235462317087829459785187013090846049859932879670530913827591899616526836696480026194201389882572730725575895174585945121562520908948094217866476179864701461360089707624054853559007595778253291128411598448891943923931775364716755540115598419482153988081413727189665718472115409501357064264066181766812968520587803230713615669921644060769044875336086826145896140920150714157090406659988618433473613978105165035357451884465201279487887670703862620592653724049134057735663561697610661606037050305887449897739789325004695327173364435135332504460637874121813557978334640487075731037882432965556137924535772946129342134681219934282216885244348468031947384200793119147060907829520542896751676243951325330601278664829103230961500440593744006347577875547122928814913047939007570396650582466786544271341544119617660218672423053963678144828164801687690576813098557512037879806807544036497727736038194522206559919258880594989777545356960777374209068411941697208098532927544747468249183694952443451803661308154862640597763416853536614415604736201063781497995024901744810926456683204446004180760109837725971589706304655773499088069586943277815538276895323759324455818157112849794596617264234539737610519497793231184756927497243194933436387572212274984331025475102987665561474999509641748535784014148412740255746433994763422225692575131094903779426926093817228423516673628689834264870041353348741420510401902150712409180209477599621069756588794397187704218792897910454506033086128912080264176414102684565483031650127566222753170964700110106552656587736504368081521510654496881080161298961806721169091000501716845776459038993139667103145256802390001490037415676653501379454621757143255738562317844397567042011201231443536808433415421383379456602352832990094764896214253732232024373768029944154800953803188280896245816815452527505478118771307322636565254409180332938027905646587415693492550655525831171081073222314562984515741430713502438881380254579113009998342992790820659536965521056173273790795901940376777461112555102319571921653575014318247561100928784229429049166061285608698943140821115377832415778460346411000514947418056399282471946178756252237532575129664429434627769451870858853184832539929847745382568699935625987656133166552918810438630685417845450957451077527878639443276195215016355225809782687788017973162255357892737678592828189249738979557589383944414086755768487347558645610352537883288585136494644249201505579462144976594317233468414719808950368620199330703185888973025593228624889962843685482376096216947932450639446435630802393305777445849338754261030080973783829653102305601766215387031314463885329289600717144765039373532554684173422430459632156580482068025241290934562856560857732047507554985342793278633664637539412779080081097553110363325743838166389138506188670247760257343360959005088372195946039374743370934187465409196515348603863856481546280859669909938359068662993751774189389649302660599899529582445414139028813837270696945725579608506312593361517296842872213680339810993197363608891964427603644107688649666848164373740498721402005687972270553031622486738453267181489328430844145767079235268078717003571374799043667574634043170359331804551321279078923632802968952322835567184768404692617519278908294846119966394606658637567477431327668180622443577973329951581070537922949276895704463244543756991990577567492837180822265587343995132256483786140212485765820085115529488230415121009378021577038384056877736285567916499635961195096360048930221359197784391956177967952096418276209374389093134794665403533205791310591073297362083346942620099850248027534718229144304301342879451328798194253325392221399383369188070321775626290159320048344089332331617377052504129033667904606107778291504270034423094830827879652741213827764582112933506325633626682813896951954928173675686309779122793294026362717528209490119423672831218047910069636510680778175147892412253147138544329918013792651072639356518773969115357143546701739166714364296415529754502201906553312775339409038411134126434466618480181688957202774294240482891305489889841167697932529020582891616309384515581153281391254038591518954451249999243224319610300963030737111907359548158808462173219236555222289991712042949883430074530076513052991255717151142252568242316979304935199552919265263689867059960089525758729421043551785525410906530638287681562103280692306260569504010365049804634063677244195755057329619439845577663862735696010516677858012898367337122783962221371799598440547567848650459852778211218090946539098376971712801414683763290182924663008466692400805823359155682910995429555531521546277785059443021716301779535135828585927980637830923845269238357538170281127408424075097403806366793441845481344645322348944417786664594974550838710662899428384713170310580666132250406452056348338449121626212792507909416869024753725860409083190080324356468303788985538699758562765208853515027182684084137856072043277430603936152153195872266914158015915215617707094875837211584052557427891593339684161317989685205984532437998902277849887445323610034213835107549199989706055502938249835484499699758008358003580424036051584295732371545336617634879394976145743861113439648190693250002359193930588109541185814738287804850574377819220950320400615560580253301121326039353061796149462587226962971571546353767163786898622932339234954602136504925975450522565187090868336481793216197537918384228628359359059010319428753711728543709165349290655639606482541792848473224164199941184053257300471650582667079242571158421113168667400086521153791700197469941053831041586605072803299855538348090396178445043455207770254326165525108793361710019032535290076063709145427086374693192280714437805218620072673879359642677105609620802819595147783877970974339642796514184279023122592617806100854522503682309877179546993371362940891236977014431935483835396556863857453512894833767492576573145528747166796660887970606823204250073269512341001365032421388443986907307940685939910605296158685994416096935448987386096256301857318841007786456274922843256224877870476272424487154153451967248493881777243708036467109517217782378200342457633102586397053994125894359123260754019439984341041434273627695503735301335939008327477883309559628002682593382774585810766548489246912688545938964378096311473519695070072906174736101
94661480864475995432626927226280451990265785541095939687355724067248409724351871073027421744844066521624041767330058522932048446142814555455636712720295253261383974612467785573082709144872259011060849229690725402483697015247314093154087530002245950293786095225158458440981376017018426230733162376815360729356254606200616994063443815631194306641261677529725792132537975165384254664358737012195310246130650360815901416587955882515292453698172662350405032414793445958021608469774797527481851525770585330693233420532819874994481523846665012175947892747084552376545295230674671500253002487262247407662129673327679908053133916285351984075201111249984397129554119704656483458419567332684010938532239970249568685170082613169407395899723205922508109060217528073119019304858411736900145454941925409676101977542746425957182375857634530772630566624731134353873647553179506869633202664824392497040634757362260576058427547628051942305572679415670247327314497978625081266117909570191472298527256811590934332361209288546682921268357554970114302375815231996045293221738112079346623361992561807027859590362687807539582601287605555986954398053109119835097002786459443502227123055362527045050697872138294130117393578925555183176510557124120512387412509282234451826104474430595155203939760459869540449950138187779422296305216188489991933804797454716203971560029916416132195245284068410878514639764954579858523400145405822040545435911910704544893722786747550755165618367537590754927854316205265792493175563792031892058274390154948258359608733001989287752615004740738731388163580273713355028782669468010041336813529004272346137497862473339508011031897162763998524489574778872540693153953489425698361991207837158895360178985264545661254838215416549208734679904547102032425343039622497088309850137111467212315187171580762128516102670410569793991184724541169989526613232179027798120506970942318487885475346568669475486369166056378078202172407445306051986626397705686432797109624691548392302448913569131209708566883778527653614680267537050974323080754270385029120179251322149887326902936782013183567122623376843500083987290701009062228273838498670885614920641131864749982451214376941567834086436894529147707803808639329152960588388760481877850099995120755714801164872300686259583582534865636394902888535061663419499668775684467141224857554494895109509726954594741819866220373147047356944947922825064517416358504135706415762750486390594303519345517579411177682604830582482658461371432090957719801774207095132098798717988598056279712166053849355014552954915654571356506655027456991359525847202875107991798784010294923941885344569176283670460901189748922811672229870846907763718280481325942945437770713738984931111349355796822327495846477220441552549596079365629155802017653881075305133155999658352703841490413418511126882918686566996521654014177990692542537409611798986331215590282572377510430615025950869900418845951107829163901564842685672007905391532786864246049807687269763535041154989069728331825093124353471882904311309329736857325370201057411559429748411438359080345695299281152512499570500279724262196270920601931865945784604398071267655763601748140488247400819981800214644712771149458638314257005352766981495240389515451342599575086287544910781115488104477038774223364850297359431982414599759381755844364950948150242107512972630438574390682767555263281618987191644538903129417079884094630823688493528022203326894312769122302493045186550214745329194813606051802379028747125339201663407794958341263673070985754508993353933259421574288079654423383145068256944545620897766186129259591236535750253148299171570167511568985024995263728217735628811504975809488036936931460585879217210201282754925418356808255295185812655677785586416355185417064267808006301692346856902400681297455278441705981014625585806595550765246802329873564781660202900838645384955879755475700633494002448553548045444141634199791489862895319342217215893741567709045191179483357200944609031395376402924359681364891840757114835001767165042558761125374066507018678074758992748024951282261515842288961394610100021377159623633290231923518406147658329806145440619437261092459769234820530284945719689872555891096828503685346176474929461072353438328992421446450774368539266066096976721663697390573416036192024148409551237068795675246293658363881872773496445872954715048009875352952378177501489096218154837970184515292410649228938343240426067293546509835361988343208278209821877708744968685768031635090195852794992131820433084556970735205945325645319917294617990588486909032499299885385188245915374370330597473963477063847860129195110572950241121040207406188836268359988773122053499938948962690834768214744639277311752639939943674060131947291575355244914052706938609709394836694467855345335117745196410957739975174179440603987714327675002833754379084055032463730294430272295605864285488570472064684944397636054580316179449874037659815444411460777392337133356081418066021435710082113631110718003325835921508539466913990731116321196949863680681459156502354290167926579087229073589134189788779962318505853096855276563338902594339644811325089172714279034673641959830703795585493406237115832357811296682876766246971095709946102048169668385263475194207453771258739127574554675032072843031047806318073446707427982461767003631747574207926333984903019651688160271045754619875624330746791036373471977718875262761600909806317166424385724268198243568366734869530410737434662069652616866673389989444588061113644198440853691322410461956853859639454189577448572847735808726719192467284702898772855962547247014418298122803495751561423399533473673648074941781076770447797124884742173975138112912179564146504600805009172220377372964230544691742334005863958794798600430340051679589890103729017982744013502894148554923338187995816624515976022749211760708738041013292507447070882127647849393224613841627231303084217796660382207935356432540649258495904844632594037115602752328836508649066013498009913662727090565418438952923548444784990689420007273110670033562527463096936164937585382366260955428161312949406547690433388686760033613227412939348036321741638584115206119567737332578911047859422495264723062513572732391926304364837506596113444924492188124366582881747590299348180793285581932372735854795588027936226271687802861601835243844381703751625321474103728605360654908320901661787807171528393671759281015124601941742309228171075530127598640299119127707187909829756326134473608107156715247149137981097737424011050918301885530867191026570442639389538275300680108219584216187924144536874014415722041608107896379221687075562006457113262549301971827319727372434836309841429534588299083100554890326660192336181148719279889206460520626248725301366831615454840997369245739018186382783765067536104307475775101097789691617339098684483167437963290214252176456061988252236037135076553050787537769085367299677850302006570497284902550880947631486108807908587630323882615422275453733419240616439682519453634097171987637291543556038971211673650005053766816026017218564958557339486719256279248143173132387010660681080286214767764766829313469785027709483269707649384491522233164328919395721527465950698543317849136833949373941777491319571242241883290419041065754671986648358759998712973813138259459696831676894821492776397745674347614669736412959933074819913565332945369498439318219678710414484342830131715070948684755484155036428732135746096093550353814405876471301941953619584218959608625108665083722552305367755940989642461042148331553137366079496281996373031183278260081252495833299514058413644148279796283222262099772006655113787351498863515116676419390078350978511540590256059170727110293304024976151411827476491058263926948232496428011425239148371372385720047014848004887577766232167469083028859548161126054384938046365780962039961873890402447876338557362160660370612205534518060956653122128685383993545363704196576574922018700004418905112370111139827042765686751560911354995845167961638529806094264488191121701415822261050030778279263263327018366570084780948601765064541931618587245275566578375019808409041949168555316343271548914061033663690776157804982790949588543236256719770355804727102204986254681912884559698504180736515444701965035791597400595206818197914254372130458493558336304161992464871349715990255544786162995322895092890301940710222081916604209084774164713478558043692771148510980695399992002457414375741374476139248817851750325381087859833582729120039350563956435425287643252624397550852005271260648134545921367430052480429826519282242137652897737211313582095855519343224151780470433812509320616326418886027318585252751041559296296067792157703520793385612578115346869166679383813976493659882345125482129819167524267806605721003166660057799950215360896131923537612118776109652591166826762029443269507691113176890035376826953365618506842055099692353879855867230848900679899757792821265154829275842061820334542360461544246692734422254311668266450151381796362990750888828259553617554441654769501780732878935657056487395875118908921243429119974610183827990820622897774187460813182197037830241673346633910859631555868145731029181437083867527245015654655137703074075171844990446404502061432708273827725902577418046719014766300596167078549640225006914617972821387509921556136808945654682807611037316278833538222268683787838177032276068912769061045362606395016670679103856040647613113629725702831864583908941570256654428878965689935449289047219223790349000037517048491905904697618734370470880495556718214774991415248601457343111429899223006660523482203640664091069742960414734767487364585770908746072970983807839290974200398508035757222420963742508643053994391097235336830941349110186945866219587123650723914526476070638458644296774027482459535426094256791506520840029574007297708421211298073769272737962227793496952898975356671404906534993241264254465086833895061275499765953997782550189322316464164087785372667143315772213539778820892118387079643895696122459913671512503579668221935283950775052765907249557910857071695181930648566656034306836523021791696082096630689704128752915605742569355089774669482951632529625688930742820556654158448408433444964897298179621032958434108707643724463300715565823343729392034419489596341552863373568934572934055219874618793469767174722232196186206168331639112981745836791529836066977752564367137434531201212791876042983074551769948928854542447135980718224039597995616287312465178802498280677033473621497836885407756333516437754784830963418253679875580051506532995551779085395808690293264687446889644946910747930468116469815363176427127816219341447209310020223826478196278230918864551756180070166826661608451089835329652902435704362612710951269174030805939729422238708627396708650301951236669162908644611031767341754147390249055327801227448429199721260824946219416827503099649696422067526962615514197721498442946553601834925499962675249922944713509393514727769851873063365975408132240657370861925746534407896721564977580818475799510661123820700663872044120576387729214754304687728557586758348236937016898802555105610623517086376760482514588763296163907907513523785241689343516067759793578708971415162321058203988123840008957786377504011977778001140443631714060630681739315073860506472595897021175701479620758720739393135344508845366124412165711235331271167597056924513570945896598889431615294418621192176877098934392696909993608340451135979824666756659350010186675586039894589085247284711167964694874437485307686592115028096515192765727556801387650000206792784190213427494793338258950055827674822595649609349099190388054651679391333725445273672621771414521042441919562283860165530571929345167580196038566591278001031087867186323883119447799954652626633408860658340762767278329725370323945942466663212472307551583987289937228778155439515360317133303730177138903681341185582761844456002431649703351701309967856634263439726322171875080967274344497411009560861787043191901934001570778848307045158768971133856434903208311559363296290040704233795980166325446361849873283058143833246309092389312455043065911650387850721687691764059405207862425239457643047363714669447275262016987162601779265628874940369781450562023725477223367015131240655969912726902780810048939563856901277484547412833579481985734556306929280047392172705845972671457013665471836264635321936185673794984318002360672778218680648078034802804977863756418599045589090151486607062365673632181710387528627750035308239044186546957982247209466975363869519896525131836913454521775799516287997872395349364952904442386883029781652346099598074610086457923438446626509653989734452502467094877239448243776483722552916261999627091370088960500457688765116857153706907887642338342254738609196233037440370918393093392157756646094673883252468764157187681117001844469422801999544782097977733138574419930041461026388556295871154655715772160792275780573081076036521896815897165996288658647700408259160711688319152759291635160001775369874020809449611035000135799063602470064297306541308739846740889721729152171799938087730121710545474440192611527311308434520824424164840104741115426003647487561343179444938617091843679919705444008663310331951754996090934686218471095916744619163149721874840610439846951810777028819297015703260024225315366001977699403521469077803145795058375202812425430696045192815724896994303303729347129325366680231307956220900206506414154611317725532233214976399686572149014179816953683162443690090027944798091084189958235453622065035993414160091936520981614172087201818118775271931698272952651047123641702285196583837956664554817941730452145523948736326870694829602950350865550646022419634688258573122607609602177222283242443052366322212352509756206119546513388362459948751251250433337336166604875680931708527508037623405503826246756728921645183220548846028277574126438504687013001419658729589223741938846910431044709843220443057609162752807440682415377155323346301336256873564412727529762414547112610211654942165368539773321511511980116632243946301856699675481431075437251584836559853342963673751087092152972847091051766840224844116307214240966140560252029735609085303415091678940551013345352367361402337210662649602847146149195189055103066227867902212000809851373638739912264725931946323218839674907844551199949653884164842597041472109349209539123061056215271720249222843171659295015013614970141040903325992326300116554481817653807264541754931651679603721704941944953870205096886257726061305458432156614337729093584564624325324415975098074602515561076552467387393481276225169693380052501313802604265230282165326246762007773869336043994719224442797687694529853697007846816745921728298070064982791119172742177619866528809389837151666053265595344956057787516553672799729356968142457939694503577208239917350323877439982102993286871696094762587915793564440627186675027363758743759163739251059289553475534180717306369773555729172217762316363446408298954734373394236684603756837248904396581485544709296156164686583281028830250562929993417284568629142883917364499722491426318453764103541363745345305294438610379557989989952893089965486889470381301684766175823152925528096410648182300453151864424094385719060357778770651974075635546786298861606205785669776561219619878324291480503522104778636281352779745550406025399753688014124620952314183230050985163887973287248537527676306465267121886488015198926188390052930028544618076025139383167694840755326966368991342290680148508304011443690782796344919063404561391238448908458624637993969864080060419991897045426458193520264686428818383381275590570606112826727242087628449508395004367936632300733333943470398733592084493244758293539671922263254103053662727358162833492992230603988992251456366816580589592199778075711908447275224765400749012925015850254421361933206110856608989644485548606781802177181002880026991893697208373546072352297376742019370405501313783302592860024898326949086258859203571776929103890438646004982817821448345997330236541796800925926088334280094751485228975516494581358383152851404845441382441863727439709795000111195373093899527882106421171658913066281091581573869583960596713066561419653913903679022015621657960220541699101336931166577382537856493947612209739916310989479892771507560927806294018141892215315795311329248039006029317272886836234441991778577030519638380436410616833472080404420100886871194855637156583495361846117095309576822076498461369117246146726719840092692616709108035866979200939199072811639412410721981794117870546555253342738131905750758074710472782950045716772157640321419849497598116072303933131318995521373608190329432328630535469660706059014062093001451518391747801561635174273781219235686755772658718636933908290681372888240800904494914966325319502268139869665114203322479043080888510312679188013721237946316386055902192645609382219454472321085591651269212115938340961168305391268790147284236914584214443199488953308550845886949173647448443539700194355728294773952364916608415047770997627735388646976906294457749022613596361637734018269741914015204161703643102329992878703305187842339843184224059078168253092860022502200365920134740466258885221460721326460221556712048457007039990185954777974736724111597694415313731623876581016075634702043185520113171040083883687604902218093712235687583488430086067127496445923481917247172694408321064778613306921898354896054193602546377684760833225175046180950597620964506202790967585976866829702531662909911257899071375506901962770576733741034641842637587977496337771585055360290755351696691809902454958555057364075627482569978451008058106978530696192833148987866823303879146234383263191539929032666318223436190666968347184274868747254583948984644708644966184983967642741655845333440888988038789219059386129552530194114078707352815347395732016792950604314663437289590992604936862087553232870202690032043292269489996815996707302380456894915869706722518878091153375482448825008121482565339927626975058118423602971690880965665676869271079497697433133444005535198977296194166301175244318504710338270440271978874370161647080547920557767322333969490141315663018358857990600853290776621337057388888574525291822392628640578966823764252974692174829323995666657804687409281220065284145529600336640068251642556989298602827400413305095813398253736267623868538569483667495601448202185205863087723550161498845475648902023418820614313588386474462604819287578439420220401215082941390897497118836472926934235841353707036643867279010710392182408011600527474624982967108912437125157261131359288091631226257997144450028942794158964985828438075738735921842571110651747111991983118354420943674828539204749001747271933162149796839127838462249417049090671459914539775138147604992258623933107641331722124820960924748408139101689472924066655674783724816958754029896863691898697088300747199959603475517311381290270499285179796715737608423197570347655195824195134726555097293239054626182997697773175756389825656647035490734499358491417724290028678788317901321205099028371347435568205102478958789773611479951426447521367846788948596171884059669630909115805974452769503412835333407472444272768728197056738587747776244841287121610128344717307740961012676698055595248597727614478526618284366265190364012484376961643692477181787649677828705788942459585197449938521643172837819468216463344993868723860737733158183109650800350989341319540993472572783271852893633040241627616215357676886801153939194528382346483576921850002150287581492124435584196307406414040448741708644422026689510527821294352953402397175493108733072110918243466424234889686416392417222187932176942930310233508457403331137320801116868088206535730235180876267267919985485006937930292187574728669229444048576154963713085212743604967693102491048638658197469166346689473804564871533439879783300671667382213342194918920164306965029114948057596776463999450477615963592362525497098790901870897681005872477997833525595054009408609451411265917043351003204153740359159459991752517350325357480913704053520078012119129918524950613035183511173397715081821870998802414365316669434310587836696175543813824764846145617724560317786875524269935225797732828925426248377207316940616240684963452469744435789037688912876118591350688999328759856545055834257
82920621491708250830766298897669687614563089498313256466445159827989053164280723953814921978220867670521201239053278843839959311342447488068382120939132544518946277396955417216876012137006475207632586727388826057356218060707245863032898860441246612173404771577311522617525655799569164393021327189228765510669460885058959542584418759187548363974306499087443279178411247007832700800789411773326731918178342196258372362452171012884729323518046456066685923425028808276795484857211379334200144340339901519498204939682626607127501845168711105216065882616927289615306687766077832660034156645873306805195986501558141058316986419254006686276446494718711557865053366855867897447378253457405626301998778244727187116248183472879072948883660721406553303695158737295094072426474967639083944090986800659708725468326950389517704657296146300245968756294454724789406859342250348916023866353981870967014312277791089536105587002517230245353648057864088853209983141514119911072130429516155962975763028860784258584681409975886587588147904594255585253516902568214061983898043160700980216910891766648681888395073111059565167492198536803347366200174952574929005019546991460362969521738973044843843689136245516926031265834415141615747402282327998325845559622575067419233229223823147951814954320081712229030771512433503477680285710065003224822359283408244987249109079068463085787193697991072343942832330494238765327686937290869988004230049158563454870888955771685662698298753066565406964264219461811445385941913823803349440667286589123510033353355525843841978891897838483260288454086920692948237473732349697031118034251808687919072630543517387896580658820647514485044308176643748740883468552272804871687966636786768985215167361731134103555599289034408334815625945917252814212997084378669747832875860897882584935669116315785447218531903562066613817017161250769050931420320132620247644707754723835717877480971098444617013348111108095585214509909647257513967466975885372730936535442829826358832917474538166830632907076649716468963721072745888331364639512276433438765534392586205117135894987126900007636522230973931543028804935577015619687275224343717362902535147808098096651666429624664561076212035711822604992397337304703805627205035506281446594912811567109426096142567955248449539971535056349942876960593074387283363833526950974469551998557123268546426290741118199453150838542858524309859743528081811883517293783331872415529469395075845431017397726489012169257397177260273720857727417817941222534966267481843454678772066042449983758307579311296105138228427013891457481019271812381021728693357883583321083855469295819074002158616726325153942169021678486407620319151335811892911210095657255975383727372902674880697074907054488736189022617912425437780936956897440373012446518978748699165610766942672758970412856221765326433448196266717608809217027701332601284074864029742601101466361232895293077894885685742465620583476271982030412766547837776462801791367874727360710699953235796351085026774361849533578820631050356767526005425030752882366722294305523916876629797059657987944181783689676782259326300507273222982286728473884288104701070353094571579995859014018158676362486451571918335526481065572442953902421334380299206841272635594437635248113702447279746229914389488116570191863550155070319494795919996528047717555530779928890583830391948295423533937294957292196628177390668916509007300979770953662114734058683360610965245261791721870952826054802504967300879652337694061901239375121427392568196916419596628502870499699764480240072919764405877436757505923298952898967690097606878496215108769990621377958901898340853447717738115795133367121099515808261235592780788471084616180688427540858292336567542741373377189965509770972730292845746101712351690210755307050327870890551836496299722185269534634377653783824378725284973423345209924818604160453204115842328363791316017541473016365340893917685544468520905937051796380800067282602968378158668390494484825922994007006669868390586159908345977225030502423001681237705837279486084288343530978268392842475872912990293772157209590315224634323856885048217931264250350809954446607806207385057800746309799585574224494424337055233716612132409998640820757857829406962807487334211200794457428130565481373438858646979688903782591754381028476237008881788017681481175935572162318213795217536927937111540480189686668089226052957995014519642197644417049018448913777984479717499314905227901040620403713678562506157779955444459044175848106709554828806125486365700893224923224264484089357314554196438014545714409601143357784741472121751694061800543785338813532890860715387921618858598623750513647281852398293799253016249748845053515153472091563157008835760619572845996692466063322214724663435508994888800256402639112863018561134219709432242329259875849275540366034386342174053724868681114360714219873342759114163538510698932147904513899876617717926854496152140890320878994442028790009564875876400209600791712064320453358647267389226121445851745655633805768808799354402146193383177972766211892429698987998779209902062396918349140016922124552171529149814910346534385547093723286279411441182361405311098496058787210642825244205906575234140881781649520514765558804665303079522153469951285604393109759331131065316299884654933206323548108680896866862985552428579132113664172027381095505871029881361157131104370728720940832005752964799987177288348268188929281362187975171076051749835104607517840110494018502662294436730258053366469405147909504093023542939844684713557910007140676614538051168251574580704397856308046090379210617973460522984367334890183454945527004146220744323933636850975874942856363790363985934412401075084761487942527654461537274669320666141708188702204221102699487011790108306358276143573158103518307037243754683525556004386001332982243765603695426054307470177893972379981897746460730127964487685421190117692666477978536341695691137004892047619937655151934816260473840008293736741744461881183705347927261301212832619816201723867243610899798131575312839949805521041756458981437005938418475849375107563330837858133340587302943775922708936965188260678780290887918106198951184568762324703206051817553250319468368751791131494642149537712322343856114718238994916172442725000201037903285959718611230016544122457764935680924377868179256188785980057397126818311827694444151199209282150498420892022469426848486654851730059976071902591491080637295280213832877967235575649673944018263202771769993055647684204670195053034567584149025148103102421737085144306065198410985943466800150389417439260834721074243782027009716003496843879092647216358227636068820765062562375235360679276319570698282455663880371023142863312505524283277554160152008971425265962984559776019210272340669512685390970607650691387520392449309534681138217969958654657541236927933789647470424732637818406543959111218584706939350503555404680597370941308222050070231057302992586178276269966992122884849802164079453578138131816914029125768907817256922291609106037692202730014878899000645112187318940723086201098618039828772868719084555759899822052988931199007841010525905018430835144290957405112193576635403362131335395761223932539248509407355036191567303200340052382555455572925643498574353835601319652178386926850563652991741117012731624268566892411466424167705805592153583859948143348901655294581538255406741489344626360282271976203413726748683288554408097619048215783383963668028612205041251110880803605796341490586009612925146190679923015076535414292795991962672304300021805510371311959993821844513530016294171157395829507000508765875838530681340859572270089358969563914756219400152732378755868137854754516733030682729299339116275988243377840309147903742058857036104899394377049191931556715055468488770971361791304475006815463743822498774863913324995078470195236551832264067979018198994009633580870682916123492837206157043427431339759674342626692056843714092255065904677860733211596126862733007894472679337522196310772423490708141651671497711270186035622224475247088571196068065420214930461697880933902163941984567487097881205931540085351602099715718769698233782608628911363094756643279506352167463746275794035958195461060829380515377321201099021717595742789698882775558667459322401097135049655925537817951893853148684874208280974160033605229391892407552131872029484563382430995687029455950522104164409317099640859224352217143197680537223871489768755668008023708365861124750300877175997776154077012369335761640811221783917804447842983182164738574959997740441454436958966247370629211754656610298495838546413249792339942227044479607593826336463133516326480354651259974156902267555938061321298120695249331737078576407355054231743822443278825394787223864938469014640100090320337747071652699347355086798527672095649139940418306018771721510562087619492275936494749313974470697368475217237984003727959259656455987780548630968818736019885044995991158201366604240895211540015047656058134347001713811869093439858548036201368909617481714069789388479736842535054855798893585124075436794179084594880238442142386973573519535973082221372177501885293525996229553236423342961549827956662713973448668056427071758785725003305612205682987584073123070850655674275991469538102131948137379111938837921175714565385223621061648202316879060287098267332211596212715164772017024868706899744693059601875182405629601680118752493441387097395457264793391045302840199650872264385133634756184733606891400662135843403250037053714523709838831511163170439382005985551073113927605908813360721220881656553564797212731683488590732502975925206201710505322698793367877732229883292373547923787878017734547558831317694915713125904009453085905107645242847833107419832291446992222825733188274679086184468604094861869750861016174987254635856189633038833758957106447457450904325039541706215981722187652293858058630574921867571295469311176529478958084334371754430660044876704806039202448325633662422037029482665744799593368553718745588564850375096214243871383324960496629908862605046030082120551540203719134191117940183416151199097387785536795343759316409346401652663476583882225352312151416827663046340869114805295109610784323043356795454143380761297079214934148010686706650462381086603669550404094445729771301553682681301257227599509702996748126233276750747804695382529824585941090156489843966676399951746912299353123695669680043987593728408782029342580879583539769334704503464095484301668093668732889485358897239790678215828309606489473506741700171178676159121276103281035741443770551783524870068427688517218951686022966512424524502009789674469022445898610589248062544313382764409369786890093076630524280223989876729346538483124684782958007641951201353698630294453962981805130359985594263600424248433340137061768749648019486082970007408621123539060214508355576603981796553773492765328064311448477975615862800603288761341723889050247731209598773594949987669566089000456277908185029612859506154300611283634409426742923517232872536978550926463108811344132557132045659719211396671158245863230921708944601523765044950177697448174357943202834007958218900732419505616822219120432232219582088767760317413322387436475821509178694018728878369225679428103002410143566040458444168525895970599404108870987369210113098751859632947787455433997057610984001422206042171638181481404824609445029274356602290399507821769351242007824948097188221536886693624209771499621147892169243828129088909251925162843302211127624941329804503625560095959800251653913051745008111345238199325062787062600671580420421602940916268904767458406948831468888984799461450047451705052028150165031952263731129391645934776139898054552893268442732617138240599079501050387815051831998851766454393862867203471423505745651240584663726978784578445712135813583623346693943023596560024405545435740105647210656687437187683230681792880007294855821060409171796627499231924417485144098982629564655298760757375203552979523962763278313580583010493696775145784901425831620732280974125563842970447597142745113498706715226467658111886104931173987458508255781718265389814322494748873727815401060273757962714496799169836927043901191968750727206391103033387205088019004958789100208385846808561415320370018753007947114499163212930863421658532913995386075419927435460466385299406583957296792020459890016451017478389941061090965356165923741236558944197279881588113654802128317153610895487047305530000698415938849604744854024466081751238083261188308180088002692986167993950677103960698931346560794484837673575335755277811830155254293211360021120401947030210377379306746523371324286434054481488980180678876216149936675038373107279545660393314328553320517922623658551858840181467914504766107688150725823852335873873515362739329416513202677804781507341161693338580102400783203355765782027027515644840397669322065156768834112383245543255137195682494037291135410515275421186378467058526871910098274533415838521341864881373627809056085659197911027319454762397322976483999627521784877304132065544771937158328301489255771196469168249839593494305267914607816715027165111227365834912423650800803806917089939578351632289784946866153188927990108391686564687655646517228120681250601932821528409262483894618993850075593679078261979427076458912740569620228740590058205001253060389941316030117829975161671971535100223520369732032070652462705345946971997443177863743462389307374848172012953538439279213017080070588504492080343941401559700814895283526087659244819789556740681513818558924052540954896666975976683501810779874661498740657303333305926203659917739774962097930638564407382403525355670036961701592536051784305604401636106303958166613730072409935715591590515608856935972124507256443945891418823199613690582506472572811272806905573246231338274519278789452557938466804020454714634419055125673187079914200480471490509094878144966660897457608583366246095838471292505435013398645201300728427937387229553771414400464322626189485764075649039295897798555750586269666381191103980324755974390213581746740301268639205600706234032116518275553674297172012017961403125240847769266965621185244575846563154335647707476276352892936052161950724706092415460134637431365810208769194796450505578111290072210116036271834311034461687269584678566677513515012885097395802007535729665467166698572346161135377354517589290261728173663561679549406944675588788614000473017108697615079121249471030175684205831447596651461964208504236774232771578241905296947242727561331655213063908525597519184601032253657041921645373364283745904476115824403238271773412674373777773827805778173253967944345745009380744995651717289325592082105604003628878488982297025084495721311855781602978018684696132127027606979185639135556113987740713661276535888131023985281095772762561462749498500144454190087342864054894000487790271081668109236718163808869757184131790645641502551172614113463823912633669601380741939364658536587150646057719805295318097594324953719552021300143575271259208918487671936360102621039819769048223981746061912234811100414735415843607639717375829707289040716466241151113758762202147807882627886254131446855073565494175139211125272259320424024526297100420768505911677556782953260411208353470050558741151735244153873527057901285974909041699696293305891304194737459425682229971786672919371036035092093374525220999455128215872755249559107458312139160532285646146219350185078154157121843728641152878911889793785862264624125506187487975737704187886344750134182808201012920965316427765108287359254850392758577298944452875166800830672155648101543442982839431540892413588137295529302441229379571771956956621105755254489403205324400704587345506458990988478446102209607425212660558388449557241320224929098251692336621641835629213765771414950443190908353958081444093861192647359977217410334838786448536820166911010552470096950922418257017187250812659936907659110728773814282225505965046250767316113444921783131532147717120478048490027613076675427253527274569815901625664486073330699612114553035868464041522338598352779830422410962687534933454657870032680473186985399131262475081616110124510516937888184242215856051343313502913665760228311072433792490032408565036987054659207781875019419939713779812955636012715847476345614725475657945630065732990174402886136461561147802410119626150460560314680670200645626504676413413749562822744783260407722663209252621079547367090201486852755507828559269070063925747852444876947050756321061130397198146272753624813349825849692144794428029470281440524760167114894600416102553526212636082190205210489378059820990044927130077999967757435544662616278533039492272098367971300512840025672010587980377627364889200853408466212252763108296424633097326158624102370539841114644427352438098466736341876749126748411979113166948308652835204438299018964890284249690411623143980043957155975846151445446042612895133961627026069914946193311832895452252142594306365671752586152066707414971915578854833615901933027008808156962360161282736555912496727160970162001379089147271628726000780628007695952767901947265004653060951502214611700833323633829295120025815817836248542602090046001755904575855487637021899082293437245058910114761051692037883904758016275966786452678354130367677436396658741073403467969510199278463799270698324713914209536543001246675416878362499826171735029746113771638164247932173991949383040274666585292025158738857379656860920872922339267801354647262324230029421838297536335401736270371864594513580625367467195502007820091294033840904593583585947820619414344835230132618839665735020162586777850293714767444252863642921803477875996631445552136845599439295763955802253226184275962460755456241168861202270579536011782772420493110732563032727827852896856479563774595204040346839457961426406547173423560595437701775663367570573869819623707442815352267648776898081808814507971254020208424328858713890326396878955131367151639553871580073891334922699707442304988969429737803200668879711244869474232623213187716071826764578457169787670155095399786922200031552743464724018689556039361498613332912541089373312651840933882163803001720178694777935145324357825395375740203584109555151247076939656781320647696610491373288049475348165423966710172724092235045892021061404639134361517400193258555051487288788445354277528535922457260929731109309699846930142099948944123018619267024961069766031621789814295286906705616993582836027205511953637597577240706550891893017161013316469930906420544766332450871115775232981516089518787064517279782822323071452439644837704548596017011732105552356727445235665843555260773758184048028732173638812041858648448908336005745830130078200461687430895030203476711808327184706350618768041352314068931315669400722750170213010375324517490484785515077121950922299195408141942743424571048789835712048348456834388525571026274422321733459522563315086516033568742335995797007169606231943581103996359639469363036644464669517598926731642558492962476621123831934189252115507007957749956739593475497070515831812969479223450004098872301166911674350142224093455168369662756949446163731477222478576906588946613767430500282086486406253374038724358086878420894774987430398747462087785013480304540416958504279121078974800563332531563719509990332216445132449885887070417122161515499459590055395567733376910929441638755906942200615110985417585888863183689792521910892105918229759887306000014594554436361790948328683583585603369244887245828209524112782125989447448149027441089602691670269842309993627605555422105381335057772366981073461484350113333600515115510922931931553369232058949659442031312716688766316455163224590816163616489625966008864857685345222784276345725114498804234975719384335168856554409261091759576610575620491999490176450275028392077259040306066145620250377847064218001675369079895170334220803060420660716901207619785159241591098671482183696282127358214010253363460105711991431853705569236457373064727241097047955136079735898112717547872908675595813303686789267946176152454385074932950993463051994751162218210549059732481772988606332737234451828309555316613506143038981713408377632919013482163352716583224673074373110063133439927013059776510708375246291413797834932511875454442681537200011617020756090456134485544882300000650334595576050207537720691181483223830
58297796043977095003600173775976565386404848426194872995502182871346969946391724934352161714296757152533687256696011252781744542858192866965776810051306324658837635691582527055408481123705109658077107511922107124714782705864750607993184194737622078927601570057778432714370445874194488399446135820694326961345503757157385535193499971088525423004380238458865562703665904790517793094756599728618663401690320292278586955331673785065494431095703907367873306885613327400871026356178038402179770979457796090818426167890906330749225077278430659093734101912603434162714676265239614030586641002082838800761125857284375528077925301223011294584688473525171230184449422564847359412347146706049424564576607434261143497705705822640450396555639513846004865989298459346663778245003854626917017117020220218101366765576775977508313270217917580079478373547454258728756012694859848238378364923983653252216710005299441284058725112614536721367067400938420582651601441260959839178363279458946762694102716155440959432989317055204301929859760459890185524427563618079272974265399655201610660880204928198286324220327713659510622882797960696492124497875095609516238703091866106778031964244816606839358977698915032177765768589487155739735511640984346853659307937261123979073748868442984018263517610953636394470403180868381358813053548841480545800028600282952216363399280442049353673952691699065433564754232634595147662806123538656060276686154974541274255786050749294326151374194932826018143407689021178475575027605307229650087843498357908981550009256589364581267230368248447072755189219997663791129192060347587242425578355132583944468530660139879536760154481478874128555018946873425038462860956876469872783868520536669713109097487442784526528860290280950668130271195124993023699150158154464656945927471723300099203835312505143588876728860083683959940137902117351354425098265485404345995264850198786083805645294777389599991796040270364970322409757544312616105008568107244859992344215530067178447942753762473085284626451150879597245305588794454783427779303282368196797706737428514562506991826945012617513281913805837880347904358481103132384269492619716189832175836820872228075068599099383041763173822779106720924672802497905947315877922270697603208169973992282285819188616333894866613294375475162344858977446234238239769953984622270185975000289455419723082627280307463508177666952047778700345174782703641067231893292198665486116119272716929184847596062666721827439519125775491035530179582948903020889179626445341907755042472202779835488065731361234042675626773066235735069861454333620362245943244397308971766405593447236930408066648474796095209605295985779776307516237027325428685766137356242595928739947336719858249980274263557195243757911848952474117830798802464845532068636148557863982677025472080771410682332269017746660772955911658856672676571450864941452325531156458772048008093957617933249358006041817370495219932670850713670363258777929760517464095128582358479301727646979463293091418099341686676242247398094254454404351962194124039871855479386227041655495604039036610907488386959191655243047302648989557831817710483136892980987696167923332907652753246830588421113964923346364049199433161593944040018162706732601671037015441858024908406076652471145786920351624892059660813998370672886480034016726978520019315066428322784256955198738765989655920021093083847580125815783369829769192584515379834105914337862362033457578162017580954441648886905124717689889682447046905081903123259369254238098373944624251297038889970984075722489432931642284025238992086011909297689876538437895699079468753180010212222881465595256857302997301134598507879739149648529613614546544357187349945640389921162768280794030318946194771541021845879252241132813757700552099812219846993921027126343000608470255182597419980365324571913785356018436265379826306966713611146718951701066882834619403223708701320552831019606126376599573365293720852850807429634533643709927770302060776746453307069047362507758973177543513049157624655902079535354895836707771422752261015002657493814187486862313791825505296279290335331813821905960637879204698805386277137206583872379873772646511581596002367325698834709442569167117097703304104277087031305043733098758353654590089672982921431448539545772681191798377901229297158337847234904731475974633385510338689360609755143502638611185098436148873910386379952041651763124531777790226050887466327456892602942447978557114379384488037927069331908964601780100477394589603140775992714369846287348905083584961381385517167554231876601207988481574391555772517953563446203916900083662943817990882054067291341068642639166794896045769841993835122383680644868830070216308790019527825820757958795181778732653073121859108356890498127440559237676980631365799953827851139545298996426654689368840100916707276435027515217521629965016313955435553598028855984440611441959610559909002478280246185275801905242283089520408640794626208764067569094457390256852407720010538121822353291480663976805663662514117461396770387961731025239171065166928400433507307202609530868534656772250309262023345018683206429579610452918331693581710436938991637143419009654951196270451614968062446193796199740136258526591107173895297653118663702660323915093162068715222526092833770182002176490369784801858221453153072809881052667854470965995025067582779785354929711259839960448364996841734345392678049216287987901071110977339785958773637379641848682634215212278821422400670808585361228166889525779522269200106917373652859753914768690808333499536817454676514857091436137602560731416346506270589500362124351060931823004802963040453057652411783422565564383425464260533960823324362760022744524118968641397508693359741431124640685114063662547301039357800468746442987989462800414868571896490609229461924624407579272085388096342626165574624300933155103645969078692328354382935985975862441195430758440617203829741788286180777024557071007825527126655074877896209138410692309517259646879630529364579897941222088664243573341591161098103723714892498387180266220370128512726147313764770099530048042277034201425803941804887133004203198842169032192397387485177350743278633594437387620984117344325530502276331645996468521758543641872897260915641432520221730811630627501300436346879813864924705920892311846146611399820425989145603100656016256247596732907991352115056812816509633613601483556633207574715016572161163874086559515690519502373529689874843391740680227399996626716607279084702206147447634803192960143951032323933202204961540314524559371189805183373146160780400931303427622222261312135471631456520017146986643705844021761081148508535709833274227838933293071491211922475320498110534061510424779574374052092808258829602499930010145344123377855350682736996934964248164558876983062329627322464577776104106080705528389658995293114227715845378671747279001796095322202654253744347336037158202107286666919927968543368785176985850642508009684940682102939872317249732110143888842598727173022706685537844036425977649003489764767209137332756271743291769688230093720120632028734812604132599503710762111048037297393847389901214206682321685835192022555342771137697420526904374198830349442375461151501356882851274792997250266118362832242102008948793990868221062285333944321654333238807874324083490365894517010718336478273142342679956068724840200344274103501325345959481005153571014532678630597731239247788678689338469661033256153272629627859359554381136931553102578665061323836170548258033008928035768422721756226703322080601639088215451025296685216586863944478221633443296000687287055812762748187727688509205436782431718133074750988193711990779932936292933031283151449606765142050059779198084105841869930806275242457265730578661652189192904198416132822951769937252423243348345813185355395533160126347554908035054728710093087202823021536525430655142289390884327209426293517127113275403802340298205192231353930070660452451537881506901673740063085364935815361724381346772137375634165721375154508591780015110272461994834182315802968941418176206299722636473717090896828631392757283973467418158817504395621067202499035460114722007241031979305865408116120356622977049604759395653936584786258031049102209207264031837465461238163424887248976988903263429754945280266975734208022869571972648359918044655880737241627566994011290051987159621538510442303531494925532777686849809863027691854190187202020605620937395311655675183382721401898930161455963188407706219328876194864974818534652349067891404117666973833342829894161370328696459505377094506715215423348398091417566550087250229525335048290005409777091956573981919873478616660021396582787082895687960537807890289839787555550053021700751875208334011489189163756357482431153606171206989213287366190118823058158290107516743739111693156879009101960711657855673473094297592195819754706308276135850727946259280460302702379547205298430934425985940458173928867246545394855429548870065131275243730808077396723782724320438662163844528040526452581690714538371658338979383875486632992946997434031162645049328611415112109796109289461474256308506309864315467525790324840712541290569781385873081241931438223627678853215836484333029124809504476952253268515744856189960882133037954481343718988681143026382107571955138035838024676054272336912690743649513356917413407096656960040183448917085712840484555384854459948468839986972881389657067919913775400465141784425316809397838734992684393667393125186577980050917576724855385784175972201469678665969539284283140592270475661037432976459222118333640553472590262478392319492337551973525037759988909053713648462860596007022381245399949287662503687683006406870570584594264411796639904295189041496626486656906753992463290918350399886349461415828857480235756621089833573857784816154193602540361399217505536989511911024014737756258690740160058510105927266357438752860446658969634656226006939955800610723583492995094940632434979394743319306917666457780374057865926493557522399193423059402872888027809202227527409479361968718351187660579811804531727457501217638385175640783794454275093162524730069269010183093361957114080634322990064238593451255206849656310460740714500592290691999802619303753565696909275748248889658814455441462234059217068799480440399156336015468038491158077509179982664870421707065724484076125077759762942752461608630717031375041922769850435983632566017848596040395936679664040318531882779105076893742586707285659440694536181100884480469300307736169904264959518853482415576545697855227955508639037952012333710078568036272006621577060166063539436634325054846181307330372464323748944429963150381898282013574309239601981858549310848021342687471342159701205677919755906875250745164035697652460378911715017603031361410210694722451259734027328093127293484887300412512265572579369052280497152071671654225159179850930771424279163460421241626943140218280683702666505085595804260576992693201501678083216314678396812005102691085549954243523366861939073337225345114484214923433867925350390245756058351146961160846653041108681446991932172621421098666464187746172449000718751492312564124334795979802555810694884437533601873471959753420885606852516873092816570362010025116092438688659190709575709970846854681991160541741832601118035184605066061954309186439844386662750262174424063629032057161191801927685280413639774521610720164815710342562616789168444226908443083360939417088102466042808546091649937116669884949451321282141410518245398467317298162617810478757531941290593676497980044648700533486699147035132170867935155507097661591218001413382940168119186274120365512031732509072712410707133666841438723768475024396237612455550054381139895828016681148930472295776100000344955402509003560059295534892211169193495693665388284133017682767816690928834117218693803675982644255111781856647142646283159495690547467380490952441591127190626691728535066707701334650518991525560524481563021907947899932110114264587960369329834857787800940405637725004294819923312355757809592452610406205289357544260834232942651453698634569251367798643443532714122091901496425358310977368852274822008474566675114969891224285987837762233305320511143651193678123242929349105315388094050615558007897868735200692931364735028407911299463574426601098287460894996408191910954420040613279848107386588659470754308260234392229059162751614002903470052929864364988769528969123244636196901516140266368082888293116166739236824653347484396586771743342763741483089020050646153039967602075272296885865034963531439187685755359964489766438448646572637851693140882842020740890314102751942476633938465301348878033904711768105690708664524224227521510762705565435824204406181159244136773643776177330424906655485209431672353052117128939643083594406444368822987006670904106347526837209698790604326615987912058066499550402181281624815055810617961297762311853734635403737613479671214208748605719294034334451343720279207118562289678739398744176573847030426016034117914091828310565056808192289148486403065067182843502695727242853897186057319041111074618213926294231144342504240735222172366697806045425950138765819373935821759674651872888756697937826202672273657173732501327465706563126900300205120668085201426139860847914734479717656759670915041729531768352172096292836796178846368056843260840461425090552150828829274778823377275249846423654366988099566205982665866114149024647346524535237396949065554314083759196531490248722559171873062336895961088257936466383912509672371077768703376811911636939393051829392756795813215866036055160163543749873421326647031357129790654440514499195882975855156164759457537127219206006642506189902777705727272825199887640883241957147186523614920532168834761155170143785565681919037630834203350788234290089638435148731678512198404600981783216609056800611083444296804958987524113845725765468457527690103901602406096919653223167505300790411126344158518715824123027188849329626202985178664287351493564720890923554802073903608500188456292492296553910238977656800070121430185265850738295078538713305610074325323431735435136447281675644572844808026831583124192426870425161746097218705701134843650232500918953643768239053014288041385814086878489802689529358728390944201730595891934785793953949828827064657151674392401666810048833745139958081397701612745567734247120827962916211744110743438411771147413497052633066685163064059765173650688894139414151557797928634452761001394898126316862527588784518172494291737928607110651169612033461055484839184446491529535341271341192239757211982147265225517391170902313113257039685062124542357576271536103688662861399343626523556811508300609690722373090743976073150029733567260745324589180095121950551320122595748745323356659310006140888282507930036689895257616519367009231585242290548663873723233844240227489131109202212044587032157313535816050914061354836227747929329674551323323273025546703944696158716185965081633578798726728866186256890348283962475805882667306460600919817563256224774451844658880616037161699403655247507312527934048547161733240569694906545134145000204758234562523473229779963990461638778493489800725325595320800267936890901078148928365146764225503487900575915643775795214613769740502529546519848553210401714271867570495782859463764014523412797443898890010760260200358916273732487531536775360639925038756395007779996235118939854936286699292565732078979114567544807550065034029827030740972271511624494557908832920967453319715297976062223478214986649177537803484671667082655001574146127744364790986828322583788609515992428016480507761155507936388609790720377363261644936401177610798948760705661436509404799590763224908703260790334456041010593775927794413304254301446969060450205201549584242260169386865249132643078074710674934182705800871671248278853181506244865267793440254320298405905022588086943853835543272723534731197772936250477493683591171942871077440799719696070773968746833530913282203650336884527873145602945290492429079840373095223994853188683655126025085154478203813219103814658573706781392118902356123262354063041884122835194691917096004378174824163279537327755346901064259610356153203896600201795661816398019152750023117878085362550096759928513597826056689516375143353352253312548822617601049943363438245337814065694150659530104350156025545262287052322058932938594848454017708575716000346672470134345923437308490515104133218674855053261072340427409485577642816654331998165515185856216381865859759718144740628714196596435727790414888987763444540435812313067066828214808700025312299838652762631297736466248355908831840266242696625755850102944090833678433375168782692086666356285294881231895674894032909540773965927003983464652715769295912179775338858531365077898865509231286664550452614774782216578688637523285977955083343149970081119274688802467851165318666610561484539531637358935110478228494479541815015070847633232349218966082029933750796688840743795894333361535826323418475839299071433934011796103118965731351194036537404564407974360785999856744849136730279531918695556503603382384445550958573615098863214876652266915299817103368777390729423662674627279211581968195464497863262862953910217624607438018968094789204209169716687578062193714246299759838425008177370331272726507148793544464811249975795400850340556867410740891006031867043020399486624555099453227953214203199591986096742728115105618885459839035125992548689733588639442275218446738482948304073029499605547054637310886797646878313187558514906224610489559202603511350751597251866055888566742475094574295651799516834139977330147466498681835193293869207917365349689952064660596804086000302967336965588358632211206426594668173760978696729236412459783221914638431078909761526968018143252980198681814697157683788904522988123154679737286050010059443397471196213786146266597429392419059913783372318358440300081551639012735873310493281293304968062807481334302110046517991518700731580558715429341355160978480840950488885477619729126107491235748269798771996826649615250361021379890475594513404103762077596341717823635579470001521946771503721512354752732557415891689656176647779198999426203302484220395702166508516188399226639304450464828801607448132007527592267678806092049173937416467002580851938384746211681547657393205240547106294657313615607931482500155554945017657799436253774757527213134677545383449986291001510752455812000876395743384485103081319710483623834974674915983287981466473671312647603618402506250683141366532802265087538307738970157433488946621360006781918312181968521001785266227856658816923152752020849152255356520611645367642723189100552380317182007957845665125617398400892999099644080623478043169027218783397807333850112946865182758768006403716411345034956431445951024501043602663352906018765410467119435730746875358955504035328840539749609520552942949657216267018844313009681028962589349484538935150208297518703236391819104280685213855820598659389485358823258761333685922865441527615402290855412339979125657661132155609635806269525723661958871775620374910167130631126394468313254269848640693147177535102391271335711993785671184461573213725698368516313380805563241030714652609039670992425657635426860979271046000525509872415555158479997939685173802412389789674613319246687564803686350589798169976490596549436691989220735485065394101461549791934205871371290737773552271239313832833032511729204320298238765464025684284082988748348571881397830131243297498860283135598733003270469564424490469772204947456236340521820401274711768144486223706478740886134796185592030590039914098434150047766852855008235956354052167340728548729320380324231709859951388821612920708275631817533724326380479524119865487745332674047664784090862976554199058831801721947504721589587563573326303978885389220233487666863380040506099233066674310756971936760553509164038508892288942309756663883642140405031999852007830316993188181016936152423924381864438541623962823307588201335440437027860640137610906111514730533782736816876689524187550836312692716035114340228506731885893757349891202124764025247847752889119771605468661189382570377990112342199382052186482234700806117580038520691341930328254879732755390404645676248923558111182147155388743134599769196006687292485537647233542130161346123252995090994836616587602551662029919177645536595370801884438327641328922
60954559000005843306939591994630520383342612629723483827768621697543008168805407004417946398676415534613317330552457069528656396606978814665939501352247591522747674699786465708960980545127595777173356975832376511087832970603333117797530130359512710118508089128495547165298047046463664785119233236431614099064782507815448517725400260802959444978043531562536579780555500206495124859488532391854753383239280557618952097748370049497179021606760671323191433435899327886188738087203477077295294797757704734410206581037939415742979726707249951609434232293603209684082717364635236559223867062887178983432433787856459211004896975766769538375408933531709436414765797231939758366875412666986992638766462172498082363332991957085139820034738828428680638731723760222011632524106024647043527420725994764543362858929776676163372821665319587176979798788582542434886104100930718985530417635677582555301726014392259113517597245857292742046471262309803647743196781936073176723746887665255408035289346344562347717930890049555077554888213669644846621460285362797999222620280288059857022628053701416962341340270472548767488750939368908062465324676799001164814001210452909775756490619551078313872308908195482334903198692535397260383365019729076433483255435948572756001190142934709513696448526853295459578966909404945643800439453123086695584857333168261314900937556706251229864557780265863676932585402491740148927859099072456643539056921246038042708919248041856176882249265894036416171807087134829736028554002994156313232665675597752456158387365122236562705007815344019377602733887483755210372710704208102805777007553447232796014428589369529693371206005233312945226089321698312443793840282108560431103429931343178584960254426636986337143448844984909996450145199973764945398794706663341963308991828613287108207291924129685464586626871947428567595947142266098697942674621145911302890909457480550661439236057644449284486185450929828662333014519103185086566659110224324392691057657529300132054765009849635950224034541439127314290508950495110590847283740949894810782694068560058944964846811411160037363448785422114168538040821406471318949629466303556728889252880654271180942373702739150296821910418471419832433802625816142266872573313713586269899065367080595879741142963549916828752563286509124174914611169510285239078980918545744009401605027282834938394553986396086974003821057821288756947573393309360606703666464834014785488779487142192462535885083162967751152437498877709888255425906767732138098225644796120220716132597294800529778079612975838592107278533991050372157778337093763269809922957347665435527349838066430040441797471505160438706579917643638169357936106735560400961790246522904265499960822551171540359578905409229962057476120159546304532331227094675598588855300295130226462655420860472471460292497875378059857601619384412542371602196099845824609537696223421470898515704602782472741357263586165666785823242191220799150403034694395637080573798393565228359164224514108530316067653952689516328358422151295028793667107354728503063733064302496809277969537649050579416206470126959356472870815174773756733282533724598308192120215751257497329697760517699298036878404624263274116578900340783124153778414334131602688168630393210128606449467655599872900838523271400089210460489399142464737701082639792507932998042113012518077519323423053666515107319825770087633892092973973476810286384171394772985883310957591481350945296633413856069684168053352207384446600406967710857119622757466863415714129688919120791413984210514279727048577460221332619359713184747429535092881504085861935015948792507309007981027931451455137060334618650044003538046491249239388451706512766260607472629111584717427512748448258727821072812515180317743071788618844001728730014474565374101064264309114371280709092727087635747756144185735525482499527719444423041985707694241282013054921971303627622146913281407867130336538122829516396701647679647180879252056237793066614988238431680302336362193019509328389046027208328896444652357913246400597348249752285535448391728743306435157526668817335324573362196286435944571008186169397838448249155111640299753632460732230125813334221752109387901137380792918732115821865029350826088996413085499802652768213151177278960952710201686163901789631320301052539750016987225039128059177189192161147157638536502793894052951105601070996483702898642562487491843033963294482031571847346765051417210149818763892797176986905367011918602834352045993075547716724089899563570284123536562133582462594893613572941793360452826934584860613371181323360402785233537695219592021700764305615335921288704493906501012360829751144039327390486786952161072026916350792853826701185167790663096239377602608137741083071468754259930271216937737590642818750722689483781904068555274103916650276719601128255997075241639257727111971293290122100874515020951822828301518247084455180457322998560637745171978485143047429246588379918840162550159943919342870468538773184018684542286534501318966433803669679451586028616223156917458510587182443399267860210982110531915229602552607201032494100871839130540874196044400234274085786467509036554145334316544246921184873027696094530481406117376924660430487597008215124400546632693492581388634092145734976930921264001321489137653937297106389969022917123103225476953307787608538426734413338883965204959318341065309813063309543565813704724459297418268590703488840835002781805778621623039831683547414884079369272469099564149579503254172525237640098672831231428155090686514327570527686664260380378736179618741319053416763019442253905921097364101520509266470757938121161236379707196578555695395810082886342640250943636307706580893010775832094350507724962288710622844960553225944312961606472092044450583950376010866582783559701096381882992709777265131278897201654968782382958685493250175039850041034195591190901664966464255109017531584520070447178342825287314631016789336612105002350984295940625418563323106637140533963873689823385085042118581644918176632087274608660105558175184535327218304134791713214666865005902065408799280595183794996070633637977458220644013491838632673199029639464986964805790947078500241171933171996812954850284004808083745034827350842970242903795358535111516012112224780560635607755637766848538273086422973964813505302005244642533894385256009656495999749994890512601704814133681608663371765034754127392481248797042303474454919681979479286656567784351494618483647309729036462871973639698739349264673194961820949565204666142032271678642509323208980789323930881073005909037751888540446923187260871278446224512240923717733072801006615264827463422361434611437585048774516171452571716682026071674082863116427949398774275443645117902835521079880900648225996018037721836161006824318510751170399798023951784852272328386194433727001701477899012747037421280422116694872115368417828347244222705041019122318786408443652782672920649128889402989779464405161850025617776385182175214526179696756963537811445547649505198347241688120572913884311702244727366927979105675931620303059517274919614552234117314955867261114383769036532844303577107429300838987472374237312337897319984417910358584574392956594888883245726948710274044699818401399056941755215348466558783078492803727514925118333549232867209292902720240532436836142001155494152349890586243307417730115757747008221524057332380583729648750889637087823894596561635580936921596586245274362404120421221552084189647108467313391932254429192904235899465795665541602714540221224177055188532847652218879619647775447432633915830801395477564784130648198535092907538653575382290830521509324560695755766424562757326672931850431012228424246103859260976057942258118912704761055020256619496324700669086608542762194824777890993387073635424401395878872188737346524294037202367459866267105897619746775099443955723183144037338309669779358552262357731135029488530610063865193100464539386522211691059607762100327348269623595808776447716608722913851684792048528841068631425015771769216310524805250961526781748233045339658573412970262941734511254836254671586630458933108708461995136108130132349295822140462796168463918247126897327086426487028490981754056326986483271827589185631237504722957770287066114884052261714189681104517474859461529893861109741627288668452754413616281963143057310144969671985316784865443229730604682024193823006335278788938963846744704674980259748162928587064982110602856743067483604844002748446522151669421021141154730380836020488087982998343092507397783488350153122264479439841100250597188091525205606598707023102513412076450042917723746299334341159273745789874597984038483565921170915564329520962322740327051469684982512433519988602516259611144810604287811971662233544117521881798962595059593308695186185992681389092369367045243702798919335974119002500615023166262283702835061779694937051903894540782275266700825320573586947785440204240082814625223529428280718411791119217700478088299042458459011537609212682425751426694944065152585212414228806161939613557253429730699502066234762144923100920764772643948577733848886198511634153239093453269543011202455400455309876363993327423819744945138796364204102130936795330107092676488428584795544028005058903117262402181000200507328107649206294197547709967489321523821137802075984404589154815162861196764555694539050937134009472290482083647615394517241981208520615706193631365615631724933864380325495134187763648342771516638974422746902123611861784521118377702648592106315103380605444245503000195980540812839963675580321563689317942437164023007421693388338785013734312337945142245748688375881737188947804370754141979444810006115041956774004167266961303518972780407706014116268431983434100860613756349218483038525779483347596364627121763658267811958668212682861651050101300716533963805338245030449263306604729696501434722573660639771286280049278698299681808119505935863427271407138394703703613657442732246581087277770373871244552143226235902918997221691093622850982917528349318775418601155023067919207624129714478133651592758494430340489870586748632178824288662472484917559272569528710555744793466081741571380454788178047919144312443816446387624718593994356041420120393020338580969158415614769252120484708516152935970604216277626300034493969261614417559226343426137726989940678560633765376807167945580364686495123086199093943601135533091349885512481036917516126314511979584969509097243254356946946559473470268779376428068788503804750647693779695722801245577603363284955809666803969299646840898342191234249889918850973084929781541256155008529501460949598018951231134901645334234569226163878069874001484270615161730444785043441774582068876296270386099430578785392544325311188373921131489407585835894361858937461221651156767261052109484080577422923923836654160427760984820675202341514741959752631946046632924132109803468568671160980294433531412837980025153050592276397576739375357148046807411970051448402030717166866427953659522484693609161512238251370698360009046125584256186404681492680693489155700867862634740163974515469290829751649972024384154449397874553709058897738729031485429224022899270465941051070701875865589276399455052490309239787046662347339381412916433553323532201061927345052567222542964887180971992278768058417216405196460150174174293420904262089423464036474934363604154101087097893913635457936759701026610459367143772969626652527289771888287503020295571504394784106689148469882979535589102372262843667107942981471455213680629044534562644145087181514103521615554584789339832852975843992948133528413210365890599676160360012929195388580013423319678763916239412126907331052330151475119597553532141018757683074072763303159668162832912609020421080244681952070446154957717362411529877476808518605782851290343034622123175792105079577624261168764382433289964913461449058386316504735295696627274640299553936686745172665857017418031225755251302175569537716068005710142352645918866816664245374964267337780978418471278753970462798523680240111403775542972820351363999439284883912152156742375737708399630068450107506524506364973581627903966813705849423401292706442997573073867329988116855300686236110112883291844749529829167130611371134560171505741147768446990910222760968276627133664998352773127569712300867733679733594059573094355359981383801815961078114998893262360290179125002178320787309207662522894228471579654476136083285796399162933237031760428696325617513710298302299180174804155159763453406296076766826246027719726996840864979815969410931538978573625861520635740134999285216053013300658839452877953247000229476909879701619632838723423056418202200722869627958117323359087436059492139679630735382761643518635250364592996265127522090319939540886212306970764135837164607745583026735089865944320547676723245166122910163521310626198972165504411733925460635306396319169732176651264084010352732058163936178139251655270176656046274698749623791315533478872036125380009591513433436914678571542513986636468359733457902839496440326763157113295511075338516473013604042236929828358354835684751924621227003825545028628125288980317406971685019197400863249581536889958677947429868998799016373592022437329255716413020496928008184427624260485377997285898987775393712413228672628570585292804565207795678797774566839167879646108698553940063175140199771350455428434099918914298030072613322669888448426300970055891388594915764233120572885630983201520370589894115301380669593353665815325540854684163533230514010650841772838439754206501822623142673456998321347847166893545207172396028387950853519296137363771001009216669680703414702728883557188135577793302874730951633344225143055417207522860768267995974727398679589310099934129163948017682474666734666829121863598707870501537696294725326721700670237477861739632510275381393465352904314617943318228736253346794150059640099183727042460234739039388549165604009414097206095153250879054908304621189295042725401393257728714348979285827151006253480224294057175601293438080244553057762093612697769374925755681456048936129558409719177345384272347616643155060072765289623260438398738642129865873729086475653810864849112801661498908823748104360681977538673676049772460001290030053307992769799195638768775888080895264772977439148039636864047233078476184106853992281720694201378284460986214367653038323945884358821517061514741352228593661260371630846097900727586611716711167692294633842353029127104978562335379364151290412977762675428596338884363760244378920939132668833338263644718993902722650182589129571190147654180053149754242966864399233314468660729566254901280730188277403971747415759974356767845777730376604523431160119202295667091042605604060785528780560009037717153522040219922779319472984879440966693801126028250985903049824450129172410779982139935556647569148799830822492276088590697284620047429184574294769299726302267001915969162302791279958131015234972609987464291913657679530556835239025250479053159950183191068211852027368254043516454889852068861347584545645693331110312230455570224426483280952988578834360893716690288876068819859253370353822178442088173242112236736024677041485005105854611006811906847485408273170524640741591654543152928126603830883175835418907222590966340996678115862174105513468170486093958487927714113659138358858404006413001191812257953280759327901045815282161237042082948002410939052338881708368188968964708929007091079823629477664129296491601205648738794811637657922946008820004943271468780915217805643809464153790337409198356584300298332055774749335137788275494942246457755576490596350986593988396881025666990409182130752847380132866213508884402484698259681382123441500082166816360227100067982213338968785612282082913523681339339882573441885965292435549669518890393153069645367379455900870691942399512296533312908057332755154093653472075592120165153802786041270660735546837395439522767739263663669559615934467916075938653024974894686501570619995476380447785497174126510165470135092148937022324169590175633736316865742660598338161630978627613635080418721467293127342544192226774900836485725784443885808005801431942115226084078832310874375728329274730804524332515671698290097447778162427327771405184406582377842258202406798379974518164690193630184202444971873739348391154172385074798269406126821770342868978450784202712541847793072178766218160380906340948797527527660454368737082100048208127323410884297569428124846797886163818796671198795952455618160116634465715120053429735035780122551441338700988765513804108519588407480825096268490913513492436990812675488059665613864769694369808317158174003129008274831393371119107329128962257884947711531138486730008358600496398503367562340272868836755125756684331508367098457446361196417243310684377246704328364704763077658564869692171280879418054706628399371533975876602307498229119552496927675286646767013132785564738878181791172971690064281563598169010313650471155672979238559331690555917387562075289400904556732594585539143692576909519873980483560478776250641744493178578442028635381282557783468303562503092854909032553286460893247616276656204005028260388791209727932280275511709999225453101706159084127131800610244410120199144902859112940207574631875542600224525746447668343163812569233441189661330331736166731780358720684775031327109128490556512153833089858799684283613563769561777219088943140138075419799728722199716939202232845882413837908213398597683720091738064522223138562920607775220469076792210947718132815504596741549066029123710971978411541548297780822539680858292048920702278716675402593555797487348678333663805426635450291161325487169172738242150543178153275118525947398415646332090573646470293778060670992778791477281093929681137577476168844967628484889740410316233693767393769715671698783947673091066619336199397439921093099997407340421263505544323297487499101947700230214217334264573212251743600286729121290278535161332320845407425922342355277879918753015562678864044940435174130108481057914320957415673910020406797357911656348919206550191936025160560673173936934528487656676795564046019891071201538749433267921398484071731396631952380322292291638159884231362660543672907263320845978962327239711870609127185904202402273006302611012033333732494614606642672844480741316344358564260819933822740272562367781773801827513428353331436711653125809445293694351250883893120947430648646008446420536901063644548722141150971292183802827535725033985388789430252480965381872041864129151476442662533987841579868639579184608417243725877930996886089377124339606727601738810787273948124213721254271777184186717508708260371872086244402176388786250982094952046186503180580798607043481715840050891289252014334447501768098735735426381151657796119844752133118777325535110599909101319619118599004739786042296619587465356070176663194258969307331628491470637484347517210166538055032643418483974564869820219712834178617277487392455378009082908662688624083385808959416540217637007631084976241522960952313029871106372263350628538621595739236585501645569986867985416149332829585591657099972832760212635939605979356950764089309165961015286320894803898896450549556481116793647149523243973055027656886585050523323788849100421609156877473172941420243750606810392876104186941821664574145180165063271652037720054984060439159363429216813545623588782921494012462568652392930173232568974838805410995347652833049073043206540342977170793585638656063853895562578071712844266840000382475198139564183201820607115665222641308422254410711870961064925391718011252116803155110504000898816755078818060651115834084110596198514568653699240452224706072600773079666738087190770932578192286842843258481439205601842588541957954200422703376332196539237815867433313041929328291748739969347380416648343460599587540145526631269765440132895315217673705452609364183142152417486807395046871331661537082042250407510041789470451729659514050006221572736384123289616541869432287286016352728281268587189285420191667301383413962691593167449341314811243827355317401342858551144032166707277200670343892750817911455641368003745580610604101545387620544006318526703315985544935994551291781334144669259335293834358580943955603605477560133994134104052713021910828604049255449110135165330867468944601243095919973541636503575465110386059557991921758716646789986728587108009742975779747
94473956345463855760398233819387324765931687763391253483636839925421474447980673968751393526633889113642380279054973709520761132274804236073687539296866106683983904795420807810805548984591226102829942107070438319407112075018025841763148045017773786128555414553839965426643344753866333471309257313289935449808641008669404329257934076470508197897097485695925676348486952359886603933000303370518659762492872982038280401523928448891148066274613228887295518948870886454372682907548079585190903558429911424885547217185744120922570170280065475387912912543233912280735255619455009569828806925893981197047741188020792452112621406183696447132519221586493082331761032035963817721720670611734346211033311573463396602685538209203935004905336594641723141573754708421270576549070844627415942874081891226681108660196235478136019932386667673696857779748585940146874458864311353276944571436694082355361841796483678535218935560774555607457479644011610249665643837400583541567471216856243346621326684260339440558819673435036399329295369214890456906954038921170529331299075925424036751755128326825982174275156081578995182598452013041834799602315940071515393354140956999008441472355918734986554705681887733814290749536209720088994668776417016500727618330630739422193354525941099066138648582649603702883609997265281651676197406238906788040430716757919347204898979993255746000825272678261046097540137235752475177510951503350616829740907674686507062813016357014973963486753239182750886303995186370604700734090948019780282377095708031905670939013708616427895241248142356166079763758486758380275852438907004077221565800031635109917843696330493017846757828014825027134900465411492576497582801567073020431165162578692777640495150314667432609577277585658814698739512211109857482967083751637965692771870670688961371789555069303960647996777924068591916266553724347561749834186839158249747033608027020952562754983982734236984079552540665522271091426262470700480957577388504487486473586510803284092027025713769372613464867138661979766323585094080469200812799536058905977139644366925056867755791484816165820441421275668786803509667737919289781444270650927237150971281626737155381259458414534842984271690873866582131805010130637651024130674911558648285953142204720799385963015157275503990381125723537791240458723099106926756358344004815686863846295675014703151830263004469765368382778452451168874192725345570176792237138833525979809377741095499066727665389665416631047675364257151269627473645193153018553196022149107036799189866133269040725189043880309525736373832187573258962873834716862252395077770246993728567000099688379392603580079319769238585825481978628436385757281719405108063070952974634259420151508521767379611069894829525389085231583774936587346730743581014167310653153162555981239616351710208037018364989012901967358497024032664300646029005484504397892007777157097203344959531719087447873792306097581225660914040545489188553206399086860018393629880306560417098101004024454215450290025818457276341332463315749564081139292769878880151116718975644373421831706786985227529418202499067099460983573233081545839129821124493093533672463116563891486462252103906867209152259425830898996165545576176710990933567398363969591106636065267213865682647095785187082628635027611799280425133246427110371188393930612459263539042268168937984641487858835847037153414236254884555687199772008635211422811366086948474533360456359157823975739820917482246756522171070492740287635453944888269079685006501590162940029485224531132736417556624060377182553562222589723468248125802328460652372566286466236369614961841719613003236386280297861392703739004604973885975255725777166570007003450508567436953778657089949441556665968666558393125268396398213573971493818653538055432391034007671213196982831817024324487671055159385296712678905553510065866309111993090055716137038406563176446237980879872056162513272187790834720300566573226521046611826873818267810167126919503770545604156297414573265792353357746877121706482295711517116446168081141918554879340056266576072950917284559235356452891058545443779740331071490135399820876012174519518095998730370803430578113227032301725093379811928517628284705344353711791005720845701951536666846988516003486574185553190739212684566047393172474461266531214638052054647729889464005900653189514694436969570534529414733118677593436111743387199908986767756189366786430233513920413014788054117151612307072357435751582961871652325355471518065026618909952650103936478203504421586425134523540158751184637820589080406551662357321544983277385875855699298771653872464884976623603753343876499087777269791440041218313862862616841520703885412546505571578298529954599279978569689447206939216039385588508007221702103753332551872467392874891701145176752662483900472249809754898132021003141609273786952066144537587902147951223613303667258733402720686279977668912861525231585641035880800753943787924491234069621188769722693183059018411938440126943993449075585426568568842471370097627172279037491161620445677890834413930123300573389284779815572181789394183157117052264326572747175219777440222304500135046518626504230757490285305137604746795594683526944875964741058260310276404384127877252573517649225996750016362664931049768953136048491587689624544211173436203188508181646171750867528127773632990363910873242072957962144583043454229592368260932849365394667386661447447688581573794896947956652235772697203203769413950203461328222052415151549090435937989262556879713773494576814670591012382521243178871302687340830557447813507039683801027025458839920419544259002486894588612967025411850651966874769621830183501701084640913929652144113991688262987458992411945540545899221002404368150265658077733663471518910557105198445016948795125241391644330358029628681807210654710537453119748157859964490834770425077572950066823289346247207775456834933879771243436368255605279640529226612773187909276244582190903170538989361148758785261159640298130978563622980787212297077997018573147361867715827536462785417994179985441254887997175449855798626399456052785460564817861678319049768866943365680294210861952475990074148815685943459474461250009890483917361464499416124721463121852151614921804411839917116763023667457678410341185934556392455028558196943245138594743164952745283995376357836167868061111942902057185046201032605397592579538963879395402690388498018943420355709733278829430383572399466000586429334464878734830563024797464826399374187164001520879870086104682049151337635443303437230543731625391408600830864890601377335158415794711289834205973623044893471867839527224340882845887373733039889435445071802656734965428706128166045910299555120060647136264324490941648357669022186232363714319322823276437340214861080827630256861254350778628659883733320346281464603682486283567136769103904572263408922903752329121935873436745178931095153345473361975355357559986605940614470381291690648054700909439960710683713996834393090761498440651350178840249177360158208371482006234649559392039187068438330741435769824197457612546337650079366967370187509093864465894850892867445813269535067963001958853525464015572835022269826948948712751080306654626929469930492903179194181471039955780247350409082152250934859709657312017082691822364024299294739859865917968416216528717753646185328757788510053872301535376090174107556877076574875498472401127880609586603653709381843209747042677134115238214205527629586235375690518421912031388155979264811989879042053837763226095500183771806627111254835012859168594597609699796805902942505579444037704209002830266990837919119851797537427852198280838512662449492565068851220871966408655681714468397673868443056553174646028698495342748392865431664446971925915186620359342688515176935004572213726677312201238843444740629695554652353801097008943382150569634864581843828422539062905990510408214430532242222832404334432370016842906843111117529471297438775609751563669230790076677923231777533423513686651427496937197677743612419426660664277587867000430923287335889901144884836464855983206653872357906246029126131216513804748740909316226084577943310143219654393626141598120814766671569007255434615136655534420810512490087829642119137039674131193974652189931267320558974543593985737692873276987606074191562451002388073587287622237085407479118596789227340815782283098612077384992494139428897850820560730140056696476113303536316123800256032404457319584484675388494642120711660147491890542666805870962060599805425165965619013778834974973629135533892866910658596381436058722047870447731450100576943166928859424510976038813139035643339407302675936241188012326513396178215064093147987210704579739648850154059608246618653765080885902584615557146651774384717115000976190286711921445744570333121486587174031426067508976172389904243681429949336264982454255280576106125903329134191707483839034623714738627971226187364729173275031125157550212268569547166652199301247494033281720658970516591719265156030000657658796920210885082517242815695486310635261751856470670184203176531430884306165366911223860289866654224020742778689546281230144872331684499843307144872125179177711749760879662226586676165917401191358243250748402688443643270480727695635776358800023635115114594478042901478622337808625113740862863597299190360403686919570001017426494063442598571407102174647088262545502624393339771408912036397870913641715115068252943091837056968278968063686094987277829579086060767811267172492952996008225859337102743848013613221428472288513114865605357278386375865309238519795789780376598056205999264169964261013149376342084507349806193620770947373983657805491149749709589135131367759631710197750497971872628829779966573347183419220142389995375610070640374538238924221854456962762412194651003525513681299040061758919534973174710001750936101431139832630741470046706985799143683642647130585769908935695226994965144954362722248146074977932857389424216792985772014114833297625601695152850404790958840931684140869824870348604062598252525710318087913533398087749366996921780886897894460196574083437939591884990220920915638622934904243436571290526378567340529727071371829831577675213953096451607343633892238942938513169290961330874704496143849292534759914158017664175562224887467347135727365391317393087090169767045382532544962216301445015100526265788429678758691114858647497519791772113515972041365768597260533531365738828318065537002086349041787798971228745366940502087448399458686763965319874060632366365181072344033174202924997995798003096371034333588067479472202228327262763932595001890070878514083845663426129368902233423844511670430709504929897101176045944878199754481205210115431433951312573220449456959778641486000041218836588249099539020780449392335147107264447688063687762610323139443128026847201217957515943933780911310219748702975263748398158915968694881127143427566338434392094089828152792020046426429916398529905916591135361333826866398772140777287110095582873402878506695899855314662609854217615403917543286984448196476982230286481013509201788693305460901161976547328017745293745129143072934893343954677353636107277711095733463396920513087405225994618122946350273341082667339758695051512155193603605771998493765363007932463100687959427735598478912701778230572134114454305638039428578117133740755265737747980231044548570347130297147090328779884995579166092269968367518789947474250956052051588394822375402631197641664771458549702684190041636617768490218305883092915533318357413061673319667120442020017494231704602042058144308269962013556472568712786753652559707191981649237610266339601706149926438918535482835276954372006978568749240554612496766046997392299327756934119618650898496645466068163453390439389930524947702601528744083662677187972688530743978036348902773618573393812404376707595988225432305142248496579524890113746833227225230898203019359852027742262613692334418413142760230088939756071693052021695111443987209687210942547985494355723039655105945347225113098657995771956766322728620930457070800928725329657108453690841821441651904929414235067629768387615196017077633726177358422964505602057114549029877804589108529585683076937390413171351134425834551298596305638658551570940958392390664384425096652936286757594604035214045801810909637786651226960305827653945975420870034107639014078412396816800657603565396733703650514033894616807314691528405809070979164753563173238008051363057700076566411888306547348266423477545393439203483891823506190378061479641930184973839089033328699454567169101637425381240980666244266971092156449063561040114439282034934178807445132333182242262341503667862204957739794532877722253644618319823292840403172732352754094856403949815474986560426951974778486733257039825580910873905928795108298488805399987640019658460572731379471466994399335018443726721227346036959517509579314881627271380488349653673774547209415260048458906710682851786251058096564685459450908923867364153243523367732534573525781493217009453648799607357583171458334741762086712514017162398992985444915125183266419152635552982016147832667684410581888360384542008835012576632707700476053231525845802394927287384935149785568625219032016777060617856518968362178345065972923090233637534383642986477417038523590953731117871530728479459723454429059604724328415922634668942366205773933994361938081778414038000674819039718620986277662695941977598855334933286659549236575003358461199091980814899278869668075612403488655332950093882716167728555966011555329839662350454153399422167805785974558576621890807649663053525776867480518324328028897292018535917731000644516344270208488962333909843283007758331963407644559027489726656685880641711435410785790392803926062637074659238062813037137766235126869800787954078936616888844394435241183295617733456195289988392647019446419517511157346861463379930992030800144948708930786424862674355619250508519063493696802309706625882327627872671980421590833332779928909656511229998094270201276147758388591726759477364251593866866443135027017439854232761296805495672191236101063409673698405109467101891320473573226970380961573740132670195609143450126800575472304454219204861818150461504258566395205599312006973305107703602909954892839133446766385594069427156104900705827086111233517054525977418404538222243636015347339070743001843700714470295706766937423008982608281188931683787467093847550503096532566783039266158218175388857132358662167827778241300364866474021020727381983119796210271818370770941649305585041351821171146195484241445340805697618968104707798819193627274809910259367505460867348539605815697565713001815583220792798192580550736715492275277470916513863131810332688261198002867951450713812626786704042031607876928884209000615070642731735745748169298070953376293887838938413155708207229957140138702118899607011773883503869317248831109078683486464099107994986943811654208429395657636828631085175025629606941473078095636213719030054739659288944353212631016610363376034855957984400377581994203981693077235337310072620402248821580400879851800381464403928202569677711254786433698479914264958502845768869615727342160978016708212648184798196464834966569161707791490250043017273727149527785244370203945374836697788370060769781830482296503242992327563777797418773552355598564808444163409225146597464864668313064775597931137681793758633148304227832909293351827223041525159846172298365779005431503659411620395191717490811892260978247263850436309660626020204803362591359599009257928413300145572227656116444583242238769192035913913086551779984940648954496529166452211744981728799135816198893911076784969812408843640630212532215843370328273409468709227252591921987638525194550524529940937822859813729633452082363163624537735311966870937369256341622511635242620998207592244510170929659439155665394765377693790946017125898461107336649393819329583129786566127722429997800014498115096217762330795457170246868930229602717615200294771947277777148210127186584545268514684510508274097905180242603647291911105030895490238883686318448222015528550166373015282394384959160808607056419777162320174447919737680762026974045606952005375037832176166734957868391138638066974887727054651028309861933791887349814299193722886326803263823272399154780989470517590212943793477598134060559588238468749083742124338628622497144792304429898630852571897037912400006815852337794587859051760656666417315230316532190231875326623019366091051980239815709030979201689200918089498809145350177924107570790727862534281300720145215869032706160170382977703916258411111017053765570325309736061495797149683456151934820599736870991574566989087747032220117668790539455366861997929140161823077536667330562591954499302998279506653434396439569404773956251920194259443638549983703257318996013744231027374870458883454295394820344049486082038224083864514553038721438887178016878726368169378725550888623698733817199724942283871867359603262506415472427091393884757790253494846193907844476127587723531444364138666104629658281014465270660931859870815374490964999235487103012268476374185564589433614334611786253223976338891865322961463674474041132583431859758209183326077284138033607533257485803110274151032483564447130934790623005046442636302256742552301538687139139260023034471422810822076187186342227828569374229621400480646664454718358201581702650769880914321353211369484179669747722175362905680914955315763068607053166356977139528820423157075141724649439264912977262785399971595325392827948375870887331012537495830766176372828691201445613239178849303246327239842124964594645665524999397373379281620276843826942638198222413320617002956618946336587159576799000407623343880668813266019277201432100225167083043664508549005736388567596206228447243601313542834545851823709176006678619394248520504137672340970701690706508467879963156940665705890305375019677070252862776379317229760065747969716231387787767608586417829397874118976902884697644789820879008210734330130329324044432059742552117616437138932754767115073166072109705190563294073193752643491715513772060767294171649430078077567840983039168682478814902757773641302634568189399873950944666642941871698368477016985969753103127325405875129582584129641570558128153477559157747756974445688814519197166663983783423022917899757688615024032557376661928749118944240169670385862060280686473120327263911015659145742048067533953768943571892260028063142876174851449178668772939110182076837649173046396423454856495467302325360193749832491311300321349140898676507764005238153610700081903233626194554072562324048497132374415021276452437960877617705721193037513890034998836008106737488878695713936319973401815102112225564633662014739506906118811780127781026895285960227240056296212734345309242094723623603377768154500478676491719038247290822031797101526208076585987388260661377976084585029542934313935028058960687698721854658500826464938341152675344909303816211878182165660519180649652573278412827525775726908360856161676280010321359643412430883576886924209564715397739787545367816528287540726115515875286276817097780291812747583051230996749666606831974347216306110358588030567512844481744845506116606913084677576501631031852407158027464535868665201605752012285590520237360163443808159633546628356347357286241090050185242274001936907270930192379162222946911484478148459283871306591921987889771782110419505540695513756837127581743330723341395804061786085221668245760239705468964922466554813769260243489565370352168347019740512822826904584681808756885852941256270363856013800025696078989078645867500257134755891364878711518977136912268943241700698214126483390801784915484837505479036468655703762823179168644692968066389787074707712853545897131418432206581832672816758386741366373200677679219415752838225062931602219151669024132466030713999029340329348256018093455611369206019009870545401600577464479254642439161905036415623925565942635574438594265194254751223694806521756918245959471476265907239116985186293746564843165876345512787069075075357814577831171843861967886737663424469242738916810893098754696099898888110096439880312421257924725119314046013926864177007920863817172674123128588309433667928751034245118947228989634275099696420524158455678260946308206179374157080441620745779867981501892963677337537425333414965626440063671810600178133534016497116706578276510
52463287468602484659136536997777304494530449516419228989846545899239256663296718621948530895143875349502717000212884788834711485906261532526473503188407629597650410274396532583695114833549819823253726078667733006055795786156487811563805328465668185638189663344124093757804042230137947020318120374703415777690021117242887909635864150155535977980030191615764635345156846492198729812835336644772307253460938387592793937523179578390317675138752689098420545217572870169379715357078805794373195109227997682245384672722961464111694180594084386102610001345567526189283960702039533769918405678301864949494942700206393840496874593710079814148432221536238282522187881197124414621818130261514147397620593289748893321475833888007610847262437053638701875875048849216591960702568900960350295256107367106559904008678050162031018106445775352894719074885943286952934893920209307002429729048370536092420546868701940895815648252711811920749667145798448856905304994362368741021310420912640821287264541041385528098008154877355838151405918014722445127473149449424952891454546630865188682107187319541230160243268203344673247541603032493340078930080317201130127413372476329027396619738699933802033907747179926528354552126743486702836569584667173869794946084518130299461384803581767161777262444330981420278233476648383867260381565557322591396829224193746502975752732938316454648732860932600154501139724533442369943366820924433781262414977901865944664448365432825503037600718136454623395348428518301003794738417621146457754160857513401171665181337133589908065433144366339872011739140089164214497595408402906291164456128757362273705581781128640594111695789877973879803152037792479502632865747663557090266589230329959318601602996019361026563603828675896383876995232380463252322740419567274844405093868593274932670514231221606349430054475311967132871791887039776607486308494502484244207084986583163911155007394549410758391194250101568670557901962601480244368422677651874396699422432582104946738292571483078424597881205186171831636179516742383869634813774772914852037060717730006391871926939374824099586108796548082762066838110147924973949378521090083910473717958222436157159401829391631298827024363052979603969548647045128887609787101292891267834780322652757330657835768530497306348154314090244848378504838515217632886161278760074889616045189691977522839331285919666693074732907772865950650737985809455159604519051775651929835073755774053603695730766128066499303923813341599508007590754877769452741137370303787736895297597700284048901797031219657270388820743482798206107414093953599331641888643688836753777401929943121164665459872413747814358470468941409449867213845432500886123564440424984765980252380511824557109098604761349794103736768220118747250169013152872988718253657487989245528345075869713237311039801431214917789392879862273222228444239136872097753810353176680922340324207475709200910386261197372507388388329475368982560437862872939283391578809224987874126238116945561537951341558642996309959028118105774648446953332047638797689504545110204170383263340317553214447100892674712829534921685521537387729495620818736590773321291175890182036121394749031639057141972311563395478563149172505030092571090569662570022505869039232775605666382964630171670583948505529666209797604554825609607179388711005552128811129965709176980906426870088530490629392882492273001824859704578806337317048639677252919996859664771591163643214826259636135423027376488745553319342341136404994900118992557335699665905884371745408972463461249514741722945650260586196506537408223990911730630676636928295620677528337031420101975756265706299366642914193007144365718725938176292966275065542419701623523741996447047993547429173688238933914342092225125051091288146200636809416679284378455997180316370071720067246572825560158895657934306223801313133956869989534991166713176655889072010109089005756681653105248285709682665627099525974977749715495113202026893241801088865793575386540538820570206001636778534189440606069194742290056888234679259776683087231774542846332805686622957071391704797583212545568709139173507356882608803007120568629746510543474005890503447117075435036995613929477120697526488494543617596723308585696938536353203194115341413796412748568441833494252468938628944176657974131873498539215008917095140288538824574966763566412956338533632319972568595081847294852169865823340100848382271548746433184456941768886116668992010296472417115949255922369210140024265657600939423019326426191500367750673128457683994760260904473435092665622433863411522456598109897194237005433445576617581732579666596887755287049804791085880854004606872638165927869302319358504478253038166820569103105852600993468388363538767490135761719778000615469336017618492943309970048473847808407155315342686581179050846305972444167861025544908677075010002347439174971284554489010223648793775413033475103192631427439737950992728924824521269639229997314089780361872333230949820980370176023427079584963673526894967268167429469109191098607382694239066665998453398986183506485077955364435496436727061854131257300575970171612469551493430281887738416402588103126314421224083998580975703103970352299420342789625439545937350591064368439411023564014126312897856023044275887075517551635283813133918885870851600512412823127177708542638552396605857085591358992410709355556313961280149526324637617265072057779748830123322799930190241641194471543264639651858234312355771110988017798722964518408867480437912970555367207718578528159294435998782242520999103268726699733678723764875745227104947585064390172074699931635673549703746966349188335655652867513789222398858725349403501374600556993006745092868095854002958069556581450593122315915499201243529900088583317733114914422986874079173491460686999438227927064590203864693019845568089835088944591973866462213088872608304078633739339696085828515177959122893408000612659634768070435923821661476139784934014784083885869984335737897548065112002668513355661041625860355536515861433157584521081944341714667080861480638184883082640458100466901749516264536101961112971345140656600654390566945607691527551603495454398542675123754907835217381106502753712253030295494299696667952348823330526447524867443036461622771383865054339100825253493409010511404438558736171798835004159339432230630467636921714214167819801577435431742328495332618823486940800322076392504817974039622270271633954954158475650767267832869298110855786297491485722146385303973050817897523979559003508630070101581360637972204313269784937697840513405451233377776207181235854980902562989976710565683037014163908183051700019191541593402471364095329452472145744502817070938421871958814050069039393997088612202808641767874616450962960380355683017546396819351544780237732267862011279821909633645469338696478815369350400563619677110568606461785085224574017298965514976781003918940815343469224704842731585075413642819770186277600586561191791419195667325712721244489294103156425461279993513025423153227174831988347085351523405457680692012173755986233312550961589198429644611184794431426274652896059586006439672610570130647339832045461996804743136684156279584873489475461688006077277850458525454269370478149252861134875851590251520385445435630209955511587451794110905881198319979913013037482397026615269740395518630080140873868284912876817124946735711634530197616900906997830904363019463483209570045026057076582173550702256940436011523183254703026463825658793094659563875426404588965066785212967021441336991126527690684484042742345006116905131936196495716987860609174184257420010013620912741380707178133887999781980881710173465772440495925894618983562827607232131353659381151890360619137711823323807287424614854701385140201018658321140121268557855483119959008725549427013667562621297141229132833052771286974145963069948513263682168977396555679729762025198804164446227459158303899134073655753008969807175528812202228840893023555718722793942878396310134823853142408142353045513617134895537442811555028538109233797105897900633413383060745625222642099998463568170049796577848232998156961311980359946760329637082611676068063844491292369666128377922972652300580787254980388905096444807578825919743763949643170926416567749011548381277340730183851355387336369724698378197181497004882836850553978292663245310185170839589946402198756863914243791419475277696708599019594589158270327867186513115124998321208145728863928779522997230493809806140051601198442660293377995008652049592328788410555395575385463689414404546827191938041670296236538193901227133477271747196901004578234391415759350492037525261169090162761908435334170856640148657534342334473898006341175421214965485318707229297509466853434560526352748072863445781602779892987543683048752257039521800846542509268261647188903773653185540640224507964809674680747475702185875223212729376295676561409288902248166121043045892628717042003167757255547046308042062085497525798783003459991316843601554178026011291056833693815703215008922987440241308309703928267889421664945827329588956560373865594042562649664768183074426993221707289873774122095929282551295245196798957774923697413717894056789748462860258998555870246042157787440441251258011725132759460512650072587393105383557187070809839412795398899563582104486438842943062444722567932428207746700544924128463108731160440969978324991622123886003765065150911179304816268304787686393414678363061903096624497771227683786797485906086038489220622233547253772240693831280363136504691490408478812935522581373710322969656404809197484350804418434755769122371298998665607461306290851394654139524593907647022697873527006022663027691016061277070667867459608019113144811587724121113239032715217276989855628894968594282461687788803940065061363279206497844696731700798898480986345257101415481240970174941246256457208769789544841702166631738694377661866209392013761149924556901323748597244815407406228961635767254680182783353395554200894717265625997960414549112192934781014532278008126224638703647610598504522270405904634710626808830306283149134345313295070586833482726204888266353884712681044994319202114511376811834921309445458171807841959396204202983242666909783800137578671915826677212537925664036660910048489732205428501501919975409517691576798755391347297228340811041686264481527334547726498153839559748321524801108748921215639532755295695557696390125284719415118235924104435418594824169613412108770784075139471985856116889398649728999581066435025300739893055747543484839268003745149342850553074204971810788100134871644409882247769040211004440556623389170583646168511725342373149740679745195485256992312833443579110580111492433734564987441122240091421553357070309302785549234595253202108130559414038349159153804236111748835167782585238072078193509043738656999669916998664047762803990927373895303753901810625622285877625094265468611049106929563911277176606081577840312084270040561550893503366522629572363932309765268836592164889579772476248237726621584576902425325954066784925636806242986160226302340169100662285456461315777518128670601938060894813547440318365626323877051336879000427631508082648729035248520245353099320090610620147163645641201328563328375293090938871299183361925672091675392889468851329862765949609148753654588185468122936948174468640026650027386104767568605261889839919194460801206145007352791854017694556446014129141902708328106244398035416051349662112374917938889978261715875279990490401172636255480374500545049221081569052946251012205865904673843856622355641786060383143778418923240764830806539057682684765147159301356761577860227746265001782743912971538125643454723363365614129232629382729855787637856706971534675258673373833089351696547445091373645227986882130097765600043443769166230715675352214418597740594235186374371872438349107514051159858065354829513193598073013474382096456233423271546761734289581934499024910860641238027426390062920773174669614690105875563970237100555558438060437118294100627909997640995236613648897409709135239216159489252933226992158906945707197768852848783226914851574118282118060777962685019473936013290245926393046083485356812131220012685595804108616529783170597504238407761499655945579725179711521831818853144734552727623020462400963581790939442313198500455103268643482874291489566017781523098129796622914625474532228819085029286734773356560377479821494154052354988376667005473435816677219347926653028298053227996260315923557396693587689465367217989427416237246369502539816080137651116829819176157027558436638623986846772805694201845716336624887193867715420633889972202532405222728645205337322770170400838533767967842200448020221640929105984779059141903687779790150284047615250151099225120355681509063589273428436430802655488088942899250137663640676917976145250870794492032760811612238693200336215800442093287002568665907768962546984915029008327278031707506492730446493270930051021278374547691482701586868446513799865875805895356822236288062686812894360259412672388977426418589281834399318984573636266953664615483656834917669042611741717386853055667146800863379714941032660848546299729312220676743476743111503441577821764959854471264698340287188428972226633871224064562775867987911955244022353633180989152500839472243809507213317339683637578577853025256490819341641106777678497986860256510222449136181377344569863906832734525229807036419663173671958595635873491161101681438249618901377793253848401612435924569240252236825661091699379669442097838728991838084748375084714976871966648259959140363485665345654051456371900964635351629429493753132256938820672075990789552174240021183053215133384002258347952741400041976766391688538407826342064012949227188357248497650851814535356027779766424729143653993481557590594761404196851460195285975608749008529125216787657893000380347520962394482059423263225838814652141389011239366594750726494707344557482483618683487045425207530711956702690168866212371014158907176791116000274495523408644084406557910353956780876043159355609776567572794060941504238627686011135410474224257167684839819217961204299611697171390855723806847448734370502687127275032877568005692177041885558306459857225644174284470839333680077930330704788868691386795495537842475519391198543924475544359444090799682764679819833200034923988122625993749839744704824143861709776168965717625139776788116493544826839516589412649547927209620789764249472547823592165099383031096423796136387376677885988565545239443082319972964887574798913078508975297904381770519724162494825338004734817628743725254699806963894764154009268776241576181192817272848028492303978459058154465610873037971331761639633619123485221549067166780560518916950169843352077031058940177323904490786402754362630051269089849842913614579782896778918224615961666665300947321430535659813752169221920298626666949944275586779653514137405309929601396287388581612662609878663360710121390291759353979502880367974078853343706805329412747514171622346904631849052084523035247506037455418297714503514902332782749436585101733042314712859994830592682167532237119943341619353636663442289208840800086613254682489364021510666799199116690328875753648424025787169694975122375029238693158804317497681629507871385928710772015176817271447609374901758791633708799477634663564598101058223226654788062552178359133905420462820888128450701085499945995414089246336640223470203274747498923494958282770540445506990098708528363398453825408066499773916040806363760450852715068819934278721055929165270573581518878420321473937844595064201715901989235293867492548834140644409531356430080503816545685870214592926328244015242800917560211451403053817633459023855595576995868449423790236435727260809863247216577157483327521737437544436621599411649533736648638294751655814390952408123399443045191432004883595237974714862433019871929385420634725761426462728399572102806755600624816270035317626203896530430808091005052376335794877949036802063099477727763351376336303193208607988675692905656071103032857897866015009893790237969564066998372028194231902013820056998383145042974002455237906561771969962385655288024662336407484817173582960841224606785157959103026694478267658536208714987576945471334419559664078830150634728782460331418927292922712348962110618959843019478637910620110181432196808458605518293709424167067003487950968542275657662885615101252966673369564917803959762507263281685473595563502896071152501222361162478293013187905812268447775739208683681022829478371687670437924670148567321922058957211158908491046183057420628370142164115359086878433553024205503788822326630992702374305973851859819129523994365605795737399850625972399937700357782102056892953032053039837452503047750968465731283380791764366516835564251924199459548368534090881806401619375664436866784958228439941576547963399047209137014281019234313638946124360039422365236578867163826898249063896294027751193589069890986799591074615869166746708183867785061687024923047578230190505048365877909790820087496377966668470187511661120023212936943333484660592106016350362347405256776725916220772772942040949860756360810128478005889908039070935166876724103118459023872072489860604714951554128145577652091058435808495995001297661345607014581036498547588521399399093531206277304241430615468757974858211985068511581350176877491166948386263993811766500043077346800295345642934998271290462314071855680932910990732153538514077705571926499029439307867725607865656586107758423102756831446016370107674738924272281699189327497099489998330937454304803827518466013509525736876577060735002891814825527784913878243713925749623672419848855115181776257129832957259304691730909846086819924515121529200720044443542976139404068144497642221811024606970808719336631047983217751185323085488353567067584023980476959838045751575279413375945644491689185141072119564427038373066302791992709798209253868181055668938718770275432048030718261366511162891869288679880633545582917908789211943438686401782684102538318819272548108023292154154211709566474671218083197620542865436233445722764329931681593074323633061893531116979150422801296688752728629766268210956178802327417332038627526242072025659772976953437996092198170855580671775748039385244280350171987718160670851222637992760246484860535064444072439494128165879163416688290147035237216557603954879449091466680920367188917027534944944829434792321991692551759910344368624355573505836716595430817985880571050459280853478047992382477625844685037960013009772450744424043653683130327177939676587789668107452674336628246078159247182556307328248323681191991041728531651671133656756647843047750758922709125178870179077252500998659801753497405865428803859109273463185628534202058423656987967747160193051486401776160667841375450349139827034673413210029360878722074573183519374230490965329661562530561124515526834768502197057801770652328136488114203645406323782158193137437069604879719912203655356470397399876555358610494325258056812662884419203811030956035779221746063560343583016232953870087008351477179790313447766321534802619524830571683522471022287856788970151278990912201293295587513737671873728211871177611526149507549639952772498120557375416242051196157913931783562948362935731509657986370027142624088549886834358030820625964507106968423147109638755289353513166902349326887358357191031725007242874669495771135799500611695882119784986516145169212073620347022552525323524845252455414287650123230856545563155183951876980125783319224416996293860407749136541300251969430096116797157096093082868118907736038875940583655482295946533575139967131277298359140750981254458881898992253518331788173049055071671452156017545209892493065992002930789919874352467824050186854257011041389829098756296200443126761916823037052848273875043362995434352367463286850844294362513336690440637732741320850403430253753245958188060365253335545762671472019988493500145497604974774155296285616648453651610053887671953713451703974843946773553425329692418125932187688437053650417746008188736461771321943379753320371075569966279630211151573725533608499625701156579485599741730621360918234269301375836839575400269755907584843579928463049329698852968896729022815697937393291198159310417571631629184973660926092518854702518792829254182293930931008313364399748649923348618129335987478726178522293039811461737640777327156
92420423021719710346705629516661839054525056290548365823716539975440075090852037792073424015661609489463676963609558679626256993931822258207400607321709750618465530973435729802359132883197570166724030799534086520964717539702517988782630535239242134059886511354374949599327691554433327640277317618293467978138656746690471407357549435436976864302057068389497442434752465836694595424021450088109914605043909262510549680070910818240819519238511641017532346388141225801536032532986249851868345817382176788455571804169635103816242762718673438012383646519146273966939848291168266223165200232663671249677956760045388464720487040268016775118215607806226753493613422408095151253419719914415927389540243747887108162636864918787899320955983509733687036032863602994561745016489466403111044250645606788184589102401465904134309534945258904188920324960182018864089998689864223716367040127767322865405632236727259019078372266765679958828694007257694520188944879947768462232315390617549198208349845858317883324195702756101181476784952198591002290569980405195895060594195370049398811684713329290394919200142818309610444083383075986317434469717244567117220822131536392495034096382202258119534760501253246409607213228818518847742135814797251815133409521662466677881023602221325238084688227813976530386861977878936744119107922965560479506533998048328856314130120970699439995918466176279551693419486669792511705014909496510943668362320977098496109811921029863943684845072970245520834382276273244870700511007450447545244957957079766190221810724354184306048629151710856357385654365693428817722193551398431284185607124397819130867168396788981138723545502447965521176919557208639734002719213171553076567538887404406010128063288500134371868675222238647020859273017031077605205430588989054811026752436235443055189302059118456385416616564535047086960698025575041143777927104421115836805391655322555963737026347243338806921768702897483000865968607400454052391141622595651010997449441940258703497713234440848934520866920771495047754706031399327590051843281259311120462948921924071847589144611049472581003260212548516845651565884138567914457040461274735031405372338183399215198918944133243806928432565077093808618854580660651805890402130358846619111714579957578263469218270588582666373856097076906803854274062322675333319233303248836243043996211479695595431624786547541463543489591967647909671466196001713022459547278726748170715454843028648374815954826663946583200316636026348621956074644676832456675953850862232758312633136411551595453495139145751459379753839302702495895344220925494530376161156052374753380697415992090777382280031116221692370467085213546656579978127079786544451502513882863145159515641982412011780643094165551715401775576342278770469169852357083692800051417695282796437637186092403728767993923832109751325693160599883336066317910582258631784234171477696691778500733690288869135190289674851329970842457028193023821134620707626432513093636684483991132842209838746692237260012749090292364982570892655062729410659874146021381689025669375611637168918499381442586510651184930125292121833874971414826425460227310135646593673765852183759235573841761466548843198323574929131761085405263293557173140809563294319091132873955060795445491223940962518385534108544750587802137840472274536550390194407186179134894356893075550940983379864975270458207174407443480219746375026264725164591474092471868232906320348305781343406293980410156496460304298174326524939528159074932480639827858561179737334556510355981538901543358228880117028941796007217395334331838297413886047937564634656387370324275478206557051861882975417857533850345173897398979438066281750503414744428990653191136746741799143384097363751969443085495864773418162736791094897223033845479418535656166284647514248440526523360539158350369915718889260941206014421692607706508307938732141733160976764833863830679876302574732006726952708580986349117798437144215511048637408499069692089863642397128567258337682103541426924681709732552040211059076394415969563369174079252785354980213453944871521532748074565546114736398416003098698353449793585371102138299748462843257643031933974868867387388358556245071532594790309901913497819163029411833317192463077817241299640041593646896362491051774463541352404954597381062571267730323560649820331367782042174040371608801352761872983045926639845133252108527073508128249693082595628450049203557741566042007859384610522205956781395465154393329183258480770405861601341110465156613115196799338438513196452759898642547493018543803639300346261411715305600680412875485951662080138501491314299472676004575471507172427395439240387600900813240184301527723433201752285570996529466120056819865774822132452343878115739001129024078183401366091490881988558660462186514320072373531032618318707098895166738600714253467879346434682542445836627300318583748275473831136424685371112213082429168662196208238089270451145589016142303188704319510049056717764971729768582453701947444754075493622879730092143791128912061673176143456634034195492218990456972333092045434279668396549380677809333086868470106225609227987063589812053932943062707654732464215419707100691944426507373870591852457373719736624090492665124621569649313850937418666609396228063920096556417818266156003448750087057500401789696515120948804526440643050582670353618358961649940902808992231992011965410361738129032625220679859657459880768318973797854885160275744138025836983901768493086283949218146310970772915072294495103977393590459620552241278220653501297399386208012468752171653928195738123852402621545930664175390238217984314142543094780219233310707820263968453917749931414427619700643062526670828217240121135652710943466738217826873490399406116724185657677582379194815266923066504206370985270921034448355373008085710530945169381648480932875135661913317869572912609775094455938040978704235016832478884727020212114120387009200291766318293656079959341875926233187889141925048892364098946689500231567190026883666014293115736888919641239066551427164635950651961370699072566308647044516118937526203903809348041938955550642920484627522770617178672673812294193772769435197306914844514869827178979843212118259854081018827505788093650892172512137328951692726022725606303504213061762041799149165219492394798301113178970457789452639404284490155354191633272637079208670049102415206672231169344854760134019836901540105593398067341925260844511895572195299783461587963613687723581331599664671803121886109859925620747642613957727399101953335958631532913740685732407204245201754948168769102262436778407336746528937518513381001583782552535989504458263379246279006294231866015367755665445481475449429834839944816660576791383876787276555617392230067129605035745675037385534138345813358158627174406144863476090401846512151360175097207708300541884462421263966638269000599716240649794551998305126886607466589834184856714404754915094777544619173080895415303301379605656083123686513654005677240949272139353407552537082298538889052345980591000832066851561635370165617456357616950140240403516249109402585204242036418520866032339567102382912475312937452900156689215273599635571551746000482999202526273649834296217131881155296483808081844139926712877224668476079153407122790196518985685982624142570469008602353394471955837362952209277397798402484766422599454449600960889314525832571093185448910446214348061613682276015464809734128444914235607875292747387443164203257939927916924413895343325122757168261501093120019010577828003987287473596847976421587339067910995420766108682408712529206817780117281793063856783624595886321712611442572681136164887530344477316788365305661092507455808603808942655364355592907841622600875418498623724698920708541274904925608645711806014397661628362551424757784014468544103694934084864436546067545247215605517164774510245209756134009699376886212023247453256747532631368078879176252588100343046449034205891071527083121904468655643928369909204248743106171983945370180111525058333243476193278021440334073568523805625489820889003342863457329026964555094169701250252347488223559776691281692386895126454787268137383598015143039495815200905072992157609547136704930110145990901984113139873157494096339833247826409705975489438374780835038188375013301923814672305390180667791862270042959154590665241220945975666618200720865691431926662712947919613141834057930049782852525315376841050165088253128069863778420700006652200846833331588346072902155386235934916195505403113232705509019760960767482596997895111429863314997021297201091130737376858006490188140613408046448800822168397442990316329428068458619788970257940096229947744567209621481792484848663929003456272038470620013394262097204035056931120714262563964817472000568606525114206142208604476671322255889575357903521688865862060589384113975092527191134698792896951576666765381395883912700365820143942501133989388267371067159022441914992400746604272574221135548191525844576555199552275320525619917423066939227775095208313070823612928185536836354850848880011135211867578788413325294523874417758837414161192937099578599661979129429705834430678380059665961576982170504340468969951184835496701111662953196750860881206940988795624081486061564213305036515951325364177034372993485774823411685625118976958003403136142614585167045751576435847664788504735340616032100529238923316021788932567477957533333705318594484912824882122319010391042259241022221869611125704887257049882330431797510553926780094673564943278714213296088497334132641838979123720222152342148013001127258861114713143058127363782512278978363806925874417040966144722766256771858539377972446539970791195077891404492954104219232074413026228062806592901355601028997034883688442032899371706126902689781441851648113626037793641594495167691157484280970971006607433239236353728177856413457245177435882173810353377974094048536530917232858579778751398993744616445994898677905929639440257027826471868881916654655063083344173599340784300857741186573302036962383660797099015946649940878311658436112962113005499202761161440699052837780160687381010604650700605423575881196442344325521018920338298818348709170948674801556634129845014646591855425117993027761347486326072503184878454602637628979751294332194625473405155334362957243101559234121244773330282440784212249989684314701881969524834053249801755915292176610782590384680327076051999061268393483022744500354784969496409733757501088077812332695779707085981127321579989968826934343565210617016939636704255605001645807954351721210645587981083651096335111225084905009684210862918639125504186023259085010683603280805192265152068842797734666312856657274380462084875682504040735371546721499942669204204353299025392877522393365438544890597167630117450925571005949591822199876374933725243551221775550929004397541542740709113319301521660969036096807936563802706892114650355604872923844966484867734365078267121431652758221750856569489137698194820442519533847795638191930357425595222958278880267329999283173367928735891527052836961509191308701046883815378455247851167147350544846402270328490769149482758523135597171999151869644591359603856533994506020891223348112062125313655607326619156270454330375796669771315657652286837143182172157672484769955407649725566845999988069462615339039851120655027246996979695055303094396362771933382327780884051716610539261868437408162731872146985004969892977084714385201273672703968259002413819486501293113396510272336567748631014241441793564399076568592619056878031094928580493761491757163329972747539660186017075329423109006642852973053238920087459113252248509658373045684680232846097954948141319747015856625218646885274932200167166024582265234904954716829435393878716420191376574678054704721498074256579351984188529497813393664679042551839934122773445860518728918062408540039173560495800040302926052921557067143149014883373024618074160663455479982149929843130508116576047122733367971024839866346994719205146241697002752956779610799878846836916027657009079708075369812304433993966809617423623911807385980759511616814728860455666604647161029990929849980863660409020669501387289197623994918902670073272647631078935451652942122027016099816027470886979428577368925597700208371358407975250390353285475624604720775759457486116003883223368130198268786026640803649290546847049494171983107683536144139848528881670921613211569813170173857548611556845387909711101856931375194325466485758121612486745618987988252686372579313404980256287169081059219391705582249118602925521368362998770013846655999714811165848315822886058186947581646489121643216333792285934351802801045182586202494291843427573162589820893734449105826781490898992392300172510084520047777796283963754264286631609912422595005598872146966777337832249131227025453583645645457664406888654877796824943977563753861830574176851745958369082624963434557148789112764798619604524275279494920774127949481568226497588854946768978372120679679616560347042215502545912942233468755702185873508110024991410348324356019866206337542364343244283807599859528627399095242437274190690667468003788254898994962367103652360513432700387130618711061943747643548092443107185499224410955106823408086269291596858268902372091960381447954314671370713640125381141866828149220751675815822730833224406246575183945369557302057563567978007960136726241817360536644475079939921961418871498088401785773619126468814048645114996512002422422025373973789865382072930682445827688091905664496040570458240637307115666683668039375155732272187054869468067729007178494550798286174404413894781974221965143160895103899212988381699602051792754817680431521774196978611319305720336488064565371271150142212984013585101848146203562949686479571994507146019492509177527572458116003336246246932763064723194186554704984666360994906184818659902107956642931043223220758117476040130827912940190660603267723336980680260172776794953734619454966537334630871855200688419163585258801406856597832538229130347587837681441360174269380089608355666382383553988955606399130152693684345587071117150402460435391693165476820477418500218810097415383461336061341395078198555923179925101061387192826793602900968040829830440099416509597167401396831795738575941735093107070703728923825324077989616005427213498861081862778266810798485121577121847134878922954715664031162688236592215101878735181726654109430776363276539756741500752521505912461535917023868603503590026557295695821097207306727741733261547310937178243887295762537795400970381756182626394578490210333410297202159676628179454852212077768031157383099841228965006141231116320441724924583375952623024927282418581522948090141621811952055394509278566895788831154306764354846501547952511843959382328560154364610277777698139040165776476483156650432866274494563115041303882875362234476684635538857517872995584156805964614261788703980044034577415977039687622894113112854810057883566255999446193116556051745234158392777792198384901864566791805477990155672529379581714578802043680438687565827405493905087371828185655974160231265131732022813994335675109472346971252754168921507657782197028850316812643311154898563924599070982769413018847603275903570234577958084295523353481616287582186551725250434091670580590024595448407043125055432041205114076018249783143284157894419017521175067659597472500220869491468532416082873159474775310241158113302550009967967034125327912329833469942637722154562639832176197940667527246547999492621100446988416282111027460854000733016825589663657687693559844221213776272362003669113075230857313602546573352892785927268227498227308403671264346264769912882481357898506499083567803037838934598300132917680002242664207668334998119452635948401871033283028364612512966353855025381591336911268716662662355516409065751948730954597130695707467718175128818757390876566120336941158954540229827141012361755919793395872854980648624799815419775059574436112720877525724079402901710515454686930739612076056218900398215103080012947799039404931538442415633276567727533889248384712017683855072269186219063850279777173790930665413228275620395926776078971556472425255203952609799167773597599015310632730440671483868138124069561699990166116305421489221217538525978694265686377960202167502010675695732730245959577215340035347117304259212060212134888222653782605428839279929927818626763794262788523396019087564931171884608767553066347927320045494510195930054047692476200349518448170289470388794365296313765727324934499194754810437258569943739010601097901835787554888378079909696327095455709900924692321169384375777762003386421646106324009160701417960692469863362970944367050755894344061060726261178682345817217263853175941813573085303161306365735204904059029754061368753454934258857788862031391947324518402805581284842073444939647384443132083269951449852739718894422385262934540014608880075179031619481607995791312438273449739871835356556383558994615852360279848297899976358916957234954913228346450245454982708910979261205337810184648676568246390482666016433439203867078399478582730893801900840223430156385250849798416474838054109972988074740823481069837622844110291284560858264936504819680146704890126055757477060958397493899379358163216168432460976487829213872079739143179841256151749280837721791183108932922810493242111626881991123188428521077767926842657104202286437881488471980796759751715711766133649946341419733516574465032687202697697524621674998424021444292236708305055626502026175091934969323135472648811876772698498766988439189754985774248670954659969003145780465527148685150473185943826506035627138095111579329451495609413754071651151766518861216525687954134621334538127235404060670309924667486630152447138200355206620264854362145687073698440633168292565432331531546269470235355788664775936121910542812746369714969086847166041743043967716017447708508450050428041397984409958044181299261541901185484212547873201265687998692408555167432017889916376397747875143398033291477188506850300811211197582669781714183127093150060675499754706651448223951172953309953030641190578670229408055247953774777976400612201129029652701375719555948666114788254816924193653367371184929680614383228847411239533663381310773597245588099997057624273237934684319998072626504566021171122611417037949289524565992883735209664412644037663808059420042709218026253334704068867251102689325251762766719872819198859684615310834086672009588527819956850501693338734515658452076897908591498904753530302748208031810380865393143032187901287641680578386386728908382030806176541017224890514042673809656740470333950958262509449479386100402736193833616344737353546738088478326205841345148174668459880759404887510455318098063464957795818089683576734317952764561058550493466829514414043484721718608548282186973096498897034810056976902826703382326323818781955521295709752359195760467770961033476029149013057721741851734744033476331335073996356584360327566102399996927873179554740104768705051534130425589468056788562442368794310627588980615520426582094176910354470915109288978661486967682299060345691037063454981694149758968779407925875597294455088915967718672770452032677495287308179236633227785214250751276439756499739927707228882839168090537463682244256266767888696631945430861042800857568675307063180356310982032212257232907572087399511637590790475879627773549794386060773158306043454011203218352357322450674575760307856966065677483199784791230573319601716468432119083946484620341969507097996066108702076448934016846177656811602975960450274976161376928544290986781220822729275452342421533987588069653972355872339163636513222064922104307627239891565277495345066429285065546299352575428857710078353493296494053608846483888572047382310263463153088286249098044951221441302833975910952130902435939530954229012453293803377705248634345309584441863544000918346274555385779478706042101917109464237525268910396382834880099895579181640581196911335627951885002488658188101220506067372616140804617996415123657985006231238897233728606359237109652587048752458703630331710883697871461614654814603966009933854440001696069680217999902619212661413353336380053919027842589511009153360166623072266864733199422884878745264050027336887155860209527945300864772918694663966381448157391172748655301740688802521915623063103586869339327321829395075971146966528607022539378929289063999
81104422799330860880264739655075580687543160954121138811775012834069293589765548498801265406124161749069291999375112636249775897273530866342675468854809428636927701406415831841714658955909548415334933867100922217687019611283443262384794789019439392985597938833142968878994020499694206856807106175237458984079862503286670152775399675436272947539772589987452056834687580698765243604904462115030158690426135259538153098234422410352950568019053792769951787287890366445271083517897619094173292870860038761533288750576565496653965272468293792773148261353702475709539909279307498544048861749457604709959925913585108670026007586172434209943600447228983539279419969997855679909475229638723100526454796462662899197502645359290851832964524928105233132718931765024364260148159700794958724686696683214368092751105754636311484236272118355332695186023484784456735205302029833048725609085279806603622075705108227455386059688956560506277810329881507284964509425995249131264207874642764978242119332634348241715319753811860400621512663749045259655467832441328486422364640473581291282700332994458793733739951784719908279985587329379501778145606011836380710921660594434333224785685034000891906341765636813448704640919295742261519759498438140938030256057893013575243697154536596545143311175019788054883942924866447220831709954069717356487192031157330231591144260460730982141438485904925227089348571660692613879196996786762027296433759039208307447103655626505434435076737558214721516948140329323117097079544808219982224587466511209611596174416117211735292837987686348147123348613666864901722539019834119140015649867843672690426790064549013676511443995580285665050199118330537676444074519237849169095652808497901625490506607673917854638712528686658996681210863537682674418846513337209167002047044055534162166296960594271709209641983807837535955024467074255447965452804282837294948826427138874948727137163442748355778561588131494192442691823669184396777162861755682610588375588009454610030955353964139552971581877358758288258793874841141663826616489974609688970177036930563006833665245856507796289558091080477990377448744111057968625042036197075278098556390084268102208088817581019964561378033592169730335757650420297187238413997900620110304272008975309515433552325956569054980396728085575873331722678591088438792103512967641331966372130485798302266337503948019378190129757426866186003142217876318366741205594107552283757131224830700942834407610380435853330707896741897039674600511465009222783262448074618789980959567188428439005169986176039631063196733933576160655846355470723613745662037425916650654507644435704068509360104240481977523747935341272861916865956006221883161582388652663923687766115974899851359612608820992284645279013766527635293385114196451057708653492609714684631806841896788577585975742770348544442279060338910669009091740504852766043265991219719558015981657619415069793464266768608037914993005155946468545980987241748446668042732394522140719096919894378245783432669525935130500997339979974088124369486061745829439204356364312444214737310193035465549483866893963364163995731353416650528416268314459630823126014665781201081459813085418668463546710237450891612316936227588944465450976938990159440795771659769248219503327796444635994094357814449332151688501004746503488262688092905039593363310343627744361465302636287584199487386229217072653870880814993205951177628116803829566237768707362535745814342761100160825082356916266455369273826301226114220807640033297268115846874575891948296177527854585293915632250905828174447117323340918708984890658686451606464278423001948135103801313875946373224530568226922355551086114121775945945375325811102912188925242662135307668158560817422654774414765069658199629149672567979893792218822117517493983262325053616985015420486635420778632913298224103980676654616405875280427474079254515781569939457810123919788918487417668699429785292490591057500670778101745413556006606221098911477886372565077360635544228693100137264362598964580374674801820314793806005449302603047150901958341477081387407671631695494426872997866147875602355095346252462603373133728749937830045598093630894353576247591784727666186892525287084834638698785056072051608869543918053389102111838436914192629536001267829201283148939386739444433160565542510171637109636158858281979002583098853706248362971218191553106232033572949307512216453419649333538475723142468981426911045305252754480428975798922656646163072329861531699873692496795094386938582617495186654733751135189272401637227746939207275825933981322904810604779860087689716931626139568810796166222778780584602700549186721583730251114589635479365411566499662276357154248206863942154376711326305731927440499783079007006336583482995090921924717742128944394583975053103844115134720114401496416724050177504172088568861384412216351928818883643257051838154538872243210052540005139254955701688935325924747971473195506272941856845381262691693201734171472548674651832015954944145306413465601357238461808248842309263715839500885456438178460424907706881039022978322123776263075049514118770989199164452817655603096750706225922871156289338284010282645813435968237910078256475514694254168589993814428348111403306802372756814738598710956610094374039372330556320195921426842382475395680291454293685613072884400360783330069267329718860600142107879384209696341291087528677466382648503257609484088758964623084606139611347144530958400535082748042111537185501504704110756795729215158621526711295612532698546076484713384611136624947039054320154274172140018614840080651167550571029724093197838383770932553619875373307398936940115828523373865019393568663499670887588657702558453305220972262580495614224140418484800985284525158283163242346669217215948614436135087389128804599489076844228687325748394505339195779676886773775323805435097898822777442695165627407343600996641265952297453496580293159459461706669039150652060114229430412160226623081320151943357364830631199227674759182638483045673211365772592733294742311427013828302412671440362707021268732199664053896118394190521109550869286490034180212043294993649339421837386779239502344072281960843399289390676727141389938281513714012221074272012722730013523853764347538634334327635812480013980762536956322151278043819754386199768188525403538813781926562901099897484059442278911211594421345036214196106589553689659937230075964188195028918443842884585566883480133652336012517847733782806889349657769023684760613597835922256657170798356418138382979664778150350035461567583614620353177794858968462624328977248953311752136063805245891540334847888780613319751190330201273691133074391644148595645288441479565479623576736531562965372986021730079991008227500002127901546282258261514827393994327250810309864975869313784528777841075111802271705985366346395203828931916109044372769109240534033757135175191621695533063510295353452634142412389321917089946680497344061362884127444508266606046135601313286811119703570885986164319825779025888221227250681876031403325984548459876181449787038029558862254343980688469138954344308274479110177322510425031206737213583329679527021034537739190701977581673950127335555801255061862381200084251257553976569564740214221686102339026891046265255428435426880896103757356303354564293141829811388958821203866211303651511514292219355067546947667143911079323271739679038860174869676026891594143619409826658368789101199034468392457437388937795735804801419067585797032079659824324752211951014882003780195050719247779071355560898948837826501334106236930473467188919254779049498273239732708306999295834167037686901950127913972239332489150542725761167470444318254594543298488289156730737815687208803281390370003122758649484300872031631697905479292054069001439939113126458995958498235642394485372299519598286782890755339945787206431233324926190683458522920746672860775828840279857277198152944041537965393802460860795152888475192755548240410668337974367954923633526518240372614426906382204971766063400593870853030636054610644171210697179739787798389181789425035888583997701637329637236262720591970496721232379865117812371062715436214054050387989967659382902630542589416626133568922510873996137386995826298820074025806894368802739909267962320180555039726478001024017814578288708301205833417497093237126331902513995685332587432930727667952003878563675742566249039641853226587155897444857653203391819612953755573451193918257023961295954121057948700543897315928578677288042622079225979144320466955815151909923582294506375807178310348644753537782126254216989129220634392381543694270541284179117194964222699619698981275878492831834397187866197315581391842516442293511369162136022052056926022333948041176426905171904386792424639227761765691022227821837968550365709279587118813886008570118364101475497393208874444232628486987769007787419524216480230464613545807216660984028646977224037904009084495628348708037560318492113289616055578440165740533280728646798335742443468862978341036944546946883355005092366959197142984918942804066780988815815410303113444739505494669232082560053369589187455113945234691139173753830409261032392392616416693035528919416695283164083279302865429310180243378536373150391203628323864083358868055405798531161250711404793699316803610371408915842320747451077606607413012909926538772738171261843892842600485097312979355448441759689624543840634788662463132652588071471701258311827016393587767180444227222242722967609507004165657208756033931681262751027323398298498815330368380735740109974355869081375294849335429233317577519988466302644361546946780275095137801424956274037085076986985259703967618121456639504314792414635512056240028150398487655519274558918671564600395160628424575015486889391535602265955895339981152995023260115299753807601066681260654929841594517268115721917079740596531336078249082063861316176338554818375039639581050440763233079994295428129888932097812019982181791545293492107737961829708216190527244714561920591868180982133361784638565337638165112614419884084727670918451554034167246707235060132076656786632777921172220268015933792374912192162405327769185720998043492798877181147171329125685249302600466827886318426578281094782891932393277279086142463212288831856363198038239390739208172582737491000673297461078558318098781682138746900483873007936879219682133239553179370697967231706881311710102663663110654141418289132575526085183085355019899330168180902860453492606620888182549326800047180979830320287299993276834152315705345140055022362666207450731438109275633655888106119515864758182228152126474845425072560922133162108829609858150597039771098655127341671908291811979570772711581243405531306877902973476949899202639008677119064662289125769975728545811124220956573312174806860463059381671538713272210148723802431340155453800467035499526956076952608637047854327462868041977908320275521195931480684017038730372079342329290564779403078514164151678980563353486388615668739398113031230078648986738353351256955256727503780825750759890581097024778744555497524203965776463467695990029673884607261969585586525380184149027953309128347651075605645702015054523490906037978694917488019031657367205891398367192073285416031015098929513162475126119235741059254368922534328517062325727295490323248590390447624235228617642743995340847970951341642113937320062941666149671184895202816838874300140866400727361852497953428322616348655509925414139425889576819296799454365765720083634012090979244936811363297197047805824881727044402009246358509908615436130608844072470409089437251487378271805061970150793625036998473221171109069886128797629275280953419021901218780007684996258486677079732680095558171690065571694378518487511766709945972139437235183498583147316226158456533042092615453310190459837294649867104528869480801295874847656973422286348641889928387651296471172851484325503605627087143571535121249619221345439466875688326059420736854615403208883499816528570596837757010214367909433673361944504455482226270645958650993235430093911589517387592079156441137258510387495479406936970561615928002170878128794403727339137721165257000734796902683253137084911400809932147111113822694932630913711969662497574667857600868361936432595018045027701865112559957256324079467938713704506982538702326150183247292499085267107486357777150013543603725613354506260976215213299112133942393231569940733358600797188266570160849662125525566278804642140000269133123030574722589695987646748711992218563062513561651117613505556547174716941454067582488167098012810510143004797120632227402460984879963501436037329797763309089639430511706807552835506036605145823271331362928999992213372545972433277795252374588124532766830683675365631906666166246613596483918300322897840581733446454591887558841343966899010812964735939558869430266747395092146672718310972587504071704453075101634491243594767531559998789101636207954571232706713900625611282041208474918813884653132183880899142727954720247350760898258798303327255306028332956718045986852189010567643870469766877381043360156743200960617037635181273262982419464703754307176716831823648711623798761319896083125466406803452047759133141434277579290451852738203696117156038305223697380860838417744419311389444215848282045258018705366300007403796803542530368818684068387327974486560869958310889302774711019794820739358335715218708784128658875989115151492626630268582375064601392172774873504943802892510610137185240303565735750021948181234940436083335144620996587986887857848268206801158527140661322041139845770866100704776933480922111963809391915026820286811058475562612168621716528002472821314533944815337627028376439076550089563981809547081001827213183141981370498026046711744261904440529218952403866333728228026133495179085318961215657545126113946781224231380370854554201035660690962687045868346982148797769339089009543035421922402243345959692390225437402141299370804701930455480353158043459090499197614882479290553988635653011538496820584637852047773905163638018063579551968785032328386673913527905967463661021197501022502483572815507602744128375935797687112388275599279177671970589042045111681177927686710414552480566180921080107364071385369739836280109615768088653366479049814847877089841983923492326652821361259060711804360641733830807040527773397607218621681044193508342649901257257890082901349185808414946163268451655157568749214949179209219511407514847491165750641349214887988922321430942432048044540113693770153003927670442827959166097292798436597851819731597657536746057520431194582725069303303004744444272639010082183941463871444802397941844363470408855564380677070739844747680725557768508836949398620457321804276855445530270436283294997341699677551398425480031050415695067963090731663032187629683483622950885647724737557703688320603479535623389533251193976442486497906159442966866668508492267917658249693622205231370551867481871314691803887557788986878987616514287848986178007361327362466880159996044631653867797815765312174019876260005710653344261892674450322808423822688372424465969670411802311508327062078592291889571318074413345120754983704671042126473385901478201505685744545285083768407953761844960211663861312798256750270060492954935390461125589579568386112901512134878246365835839347174033169905608811902074133738951723084094677113976840517879308520482095560612140579747962822122072745524920917555122745853246354452662931054864040118458149065420317519857570558913559505597402879488369457591919269866817137407011075653481975395465833466172819374669448540804029984583378914154771338476485169111341017797502136812245671875994248163679468207335738140562040037144895986901798146496361642738740458043353203451177974472349674217937931437240568078189660580583130290303189905089920259227255398976839253543866851915380403039763171254598482728918689870328786627307819933784581598431292946725868544561110428349531782238308504203636329386984020313587670918144361760330688711253506091885015005138015707344452872450011378168370082577019604415372849845716530917392031843303892543866930205739890458227333006293636770481675504228383432865695134563941085313108301929616409555443312557826646999517424690860809020753468563588154653227238134276331898746982237239599551754221567677850812930845562224719923210866815511585538733476154204650793631083042759359472073651254803113834280616367789563958024315782280713293703397195345895461477630067296559720167138195421270211380802421081337262609445694916696336787315593574242530201516804764207523177954336103167711994215023914679947635097724706065575936408133978108117772234286045972276768086217889766347492692198314025009149565301838524243309386741818801903714376297447694941284552152479648035427243214476411269271466634512251149925269264509650963797605633972655131666541045657249940949054316519902554265158097723330565480195532880881574725980715845178156834427653532441956963711250783037502168728592295236372157248704976092776185401430988216025440694056537001958136928592003449697579775532207005083074726916701788026455368637782007877888358337740400753636514800970613869451270989628036707827984485032350721306661094131417415235937210276276700512275865117857549594699774411693635060698833729853635896831111824158796238547648519580523094231467283835417904993642112404093193928821126515497940005879661034732815445586972173006733180725620474708984538029240011544270965832569123667186296042564910657966479916930359537381747601188775467342539681263941549308189750374941962646202303953205957182016059107216750155346984236333073943872369251614773558866871827417724476689190044767335692067381996205715940538503557793661459446500355850469108437131141397068237740971047993420917151226837745730949586041092376043810146164002694872130974946738830809020942660762123850105892454363213049068162808270228019532616816114116527721028264627632438618998633991626735670235752556700680973573380925480918497550526822976944473428439605687021007926668243717870867866251186123312507711952250455455657791447020850993632172399429770776419609878240576804803022855537291297114061527674377898781892783689295974181460844103847488159641030405528247188394885531128896026545304143797102500580745027327378224163687430359550515790127685032300587956289477616033639889022705774858073459539774675093217622326045448135767691900798417292367295554458757321157399164535296656114652707175819694170609002768316468324332630210914018047023930994983450364974460610932746447778700460169594830314817168951133670328282122691805615896264671779562504734924495608107667236825326619081215622512709049424407108360274112360837530563667154866842134929629863877788779886830990933368314066782249485067478065361658613483209928370135337587618508335722985092404629990187659298115312313624698871721111040730350000629327127519256229405111004909587026857155670938731511679985438547895081727327383665248387082317795078235486956179944550180648035124023292275699315706064940633320555439945223866570601932060673381560902832925625250022622674424699047757707247058770651315746506166402196652420053671614932284659450156449496749525997961920877105677415884082803992428781314970595924614861332978123075488916079666048180997794593637191115370139730012088218155637580769141981035488417375885291454713537426715389458561557894343023671047240873065845842468611017483338737720542522123622195826734863326700486899475843832520620924961653655379217771629159086728351070181510175095511095369807964618625418449293669677034123245187162042045982935152682602763221707073045374855926062647079671498452368119790941512837711372252184756960888449884249249253109355869899047891962088647424723442215703771192308575307352729808300167273855509723765289720970895704875271729735764294964070040319052462934369239517626757706440826548512039764598146234031309628686466991146283651631908218291855322400765313809764135878534443045984793431147918050655843499323988319978111721221888988837848874916462786810861299441991142416457308572451967014390885956774621416538079830259866800378301668731890876078443350975806746483832033237940289907028448402638195102965412175151557318665941558458931664646459889209379519103436891808775663847790109887865240990480384285303055137887106820155589238657569945479116545613757289829171879096146013408984856130546910580908996316
12393845273370410880664934776434469708446538442175553229538316653049868446558841059823471386585138462932252097156047336692719286583794650572891304588757920298067727688141779140945734579282724981738658057899036001511523292790896729872078231264251189746501423586765520400602693395111929180538197773612222601787900710465018429705722844407635412855030562036785151262731766000853932560962899807726821527849485964788108347603288241487223741043101021843073046890362845900725427252335420942316672398339355535458584984429073960828835912031280915663320170546179453166980441240559332766468882037341811383653145938330742968724550964436359795727242381589606831821104183212590935503683763145873629615631742413636159426370589996558791247639442245211699639373321849005363057650839789294799191292034844406554042214388695256445365216307663958225982004284082780517235082307939193466710887841250570277161719246740822621831809937248406038314207177363123390310642417553061888158273396584831697688269999882876381260336336938828482169114393478271912994063356806771673625182701496654574942867391845275711745532922379206692193980060147168818483378837531152926203473352537297388607094167677144961430610703288520158368149791595124701882614726522417145841026861499141772208803534160218642888294602421719878357687465936996751279628268804157119889782825781603035902549528781912423036185575144400007379326503211871989522031427497084631694517745358307374365405136495895271709285137957065319518399592084148892872155041817490277365457510221355256869800412960376540980833956563383412606182653622013873166716630181369528198162629996534237200193951067813314430584679386731791988461588281976659333653785616660993541906266047092871742685274929883725468431716075309158759754225489845674395218754812848911555245769106294909332346073554382620931386001538117722527435547605335669918447705300281129567923758918177804444939165248251858198715977438318057982917383906033908400126280403494385349046671541834107136582509274168870229260775101133642046089147693824786278308063710596193381465645516996394733534514583292298604705725586028125951765416300864801421594973473322342652384741249982523901485942453425466551460491129543812955567776016936132225486922246532511156279624936907869318137110402719858130486497206748244490861155773837860095241833197279296498312550420939805085664113847460184939173823997897949712520577391303012781457575119692101645047727842546723167876481966946514708538455239701763719066293399383502941580984142725214175856318688405819831219349166436807567900216876521706792529098950479262716219088943070599636812216016768725622171885077880840770203186638165901653435170312666621699402811357529225157745119777754658639312524112447461267026012953665781752814311448841463727669436821993953207711723200530653111260935438636638733047738258088492140127281095639089926788741535114284676902758931500799368843331391895098233243491503876943359189763422946065551588620767176339560395977065426669116232039762278016170520063063733586478471114496842899881415312339841726943025081973501527657783670624808607894832680931655179306890164342513377838963304879574807743440693035933388411295451506535251132738313399513435653522758793787436926033553817005569559602207739030179150548384595559708556134761382542298475859296510109948587477128813370088565283367003151542352670857773684704424172688593936784837150728942773607353632604472016655648605133274049758245634218306925389195102577533739390632404049086222163598483694925464040164245025676257852040741782326071394081841716859550698268614563037558647953191906238493198869187977569277342865129562277297446309229861241289329694197750145779205857648720039821096220337485633413177632453943251471711409828490423421429565933266581233569119869813734766770621627007804098463583998893112668856895764542240767644927800477954329146934406463370023511647094440872637916687660209070682558533638087074578226389723568741932053776156161358782207250722430693002476273833507662831516460111983694780004088825777136843570098658496667482300617836430014262145172745448186180398652641172067117276930706195895840665735693215366129318969498375562198229463767425524179052493981837632441331169656908117496712850905259410474174785300761720305488849557946591782967598521697110013120718369858901901035153200166044464840760740858732937891777160862290808996154517278029274105500359343132976168465404830203040715129640641632935052267703814552300366055603501497981345898577415945076840835031841573975796838031990107343512920973970915813901728286117198017840587317633179694228178019044017350986852691825488348936958274311275566931844250417117926273516794709764491712118430985767124157837742044104381568455806873358524010533805691342055206125701285368832671817722462555029625417385256705526046084597822994093989820702112969793599692733384319534422233120081997900574475168327892862941820605427052881244661486096205215675575165289868464019054478061537344085936719639722171827209071039729947209912856040192532564353964381513175623368850333037287546408419918759102853122301986558577250877967228810559167171744470562968995719768019038622097594786911336606439177173321981910915941054741196434069671265800453305718420209144891632540996217792820267664510192139670567554178578649380844531423973095863309441903973833467017007645847216731986612056401732937186016005026662868051556247220018184132721513634271546977516194760494409878005326849735570382217823465501387044328317119506243609741373550973001321557352271620225100685219420868840227038759754939316577100381303676437597553998281311177821577093688013913848597714461311970186626453848320835649698904668233970892099405220473477645679041146905081447077517550371050442364484391631142240747600102272051573621181105728197270059993105920449614002477199587479846876213614688971351513557803969284630023019844511436086327308271945060415785545446107839375598167856642440213340035205893929625246671169945195623802628128297329051012992973237197985643853003013037871988958904161802184121594325793698105329923561509712128680609260728981856745589422382132003935285437657633090609282063159290513632305632827839267049244415846622321337877681502769143254190320907626059619684103562649269162573027162270405530399186073256801562112103902179335178125283248312823883041684537143427599531415234127365151864594982597938257935411933047276013314168037680659141518426861611852445485774097196466678380455251359597406278167821730012628525981410026396255577239623367901134829876413572867982501073442576573608215449839581789939019802944218751680943744566355599666003663619892289222519796136299286677326057522272203734662259010248028518483601071770156691263302876624059670438912882763628245076585431327428035939387742745878646591759186213299569250567184388588005416782455195032841342803318881698696241417370512690933746500501814063888153175209221469722509303154930640395991330151314050204506200089716673977839077089495088430846967911498297258050461190507110911406407102219552029957016512729122097348086804089008385357411367242750811873739708940903164197499890496848571238818591289228645708497986447406788469435284686527636846742937786452546508047581673600225400060653187908020186392170596666514833493154170423400007661766562125885708561537132403042313487850613813473648174675895949770907063064540695934796338560149346134959488220395678294620614213893067870287399968290512250952732457572624992480064990943550547915913609427338706045503000427300888797244702890286891048699975698683010593176088385739122192764645247576836234193845458350239374786508673672730066976242450706285378338362667650990831328476496763610601172388839444379599617158303787963123561006700294816756180445538882870476513729134333880182009521404551732525856601612055892312864236054965349554554733431415155446648058762942292619013482305108640133824420139767966508024176256478024125352801386457497459187853114137042515830600227812805271743636331326546498482136175850217117690441225305121131362504112415845796990614818612177044362794151558483349286389406464437467241952178240397719209071030952116773350286554663869149597013424694633655712193941084148891801488259100824160625784144069816176010154782587972776027540137194680074584455957032915050229265908782665704347278633461171808891058280846240134387711261171747892671061619697181616574733437659176474898064490376622017345640407425700236516294414793931651791898485142652288371815286967552259643271026392815212340778050510848652371556503452510475080686967838205438920794928363902918327974122282635491109984813690640137124443654797911111202660545434091370595183649203875193000947369900401889758720140640179892511875353561828535784190242583877304874286584349390148028712972405467407418946308420825323517860524047355589554968360628674250125665982215469758895309917015846584154499724952450139562209560956103055770407793565529947862354995416807803050892285882846923132181016456305520790636732499554475289280565067582606584704691439961579625520305504817732264188213958425840338941702160257607494680833408924507822597946814883127140994310911456593976667171391355549026845987240510336109404067177378198939299281067372687609427816373635213103633419464398408248393771233192837881661111475875102910836556614296317865700693314399079449762449397187404347986726991095529000119934887939005569871767149199085411043812593202759513228605751300204120061761403721015717314066212164870828689156019901593879119039873599716774491833925637323263064009547548645221143827374507321027356211812118440161637121334849808653579092953808425777972052049336014031451062728226526442082492098071127235642793532406891970345213866125431187128831832087433678378283850654156951352741161956596205243293889150988102523180059776558023163476677363978003961414807368377191790833376458152371049444173830545541624239099104133718965711684274391837957749702710440022053875767902542197982977480562642537924345968981285723583754682743954838322487918578996754767648731824308001484473622098474304910911016010751755416652875269667846471464829686357110999756572060415806335726964556804579190534741206255644753474803365934137857956345623639971867159513269479427072688952396785451515062512486819325627574910746208229802744529821429565917222906383076457511480950500408904433701227326095887919625397394597456804758783855261074107073355361744755044610670374776070294225722367143943621098327441259304127212146646316577057930269298428990723167342546670035491484618045445855944886092073778048524432987943940472972145085343232538140724324568654211096043076318192115979498959442042914540912772840477249118305165822038894022709374377612545428500699723973329587320146945391927413896159499076925403202532426123267796834879710336533598892394361579307231875132050452579391040582951576415178112658415293437065613196209581125561698969938648411366217456840710721920068931650563215230224062559683057048822812065348325058958611530265728370252644683358743852458143391012084645575538182365032863180695508202723531133409812303894672587675363484093923778487364671918276822052435731511915113354821263012000092864943525614222907631788616721389794302398074281673463107006934127365987030005028935131879850757383104769954500439832640697151504592115946191862562818589556980946080818752916093149597915292107494272932593581975741973474531354240720124059643744647050856170239292768813229412009224410368682039252263614772837923745807588386722692974107469480825326298936136037017578501989324580645329248031176848514553952621286783454896466840517804735203860545728207529246939943450615583665546149843517106497950827106871411825234531506197275820074809278858748723098341543658408601497689144627454596028612920102740902116097108357244803810238442453970697464670289671777567110767582079456108649824286159333394487351017407430667614136004926246542298881296232553184438638945785866038921617619501665701874310017280218509306731307557132608514274255937943384051918118617062120179017519967036230767307488408084971761700651634453679357751093831014147348227822371229122893233596978620005822785384002387402103647529047442828446448901630925546505568282886296268783681341491164541995503127783140194515990829969949365116482226332475353169154525598600867191926244797465645965042526033354799816161791047304745505186160073506507297036297181670306749963252833697602035851577776099379201512773802451929176181009966105394481042809058808023256467407150600343098542016093266659156826213507616711418838689303086703268993616957324609590015778573323611662365500630858139713119638741569781878500147457788658785670967770461711082267628114479692707662367555725756267930496139281386262140217776815082297306092808210314032940103089156648088385883836814291830637284474368260223627957467883710227985128511685065483689226060092402282532345709798811190981132368756695262753117758186290506772960714334487377214375877361528336407957261906487958438620334740855184397343229671820142035015900087572674956750607991580353843255403751467378957032879036093390856971463608725510005012322003468048461768212188951520594147725504842241293368734961678716491056272696686893590087092728731236741800435154013754092316623566559412495827798780966334581051081883270954916542203699934322526678099581089461066316768733511380980406597808811076959960375619940187123272458812993240872874720769780675680450495707681252132674310629776979894644533227826407862690537872236721541891755653923931473447879449520088065119661853032140036619769095325046694710074513598863627702327983005629226582954208181460201106819647872686540856778206313219214779176982981962510553894620164988028428195081502329163629060098800089852522595056290437153404147197070106593779534946670651236878669445379440459872506290907267458751856309577604843360599114911940396281017909139608208399796439505287798668672899715617956650535666623892251528102687881199481225876055580384423531101939603062180905349484534957471877223321559658314179989516298962409066449251029519607978572774374263621293012617294802917368732245695048356129002557637691156953525020139032806035679038334353036928351372865270389823223949096435935974870222235116034270094011170810430684271235491186619772836012803366665014100508264720138456631826913549908976051563966063245547035207513998932043905936639943987371751112359298767141710041443232377891119854788396830711751798723161699882755681474235218980613212744827541501052819593588350796786495798471141089133987638670937173625702962533738475107787902758414151422164411377919145295848267399099434505765406800076795735134485467230011138685884537248969542759207760774274440384864715725537381602759780319969227778818130894531567134475310344144958108196789856474996031503461503821216398184410189908266515792379033651008920015560218839874539149213806863411025177828292664753714088175804054885376775613270289360001480190793505217369587532268243406236110168102414298538081093760951856688356077469537809923264284516251634900936321693777210348641643227569346012887739791389197576064846290324275402182419069136186499303470237414160080252186442663583320599975186505798236336000366933783882832255542089599570073086819296407639522467979194954086709968604973916394872068331929482682865168991684028760293195173183494493913635048810232851569476466802085181916073110626205397292422263037141028775913936780582679042712351426898020143144290598332324223191155834074756254217049570135718996806066892607583583648645799766010309533320057500005044297753505002925098131064443668955218590766970863613004516275845672937511629535364107773623784528451862028103928071166127070539255074650598006364700187187821055514418627061029083130311657340086815459054318099492655094272435674738943565502542186096192740488856270002087197801753088976944483761908288687025230618469564302323606420664263586843045850868302195817193877542967363697497519050741141469473535135776686130270042700131403638350021525528935363584920377363387685038999955378147100540888570204374191590326734375050922166861673199628439261625732619544268074730290937448898401612682384203865318903288341464023291485717306424124098950313111577091825376023834850619843683432535528784044023148457075980391387182364438910161991955675493108048164429364555567998923056751600181085066163670221519387881981186425083537685380472910720824996054145330663874355869486567874498757624419368475263695066094047456389686256702856256467592763528170520455615187927157406209170490039667407126074699121320529278282026906127352474202059319934221690101712696288222716334291891285815079404025291503377494001895918152299740064602191655025106633728772229992294732745129308592944207767396487829606275024488129525574870952564875801630982206695944999125858056057065905841886960532347691254511253346456550111274383562700444285165381274650470014757092256210771377919038018742801439107219923286614259760164039717455970583385561008822727692152723763144615777244870794105497398794588427913194364771538683889931098114399571410114633184427977877570752596068747111504530258545461598334203588577068660232092541537566399396040565502906955394538903026578059458886179096080780185973144025243628926329497113330954647987232430778976122429155810689870574747931331351816755720643063792073808956606153327127839937537500662977892943058965918890833214563281817692310786344338639805195293929503452898919335724081701464455644880501861204162736547988871422773981001626923041780267029955650210618859979743684446840696744518161886638679118641760142929413685586923628746238980483601718211300628284888055439738151317696655271165121905733903336515750184238857504825827869872494876690606887115460114904461594121396258907685993742369198794470239435223247763308551051184723563106217653204698977857903758740993429162064349572247986575404401817106334259941604499366685066753024693783613208368387377348921211970759162407950216978626475563067277902952755985383658192919690133693435190128032597874692861979432260559040364024517656990612440575089964420683029824285219146084140129217678983625627833747875194827000493379030924692745082428754590364008815154973468186695872104760516216283943592778354535305696880932334771651996877611169571274270550305018600692266413298545156278961911336555698536158179255819640699249821742597974670002166937791609940731149585820133474050868440947401292146917331052957892210165502504401697508650436628662736543624517183964403847375458514027156818165374034411503119824788722804259890949517139592330868465195747313077764882986943827505915292985008709975979780106743807214928772428633200031920145602944432940033001993110622055490211698448337201181208377306166233491706501730721967158985831252835119203895828029177243187643471291230793693756815131710450379445367747215035660392820164382361342334679575277626578051671755787624758425858818236527236470361876940398979046427593246799554033727223106710647843197839272987670251002082306713140432851568382073530004699843472076666195735102587543156285653151192787608061182039852754141104815824371007280904334058455327567017502018279044554393594216182621682678372737787342172232679037125731376669775523909674676279601531656526189851814086659325891074335743958420614194279270908888662588407243719297992521600804180704080730856462154242992437281062710116733024322389189824771680119913348370525815642119367387645024253988872617488091999499715240064154207413198710885381005434286753500604306272180369051531457357151989347102777424185436673655578339441718200465873192275155894992670577814415536934305772975522616591817409094072083781135370086593262474429458079424145195388227924819655709937851479703938860828802275059672001645746522930385630627676747856781271518881850242649671138949214753530233931419854018651096316685816691928164833621648155463291536868168997404347324385100959331826568708879075609651070717060193082224158192964252848770839803064961800690318072752663551750657537409247044588504796389977103557316098276110525501231017480875816888343677660530871113098398911004295041598940817638676732072678978587606027645426450792284222526231476334176230085919389839553336741206098798093005172870757288151176665793902682688962613791749046104778301171997612747859380304665
36986975589844327864153451867986009224227574196589065405704660386763314769753522008222371592354236612748810330261824062520672759407444572781586705959108288005733693015489421658063432761792960513800780950664228727709106092757541519445218921241738198222093686066229278068665400122335204781777850228498814458472584978387510176811384865541446804587831281987974765621747216270358856234583752167908334675131944491853406509288841275217382822075419386601992635057495617625982725117690327463876522832013064565610705494271690613659179810075841794945649021297493320905722177362025723513942320243839081140417752854878953986799047286181529150633459430787436473175945832352668753610772264926198003756609617908538415078166044174343292726575245878236169548637403466434109441635339038708868492094918653187630322754533118289673264001898709954649076743388558368503743549116838302772327157191375056198939770613807967749259624038055444546303187868573138259354514865219557312646801942216214864178851578681131665048798672639307583791947079823881794929550856975177665281530184938234807255468305259544312254866279033996632495655934169956810791376582065019676484338254999049592062888675361143718959976650948383307975913961280347824739289018579534220867898387406501318409218217642641874926993237550872685205064758926993020450962685090432860701749281253538341011202965532681983812393232605282687624892844302327092497944555539966430324968697764932344474058920747474483191137938120009484020892084853296330867285279419913398472367438753090689805608548738840492092500208745751736524321597203605662409774764390957714294062249560507865744626213741036628115037027203495279321184290901658106702221553678704841547805323684829123044270609112579286206647328002235709181732555900710712868436938136710331829900947331406821964348344960642899000647571521405001600259535194192245271905536129113925420682838573052052241850941106505461025801143593090980492465958503851381801833283103098621144015111561757186791657303741123888174150008346959414029738865759158301137599570164196150660479918985590603550166462015897487920787253615851210186140545400455499331068817768469783933591240646344386192994059737669158282588942665227322519664273751516327516756004149563669565717154350770679846804815566524327697282959699226931084086986086594252494575550403464175431128015016621328758244727382935004828515673667934177557081051576129259872554180722953725403702174044523253615044018778044837887329488168675208124032742667548294657465964092031304078160135064931741407599710980285540299160471906983917934239512967624794058495948693476633990703224216696472355942789878104242666426097369695006787770177275095765025480957570944574651354699082585485009304944663340740603001027363053529678073779803895868119870422090655505450052147931007437169574124844246866047443644009083528361966198102261641587588880150627682310012282665672029501616104732079446037082487344733000023760566030752323720213365043186623434364318491600767362147660848761537318006092200688165539572069418908615581709014371024418356282152845479535878628716174652501292816856576080247314346933195960772495043247978557093475981886976637152270858092058796130644147637087503112120602245482578891603840439083411005851099026895086337134995905549815401479098951352215727957225064067411545063349837120137230603337643584709995925623486144697901951899446483756610180259751662182861611595196722192117973227076132338310643219920546281136498459293604024232781527098864899904750527414822581906694348645104346568756813925346810631539637986211333703072939575751063332234670840080671566147286458398964605491858952076752293178443275453323815903323251038943420658301896871745778043314972889690425376036010740874851673140119715191042360931863864750739559295808994468048161856174685595820716177178645218868221372222925573408440226462668867487240732328850464034672432270418658475259307429931557637923494358241944548794905877194242372830575459789142660444856073425382447038753390361351463572451178074276289145847922681576722598300392366926771802525274775782925668684750983890073795998562425450513337602002168468088557463129226312340459913176778257281304776408531326765098215144372283468712818620036845159552655863677556286749199451940569095753364645369817377258929168419598770288427866278273845608468529854623271951891968463594372116889544590767369186348248858878243835124067458790350450220966047280967584955729237034818308466647480902204379272422288806444500634543752424911629534908972961532502056749516676913665862694510599776438052898402094471662104418180413959722685733237586870871209404901134549197627834851437127961246771545062909028367845622357916596208966823329826863939400973261396448561040395681868156031742637989481244763978393925500190518924012102431747306488956037854452331245123404013752916628269255672349904432865716362952820038059127220937077453748173157080491986754834690732581777047707985542075635902333663515757833170319108888240939904349827194571759402193338298646888472491203906409247351290832822256775865257279403251726496414235760187907140868007111486524696071762095061956096153012558471046163314571967020719076390056517989830850676378833179028259246914882242786502221562634394416528005575622041394913258794734572987806816311656928863217668079540194275352466953393745225835326202597924404387527554548040805625505151701758686722433423107783386776950100783894782185239308176779178090940506183246842617972503251841504707595368435515902456336687634745787193054190687566390817747599630186424507899626547767774873078985167280235737325045145423808967759240053621122763478889802549210548178248135647068029062682904008769320920120031677712070958760410850531542692711573476056049203005033979425188408109667462535496822323457059874226288908589839781761629801123089931957965714851318530110337474657904481247530966108761106346561701944589438910280567715063863996889849790652373401487585031391113420923985749847879982134726441967482563738099911132565791158739081196522955531026099164897808096978336873537691147780240905846841323065370002116880755380296565043144696747464532359716090441608781722368984654064990217249079521610202293431580673848299866837391056191526602258841789241673429946548452957479442864580390744309949743574252027634130888415774050458764293288851889846473638566629359039025786129627517615565369285914849283937732775343082543146456069375359640038436525616362935482521780140238552605479820163012488252519317919790521244520175748848208623045303958568641380318731214706257578137442168230766998507863611835224993304624652752525976217865896751130184423770153126024691614762140182664533461277910314416289361742423737499882265746614248873542270381463400944309327042223732757870191629462084148463480206083987122259462360886175834167096822078392439828493460825836206092603033155343875217274921333717749751181820532622607936629725517912531406247145804800044205990486909706056206298568360608780649410393978558869359850383833451670841655186412360044659247296364341488012682658918842544844773148661828735134590427067305556495547036074925180255847566994172447386516857089658386750608366079959698888899131137035574174065534574351030991864153126580813336132282961930677613242176598990278945314292610534651593739457450934351870015363426044046078561749349648486058273874842147830283701012484615067172100517903218612098280069063493767804943374117862782768854220422611886186509334097624303130651229089020519113409904892969805257745010965444735471911126540809111586631102655421890589475374810620674314753281815025863874921775804748914871034336996563003864155392106283849937711136265456837413344600364227129467317388486001458872564358870116373707642651759203261446971992243651779268162389741310172367746597118720566010945177686784617908411413989810627794833455063984635909683834689653636459394977881685746944732927094827805871377324133092169914287124205445823665738056933171095679619506468563224422173692925680919163047274591365733479328255453616745382278826602063846448351453794053892262329784446880079287250205236678706559165138788605256770376270110413775192604112642653042368389749634602191912220192427992652926397666192842376636377376375600501387126224710430035322256672293033324115449483632507480249613507832170147122545976817624594936046853272131285417034947007256391726964384495723216600140594339662106903196875375960023281767030149715366324789755344404251726474291162406856337497876240605578170261127770730367544451577410156485362309865930561984490961199372056893763400232475503234211414261707197634394289285549086263382426758123521797358649160115157193630096715304628895708323594155518480819659687207166813339290703882207379710503159224879617733219268705260149231222580818553057718183005973365167196753491454039880923812103630009036470453465030310702251539402558500853866083481837331354371378251476183776472333879644374519965660473880906903856648688502702352055948684483764875436056120671350988832392465835525298069030088133158269526581459890337176454821600505319763406235183512562861302682292692484510836728642949428454837864962747514171406017535808371248246816603015846499505484956746532115713512351148235238941876344608045933018470537342762595990183130905878591757700319653606624481936201326682859597890686769018682282198277478395218341041692967862811749007524991748177165851146230421695108742913210427908355720172878261015305229773984977214519473288326918663435401691840031862841410061520573353965087023428289962017476740429327126470490638771667618428938766009986633319394362616019943313255645725006826845348872809950438033396485835336996864210518134340579593046915471755088880492064764323584305884137665444702943985504633164266951638980468196258847286420475114448546100692573280454041639292168535975018808964446235427494251314490094300058197302172547015405253565191099276196241621353976320868485511119467362851151213588580070591605401618505641856958680658717337545759529871641996777950164579491114682877475359859915778431494667114135863193778581630682488352081839457060557013248261120683430082687441900780896710230123424005038141761345091468978255960471007255255646757750311715219601118695167606963544175376654947864883490304819536493782991859817549734451596793120804131158319164808375335494722891807629772831047607057631631094922182714071781904792225914311971284080721451627846651345078374310412500576985627104447506931652909325808134190562843142608738070040758605963491940147565437888223327673377129430197421948526853523598418667261774594835212087363687332207120509447398580549374503900587930739067404690300496630534575599124972933317764006946781739955973607558245382993815547577792859306155060534391631694384007399441394716600338624542109351406806296630847095664283381854640606280970586848985431906968539690257357750947509310384574010342487206113637202049907650677773241512723402163513575676261743421812298225231663847726119921724511526561129936015859341474524368281729055719644555350424621436741865247496135390442829564932600960144341364859472079489512433858301638729487803523173289910556612778190048518277150489767421836798355188446589699547583086756363434617156701741496107365661842445882610801148170964386434639321680066055301432628964528334600730179328955846576312986323503963414818619871707354511208522736064463057888452718116238652177279888615275488762805117949105578548793197504710140410867738137584974016066038364078355329281013563887582634753123958612061322449008016507909403469694306331159419583412106735342359081454607499946048128673981673413694551722168688843403467403670416221313029722162826971948283049762293681694955498580475181088868654059370902733034338100206511479761158815971891475149372473596119430855468725119551258481925240599378964030774081822175483818970913724075536871900347660690820276620452421576359200207050631392771970937172851003889634891727727732904288387861024277060356788468741749149136736408156956369358822400147571826636542617307465462001973232817370314073156866918309979741219914711903940107849062580028683551959383181119417083996641454559747217275736094225034904859416183680162605641098101391790135834502669795610115015184356261175145065955489619682502874959142230817197471681923346999655795653057439112528415563783098655255818612925370217651524568614211046535279753742642551149852393206559984005362615622616240702625146178386880538817241793062673906229690399085799997865924380000411945933445324752737978566490411537925077057266687855244886360662029532502126451094769459049282412670060062647273992634525525392247413685083773168417918382780914235517147734817980629556170638532760678073345020886162316935866620135116687099595390870402745928463287295076654851869405333847317223944598530106587068433948354484830242900137401131834948074983876942815780151319815307648907341879062544015921934658630617449246650858038499369296585837322327005670206278614516828908011946656089077248778918329880600393843440510543329748656720707868010762468257511941082115874030746038406825153322593453331611334659700165152096707356679587289639908458972092051608846337559468172890339323277442075562286066721661570641407388759915665915030511102397681801730671615492663416425017161367511061370582453169938864584032644723945861194919006530936973867851536849921287096653433300014778904058788218865715447362473600519721527601375791232533458333321726683314639563435620924965310843253713513622826410112124142624745345418839136973259000558305451365972918034622965698714411528135008685606331932491442307991571581622962923513491466790417295477304377934454443352632648717406139597303465964568809737003569226741403585437359480094553768815664561868373516516813468643864057702837539488660320538104466246502614709788044013871407257606785846045273808569999999844484740936480401872224599277379499981373731153184422900062518486697226169835987620467533847100612703226006981864736549650050645752118483533407003687565110395610357018589868589800017678467902169167362847835313974361327519232040358213571509547596650113273187324953110996166879914904899501825740481080484992427897776313539681122766289270895889102747656213571645230593070925325398949166603379414945574243860046587521712739151600395643402411690085776971265183049048227307219286452120730137811513994763006825489621589958257286632964038665730099157525584433348915885013379473797913717647443561972051606557557376512899320897609206432892508675275736569786115410893392467494053558130287086987289456379388685313236506020091267462603928731666130286219737090543482547150253367160800338855412896311291248595703818398507596448459663459617478075001111637217486907488827110183630920070854111461673566911885934635284894708937312082993128508836999410744377254106808280837747988589130451096161710352714455038663565082004675552516764043127496927780224213494286939832456781108688103071063404038694476695928638351729057785050718081855322476369376856145171530832769221010917134143492074740093006645897867850518681944962101027311140002947945269247549425804873209655500471265618908835560465865855450412716212456078301522075329716075937035395017543788550093049705061856058303747584713193215379759215438712140808125595308387684486787653326103489538621751524507605415829865054882328385089396015479245217193452507812872859250773804230978476275083110883439943333197950731426577850231234465014750213422351615488933989971198717299121521951738571540375905797943448739137336763432439572445369749940407271568287011202106887439839704796622032373996284822704811554543650480768064313762062945037485586590710486682177238772062462642658058075984476024676074032177370622320554658956420512332786654707733778312344255081596591111449567286036715295887131031816710044103164771220126721614831169688333076782533355753729693454278726193998495352838478268115467909484534294026449528484052633719228685736006078870143596560030914767621727684016298582607307438554151316323143567910870107510902942927946564186846070758314117464060585851440392459416138059368874194780882866382660285329170490232649180796813422744696061810676330718056929030929919232679962098764268464711847669899301676460258652580556904755072735944789596203543741498442258779663039497160836750927367050111279194049076063471344833851851127446805438112425057546103909839426454614580625614714870109974961612247265927385280575300888685689581278472607456461213614285773348451576046930667623893925138117724059473553947603594950233145231217157857714186387256954458822800304206476466742636033919116154537870098700719106238246583352231191835048073011347139719450968097189317169919516188142160310481890295135426691620185915200232452875743785413863962128799388377369118330746723953733713664782746460459315303049862566090318108370224735118744043951400816049609606333740882178377180567477545333941629754455683851486621195176670159761309486566185984496591659401142313436417243034175260186126143444734537634101626983358702238298751471488404759295630804179915587985991183072390242976312104697782734738830890622054363481824334042444025965334094939035208505363005054920815305397494890097195404181298446512540458673857510240120667893693200528723477682028152261693037954660469324310843186874303336746241578273960749971322225949034930929925250350447492950649728124942798497870557288427783579235127563304415166665661166087459462193701285980079140054460101468337052597510446033567660634871364220935002467702653924518007623078785703925742729144066645499519249295048443530062137907971502736624871801339737193634652659017646058296017526830847356565338260742659174178653689011825017900167708083876852771004918442228520152726604986885412979901019409564796428077481349988028251548880448112393548747494822668804076525336745730356535715195248549046225779763171089705950837396680239633240850286956857139409293126096024815183611619416488776212723270751963262568545891341185662844908502608642435199829539125410205244855084926120891842228968984063208778942527549290288348322844014175383173514686165484419750079346325282478994159058587078547627588369679163245330139242540106529140851620522593509341283082274033558946442193239321318815151163925578006908063896314744418080736716540333212560451092189171742970889728149027082258430594850431820783525587176838067336063658802157488326686423025149908812083504053440338172949580215298560190350815080692524720772787689027549562953107416822389120001537599420145461087700188730920797258545210617687105412568980568594315394431021570337456878044511710496329430185612611717569356926174186512126947353694616697427417827696230324407308924989222555692486477852708213733187085405011723070003538799847106360290482738236280742212750689236725385519378809040247895074166761451757329088101881002504191571863177400412985901670286463531766927306487406442756789652927784263825111726907269063825531226286995749137789824970827391813850970945803416993108934899141361245046756727329908989091566794411792908257952525798201619119725896509031851779974147092180806910357053303425594309518672201227913643851187531385803001589321020726963726080699842568476850877466296943949916562748973151449336748029194837418444704996212828450736722506980282778585665250649962318723551290499023797527615808715815083910048107049464278970840684950723763681493643598551576224881763317952822219377250521794926473298633916073220626592344452329833974451260110733615636203313098321750668965167228537085281268029708079123684510386135663588964854237676483633103146188301802934525866352642639138848296980335389863212167008197451012234341976322864686834125443422756276918656530834512063061221345400534056894694748878245800543157438703654372737092004865451900971647865370364092533882069951135639928595397042999216413916727622897081376000846705135722277336412586807679667733421744959357966738714285500169841153980448406055398113823353144661547978053104473049123213025961300726746808543114329142653576225629312125867655542748530422610901670024407150934473413002835502856956773521643027142813408016784364975493429130140206811711399965336773048578421562523911472452683055738128327143117607394477030233695045762487637015803431965289535835362773170137600043264430619114259792640779069642385408468
94846750299163539263787466245135721802395254164751680629317491722498849163957557142607556144392307617847181941039422566616399048318960187988157578747235053329717468392245686267258582013627821776672823221299388969172422610228413218369153077883166511446899856563410156687076526248342401538310061707694423142295778920815309815118256098593896028682488128206031563059979539503654341877837917205160112573910453978636193425124168933492841280159465056263126044594472058976703146695696493349578199956510908255238174338363412238071417703318785593395784665498619630612432162399718738844438195797358461256569970500620000939407752243096806320548066427719951182136647559650633444776172906396483372923305085704807323931337573233491142405011621927989848807015754431029417472257844202589683503985482654639724926112478261404482363929102305509138356918544660677314289857593861482984874583538254776477794659797296384023996962174429160634587076261038534879261759044284002503508860103394045662214277233353695634417336452315704239428708361729380823193132360342873929257431099354091104785033105352392000661621060913528153563430691557011619607373012249535499016144420468661247415613578487604072954454444390359436670369854762255394507573572428521400849922272994812475582989179443984287799994726214017753365602025819127614934780663390985886227830792929583919873201416001143904776648015157640641714681264026764041014256024777440748920273469148165854269397294134628437974267415246912090657461736250050145894333020772049472940319653044707636966261404184490682630044787439012026325799048319330110795134082436611727693193777873640770064250299781462846757125692318617690672650946823915830486944355831068626454398603042942533331033513476881668207546050185460972705410051620472576973806873911536884754213378440046099590240835626629847103633098650747694278065236561588179161648302379000133847200493647330999959325309660244695167392382295652871087333954730786652575212125381748935717568096173803737004862093735130770005254203374303574103278726500338126042963628371586831932180607199798069197249334658653140842406887825743812702340389472163283360807069980334438440963237651832433733228625179213002277042030708663267393645302757983000404000531022719605187661006969049973634255864337464543089088490479141692114807402750698601129483868778310488704499948534717261648522994775713743175748346099786857451061992522131238903839447839052485625616595434126833060828803951071897942339618041402013375955700121731433846461765308758872065062936456647669413800585230242969898401550008085199198808294346833666418395714788537969931575408226644895552449050907130069819644425265723144476546350897637973187940173608542856129609727854729177169441283024186132088710231749196830897872257464159425768392096995073203773507768641442529010016490444009525487996072916859201384606635388495030424626880565140893226158350319104685519093345552526556048008544675778323768951274365710127230479393012678669674695601623492414764225114415309284678330891078374780293233755000150935084408060760640415840612287675044029030178526870418806415580089617903968664502763351537808732183455611400724381941762727061460539522025126270631517149357589555450765111302176687536257737581357485590372890797072317529647752404653758168313379828397330334064713868253873412223545256554748159044919710142993755468395974665540379380925605496865022454444658393185340118205040028861872292970872622747634882479579727269214363280079052983204573549339882283922456808286074567646318117159603154082387397883907454982795162352740609393850329823084951065766385741704841508805346655809837858448235661083247330460705777524141557302118965546477695765258004357218420672236843491056197977885340672132481831920631586843999929635471491424170816857918899677679056740455410250287855304232114602699377111869474841463133083020964355172833649428079365809496090762835840280399615089310988238504589883150452049723953978455622245795249193220957060873047005089344849614599370828197786382972371160138159213643801113733913863504051962612972129489558393832053975028611873977837474440410678699088595557171793514133891953751995799611093459645213162513456392624814295031605286576325396880064015568131683196535605980283030202208916223873448349211671304690748386453650332341770334750540505038024611672910934736732319799693934065343972512409430481651536118698875804873421376202153839605011323789095940200354396531156260024038018703664546688640891160944738004304330197536859791754696083426633929419878661083894221630883741435768960144742800329431456612761226960685441819950335059284334535556909857645923111289880583520049518796295306676911302241682756517602451299796476360554927983161700743840293333204299159325912466299880770777289121872600789378682121533016187923866704146593440699725609707810167394817958831980404656963660644874047197793580308185148146459691492742429110261094743416113963269502713062189508202259813405794813809928286783306756465385591199388025251078517728501530019714050463011440178391583545530232749599879684627411183321783799066750896122751222346948738620405825045887235422000969920201501054174102191410988283853516028699374979079054213462876773305170116225995542709514317883933231922353236209230176564744144495234210234133887105137883056338761399845339224653394886923486110344284590324168929303427983344767422757455456985211440314845540883663028444250825752919264116901207865638745037377963226477488979391863090698038099220804256965368619962269146226624413196240382659617009847089384696454199146198708202410720945768368039772833766190941379945311777708064521633853075178207906599053124255254049968934821723594801694104046113366591615368338103545162005867827843247761912303106986616126883240659237293273169562288952258775967077029015387460177577620494982823745803635259028981040989426179122666400628227177005161261054837502603846385029836730829489299306659422633167413574423408508137182071947247038433170152621716234454257279864414146770998968184853487458511005762304408370622566088259625499135769763317911969262857430578953907709374155575884427824462366453295829543994251640652874054072463687559925537281317798239355157733391904341826018320625415472327466231716497507619877410691321137609597448187265036821924560246787558158442145061221116408853547200137499116581904841142583653691400948293396041252692321066726111511525321593371311303718744500586819882240738167978817333740732245961019993948598776946789050643863940373069360114830290354071099506082286092377174710652140905848808331098544150626626548564184748458829786350333588311953920256623100801724061765989696975450799654151965902336931454975600413024333345063448235662781370335701179347885448426678192568600646072353937850955775936381619429241180314660827173384990602983954206370535909991175256886027153353552038113105956776594926870890587764199893265441510675476362449487319833976395766309858844329370598133432599678778589842871518286771848064095427080835961374243241832238502354074053100469847036099270103313802956034093951637060533007656172012053180182811539332533874345236505022091545681757126324428546634853337178520830179791532185024535328431663076233612680598496665361030306840996150623419386277984418672371756228449995089325461894746780194973755010972740342930446306117079305216159504414256488199510594844332674970331575301505098993727091154206082150282800047541611114532246914472566656600240361259754178919502433702077892965047802500449398080249109396532928182779603673547687099320284215119144483386137440605483775448595379466429706404143495560425464268559404153892347852095459640006579077749432016734466345892650850210829537631910030456417504614352608899901898172497786637908366557776224334603830821623629501335930102410645491147948718591402874148385995854111569764529537694313533648104817825237212578942672136323084669647907568255392520275492441080845546717726139026557624624506849226042628886407392250292405939801056169904995677125595275000072151452981920843993727235864063809547276904699210420099289215186180896226524199494286776072330678396314471358247095837040843350067495414023313347912280661169774182565286659920201087467252562558551013965915500440256288243239781641923487050937362069845270321979258660791243474030318073258204609320918119209270514850919422759669468372698756652212293289572134120569557141453976614713225456669794398537602211513184280171065328913414513133267191664053207173276904169475641732492681654009266690433171795273781342165032103357979339731900330946755556341231839417897838996040619589887326135982736643852582017335464842144718805375711485595935747002310531522901540222621443073101539201212649670215337518951413135308436561359449412499889351022534698214044636942324922687389238923715951266874991021415413004884219265391902749512375992259401148686805090138470926135988616092548566935528107928490549673931900712416289673231389304594295615253955214958682713889686391090142104771773119025746258668081181381246066332983489013275833424701507487761226796068345391330265764802359000813661425932471304160174326374290333246660639063285369447759601982942044326930013430934983158654844996226474380257293175782822782124378553550358733813577107601984795787648359446484318867798044825567710341071096458798944755326239256639062162345613275162301417937678355112919251556232334217176028759650028078245754235607068014030767925894443939721989833017472709874024969453225177491464039613585367345635158184109105595513695057403194163160848329744949086730895241761451352256972506848039664840735295125485728604503789908250546148071838235627417497265185393068757153200756371942954217035536207141250681500191760742696465386285182085149585934987588250969486164528681268453164168180542112026393052468528131653863269553771975016897406633605146469990850857964831231323053987712560517262534086168553585465706192474746357512675539446164965343286727455859683517377382116751156729316101181373344860440936509590123978935141262173339142140655143788700503450248624865048751925921533204304826540616184974546124768339160209916124152105258738714426615052306407715330811430901517208213080324481879565547689778954158930196549576083734266849140698749119047427423455623088170454459293374709130824046894181386243447735583379369398269730439006688833786689255860394076895197020837401207707937048321684850137079623730059924967086656396450134738953497717691231675101566334010047775684996114092000027252173812481472298024338431220074647670168386043494553085480299463556667830556717517953006777622665217014062121112240404077912635093905997989040458162766730785866387261964311379914274891645610168303530274165279362845528901510597571808525057390618166291478911981085252921654950044672140777440837073752428352966292436123860931783571806308580727726681401645360843511192077848703984704693562450513049419086029937863874449505866790784435779616677690934054290072715499696968600218139292597903132778859426405162770250323963156188235702298098506347340725079841354322097444070204562029690842155869340386579153578830037288923843530384043059319226671675423728950399079421752463722721919371562225570774439213798360848502663551913008801842547611747996260324452754569128561977480159680263983387721232441452660064874728886247792274796146321222000957713767532331130760543374785756253152890118431542405912540573401131187238971572002595450122513571206099629304738977505289545717206638966805629802051187789543039668105366643285182802548868318757582878869329921971676251930011750835759830268070432691225384047636281957269866010517844499138699875709685448888078965333484723950427708523418116989510230281408903078177573366955300816724341151920126847242318097102772709626743617135471583179754593357252444757993332734296526136678295930687302137790566938920561063026501222915146602421899455707764190676416679851149091505426058302371961156810924143726869642245166248449937544976281214046436657106413648396240623032026473977470282292305849119043243657192035987402533295443476556012244100712891379432642919386644742798976139393831495540904380896670090927269607505257219457357439411158470789654271227715932892062400067791448188420763144498237303434970022412447376935656782473141193166474379931551366213897061702316151312473743223059474083348762679336754356559057404152018420440177411570982210741867266955309909792900260989196023714258163481337345405237280150045937592704952262218380498893682880727747548396095997028198315858747301750859110619075461031544713736102497481298974627125271377165899058877294905940713079638098192006103379646935599935118264158562676030655951026777342079005172578553618472589664583195817876033536125237920021185996373408460627710222815170180481558538823910490853570129697529729691914569744233418677305678729111096198629976670653090496863874373727991038477611149793192499034047700142317789962788372102749789312938955865816173056107078161974912573700667805727749622234907960997700881656728250208819416071500525648548243918228416410448389960853511533986718992072374859136391664730342441067496352882916226594113903011374488340489924426020853457919215591843848881279429854412011751596910979958826970776595096655388648949551195155623682287062238694440735307937185949092264261150377649029457977511932027221249172325785512568009595753452820675477154045892046578356786399470783596041273386782784551798396010233458516477975632284739626775093695166071613940792616411884828277178560529183740471044151833865056722877588386940099659860752904918563036333709870755565784601477227973618008963331920272238908015942620599772596511557452613465571193996138904148290570781449455673936215967273808213064048253085784967174287869057852821755241113699517035059525111581944799707523862265980906810940388063805365160608731318080205142987426488503162612932656300843961972693551913254073289216101319753425074025468634809800639713780504338061338783824769463638671374667287255434628146387323584454339166252426274879407260945822600524610180519569236903023270326135132717250640773718442045595177933920888246192972382318723480960797679688714406489892997966663027001709663524418262783120927331958754033380153521066150568043662754093200934706548906004196583124353592594275896213056967723356987989508503600422425017251466415556471152386960253706488374686731754907312223869939388296522339018564567235579691525049190124866154614194146448662594439720846414992260383757360903643293067232088090545709709256353352299904871151050418014550811240223717252005818815077614194423821952827621642673252224864592955026411625160372893251508284041678093261487014432281380158405142709569291245277566236171952656507784733228719218279383001446255647106671431644493394640456881373237683500154112879413079604777889601339257953750012204376104386696017338917443618242404281507286542991976616976925775748338872598901166477477997790280903875138655105929787134512774528337331535285138010090460354691858782447709785646876416787360693858495423355601047940459242971464476699767928850678593022220705149337926895114574406993180116070340063020547701447948208033201844958469006599120173359741696379318476058145278309667026101350476934417005446358497289464434521478048673328710418900126685678917941464550966913011949501537297220014100978607292433810257954061606716094994793977758578999924843085745760723583031037890175709846542978806836345575874685894382540032243692474933961177161553329058143161293378437808162821342280005860411386584487906527278743273486941955889078007082191432358503029715003424888599892433783380039045065505122748929812333623252413995302274107324304075824681951713545235574890116459118364663912155938499008422429996919564302693076403025558004742077355015418984923443686787214638510359125991186738597470483001879636233532013165169836058461381398941409457455069085459833461789760544666626976098805959753020422249176687273794175088123420418060040066931209349765976283320838291475126348559631072266894201737662597389352166591765332112012881512718914705484384834362401360927258200671460546675396763858455606961963831240432180982729938420041125768450517990693086437621720333184353163405125523529792640804909267490044058799322014592935783695066320287818453694161091678143000063967699225952662520830805646255503091109180870656124688829311589905097248534168994167723428332949411952616667385050581334800681840563038129749720700863961336202157771504280026722276734940277282212359065933641953898436390200395620124651172276483743689956858106104074071710338989118317398295658907770403953075413109351516005573506522615218661752135279149229919745485983180229612841307085377230410536029681360740799336519051322534209263636032215056363581377171867871410276502790762216015729726514147051144263573692086761939681965268553864912984149133655955665463232969634964414760422418811758317118382282300851828847737483492981391537369024524620026812179114183440721314443575279318207461989014547744490447845905053764121332379505676155347674714663493643934358087742923932448691310149222873750155102582939438471709385752458529175210023797645577280186538063912145978171841035739415177729011072248213362386720155311618525274216943183761615748205204575833040799080561050263134924968100114909801237052906379841308899535586842765735279776342448514141884252120849294849180986727410958175395198923354533580601736372673529892181847700506640571764854104257715546681344356765958595778438389870227891725108020652230074841498700911167212770580023517971386309068057657147371158979718868657761381423244127795542808802298121074118605948124683316158135103483010294755498723613701674993932556257657793892159446048170010850599021848798147489076388178413012513433827292176722237934055319072963559253111028594373124744449853697047270226349213968024054884573051333302706792016699484418372554433492535996884541644857566848538247795274356138498837614084424649674838123414380071223828165602483287149986119267121021135185806151073926028870924089609303972058639350163046502137025561469613564052691040332784180178727602092765012163711853962173156651165316268651513340709714137846703845261043727390177742901294886266508894201468665888104728305947826807817066479092992123611543020328145689285115554118519571482613622136600460368254182365591106664867778900398159910165205754448854243895185616938007496086093977932436154807628065458466446621825033071410429063440389174396417988180240658049120746513513126278799161020193722178255032749661180063980994562426720450731076640964597472592645461359404218207817515888074989023897539138734292231802150453635583997077237008884716101811874806977614857207900012816882726358724967595102479699935581117442481944833385093101561552179331407710739728985029128324641241304256197434582680034757404054412474098916364214181507209015192335774309658448275744947381840879794565604027209064370339119592965598763428344020688823152049079903126846832461377254806623960048705416661528890331727667430404629345046414202605404312993503270517043115585829896118565221352863619257055451112801066912593642975048612998550613321751076667166535453424626473825365405593145451872045826645648035168613000103296714021280568446898321250163874009041722200087990158819522053609925800553796554377035674276301706872663737876978441857376399121427281741502237434626394693399120747690081015935080338209617102366866746591200206653512308215558108332986332782363928000584391119306782964905047175088117184186635514659998472109319097413509698096560422426636045921798416408950691282775847276893945943452579515227981162492561134211062771813516810021504534437315403947050880970216480933364402109369411170315635986211244097418925689038686492322781752600020053573862126325839879535770067519739912289765207229200020681334769301595894437767778979170392858678617206110045235499587729264562111008107538386262729586416601891872268944177401150126002271505726405731299919379806441604405892339142543869907294392446352919801330880060920322626052593573673672532116606239484702832925660923199535589028582460646753807495720081924303480370586882133737887204925665693654716403321338774833061604953123416934989380685988150560259670685904434163721655319576026025093828198741340363470166095833312838722411757152151868
74705972140627343529882474216172414010394694601943509148980106384239272330071631318508199895127265583345853741882834894795443178498105647046733199692098370711792285502271701862390337935165644056318359951609980267054133217469263897760143832372939739237536616459972656264520570932915223236175291710296323428955925625442936347497638316491114454955597687788203059611481661440526152087529495253205727900237459130087043780005035495370201165090293596790511203984238735350477849830368569050941713583936264373113396525267928291759210948074091482458773407626995046646042156605367204707424282510990356239713481884800372662612784643888849871655132747577215024521918238650574320915058821908398504996221226840529109319217546984983451221227074014229576463785849130908428040003347555146421981641221624088360332141469395363890051281672423692807060764340939092277428286349753138871342127478126789883629477020262221357042374147936726661492490642319731492710267329808941124747599164943192575528188160997505532481710397372502403637393455939534604379812905120382507686196899318460510106127646683110048262634351034934733783565482377389592098116807263037265445823216896453514313761388089847674003979537911823265335358095580590925868957781775490919095493937627695351301113881603581664475810042301701520439980370343921757573329880290958304228706938660292866874963997836485554646323583750551210787246643907784809163057867033516769651586181511543648047084049699841833293020775490758935081857236114432535299940692479628863105144851926700698622553483785980447486266601738059357214409505866098822709652224449142794564912223867238983347206985393980111049942134929469868875326172696986879805939773315017224109778675133256031091703175531274811806770049958198229319186253798763453829397622350079086317658822596388472270749932572153832212887028140142105823594348238985525552479751947849281484288140112085613928374098862178098171246927414856880523468896182619968969768825967196013788236837429114421169242292550614247395625744354758610552006762738677614617779650860942906908646109391370478921621895510375272542886745164922878958491180355479570769940449008107090863677488507521199145598655238478612441427045673748436357079878430069405056372491673709814653730337188030388419753088561613030184733689705729762704499980287519447920128184813858600291960456953133888631986069431967600338647491408935816957344597141135469665623258834521207740980934989726608209253075966967003854814573347292627392959774102920483339727806478003179082223832774302214682803932537903803939392258562022368590108013505962180500127464530515250249930746223330671745892622682080157236333435567739805457621721378099993339703636873688532466270455068947443946320709904324218325008900546877519205023549471123964465021294099237488835911651932329673402026359333575573028094739944634882389211728645479112976197570244446161838339005626791122541987659730475370986353780635059671901373105104166484530675386022987687368206739659339179549909170699001616913097986557578269652973062798464082875141248264486319601787943457423159055403694381744685693023347319157805760815537696668670124383498500998109635345373064627623842387077380877444727977419754900899429578546067474959028947023840395348780341417376192128012209639455209108468248870412655759911487516416906765130554707854596384212138803657788973360560758439542302448394312744950006260472506371520652618666593243272093182618171623894965611021666595125019683981682351793110060988014599899977656453213489434285920031625014227796725872945409992793210735648035657386930805581292686178928969232870190281502971744986987050015423860862653379516803937697849127738563853645063454602092498509262513559470031664537208909541055315721826309749408952295529271221852799599083404211271617011952106696927573131757287556421168920615816443530754430726437166261079408914925699596649081046572967781270950259053252747312897331248238469200983544993660113116858428143650011305722292791940775631883675056418502192484135058961207561023325442631665597895363211808081801602895674431481420708662644112618670071492611327389161222814862577309873834295976674055906120850316040937444583559435391438638884717854643793127528241364059447016384159784725292070460038580578820988076284218181065985256401300207307241225925116507177935854436782600457932832613591982035228477993352724759642781655127603163687319783286075190995044020767278061627639264823222167437457127379864468323928058920213118191291794027974339913178222698061211751770382966190873557662314938924314624867768432608063816023537791853759300493278052550556534587185859390903653061933317742806006546660681894069165423340416270280776200236672766744090543038552567549706569268190266001964360213784988771895621490674430222200012000157895631899767673707512689291442508831230013536274030848492844580592874192175912439655068400157991961255470918848338607167508683614876419822821919407124484526620394613916223082624913047734149096191543634495258026418561362699901898511555726038819781793911589967988803930491727616242647130694458175604303066532123022150108616200406211993051951399700056523294003292931219429308461790946083878033166978356317994338606365247899000391848070963895541694134827267945651907909739666522292394449317090920529244667241890973062622507608180780023021558116233439868769046950035149270875651127756595667236069568699867406165185525518151992169457893821638549995991050821260823113078589626587711554131086698740939982885029995260079820347113362970891359176328073445399798328464959716883858468616716398879963336854649246346348177933612515077675943581682872230515750805521731559227915932884924522093538148300084981635910947728621810472952633992545720159073477237005481746917852425203753102389563451281212823355914999535574059273628105388380305909912569719899507727417951436789705715042160476649346630697898512508310416177126202877550864884679964976772161793598566434272837952855232966071360278693738352481731091289106556817439796707273370829603260767244306590318722020104991169073010210258258127098361567784489813990144359436308904228352869430449733391733403969016496566731844333274827919466458773398586468553541584535401747653402731696651530226342809466600364752566813109456454920055033406916583595898032447191492245214998388368255780139790245370156349251355496849047654224301592115325627180181136709661659615471406562299024465681333613375655349851809711455145370551706531084830432568108295236254360871362868280729629505528955634243865922561866781520290348808930414035823162375318843377159212263058136362657146334103653166286217115141967935369259924123541664187732469569693237449865087518718825691403944211144846433709365764546540047777325609584754055892755711246922024855230096838725778840121487522566522298170277534982184850088391158111502044492895047891840733313714619098814665334492213153054905055298999996075745963933257655101972136753422341331248853070437096830682955266212140506806785736297114248661614950577898968876648529329700978607028105331826877791632819312135039321529683663793715146930017997122767493275649164529495975181228971576414725838181411571238240521357743633309327265585234691043469172234030866201264128113476311068039995734511407128272956500608562883152126265901348908187058652950284638741579524941381144386027544557375200478970741810198373289367745266480346587566503612337065262520803721359273528405614938335569467250563535497501969161077382411927616741393132787458166545240459338400335157478607457307002074412135763749435763381415016895084091293565407381145991707965785043982432807531663359340187298491391818995799219032910759045858533786987710357334029441894418936484858215449937130925874011106811202328812839460588734523979511595188085229154847404914831557049947746643926180821147427693139280892116402872062498294209879266197485266538339454205668847654653107411229689132424364042335999428828436074390066483393264009217135216803495685855708249950988062504516433085713406819105706423197484396161778184550713661568184572551035896571282040553317955404514181702353250065497121980997059048144300315285201496714253742121224291954605422496067259603590297602171130224071058447995474589009454043252069195338306120897124146409274680125853452659401670411655218838073495293517992960781858211387453619757460809179982047038748877111808330434645178620035105196488233266124013248860970033715651873695625890084548871855249416335849748338065077548837389318885182400257757569295929794493523700080166575100340842799505498605264846842642937515379257524193778703712525032148888171676352914344516888993303855610121397712252316811385147716060866032296749400736077361932856602554830497537325554145733202567910726334992163041912115738339274177514109527379912543858114340458881310125039815289606258473251289657834796310422444925052516448283376108147949734857844519546797319261764861716849354127259292676310792470989850360850106446652876671634315038655728676599677376533649101026998903527319538447693110170322853200756319218385222852525880438617876687488445280585655021908094780592400829095483018178949496439749668853479572637307623083903964171222075926166964612991079241797010061761040439009026351548318774222213809764186563282218499659335212181067927709474050333974547393896031189231788033064691181933732308076411974995292086452573040740549771735672206506011049891026242828234500590783183080402753948179197547989374137929745415739261796777505416749394439002236961372077787842547071303435259482928848127142850894024009210064087027380757442877998535837797799301792386703416718286026289933633405799455306647269277174905662483029788238986738280505819479316242430845734981923099351326520685767793072278345618157172833873657257405286829837143795033919015122856900955556294208514978991082052081870810885126690400488121992889677207593741041791391495581556740619927238493436427857111384614397828422062604386983039774907998205522532771956642748957836406031928012674746377205844189399235103326570502583016842247576107055519125622432926677777979490207814761491180099823259901742797371149064316823272476975212975969501099955492775087143380321414430920354782172012912178620878496256746536470329336804257306915016252160106509466817624736255644160357684988326143371217516388051587941263520249331947781412597572678335730723977831533554960484790653173147841186644079208021855546497874555838526261669529313286297672456590490059010900161519492340436236184350952166606093924122803336348191253137707305497839616613794180353088635654053487010701471597053673686836642644696584735764860339562682413070114864717492832907542602601550836232599959667120432922482260545309485636842230265400453099234536793173467039664624522628364807612173570905777904307797434651232378385173884234647172431364974518126643464851077695523294197033764160766898695282666496924301030022418533955732156792368890992705921489434964281267024884812687448099426322195628134866141324657855263641760461952386323456259330263532571504398049869398619197500994233751782049337152822448465000411055204858370381976081844469798307135815207065859935358216280859639835694841951723585129865281666262181000241833925552217676948704303719729854906984150687517733013058545928788548883875127116308040191568447840292019177332004879130008092913938729662722229875601289551803378463021057087644879193304302273518492180323432258526602428640135006495499748161793853028820918657857161677765883482109203227387080545315903877706343759457951906810473453756839244277358027603983679266440247150414901789523762004729022751897144419576440967672406937800972186375316946136490216133240326647913655646595083519323389498387511268193798607715585093277887713257669083568119003001747689914439543058935389366038552349587388182780263876945203115028976292740051323174196668492102506885598855119628903688701530272429476251232647664702610469606450772009279790219295165332413919921150548406196338094470155536728079084774119794330921797634366137880292762342454170571203139760702108500930114197739505512134405580369629379139982188152977743270453719343203137016976948608073304997894069753611521527908568824793918005280636390646368136959915900699971058093070495164933182780419722374603481860255298883279846728281587430503937290677665481022975636118050965732936526070914766585507906950763830584088426607532974911325751292963666771445661176943345064905920900656299769247614874604926095036423427394662638939343344887455355436256963772314457691218472893687082986103362293486680221065225965424148602127577159762920427284703062362168445874414585645239417232024656916830342006115251161547655389700665899501924720175892914456183671081025606283448914944473303420015098169947769077025238862060753655375133983469358645495723681948443351138369319941090592885050170765162288049464441754703541709923944620020083158562237562250551305041210699976662988013593639932289455117623299365234868631245505442150912522524849265963255377210766461991809023936762832748031347822352925696703998133257614781906821123661397992679373905421042697870306976495932701466505689709650456495391148196140179465340407070018056442733711353378603100756542457798629278713310882700380426468872036489258550535369986235631273851508208133042696836128408012430816108071089403489497457616738000469404409639611062884702344982052688526491242863428102589488473536539536423988266960114604440154137832106935782725006099783387319907578489601923956262492803673810974647798262222479230836850987002310984545086301505239084256624621300961240073567405130749078776911915176091208276527409963214155274684693006841065629816508355139273143988185591830934692234117313028364107490387593239776334966234122021396276969186525044869859867426679038911832145540571590684528992076998169288512625004633087534218985375162000536846427055240657551646424835603669028316622691020368702729656817632271249603162860874741419388579379154834782341799352449456113148068963329800894726147380594028490553254723869861690882010415630575663362963170956987013920285074786264461936223910703775541796456681792290848058202110577742114266117719251910671146669441699251185589593059002901260298523484959391897564831071304674226379239241225860333997887411244793276571591401220759649684759539485075085013702578180941863403170321854908919760207208215326780111953047533364125813683481677252415186233347603269309161654935545276524146411636130505033982378553291789624931713963707796581414490930772101709243045944947917302146632866114436733313974351647186591310950819968250311985218809868343530681638464204107471660197483081940127291566500340397022948039305238294883687477310097483402712834327598259384067752004208346612845057185111168803585832915851132176661901143070750688249518998618430211386663811800935823229763616857391772313888414961811512712746028221726217293483657853148853912164913019795084228728301398313428838543954150360690922778515666929801336732778403558270522044396328806347098327665670194385213933501780516357977191246582307992766102145788805392868050448654866870321475643312978712075264833669906798002449597454571664581685604592842117353416206465187408119933809450623348462931322561724481373746329911839039361805427663399867676889341543111244262519369530913554644234710538878498008843853002778188303675170682964309684864161338614328081879084661119886256652614113850932797119919879120784709565426580159588461739202312041042800319677134168003121321265985180273230172799832799684163454937096425308964867913806546478898547917014599105343102352627017226257050935898327735209098622682965110862894459321976941019190281765002917837161764718736083044839305158026485746242108781115078847780018015415989916226211755209296297550856733926446135493218091172634903555890595342490889974595268865669389962897595563336967757361524228430026184199484871701397935132298803045858458033578607685953919062160047373072842220469281464027929555760098338319020316012160661795717647042816904655406644409272514986454168029534940645603946089059751046591893569010748136735671733773091544236539974691027839806685872152683731143165218490715901403244577568111596114313931320699880146213316746921242797171380296352793685284715386798717115443575103419106836811130035946241581869999248126304142473030819041709105570407412396773144059501034989106193349287762447193673770919848515446852750923225352941037864861502083645271673965922570305184616181759429427281421890720100928469794414844522155848793174597129975122245304277955482388654348741377211691893842188055572063618222730200880025270209006763771521418171092330612774195685153944804663126363154880319473880026334745059868590955184520687016125070107745960246211426864613422089820615102040153664138687670904685974199891510542664960631017163244421082563451852511550453330564869099876146494486566982499701755222920040206536890105650889131190187389340160277309277271558746559033496177688872569091101315494269377383681600279044273087898375893878461555561689738374251019962542689236992009012338331770296616281427294075415877393667839336701738656703415315599676561865986565326789594756534206861238613886925206584190888796404519306182103791352910973409150640990660916454444688610908407182077575360076294425671720885098292534676564171371767426764189364384409240347349281664506080726565000562403693672905326107210277376718426955030931163636850402166234935968374845058368896535915020936425273651480908757746984059763893896502436218485320692300602297777729034531492715846744573031275554375590161301520534537466039731025999665506034355898029032699804631451164484882156514372830709928744255786589865247021340557042283963083123488761716983082451808644736906258113058738165422585360671284272822014569167348553612163976378038271698777729054104613142289297107874537074274456545215729347836964745322385061852048081750039006586073677593417532472335370052721063979478060317442474675033525884994996847577985051830148280067247625187401518506119049847210295966221373660802206965367232069779658834808301641980208437150000891704702710888753490000248806204311784932224371349002951718185030075160982182526622848788592143111929309933681978772869749024125685790191447878526312974188967130200266995952141956654869602181092951638925965987113913298396057294562059327546757749017429609056826311068971662349128406125154985660066473945845876146828943446008660572664114633670313048561844853386321013662828523045389843509093873489365461273643097242965773120472028557087002030888746404999797972023553096900712521144980064920994348089190283199959788563767365100880779749752518869144717300824057064377816933731554836108392730111273495819515524865174835697315803636567436692969259095372179786310247378591130361078073254215563004626075330885795014150637378985790873743017084091366773989389877919778300704236967610826371612864049716828256518995268782128779024809209827391194863640620042145979390317719776739422140968836596761980217935412359800450123349234379818517460025179832316847297130540499419296891975694487775813069587011782928293354797360510038410188598172395714320263166745314262617557143500418370658826967032411274605164453908967854369294412328983798293063430996004412439540758743457210934989656930158812780418436292212239557544550810271623582803563479878711811860743012738835872628732803218290758481398397473785907285633184458147061614447892671659903786059521110279415605901822613056042414771118503536468598655042120064129584869822915685055101567359619677339500560972777986361239969602285517105684210181875576168001145185470230446563200956892472884406554221191779570677009112018639403980527807808284047362841072550693221771879780215730660302560031183084734269007024512176359202937743765731461065250259328040578564675297852159813751815653875150673878620406235751106887896281952557353674926484184312414413432762186354357636582391305333293456259226968236557984205483977501316428879843220764880168035647042865872151069296176350145190530436396475351738473047750504257573117200196467982976523013870741146044264894753020982986938330259765381603679140529847705206092063598637847160791738370189966215639636404532341055546910147414416669109303502694399809590058154296420130195936594469258814497038099959017211875620994065179222113
65212248422667979419279212967187648976999566306767060749217656722907949679990153269446122559275821419029949238572506098264224842227016082681730005707218276287335017055321469238010836903055338417333482253211054807102164234376768986215083750496018052539682773808424079557397896408758871017084823286511310410316407510028981998523292149867643650440280874295547921230589350954652157461717403896377683664603721724905268459230360447410658189126087945338073444423992240040495279179422261967473901433724189140064332476310847312891678039831050571060243565304026215733420212531061250051159157740836759622975584190710963992088377180170275992488282240017913819336121065385130685023126448093689902863987883366687590503630204545532379715270966704390784370412868732666961544150610129557356223033149729523751218872186297943512189715716452847403958502418555690815303520756055901572426801714995942232618954456173432083822304022635638551253201729922692451264998101580916497362242778216590045054905208064537335768117943086709265258371136178262832999250372076463056470601747803337190519917568345875199314609791204408753106676448659213570586825934843162226985169598399258551451736577048068373970843437091094148476883357042928942792654614183433481858842291381983191930955186621170811034049963485718763955780867461316493298375087339241812581170128299872052399297485710107410500745476405613019222966669470560233244272141573749980607552646908186910975984169468240553527322180689450534940557004919407058903510339034355501424244009556397270154953145272418041681727758267056229738594023882989328123678413776512427399053617524052298643467470630796689273688327753235118749433803270353771350894376736290273823070882950090918756487801320792807001986129559698023023749338010715006923757916192805870022591854488645119180836930823319567855272907246924666855860279111496088011140975376594674199180911891168307664754907362464147412956133813251512240509234219879017954585542313729544117680433801131157916635883857047858632188848360026089564712842080580140599733956842587307295155482516979782776528421179526360842232307585848120402179873472657228025766288102557747691389317006058172404974176591772651147927806675118229495513170941807147541845908436823642432099677044597963675073393728368389957548882493598855121860291801213643735768497315829547632403922715253381737853383167068943054365595365676725287980188140271456546629725762022159777500992300459179887093791770297560530786252749876626755029861868662711427903800650751245708487817900164976796303095146942216417662569075139400712118241479646525532021421511519663903135872259861036973749754566299191926160400118316011827363859885823681866602594953083094609291398933764966030719598463361564332693213134540352261937522729913178921599526272867481209901461152906104638063756695344614699918298927842151772230717968315266153258442097624892055845433035644530563501597875463534420767574249659327880026892316061814775922560627790690922874563181673954671846613864749938430324629253080812682570176547856808241328604934871164672253699759776875982394159846949741793772230090517448102613982100070217919560299917098016402657055339256352360952004584060599218481906829407455062397234078952727491727875523785473077743791084992696020111962179448329290952344290583422607046986038797704945845772172721455636359873482731329547541668033444271028009476089488828886348373893780825568200574567056146938305234896568076435573466371920991721393845029386360586278980399163334893989516646933138133799113278865511835899102793899831347075868348297309100352627322360378281129365255881931203533357376144024788098130959971387702847505023465309285765504011086097297799521337695615750928254090058849294309236199791780814367045388002021021906449972201116045513443890069138837465420856228510621242482616927797296572966401702624951324982515049808782030145562300164380911827237738853961684775706179799337715781851905229401198821273772561328014652977769570671524426125140686677517474782634900348441227573614044846152947943013103305101616803118190175990843076657292946584731887894359348434992290118702767015779891960728055790635867570654315603219290465594990497727895203872698891638620046775685895266816348641783234668980732582861140843569125453993421690142965612446827714348918382938680133688062756394441352036922109747573600794188674700199876522074170058479070355721018529384760200492331753922151811293054419350763422237928453068508276295885259726160128758652727017960244956490762332269606474204187851342504766518078776806861257237186101303377792546279635250853238041142093497914779693565146481233571693667633234647476887289857121692609946493198532631133457413216088802953880891761951085776232181297347195417065818703250958695712812630869183903280412736366189694461691125472115477290221160945906093706171889329470253482338342742944816382596594758676297098105564123935740670702514122459662185706314142113376245981035311347105311580383835502318998582258542659895624225019485852496425750133901308453900566067360502880226300628345205934888645088503726585170346750867753282904387425621654323485288338294483284155127718989332708678870866689383051187045630934640252012359088474618426084049352162760038172642109218454850193852721351779692637961169746011971816596881036283004188199563848870506197783125959920737825938422775626882458080216426802069280127084302929707233674926073909582736367312416154272769164752584819309655911893080353936588099804634545497900014790483894768876066377136422920342025842174268698707867586546843067882686625834671278658907508941530096830115310646944596313282530702153080301775047246406512778498091010028312508284837345681629571027491132304113566076656458729553871086573114826886568463283452565653279809091431611626410901134177622435533068521183593619443699424308462473524148439332720531401834708354888270493459908462987738377273132884628324839918841915394960201504363661293487101667097192058643195433008836182232925064389024107883249939579191776738928057981207905218241411226281900630002274332806281241549429304680193451683347707575610522910273813195181326072472971810446415194515070263568300853454927540430544993274542437407904957219189903165252655793683264697336071999643714796993745899251835753753554582586802519144902255630795745783646976706160263253536258081821912753221228541637901686726856897839322447411401103168543123415087025867812407423920716658656040411897553884029987028844847947677818380467860771750637865685592440490393247747933797820781013323494740675829053575454721505230492024199545418724851007730406654606069464747160407657664295957513245563369920446967219735558997846393941315480248567752935886153622425762003643428158710099000485964784148478752949336415819275442270376867105449761767605651494719672851647106655660362716106731034448861568529814380150075195587392405001392043407688297940987647400242626788648097814169290476655685389727263176477156291935429685794392592620255619006697803483923363076019313727849182513206861522143608869027501070072146996232975117675012347459126453833042475375312914447936153714534043284265707462306030435458055147506572638413756004825830594025253477835621936075401732903331892669876074495506497446934863322490842957196506706273670005969393237578310032846058958544918178657477105207823865960069257675258102328495619883256277502719049249824348961978536635509036273144484666034743125073919729253850386342802076541159622441213166869345875819530203275279188751535830701515381826996507266028528553347275506825129191975873136061328075507321496694298568460694325684159071599432078009118666984912295497609508265317500470130505624961951487940568820170619255764482178600774804742269080320763817538001445576747711992540105782823640331072550570800039841235082448265516627306086616103121621685246591741450455035747782344639597582310281428766571339044214749040484512750214764022441359715732752974499865460098416833850306441159361193285892192002059886797080077334877669448340448263038980429941302387524714225766834384152418703651918148537663764716043894999156115272582892485438512735362185300018762095183730477209527581468887195075169969353554347019168276337680569193896125168029930245873805071144360483454358452608457025065395912280572160981283139561643623875667612959866836429524613474176442295315094660231092377600320245275892860583964369153685495519121495246789310771181877483709283944277291219319747512657680841203602071210130688300004079041081790726419015827421130553556477039040816706224057559412400789106829345539663033690286122136592141880611802203145965291795772102711099100667642622484336520692369844190098075663475188945043686035396763983749618766349830737583633516872371559647060631717745911917757571483248839479293185963923874350996847348465413432834102442006954931819859088376684995027624587605022856098451778784911357635991820887176347327912896554796170851259714162615835782283295573422874249457530897752684570810454111880290361392347429994189977365309779844423028401182342149554629931450931552417998662613601402581040902261244682637592618557432885136601339007350299292269035746058268510874728004729766770049334085899746109119435986122644602572085948034728697476373574836065657861237004915165749061818968270725000709974300761092585170297618971887125555812895304070989315726526186279325274395182015372040284423390873921902625848503289444164819936328993053391580159116780603936508797845646274849630042735492103054239599108372823573494781635176860090279959091436374023846177107438056087333848022159172821961304793303740859104790110632958723119601204315876452104004999064156906294385914433099950471032983398048299244514266780651583840919757052621266568632996954692043186348066151290807595186280124974428972779563281849629521417303446407321308349518170643450268219781798028402088097497153221008799300776005854569195840705292114314462697766316217668463973251521103101997403947097525002203653061485196865729301319171675277314270628151333934959250071569088332539942222382801501752798105436938208882034560792270774798461049814561095011836990915228716458216013454283657396234887501670271529114805577706186169938657609195072913677905716264692681092784240801325924928482816951921376097749223966868728914528107270451525731175677061511676299957914690981456350588782865986710227655413281448783812663058151356841231079184580654837992337237600467250838717035293335409591307150635735265533491897933841123485695952848156059192997573224069223119654000439327868511848247882286605309677193323271994244166058809436463740996557196573150722810788319101938874167341987167204513206298115202818425784412948887517050283390434160638305576620128034299951487979774617415836610413754817652140486488833321091277141206449706233455449417775593015211804758342109970060672844428408086878709041416519517336023127146738995799063058849613741207611104311310004276501557919631091199052578660817887783073202635943454218268857237505537567064257667558601042212523720204569498730663855571993496250704444528516397493353377722225844987696337948836541324848968856137861616528576350262004982150066980682412568770390107940702555414384797224012456239338395673583477692200936510230847190962449932362740877610465164691873375245842494309461531982017743479877812648320216565306563504465951008469655292129218724364704405387726010293849653044901573411128588289882705245085984495772748305904955355930327482298744001700925423478961890831438343737872431157291592517979711176807644924766446039568567603628883871663703098204191387232604833405029346081369054471171351044103411211893207349416600298464981481807443786228672963858381951354382241237372163520195167278220116468053176459604236312780490438126588951108791532120019613427678560133809493012881547664863441828208702348585391059754634135912128820653683078076739750814381777806367219975013451676288690456381527997382425221922402419168232812798022471938663296849397440011161715570318249077763972010636632337234363183423355250487254132279300203906994011370512776661507398162747467547140666071882830920068052512321554712813619082794800325866951589506163685471824478086316366164775131539643675770096442338198434026508609141717014343559903258287085681873284307811021273710654567567315879917466161273358981547469291361270503343720172998101127485373179070497987910506554368772023680976971449588988070727211894628571886738995417361562742995862373924940941167550784928382270267967804540282516184927756402584738296436699322930684083332252517997684628912659754050686453768372919054643926711198159988996215807822376891060758790966246714936320792171741040426311946224011942603920442925211361651280050655548287324633968690743267747611872847580154280239789024359518359037584499951826945242146015791699038712501274563119688012835105382298760967225546194223299701775698051225001495075543714443852481421714236799792106884719637268611386794592244376455374897297980320172369980835578564067918092435577754618898739983707240895858251961003538829083071644416953077232140615485351820522031995112102472061554004476703841955058161066725619448813437412594909940335079614073849182051971941463545841240808627364626384623826048039044680595444262631384160788874830937646773555429002821199336809481286409463283461798881990877925354646334186855151031435370903777781463001973350937149693807058889247213199445394872749641728779067060013856109503327973657292596176151271843743166111555723646845177499567592891511391000422348883160810018654923070408315019945418276486740444496791130163334819071820844145469930931293107017083761044829069367187068877371201235192084971192078715780602320221503543646093992979347953527971704003307615651031059779883744114243275405782464085486063053664022798658323076099058080735653564447696607364502421721886741869693465836486622333028285790297467262364858735053437884221623057584678441351248719217595213535220118252715454923537898989287649276251926406645562064849849410284448238425048160699448349394718508082611174648415402077895130639738658502088910253411102967251852180493767917191610442013092470855755802845499135727952061072077258130795827836746651182450473817153206915961917768728717745372941739318437854980794060089876160075936658254667623591136327218667058693368075757260961752254194991675388149794660273167212517656243272482563677663731259513552617706895468585225460680660123676953369975922874338072555097289111155102028616281077660540601022741556738803554110553829554874485155251073282884815038808213565453339795322378955823501563902111887775295113889357038710423424208034667450306355289028661695300447438496774893623294494015525940059848797982242682042350588008277719634872271703145677930596905810980768443011463921086425221796422104631487634539553432255283999820663190136890277887582830885501399224120948259488960174567137174071233433840643403856858809346338795867822811577604984146978189681420172756158219102205882809070638241099163220873077027396087615291526754202253038860320562824983122618549360516404037106047598819577676307378777187023781719692367492914654169815029321400226379616645554323770559850102522978439316801820702991749774642700000079043015169292543321308692562706609425245426303255759154339318980216157960630891812989008582508789936906545159977711541047295884168065003417436340109363088302731199620065993550168174837054429987344185325572092518340438951889538705945297454582259180205423242069136587968942936597177039746559555864872725446050747644829913450145189168174587603730660131787972037525966646234680336243658801758994610414693738887670050356007503376582990554032188000716270267158658525134419338620031710881008280848964838818918455895140316974836915087642055293753545035857358583895011541119173822337988882942190739301879281891596200749887964808059552111872053257654123947339452532070874067527908657916361135224942252616748047486514695475925809021802450919833450506933009126562438038232476980587547745989329016471707677997748144346225122109264465144862491609043072339012837578508672104628970174258920266483553955456455462717234115744062207222844915172251092143797639459590112841205710693564769782967166517461830032142311693923799106439961543686979949188650940163867726214330633140231471429801834388740248051945075214057628397914040306114602430448407519554936318526748897638366413295180783978536064657726020256345628921446810711927055432962425322652082676751816314942731116713352809588849825408222577715804867067879805479430375176361110977356182382469362432854046949656134100020812386891805304724264678716364775615220423928884860780532371292211811873143676515983522397683015603538286926149168106565368666739118360977790156047734138928907618683894664360670897040449102342014779336828601836716116670068967147314452458539643310605023713501185909549235546692534977461093950278156113372251550644388547438072795204783327302635864571966078552370742753564943782592104742833005442349240641580676471976733937448939435249100852755508972850118533484803782601403036526112019137208916529485082338237276535869578305352885468664431477050056784168735069980555167027408578582332850433498718994023543242091876632340605247655011923292060169259541493218380600749201265383406103953062361523180230875726505075885982899807229840707398619499496753810273013860522140452264918517153139105567326288772991262596916092173463142144445939191976854600845312905251387312486020006344720274287214133485121984681897899392020912635934975001300846702580315573564906919516431323180746479444551457561764752729757147706991123521921946305677269907934781344811184597594370539164043392217085247263751668214084342714341339350876360004936842653811198149927980503792326716565838988915712870974218094845657471770172130347997083964780947169903113008429388954520088239598216500336262404102608140128565510043526089195409027035681201181637556432514293343643309782197618773173957431234620595315623689648520741096641068118619184495928232947646189608287132569601044286457848137571003965456993225954926291244131875917507780156390696358654246249899943463608618001425880144311744846944726476961428134417648987711761154791375221905772255911219385114600334648551174015587775452156826741204489199032255362872366706790819934513970520484352987202933024004713225897679473143707537813961878344419339030705667981948377044783934668574103821906711570185834285925313354684992868131173214398516341250024639272482291670383163536630572396107138219179417622795682445221734569352020990393953503199505550878742218762182747139591641416027938188874159966883556368170994652748130706620445290095154241934505016088500160297084654113906659938960811676334090026073304447664157900649149433409447340214033167188105537816995295190558907471525215117574050419755537250762673649529387274798632477707014657059578161324924681555468700229333052328006262393397117037754914126781510869514818774831547410645080254038400377691887886005107929559825392515302314811695383116699192043988742902177406694344039894236649331812211800861326758026349205840196533508971292600117749848238675370699639509489714464085456023460472141108970184035083816684485085891204183207156165655588152398971444707473075843080787823402579815713424038084441285382061993135079078455054624863627521963314559862885686573571191085628220706160047683707967014427901380707035437325049744754381569757359303655656110796453568304468233192044099149754347119131300650295119526327690759771066956584835707909692364073528485054790213536248051408487772658212069165330500961429473585313281844520640589425164688061238755826174636737443383107005531712211240564761262078307300225592973729000692023416539468304378237330432017143420621138453537018479960954265740603450105579640633028800484833909428113387988070479737118076696491172930630178318649291440993324511830754449197340431097124008869360956925090800437896702774383864875859194274835314669047912889350587653121513077629518139779746726838138948931531255812638370287585064824536258526177698098935795208289892333602434666409985600303040254988260531161367329278092056388669296703660974733326742587158255175160308067622589295567358099764021657837989393185223488478054712378933623413960994933952288259838883148442883143072852027069442772634423287
99227157402688217347657062990589201815805131854011926047248833705797863285313878106865222589051903526984490439629186119189758076932384704633791813817674941606504876450343195076069064974597153439050350253165898714448105323430368480290131299236389189119957244252434244081299061397506294431512456514353919338791164562375009042743440749804669644992298708514522782964744025786274524186732394438890841245953358230149681793042704919519971458297557909716868963685572072180017758064867174855191597258354516360165774120132857680522372060188013777688187180358404799900751099074864338641243617832882455615603192744115819691566763733128399408665847252089162958214182606044679653048689620597666032795740770338313246762088757279511414543312818510908424637946548316305062744417835670892013779025495135819910037163842312681900066750106364704620631356606719731329274077669682076393794455187697696351949484803581674871201749242350845147928896122941681263425617457400267486441592995144038139294597543610015678371838778619993998348148431708090678229667721919851450608541074022322563042313455773514639875991220474164495749068317735030499789706675827113299638843502450018166052515372529223887707261553397949058256980152498120408642465080969828819501297025319569338693431116228471522244627810648023044594763086602797640271423953219702750623005558589608250391970050200342052141968344511062208117449176624658777800871587146450961155650271113378417079651299699918415473237336458314235043799912569878898668843355620932738767826328399850894626160680477825062846569995913668817099906169140218776685663934550480793160040111066851013857345458666636275334477861462721399605952932200913493713649535105158480154324196916068660874853167209275352072324118595092833435318798048471614558734808211615430694112783485890600216884532423560392744077633188133744944049948587739934672835538557536425991875123550406923292549364640571007560551839851287818815632296570209328380259303048144683698537571540100511586404887393006586142545436112460899283858177308182292706517335450218281493546711305664317891203855057951446163684527714937096476188369176478604886330846643307258445672225090476325096229284311009632937140880532156743663884416689753274045075264245017221758688323685512671500405181294423762383563849841762003812930364498360501040361846165142193574949907156503205878974492037615924441677332442924714493089315130692335188099320682033753002247590998816789249499145723115811687647264763581843440973219116329804534874174370990462939795956687731233273461053971757041686662411381004582618786252792910251068687546628579785950107750297812575070351346065739914342046062535747369622801746500098911139851318101148696662788051885417340976894657259112745672434736736162936953126880080717309056467324164963872784991922758520841093474240190546996327250751112672549847317069136575821676337225085737333154822236008410506970641840624839111965583921825757496232489377172278089820346229763825948333699070860623885000407892270040991191068247898201372758842909901080727727704712009998454369543855462780256870850835276539309887837762468658555055944525511981604383039879426260108541084011037686879282884575048553714176162663437827296961305712410954592114671862466148963785656061132063222286806864335141790252973410382181096915391570807173523651353958722579315299694827683488917140234837555805968629874970774613524326471683063751061827477401534711174470581397488814999723915993192279655993920618516480345618410051077489465553100848522055704809915184156205922213299428116763987074380086608422908995504691025293993537384122031192124064408655727829863221555328568310381825039333128084167754328175624639881295611777723186465166712254368266633364786289360694426797708945315916534424737565338796902598575456389683655250714018459756882126257549436947213291775661704470993944765930006597192676316236769581561040660214542898044012741927892025995251363708061447663873352542384931180481193773164464015672064665594232018341939686582965581412513957688904396151624840747819324888773888561591660130835870891259430150237842286610740549497691889900600331977722998552690992591917102968568537628161194306827553338696620993878559305258087111447293376929457470595745310557519259422386129582738609293712538276544015251207711293052003519123079100957481998773509222050853920150562257989711265982153751035149241423087207686572260310821115251542380226062211662466726706994088300444580101287989426865870408710896137512260476942880847220399867054702764901647778913288922594519381669258810327119112299477560950864127146834992284374941145682422726176761021756620033334125884611432616728164007109975902967240973825333795975015217421475178423915246393127420963547807931769202172148051530342634738026565595168084275736078010131241168072632817733388407496777468853239941296565427402499321984781839930143390051374521969262455353521328917857906244145716477673798388104244496183652714894314040222586012339908872974006274341151339435367651483353743594712634555838709993593115019138433117986213138931493673804304522546867525177279992250357192821802769459076923605082817887599214060701780048671564589324677408337118453600223580306441776832199318819673727156709198940675859501646204724948389889526817206543360682361434177400585324900334813412623018873648146140319769739915432552377759797343582020677725116137839101341928601242431758351387494931754676273278740301183643101917717696979930243438614175396431407906320291453661349973650090565041698022155379226015920320489190004292114441303677407897473958147237538914183731790204590506876571359644817338343465861314548356709698487717014837537526874836034645983527255375460714974093476717799071761824211971433335437514272293359883743337133539397328624023891537609159287434648822005593733830011553353112594574597000444865077089689942937188813633594102433835687335955164582353267633595718348238996382159589274814410110164289655431561980863159696809553177869780060472616159180992186721931149300659781043933159982520290567751348533340148207231549511206316164477508200388425309522771277576180249841091057281794291418094039259117786828474727490662577764043919633331979714416244238789880489663724436348875829973925428739140226104697575275087473020955504400929875758108607858732332445910648272542513318271962445426963888912933219315669624297445978138617407056009762944683308555062646294713838673760116906673520156649560477723154827117636802895873706053369222451739197572395679448968800149608042844928824486846728850809126013407039660765787632103729170568723424804801397673381444354754237067419379326114429533230947914084186410221363965051905657782163864268971227799358331906211396285271549131555276371995504770806995552146494943945922661654470328130068161558369992088713330514478823814306438507234573144615691752551167123362393282167528772761453101231050161927305256381327772854384274016508044606055066608462481507526680108138491183269438833451504243634482583653098402059353416304726153988804826171740999713192481234173076435061583756389861329957283810370963097965084685835151978528358087611116246718135098297189868865108527687821328235972062713964571129809214915247160877031033017912318845285060116043709837786598281131931624490095999990987274477761511086471627403411868431354783775111586860516307504867316829465974485257379165356925865829934255885863970415160282508633846441806213413307531347771240888782357771626220970243258037020311749309617706984619142435205197818966347672554659880465432696854131587796762936717861334213320161092892643383222104997909248960971160290708754374821381515184815855756950248668216493271843922915382616443703988406734957134687467945048578689402947781610695872336107515015293405238223855496674415325511895298318569744122411509560927900260082958473881542692515253966185074736147730133026522431364962227845050044446069159811324945601124646083224397643718996182457251641087239948842075321320584753335031916222515909893533726662778923553145114970858551172489768142784530472715136501602397397306944321437679609452793612706853596813422429527295314973918483193904389134351239860281012137646723168026683877411234799627745771676389137114699246263871533177718467048221565677960511299068011976556045892555531475653853275923099971674920457525612066407855972837303085745171065782693382101581063448523524733910456924681204612392022082479948307278590079978046261474491575109372346806514383308862730486323112669660319930365523297105558971741479808642937701077008823465426743975383459065271395849211691617128302577624194500388925193347640629967039457149692673175160852087978795694254929102343307906582913209630325307780716371056318556136728222362468273518051607464815540255603469215963221571048303645686263764818794850293673379899514958330059609772266330280487738104505491987113252514417591121298850976136605912943186286148158087604912412056978741047659177900325243112472825801991668467110418680090289366037463014913968466296142636258985325245445554888351245121339615848974620801547600410303368463814013777078953608208817396287064908681258178796620630044637698638159964793402622906848165232687720409064873291486972844347987788443068305320677469092850128420517401255958240526042728241564621192299793303234894515554847257415277770431815176531274128346937481618990181335456436118145327553676205387828741314738962922336797103711981263979105844819539501204639288465472688383782389349455372107304058492213291724485712734650580819747353664095107099817260292277151518997493271389788904353109781943082648819088411737820190324848524289910807466931816912130080151615038960717411556205044226940758727760798395890718264296033291171288889823548065141886707489113669159300092435977308782486276697569073000114608963073377291061625181693588893939806121339693998831323641156688747673269084031619985003105279066472484122183781745413267697094466257190129696259332339241273907478619006017308637753091180825678016397134523235008867653904752759518847035481137346693177369281135108845560151838467340339009217499289672870846327647773825744458362719209006331085841756660239935298262453834921281463299004142094836334670281332216176651444331295692480502722875741248033451631464066910164017086750261500137766675639631679811819178458691817500933603605727455753005372641991207979194841672675410278252604720611752864897226303827318662965380354774564600322673661668852019825634905211772795118924679890411980994067557750365982087510203087580395070455835745332723017782122433365539226268256124321228207329772077827014837666094302233076406908536060808294273857911906740807068694448364562531107782322934781508460872154002672496439684479248676584067621120346398052819401585104615512525779045100788558963510487986625513699653678561116759717864736147513807029654404417625698587523481944772280380778002382399316716586124896131369931357063023206914139824651959683449614435100896247870923398577831368221346866218216215663097549191044220137684337628041859926090658109877010303902217082284494150467027692676517027055040190977023127555265317263519970120548035600703815071360685220825424911066222152523434895792754603017893191115600232843258420367711829636305789644256609747755990805607217853220816680125270286617369799195268175215172110352472084186153616276160255835378169890362117663322711986563708599490789365883341099551675733634399517113540241953173541546704686438141817966046194000342693589771876082879554368803047409843558451287285511999083527474049949842323191746298271675588480569677414249572798699835019968746719424295653280776306152728239749185238315977778693978117909856049806516526042294399726742598277547954270514998043781249839971315042572885490855280643238742715389345057440795536121283925390279852807710316480376769862118680206307233687996646177501084996632473465029228417778482064695401480044065046854399855936297247759626067974233106661726892766215789629852988024829328692859088405855402232164987219906176366733296731176982745313163612721676915926694558912934876645204006812776993398390538717281611964400661586953428627993268853597235273666285706699066726547485812857389434105805204858668770654576231382379212316236789219851451642201420711686971550158788258485533799455166721050990446163228385804180954959832500586020765037984438843013193153417843373616102437986849705065189335123582012134647256587838489342956681524133066119106906406923610354488272466211820081955062353888191003772794940521804410967487695929617437640393857872102207886279415710613384701590790736693967128676167895437555737273501728214600661116725047141989402819468002006659944202743029338425626343832955543975758878293553455829950229187915633105831359269332886073298081636828943744805441515421830802265853726129191457975728985636707456643083000309033589440542544082773959252155847007935870337932503835074335098338890462865194402956839858818595675687616538822932029322768583596435674331691117129707356017899079753105426310237040602900580505083762830003426719014572106293509407036994846777883447467301337307342334018482064049216948834350294681621633618188208434134315173775553909928656429013625323798551069301581114827094296777720722417472739097247785280035990190150649296073722598864811601923567815204760688123787604964449129099031284241734092849461390610461933137535554598242838560593396673505973719884891270792257477370382727387161427769510091421056250075143487505014390723674252530324533129708691473453298280439185269335788119224630786923375427289854696125662008283571748663245011525228664123766082342816577901363578267585269914870884625417030796689783138269500281902004461021908915543170746873177776563078033730441877360898803798044567884952754770202727862592670443951648314003767517962067758238365375862821816129644859422327541625570187401316831818118140271185995723607421085945387156413666651132621700536298039037753501668804127862643998590201045590927405113091073184237713398740465513586972472143139896357373532433556510666940879785540523407232377788099734142455558066836443697185442064918082317067533328283281372465344403884166941132893507588852123428719063443979421437690360975764998468373078695518056650510045332717079724031335693132830179667941858862000512959299981394479619437370026884533031929513587936329617078893295789469428267557679939231843858731580532826196006319058376486360225865189525179076520911516795745423565384631207735247537135368543450559881160127946487976612197606521220328031877130108964282586356343904281854806112764752091866993624910102354118814461753738941612591246773208295838676662055280250498241545039387220666971646531014352505965395869466137943813315979106575567355622809164164917793367576390451914358167214215517317833627073536725024831237240275058776525544656652073305014803075344706602131565015700405154360945111959643606189924693994146071132073489159075674028853857654619727336273169372967064009347817581199220828768291700821280795624148165524248674215309995058070296830652978684873480919566411083518136857445414299504942629963849545590381049912478897383218065314335404205393501168249328694421605634515886407821217009636233370653744727402171004112973919815116253467688831432435459482830688656002850726439059261897732651145460019198627782884187225877469396267064230400122101921012030131570948062341855786665217538164327147914438249868140452856947317139020661941998345960136756071158607265464586627501331452575839110788850476028206107558364815886096995742637374567114084072384618743143682240186105596615788548459015157920395270206880189872155095697582951205018435778750239039344789325730819381464261574728836334685230755954362671989147740533527004727222089311706363561571038212648661590693809108173514640104964859132432403659017530906533628744431933807177001658446232432378234248945171120758795885670394108745088312455092518070319083542305055716651983198630784455338868805162078212705388709411464996933967863675346267361881792303574695818178325296666170930249025617236678034129983350430790113436942907933522625873836939564456107834066332587148037465059752830653145058569093526147376542542076972416214354384266425034659983797435658347148121151416522497452403292349059258334924802342141283545292707870922262625130458088279000195830083931124072946733702008484563866676079599664490901982368599293086116708970748118762197697331640071200452950625396184829765679578275618388159569737773993422465340008805308597033855599547332665879609897709282468279527740521722052200658792677089255556988426927895356699009364309940371797099007962032550777457627290686624235330686510940785954762626519347861467563411140025927806821958475017261716767474224003429788678909187531190894062486114706146569847109654509202699070917920167560655940765427340430724834951460470865925322073835541886061092904411618296334988801257961830188157676345225812656457155679292808067735137544401944151796819269763652089822956600560552408524690097959058934424579489669624595291543677149023643600339935699794267302221078146106988236973261210321644713729553235836328434578076520173400182910148742916003706438816869920266530674008113584315154542678135432628485605848934340141610807342460321658269208038050113180269086381701776713448816263157251837220012745208900589489193058856126617686270179756319306868446000147584038520659420608757314312428309326228416460576304177698198803837087433310487176076236599952131529691330152810707981212506061407393436476657001460673903378104135124073667348323579193602189533722385897782013225031547157135783721747171317892591379972991045931244405935364925375032119339106133731269554852025297917380280035983899334208271861164622924809086692221350021529037992280516992701085731575028411499238062599957304435734035039149758921211215655454449039923144104918962281043735957426778608207902789970784638742516714715038224649121414837270815620295828502061715641658420899908354389071494489159660444445256393435605976786561400596622921792242027313277427728434567668184027585259904267089061045930061113838652054716721804776632219951087842246336206308711847957918284349585561444480598478985606553760363856108534026184051823665150898147011903232045778644908424861195196736912591676448506600543491693194229983030589776292710188761886420759298710080040925461437029246650801268504636019958367639191153790296130761304043989729042771333556644374190463742102822721128012714065465125120210823797857485885103961958853486561144234109408688643925187380415445692092806260575563733583104652534933176626530869398982786783921055611635352784798452979352301527733128264851677491993274015994491338560539199386308177845098415119939033060524757019766123367143893147200159085835552424677538386556154871381639703245022860520839216056553253223573814197915405612129639013846455219170301146166863356000637831324392693632315998131624456823372652356878171330354377162505845310345009025558171886102041480968797950426057070343468387957788355923634463005374859619255192839519895979521049704482879886812899770408671082899166625220051562699253926906648312382217574331295836601368906641537202671341314848002997548116037054155825450221692780805526578803003312275318636905979877720090776628728285033938084883417803653315340555057737886370723524385772876307259307469256610413793075012030879208736857010682917974042485906094138431242939803470323277957933214845593578736734919124931269078367062037432929738701268240280369389645173013349772738574733262471970184190392528478541790179198078064126014297392576376521239620155109917589333183624887054140347194907664560940568056124650251694273695650763797501424219998366478527494416854577231941682171519943925795534988487547560120765926125777473329157231881674321628187257404287796821339149674392774565104403364103322001094998648332327523558965680754082476509337317129569119787584501879001606797036567559403187989699001293406790308788841530863020941253490725947992550180680711564094365766823538926876164301662217075227584592326049231798711475536025530576587667650040366145612595399296070088992898853802747624717381628287779513691367170683193292502638529014531158322600008670249034090584809137919020962241858275989971357412459747175881953928594919153250280472040448532264106618071380715706037485251523640777
53055743449013801760655156118867157054176179633757569150707685524244491080769280402286374945680756783305421870510313738242232586288586930131807932243045935582100859988604349176466216818562708139314120408885654435275403461911942407736370468266389818456416325500285586556649119488063898571333689902654547899202127887434643140409330198453379331515758816834863941499681623732148180603205261263129207588220593461442262677657597359908597210579599693329463907521391080958630658150717394714787990739335975811800588561638516172612108012022938276468520774092441684616705033754164628133493951275362405771605527375453531165073904735925135544341096241152727336469900678428481543858960812790932532652639179252904918003499510858218123917172415890721752707722469548649193277491843056657861848967925924044548009046576150190036838003497479070144248371296182651571790380054501786196900709874853191464032257341145048108482568136110051533036371583187746810698295019571495092839488739514713724997739695824426992420827148107740377031384159961627230357911351845497755541440498197830255457305759420926815700152786346568159472263990792199883530841893180714895624836561947626532983409807165783544443545890736340774244427247826402871225164220603589667276579985048384190318773876564902848159739428232734857101878684321872583061271260558476835254785604617989213639593602377123052170823920132533739469748292929803805810653067267225051434332689786346840196366793322716155225198070254238030584514269123702172222870687450914830335956270913616631742431166959130521939721741104005869057771743564458375937307986259267069345309631120806485829746729456226379267813951680803736059889198155650996532289205712725062212043106545900786564958851099282300555285506375221450078521180628217440579860544526185616113798646157714287173421005794614827634014652426198364586657576771169429911746259895922510904427717573699750429101086903081311490521664588762270747002173200687438993401200811115099722188719054440263342799121646723091484695332120270514106198165343978744244810711833919054044745320519203823430249732104650505374092727359260975415908189005194335885823032030404720614807505979434393720110826624466415882813628884122250627013237508575745032352188770790620711160946944774120410805889493873742035937684159435592300183407193415737043091489726023503294868960626925563866988536359755068188516711678844623044017567708912444223601593147885730516281497802077982224837457918821172420572776601039171801525333947567698146539239848816409354611914347860976201137680300621742468185153285630895884230148814110293555064206886596010855860259396175790659548428866911493619261095600871605599187472877129685852380059760928025587666004644030434199204760489637183516402044383928063820080539257057851217793568330853653157205297058894458150848950320809393245960793158591951041623714926678913808817442389368673951250634906801885776349600583830026734118990678846112897429129413517984242580311256473800169738102723641829111178963023910659248982843342876612766900783818975619382091214244170607371696288840858673001197293011184156529957301652472498197395927490982081171260396668021427215263768255107115036010552778830102008501603077594645855314442489819973211194201504746728964401221289639113089812862993071610111434151733783704659847839508401670850678878885352709295947481657122988989326486839699774173425711705657846472987371654295806893967011691148679058973463205412670576246252680794377627458153159067484760217022773304718182731548485097229341885011867864290239633848383741008996815344092952038812279246385128963081008077714261376438965422170086996144026269376284368978239581199303067202480924268206178914943857647745888625946779907706482214786966224914975921810494462797302081793433926461537107014151366409692805875300754003768721196423973442640183372154146422582502857352052208846604952452552330609859638596690688304185055434803942703592210028509543583274470337351039191532593858789544431354264304970101539084833649952996546637183989331186279533478852885588194353112290263767883300788966358140035382302304034836601468463808345807586957365695797981381598657046001668568042805275028175357058631941595435241638955777481101028325371822459042291573702242010536539186449185637533450755460019663090886373795663871188151578283697115597092197272874838070981268714469268009519857131879601011806858739233784596659793906941282614042410656269921743422081811847661196873161313499283625689314892396776433715463875926712712261353729581748318194921300393744885113097298038421645461757303198447202224521798005940623968534414219190353741899847209899637609716116689189680913147784071135289252153075773370111009471107689955000754095733239672101474588271727794246956527262749120244114295740631669881861733052490391580959150239571823869435384568114944512940691593237155661969831681983121468757243911591888773296102727766487114181849152792106246901773542561037657404109064168410328411645893092264368706326137256850724852304934852414861404710176116577693145018165176210575212598522901503786502268658286247017704917453705177056047425133377777069669691135001343568158582928320851087150536417636186281369856778699411897556809852834592829497863914256076535780633626897042528354422432025565625556130245828242957232735404426851855317185155081681343770900917352080302277148949095883485199366205793425984160632127358429001830904174517852500698726448028967166332863614891958779518455652217309578720259412028339158184726365559850681979536118737331294809489558634296553013961993957706351687133031617083766403922199899115445289065870584769238312946560362973077283828603831394421022299131564804815797842891392008249628868978030034702553398097571996137028079325233084782262098231843867243594558367561807384410294263196407618037922166152306585711008602851354910593403505036989737098970187517928743941272583043885391911399733834935743085996556748321205019374347426365795810597168967463880840756006531515718631783414352207419789538936680799240387006147738003029232339014392334487906073801334178223753377364481257297742890636489933723313853065391890318508540927712343193707182760685141554212243476030327187896842173746341018856772918535150589487066561286596194470137779990101876514687911257813226755453786579221122444852450694120315029469170370942077963565159425373148089564707675570802264632676718953827894532245882120473553170971865518559544929532449105026367472915243994423250567924464505034378344044111378936743833822778900867238262918536052132784791321534649793596316514219817840004953446410394882438331641048466162572417168696498221569745880665050501879337733503094236428829344591654115849695912603399038894577167635783956835123636815145172633906884013065265897736051552789815425701397236830445452295123130298216055274065181660230818277094695645172535536284351224717701491626149608775936084026327972889047440113604954201092142699518206086018147499776035965994063089402055236453506218871868279116267401500198545893932687860550381617962648731757835238359047789795877256614351909456359786101426378505565878677664456439493429613962609393682492212933944008283004135679611572381828318781420565290394436994536487228951120060409844115450032234558697926598335178458267752486242270534909068970478709923289588133435919636469407560667526884542169629200605768414575160237798583774977255728057469073773077517909725579080383655162847709830404462356521803889603245548630094436505074245312605151709451073929967002186427715121935997266462603450710196321259770139801327332845365286161163338150088187114748471000798483446643619867973414910609050034958323124461123576539580760896362028555394322513861071678374497528890669882540839220985444898828544308981402291413780765781691770540796219356934130241128210938289815675564128217421506979709047730340918196445777497981678035955820544169063428795491779992047793377052813996860183862403758389318806387826290591826376073531049705038909550172078434071211138294572764968285367950560823127958666193219342103108918370331993442574850436560933494229958022805803003646018234719937839896436030284459723727746598102293464588546397132053576809479781707358095843211537332982724491884920077973945495437565997389083282903292538330404898920081924235782665069932584503707098278090695084653026003526974176355884709717256983735965712148163904238384486180026705592445655377817219758841581448338330719221703400316729336782858601135635771343905981819058253800077069289733212891267548035239955318385965497790919619401785371394712177883057652830909823605398730071616415464666015458555399049245058905061634335352851518827110375928343507965008807982691941900014130378465278957038253607715689869696743403331302933272762189804573302961859724374906128966622467567447890822238113348999129311164886820617137545906158980329737961258780635978861988513557439463125679911651102314620380045314051410168648328376627538857159265819079666966679879437112856350278895291105272721455908612755619465618079280862783143432378627949351313900632433677788180293501373855524120719218199838477214618865529197267760058032612373198846792351945541156518402714899326282978743201693780164294542336320798254107700048318291788164270309500937774846295579505319867885336050900937123592606275619184704032547708168270959041867821645024291754462455319635812108163700406860694390019101859013243042850709221040751788243032536409222150170032372502791710984301459412497414267622756663493546511538916747552852750154266133103705472575774486659735807525603024275702797663894876130713153171398199512116623042894779145514560079555206947703749041224310761903148573888668153371284226671367042682002589371530979796497187364171911917405011071394914719622744848686760129171505302031494821632314376077839434588721586494543105464623636672187605355660912994969851263365804099478676551949058835890833367127692110364593927844941022110178237788140833114249616485770334412731590712343255959531406387444091120194887770160013167858738201295844559163863365246093327774930365037855471425598855338461317289930442984572360186704349574602168427418463285793180793012377538052085082247703853566636195816893370280709275807661738327146659128051644070436531149323656179109142632305718853872508266921119907909878430065942358187448976964824885394890663083382083990574743220796910787726450583673514663349838236243923195690271438585202319951377229021195363195787119062764642720524463544750041600349191522693103540680300403611692888292837812153404229647693020254716856329792597413621819313852801964274867352765631531489007782037217370957028322191978711424782247818574040260830984770756842416902179941943651279812284620192132338798396766986903903557640752153252193000480828850116183529029120773061223323608824934833023919708626964018670712728400013418671739871545610885457840678015885814332538324826067467804545516962488301693890480495077963832121901495743010487100344254893989639757607485817006856724606542137859207664269003254719070203837474288495710029441519533319458844396385099555409390598217233160812133787985248100117943767184875450895298076703446760564628499724235492015394847144814446364471539678012766558048020366062380138153677063356155118993295772004299053135718568330883759409596154901153464400026129310449517876809917141693841528241398881657368036879990612480488706735819863181891010241123887312791679950259146197677325098496623638798320989197942508112648687732674737966846441025146273761817209285395936184524828631837552758062745732427796989473718259063113747835867017266241019511726474340937300435540457864999637098217965278170237246409358769804864754216838428740672501001941860174201322261239124145371635043370320363886383430345715905593044314467350607530429084326351098811603385134599889729184724223108472678266230248332914664048003979611843542924712273816575091094412989896250038927526956300022038940178215616639119891104556655895733243310355545801362948446528350802806202512965798263888356994383317659385498754020189809549090005262900679223793414814256021542664778875031858159859087967505808943885740663717694153726584805423441120451185588086219196593607124561232736374397905764357037419484044627770162551143230295939537953979058846651064027759565653690834501349676482986270130606347950423150573877760797134729665886513169323243431896478463763932967854489393859564263415942012451859345389582334487608546706319916979231778212136982685154357422195543931221247035669174982212224848230389446727665353242295943025695705124082431313996109218898392956935045765174067846618273749580502640273361892522347797588495629422132701612065374224731631488836292681834623204447961637663173530954267318411181861884273672021224863446504432967502688905550292887022986912070088364657183283743646264598857527916799689721392716998366596572011579401857394889891353878242879809764386270832870809084547557570658239931210532954294475073688423178654644653990287663881009419499193832332834026177568071748803933903171431852131096546405337975341198204147269962126068364561097813581783657958856936877009024084049643954656008601211979799224750637507307553762796138479832740204382711324541582278808298717932261746729747445651184212766757414480798886172592933108238891546352427264935562408200569252241905600854366827470138705602921515586727063841151019540140591303459043420169097356711134761454046313677005091345652644361091588210479433195902862245584980000791343261175766095055175854143869094027058649744006648204675794911861350769811597773879476563185161589824519801122183096172328167304236136720198588410600780888700074021104486579890314542219585357627806946187690488736639762419719654416898960404459765709998551975049542402029758922594278648779659500249309803318677973702332008572835660880991775738297219027545632914780094640874663336362078479081416255048162785870952794658005222587190265118691850065688391933007800409914291415679671764336865257946281904925290558383925428967802913148179758807413834195753193513434989204435670080304742678768337775262425612752866747132850903768290413891975105663992015606272011739233634932042940012972042428812069070398251316702496285738818054928616519267037753165963151766761946821645258938079106898030913646494177804733106588091785208592827042402664798562071483236327276086498712381752511975367201586109029865057215261971540995692801027382187194485493835007946949001222947934240098934718752946778352219773786096822684193314543056401540447870251678656836293051740854633512171392286687221154371146426582557325251764585761067611279543998020111793145895551027867619087260741648235971139410767431451139048166402300343488614581072972149648206175093924900557703751991852760772748511300482676383467168534115393598366199181990977179041594825206919310547079846651965366839318654975019435247454784646930613438228100616534070895646693312427406153491769913357110317079710467357471331101203846627106235051399693781515650409205958413309179269371837823320521752986710130804558497302606809188082111175990558623219185411912337736203061013445481635185236429766453841410687875711419076449061426927598369198129507235515447404309315917715735326632098676833204050593494368479224277611089941408889890698556675427418457332073596717580859151073425405628453566839788534562849832053516992346050522915642001101748713304971845599739058179199267115076910616024063336521628274034336063155211284474357137661814406435950534583958564704322120557026716300313315015565887766867080965294498587391951507077402137475317463672742932876148355806376385491600158467317297364850646863078931487116902111693122342834719672649650736917989463770149756599709744351750604762232197884492561930533578183124254085903508822477657858706578484530369685619166598353079371631946030675412651339508168987622356717511619372264854299909128371129192942018110545061933953142349903922391803885435177358685111442065129855284532514309520675843476761780588035249434971469132254892758965897704730179224019860008136029433673614019418022597146933391308938652911303282230922634478831672677484877063599853960949207670580081629027483120196780412433051590358964176823509147469280190786253895219247947990063640597132523004250484382013132375221105194776777629910009855979203514480754857869473483816498066047900599937450365645795024822153970815888301665598691444510716910911276967297591838947468424331336673075677879683520672029224334864223292750048776521308023489153860877586685893522878648130564821464327617145553497287796956079296417656833284241509158817133272651866955392020479916711063823023492078005456122327093809084069172596542320064199237202527611089264371628640664544293855348229320213355417590508645582682414991767559128690538003829084901779365436506563448225376926476021475414667679237019319428301661183711207642296483324085722432022278686351116930839317228807205811378580082810419608544794022141791519551795747876072347852882294514203457563028458429308437488858031282963720367844417843674286765414233659703095633291239710647553165984116615434469576904437710997022173801726000140702258179042912055882449023241547373156954456933291037027941793411923920103531055862289286638427335248101472988857886999667367941670797468863922808953565411529799282654646271179314078436724861397793079819913469431881287747255405861609999857966657628472955113318466888918432249136911014439446514198084592968158597619209716560360510769717125087472976773497795988893394176346477667255401807928485446002952740154686328320669088450655800446826390539661552800392410004213113424014109017072670827535536911802247842992622109637530300937514500816408233789377868681538589298128370662647591597543442232436303828104683090241198833424800360635215740115467348417510165482525984394255422022802409683140870420098920483153698363902409973258617449704452061183131031669365464250590396332884672595116501661765720758238217233966852039643618259634497778299908749624495626787861704408438762371140614406056633826951840385741159825316150268320630981172175426369468933194941483956393033144082249056940858855163135542533122365883174000568212505382113976937083220604672580275532712307224366793517690407238528905540956274798407798228312389068365835457639213600502325148636770896695856425162673691024743031221016275207590563778278156433370118142877779665703827112370279672685645259897436244604224009870038584524853108740768381400530243365941910931327496060072696671502189458693533017427367648549597900391137557632171929187034525531688226595780453530332902440749317253002686628149622286647497741672205638202339119568804178726052197529911066020636104694091706194118593445937097244652877489035707985791062441998890819006849862101541129212651186445833359947148544745144171380623570849478260386737495704857449801192394204435524490411790545806136623102935970830777406978322184095204554083319226804859286575577495802438078762076453877868334223093770130776432168294318535999973886140553441764122919671006251341363522751980178757219704528911446451604309744578414175023922333715251283258443386931743276350059127888644622062282421844097001432236085663274700747463102978756783893398158707756745808008272974508565405129856131436125315471238146267898237667642268696657071965533064457402233109995546717853268772970809629478996995677479604223044888553204725449313062288053894513415440713485983515473409116912610186825004359674457868100814148373821600100341519343246205568260623080061830682875317905167796933974616341785119869316048730402342338665353700849108771817168895829722259690133392526505411729466696341567939011908255406227625052249175422545069955068572597433402551238599311520159714592122717758102301934097939577694530104622287331585015748571214198886841171258227515940599518110215756044006945995906666359583019544368997110053296047049173021271742670191737052410559717416721842668160983964389847338861254815017422073892013585187096314165548717575470244708880802977580867027711255672318459133637367460611753976192833611943793675736142949975326846540279668436664063705783872046214033968192258248723864187638375712758036584138254428188110510362253770473464899319667122676912285508193223401294529390277092264406262256979958386353667399424621171040952292692806523149368553177704141577040
92997575481625094613477281118519593807247397584002124881692899828590717417942065413603483204653259563326006719635951206828943329253298528368777695060953876344624312817266481977943380607466373717828461557437947709403082431240846852163491073695253414382372341666790511934400937585403696036485064797117044841605055619750460467412192039280850129632910363890952714617682954894457087283365824302640099514627658681550055976249920319455511238054668246154655124059505809593218764139914304163193106748133670756228102739643119734505104195151428245918951676445925017414626590832094867431832485364718845647935788291459766184558631775864885829355474192272830285374822844434815199606898639870138028553982286622661916134876669018612405526271028120704781233274435209138958492520614406790334352450446131415873456727299613400795670924968954084753002684909657994801914494610848013162668634719213270527628762474991777755016082144550899587537624150466622531198182353927228415469007433919754258504798272295398029928714176749623267027944747402073428434794512431549351576385117705356123888384245471930442267039366368240769284944048260815574221707645993334851036118845113255526826343028319645990227769211706390451772252822598114769437537262708754882921385411125821001082936688072978993064900920114104162406610920675879518251869958043699868463480689164695136266875857123557716620848950770163811175041959477212897755654175069161108276378513277885264911342493701351732319254033847862068536204393494547893980281093339465974488267737597449064130289793540305781218808226648983697948034332054899056575302175432062796181342251563099955749388725178670186746599225105264738317211470755921074993879451010177541790888366811640479446241478461504968627904613839104838709850979327522199333876347770231832667360093436106922339181791308821034638444803087419957634441914849885548796507524213988845910639388107443811522037673251767646332334311658129456257156840242389122140457401716706730238639898145990005044499785954651002218897832381697182500724531475647001091474536293524983873131351357146351001212956829448433693940662942316948949063904511362896432364349550033039742338580205865082465728269149079082503237603494292643588761509237830876721549067787177209608222658277198338800957186660311927912446078238844342480087554363482816799172735172513355179691304111002317757604838363124913515181184991525055635392363473254815733709970196471315926440188098877647795372011896347175165268938217783962246276668886280998670432537521338883846103790840770219169644279311386879795680714873022988664611882195107919838022564700335505045234478633761956843737258063003134738765262097078600418153790007025159308487583139435516478650258950172341763554149502690858451931747908364198487963955164709777429188369281555979635889208058337824395282384645986139604976939925891203778166600741768313033939824446913620130592902031343583087527357976582112721305245137811014506066313236177613461126398569254296592474848929893755853536418115425961167219571921967860121239993965491241383648856619820676575073388893243335398780181375922952306309053491642884594284392414451023735743786793150200824391021448619950037340684561906521548895360045727109583442283758575584324080669679473741050694568863867832950215132474948357407390366347931133950945742919826947285771581965405510246570548775867193138643108281123127536939040301970162248196577609198281375795717653576351882238132394523471471070850973517967249119942664749970071974445962472629068560259364818163485099768652555325557525691356999852745047213227127585584901287954039096987576697232946348135417008312253661448259906725055420106494704059464889604602766575576987579161930899718660400671765118012681644293942147459575249035409436339151317322541093444278572721661426408351464290575676355068126754102443614284892154387795969828142096286113987196555874787082819088033170817043213801198065747379181314472027577406989655148794510705898866158859771979733832610890521799969603839787497507088266231953935969961761049869080735658563103690255571779237211427803871059510547329902739556762551919710871320168668458425770229136665004768348201869972188802095162674815423308074342078974971926005019201350871265111732172928767702686938987807860677522078044988618253017425893020477402178112260048829091053371489000740649408888562796409158640931472936380956226728312146034533199593745952676261021611682896695830938683667587397248015945790609727783376113615241939717338639516223660388075689992247033746995792376710575523145859061827794146834303542411853623948085865369502614352702626533451828193586144040692136428406120495901590622990383392341792410401146542530998601065941079277748522712435004427626189579422207215000487005719262470201548643791009399849724255301665143231547875027517333526982794660636020720663271762682667793317697356962688146078416865615857589566872457224439963348673553679123199513766779341900809721051414249555002819884077440854031252112547188980525631934137848694507973441893954957962805141606581721393347507517836565264175330970137826679433708497700000520182031895287775731222943141328306748240454251335602041006302296256852589177873387064432560028461426162374165863932913382693067849335286051645495369567460811155362616347111076892662522429119796192446349676653559236470207895982894790971733485129074374480283473525580482025882891116941415276800074345635536400871102180027853622532879545887923312567485319761242119813912202263292314645423723315916336327689091080633505042792870604708281182792946098926492566931940181411491003974190393680045272598661519768852937408799835968790251651664302338399935121962432479949065719773259172027649838272998710892464550956821166696344503658493390944769229377468583023596121782854997187146391591675078762670337664410732495569495682118054547952661393234827387734831352010958418223729268490082665760474459585176216196828012261452532175068302117731491346747487507538481317173317737072640486558486228640320634896760571459941139093971116144645961497560322268106747898046714637754040471208050882644041714048952989037361407945477931632376371012255548324758495074086368490860947073526507264117335222079705869643078192731496234738612140069949487801912057874385826878945143363043223547917320479628664785632404065682935211764723013270361591598902446083975580161543190947858095665493578675831690915561873952888102422835602464597574724152950109808899945970511232099205027653341524713847658745082113467133541432550663441440272704394671028933527142860591112672724669912185100939637805047806566011245018468589572300884805792792748236418382079978015058982446224379118419817771106830188725522836437095521167173451913890364584190960770880532703292443809930481508643178538803359553022766771126093879684624463423127517420708053440369418025632693632963072319465874302039618317642885144949390532503959512841003395929067947214413251582985692258387298539482015276744550736568554378372502915308676303930099361202340645422996064334656670911136373522458198597558300072523529079358866285439381942218342078770747524320426067330039957790738021066555423055094170892070078409860100978595340500270076778879421810490447290616628885648915105013727375771949804717911622327659320142112379469526354001195718622109755748977330950716455373102396774091753340175624610367836235342135228131162753403144553723131003392241675326520679182301948165469013927874085792819707120012341128251836181825145373072101530508447604225770118277200050334788034974410221126352833624627370582706442966152038852460438268150602978788370999679969939886295553046685969995037011056346199883261936683629830372146787191736991066286154071027669989343113192920035517315870851167181126699666953322050339509756419829062753155017986424694607646501128786045720901616988718687421704412367807158510562048971943447121203361940797000918577274045717302397197779823284649161784496512398488491496626556721706070417461945963172050905146081073626343724867399132001001438749022754758772651484243988213448961814111550737156941786132606180633018108596046791797605025001849467449012032124599112807572217254061969171833791997690397321736830736590213880590932680286362306030519578822454886744668192112327040912015057771074637543640309204249520779021416395924246128403821241383152498708135372865541935011217811034351095881267881774949598439036561063944971894525510344377424722795716267426981471531822177067464127055313305334396159312571401076408704378069664657647843957489982355035379207123933275154167694962253333687205118102885770663159794952218601710238757639517610265208352395151270309428591974662502622291903556316615941824033735209771243741796636834596779751760447149705250435749512534001479053527459743959275757103202650273412497789604650987077383737138811417395690987898482388311790073812268032501767655357184311818604032373724130600982172014733902818748072274941698818349414954061068815420325489513426176199483219303896497173957296228955115900227829827769142268782175140867059253446126532453317747636578329095039483048176710005540913049073977951675286305430124220902068281935999764142948718836834680593146077879098677850370397703787755023902636807682294683508868725604176452453112014901617748529284711139730967925913944162847758402212325042777035678044500921046145142514548013425920109442670616175831660286656224040828922069840994786068379451428032278601211065740863760005632912180680881512718784511558178532295954640076787817460188427416459974249906431886768296642328349165546318074707244455680354658607093231273841248831420817373246741359053366230905352755497401400053320266956732926221891316084964092541295865993172737260368170936084213454044390586438665485036099449642643945535452338161493882430495206661776376348900936120521203863111462166251562896445815661809417944164937917196004076515456544458588298518400143733703680286557402605054393182937335324103190785423622651446207972453657752811086367189965443184381777510520584956934183387591995546012903115448443403634105517209774543680804669955568728365955174397009530258371179919936367133409017799188313596557945634476468260727300687310872456021418652336937048310868657509595194680253237918110726431979118842567754193276702414540261447033160979381752908064944755414196720967554711410855380306820105744602317710770494167399766324780410653755259012386361484221347849031496500888675449062753255589108628411865117891469982772232354543577995643793667947406476634283642552364253498122230391226267199955999965795002017051031355727052498890652650111340144217839375456931093321956459101968930542507191748840621566348300466778700439987056584747411379210729544310671937616832465256997408364839031095071793715033761350242371267765989667112085956541589183834737980415224041871834454804777541283964673399538781137430159300344297501213868417050050423566300333298942505558384360018250258067067862175261743837042071384369757172932391313168073560127712434629745570070925086198270011174308601932447256768838091422147715323294282179904851114354763836457386431551782032048985976138715742490483292073701743529299973270115188246399868447356912832741899192465124360302119886904315397352863576836366611441099059017614976169865473076242010370189583703417075742974741732727647936356789646969954781673043950590910811137714450417422975524069561164632550402963600112710428865145428630113465160565564191242241085765965816025689725238756982424817222778416873386857605202438129184220006244229733468152362903706256914244797550386692148436833277117547944521632503056435594729107476125521125913275605238864440458535937630219723908026732312938143842978664523425571823590114588824250477802471259235459903347694306726985196808562661266381963803112900956535091591775669955835519272771595282850298330248416040811514161622305773397548930219309381305138165672856116347536798643854522214368866870586263110444477598872571881189693158771800707478490073665838432019030682141866631979403302975215197301473017157769134371152836211424361829475240737026540722731271283631842723355802169699882226997459040513176341948861296453012869655261687796340295748808732034419448546041767617713738706994823394359870244858685540926537927513106347885261559045762139318017509855505996151393265267756486524332377301345489130272235396284925837140574325546214859747572027428178330205880677815662218166039077927744900677124321595170966978742834029728311249923709671782510390085054338025005164885090733009280139609426105331726498517741633931684900834256706633466398884171572914290382750015212533012175633416388787038823182006320171137560125028031480495792361898410541578595803891037162411750285138125800504999219550618567088753217328206605774590280378762482892852933589674026389235650854573994109315482963106047425187133808233888224823915778519390384401966664712487266506695721035886991987132273189859493424695862612745621659469543876317932950663683951685974566684397553674001538989020180784020058220728524824568950344584639618905600695386271375784818323040241471897352597376109878603656065496681374668501536872240825454112947876882579343800571702531431839803318294019863129771466302146996082989895097905976636817702538825627459988259358294905384307956372836920138525710072980091643935137296917046926407107689697264789994615401443122374351393220069544273077328098127653738178999240902894350635761166613649094774129904363034315209998167325726530757177313188916206167770507762983994189572957123785620271661169101395214448135136562399845514950654776257976866182815293742148366975083893834903365555983223501120333382194994294656438927109277673671811976522103670568704960087747860256516292956349146035418444477910759352070132481548421973571373119392289034130160848197337687199974988763831596125855257227983171584469681613649477649897736240444261829556090477109577896763799393882179124262111412710295569960359131482188533781202605904509969749003401387307875218254133588275484500140913616271861105552549978649688751828553788563588150755748786225453373546756178542694616767350326956356357807064798030239348830543919239952282169858441833957296859693440366072941016047346101650142735738114999433735859750335038033727404964921624566753497803657178929192278187049268204102898888631917569942782090941531894880096935097398014334050350752998039121077873763335223611617966684454145323670876692168223375268871848574746736511588927591661110757327876417631212280056185893443833069611945070040564240202083733393588565726333103417564980070224004650614107092758947066777600034981176909193205853015262708499638807690476718482285743019379540816065793841732705975853747235549367283252795711510066494398104656137331675671150219804761240411682637561202846644012956828744280405144199864841822747505788085095912827644278629216852478715947460086501309788370879917922328271765140897529205976641938307402793772195630765278374636014212626360816707565689154448630781892518702617820933947332950716699854141593549655969867489929254404916232696223781906909425100638651221246224717173583952094044472625066867589517614215319853800728141762160816428433816473280979090614956548274478314245639609239924312382052231589673733012040247556746842237197676612192234147064546742682910294682193601233750357802627088088389337298666903360217849466129675383806862618108067383805231268543124481448796787334492073478553106253707484109412041534629009568052318637445526661122041434961406182115026019763237012134602180435289574294306333067537536956678346535585284338407798771476773755331203707340953874645953818506435756863512062953742371219132927633845077317727561239632626894269677169732222871388296926037517180845257030203442123087238788725836970271494686062384486974474501599644216854733123861692824266881851306157614161266232693340765051382860175123799660401435176336449006217105101629938943092274812884173294595680871120543608677472641793150051451417612824924809361995301372240329851604162884797186971540541695571927935766542895648628245624281624608372020399347611171764806367623200973972004799306009111792730080709890258117509990534480103689531135483657417985566172114839476663478113069189813371300489946846219599494831836210348382691109626288412387678696850298977203284940296561809599126264709645926802212977558412227396789968598181590657007878413359549077049517493625742162287230714721622047920483756735994227678098514478601642532518254953382429382479000650418774338925855882563610406883913209134071928237189440817243077334345143523318730078848262495642524312355512302760020287641690643505704704381457953196568585446188588675720297890352734209953550574906551390460148736573576788905081608260916909207695927657178321658726140420465779538656919691856154308391062734827655265122507061261497326260906021669664745557003319506988102978625328845559183083276541393724523719310934217096279381061740971754600952669353799365369473839987948034239940998747158916576914431813053450154420861733806405422975615051614595897627325979039309773301100125111088841685578981039584373184263240641941588450216341508183200801840893158426041349413408876899241743771721723794032463271482571307824413424004075638709738324443054182641291695127853519270399767879909235481353979880164571992813663755782703798992243024583793535362792965575793494356999276823792205855436924586107840983118346949790921039604654434160206335580737081488337753717260902960537029167932161189371574173137890082309856189510146121729338014048824654677311287264065611438698320510773790767025716187227990226058511098505897577319222647822087695520218529622081914508845822680754700483533738830152840917210204970417537097665953320927015216276206963544046702783196820441446198803362834294848893915465034653451792575422550672352925046206911163901725391172676202220176577547228547228964744781837424929571156293869085952574837049722777218777930971726985086819082147609284960673224657746454731932211647711902324579231202779361043387845913085817152520793475029103610134558066283266617301937886482485546373922535960115277999418785056526954951068210474707236788357803682866274705108153647377018168823561983828353559852196878126274079322830942996071783740689923155939412318565304053518898034862022849939299691269145743689549191199074798266793806036467415108331935985029221431603772409466744331415098282486508040528215814574008935593981399705424247095857963204061603274499950260048947845661084853243990236905692155542659760839959690679841798817557324571610818704619179298204154147391651442500507866168736638178883464547276188153488683509845682356575365112534333525453313271321194896900446561469123926614280754464343774933968818917274783981323380808557315100301478098203331312978590516525425708740602614243150988499099746206454895098076458808871061823252867732661682521210231560885868586951001891166041617544024270359028697239918607673085017960737271475378238383569957835410115726402420690441872830785304816939971983547281404935280153892327982330804628016635808604620216214160754144915848697833064256020764493356259499090526883510874500123459624437495340276366611907780284509374656130759404836175480470141162805896346556838477577554865287545358690841357127658832379362132034082492918699781522042289047357921613073398280148442468504763168053268665456984686035144100663554078178038209771481215289818936718578362207140714718027212669904474338612556783273088184920527930125295678092759284529951183570124300386535198803589803034853294629047630003499674398793661457987868830050120855393042456200735995931911139173396987542786876710428171755876006663715095523286853648093460903926064652640475892773967931183467962157862302768281433035368736943690992288321574659449079642489001597882444648329760192031208777592420687604857445878847330825012741049398265348369040313295276247202875914512634824601395167235700989254099982741305491187016613489789786254497328082933499134571492549115940415736545063247885894638494471909951362663805356165018225072319638428656138347587964944933854792092134480880845839052713870876852147777854766823423882160028367443114653636369946728778442428060779498612487672045279536621340132458284847950046571025939318030771516529537509944351876010972816777586876159652551491305560697159450635500645016532743
43630140662784807196461543061762598521166455839415760227750286759167083032048993266692972333624095746806581274862361432772907713342128041229476413015817814699538117402950579330652679807274593365892513903413609532412325256978845532697412019443556931142903975573446186322479159430840875586064505952764840067758930029036108499659122232459222809566030673810398362636202709998251581941590180257687425453807589496359473782222891769946226963355491496743512420866119025567991376245958081199387436382561597685414802636434617837433858078528691403324238198130544919907490205905873259369018220970481701695541969073626884402857945764996622702444995261842805460181573106072456915286516487230591781439290978097183198507674726459485746851440228441451028808470903023070177772587022585978500399542500779981662738291273864068798134854425107132339382960687588797992844530706023775897777715631419954224681840069463191603221285981360173035844697445807996227085609108641731600855496197513793062940248650335009656615585966123510434093301117189759493350610358579603569786373310402257176999371936075322951187129323501180311074437853753852515562604214240615457412952346927657732760934409142846649491895369968445789718925599892112124997938399332752695532366185582051172468786976712838275607821819352640630767456372864881428793686572400720167474408029606495492558758972255423561896357284980536927587943383829024762040931450729707124280951971372840524666198562823053624551860866556178834348989532491109714969987179923521737631549471880722852540437676789545181390375841926691176142178373266048543597067621200361399147342368370505935764742418430716174036066163957559624259814115077323606281157202199280999493960161685274750882765189466008924788882864402935025530043809875648483194757222569360032002797937036564189766486910477963818225148020921379774980881726067485522668431490674217938329874170703039521739675874564958905334544932581417603718044474900050089587114678496687936551370134570727269492977181684615688152303929576800876942029509639464732710478458969484144929256216006987488200337542232195031777812167934800849200132230408003270068874291241986999559664410681556113116451093168857087230229621799486719674488173580089677354166692973373507039210060543019213110314907666627205809116847411042133535805897951593284204842112382467761638430058251860377070844402316840861903279988196247893582090638197672779329350505152636201561050913604924749992501071379827841673441430752996736028703777171400726938791611640522790035021987193250638448106383603044291118689959191260192240079601216706521647535955925111780518344403427864615421473076306129310922148518111797504762021036109659700483164317328283578230303654396463332346461038926576106050384838126814127626835312405210633876561993057250273660843901399289868190233684172219171295289176200455119588116053324626695705310724251258405504296869375044300793593124459485948253528750480018275642410828127617337436497416803830070136497341051556598297269254932274054750035468214476815379287728722851049330483603507950431099246896875025107979207597709474655414401164330245934491344564688177905670839745408397695838697099772605470190667002128227572984611888944101681736925479421280733294129533722126070543184892240666814319258717064632469856694342155989316689770473636225758254727745113923637159453205712431506993123280638203340732404801250244321170312669214935099902266352566611564784041986492006067423947729063158339861532996095407589276151762235118610635400074405245968911039364370511797891234574022635468456817062661048615909819925015706501586741275266566965907450805722734647549909889618838070028073046079752927797505330928149920005417715017906996133569436089930754525860501681251858607430785355932614928572015820010942506081208769319048751030839033182974604496605365856172677374046269991079179351028463678712662501200402934992048091780417751092160630162598362909021827853442561158815668665983995782406199442260517354354733083906362838988525707289248764598059689644745679853797725914317767922974581000651163030774764545040845032081760070063859586386930127665718406480203127195852890245388684004948268856068455648979150063977161929447794785787696455709948116522591282902136145041300686232546028607818434557562714311267346954814807961794477421502943390375996110609463873684642080033844145874440646436048532060237447081176718116115061364831845928237595110461815613879642898631171834328243434044594162509406963974542431998509915358474444134824025212167964641419155137628607342538247851391591911253244096122709009449019024023255922856784498144489442744564121278998879917346514867736746348654466051047329013872197390491178251281789528022209767881807427350099481602931609196125026261955275746325293047400659695317763934362914010565132711527323277974553908147395169777887208808941029432462670396406816171944390571147377413083147322419416018551896660446249018749027549373488007760295427053360599316156140699568473682182504456706495955650956468551454056622520553492754331652122018375956806869547716244069505630793652023099179441580670159331732896567677425819448350412724929022072775457545968939908488922578869431420356841325486664823252753130685296931362957517401236906111042946680380206123403009842705391831045514285000886812618521260797467970748788758244653724507109191426400193628403285945274749409590813520448542039993502858958409769891000238084496961000473710367941586300205979071879802866460228265114749566969366861403240500118836778920708511332619570047615101044718834035622982135913191230622398406567618176735939515929713901182044909200504188299220194054070885895457071851110569397325009386546804235481306850299353614403627063025457704842728124893605346370846083839763059439175856434473675678572653622495912020960569018637556092769997014479534375988093641818269643626272852722141229323031990172513976627888667466880266449017555742053157056151492343883359166440388264281268320203674877554570041992590437645098587517160174184217684514202318260690729458072582288596574150673074865033611269017675453136705493610017191443383873566932217745007685680907909696653188904215771582465739089204106474997412929461434523776273175164036303293912317746968174445881080930676408811130217043613250444347504772121267196774737343684436603495179152287504564327797287946638079383923881964988069423416384104036079181116220125009504015729905992426135275498725786348130147713149962323085670424106543843752512930436186455957391993466598340451498952457135232210280583183728647770144610452316417793521002689224686280214517757397866105681466038457574867255856477733385150310112217569199601206689795613273957632847419569671764434885059739669034573630914192329563322747160125487187990939384907664883009010896104783166413218300420121420189249192709739420799553343801064153734063521343091934320174333331945623315595889352640254194212204800949587964652130136626493070236908749268378793776595336973911039278516297689713871240332431345078627845959158631760108924434424404727292690317442279851311387612126242722265597178254719895969369883325028528544192267698516170256087959752560759455764378906594808096726741593958034768299456706361643953613103748284660800345855614160358281823641001084445657561162399660601183345909866477735491572986381947524552859331918440587208257915171822065428502941661975111609657850904253581699381977766203873053098987866360132538056253130385772494904635075280899444721774266338023587970450221930138613357623020982167950474539929810399109792558298715951235797751457543325621650399575821231718421185030644685012005639182564655638400653484903302538939935948885438249023357093291391309169710876784235661793947243662198265056393715489050959821771844936246057131488184061710927108908331245844913723972055513286329810371427527091651010348116362168864285744627090224543649138937442843475654167258390374514133069069092940528529008364717091022580114371912497296132432955382086453814556912320532897271184448014161480851885774573077539699110641728842938757424464766103356464560241211488421894755465173158328831213592836916862122182429349673399663867783514199805143779794365804221012776963719199600260426962706494828463608055913408292551803705102181067832007773721661985549030130473636250225223535772062519437816595975407080615911756079886215368616761140307178170433693048732749956135650449038809578205404966976679243608162002435490993938365327409347547418663947895742230847853965516855345615534997305051549645764056344381667341755990947398430485249745377950525356710254459313732481579778397135108967304202649922702272826351007690316630806403083551708220494083194850674988423230523731583302683930028867203718748114208129128426084902662373975115579694716626504559493006238485236807434453149310205515691357149607755759964630675140175033293296641955818933388287153894973977982580697774394123422161541303357048570685060305050049253450868605557406215572918529966800886536787458420752525569140067633320569380374927932710744475689816312195689641960982221441943119090186356175523624949591963241517516701399244812303949993682490504216964908593152472292852811992073910967375598826110874876695871315851256418960786315502482298810477539302505054840725829474825563068958001062844492466849018283946923972514980997547539605001675583074277275148762375394301363538784824126284383151782176176026874618051221467812527039807836786111198893555768224008040581602378295335552852691561059680804982675082233077526399026582747841385366358773025473246499037494441926052180480365838737951439146487073581449673642906851618665793166133799969506924252275872546617580464297634787711745682840727490537147312105704413942271046650237986017396583329149336496548631225161053381493649787912479234865237762130410171883905126313046501786222328170218108631302016584612739267272426666170174309212620439311983926829637809726472325200013775730662301785702079213596130877458944285819506398547438359381168431579180241064852146957186917306673266958233817067448424469572046587786928958226525211224616983354153193321709301672445228050602733344637497589159187605262443564331698691946218120447344214530827872359570283270879667174939613784859255971660430641933202534186112139308133585862825369012459582585666346162717886470686050410484828591335004648753741222430703538089019976718685304130124746361014084222807714918775720021507239818130796081616940788839333326305376721637819714709178987071354779476919238527849865436259933120291387381006052674917588461488157559348885549302267096662000484098450182908745202907606470203916801099742443992245338849107324933624264592424242131438026666099258679957811598632890281453520457116991376500567614731660296401429755939177504587111672303036702664658138680759967160159139437156950460703224223761414889483966866926900156134022105723984934641276730389292310091902313818452794878005963372101044844351345781436889118167761922269817376692844714766028402617720414124362679330285762852579194930563172604187556128920784556239262251268776445643133332950264483745682377040069956727194598979749560065130016538358834086586235784880451822360415263931643807739000569195008022656849732881963920849704435981629649953886697064576605423832490226663057749357422106559516464095509796570071821407770987747384035880408756424239383064459830480265458626193091179834764296593586033726036411001289753025965792389020909789389013136366284379099367827307428228610938917804955046813520814372086922744755578185260854050217488750608806194856220982526540232982759955912932349174141443931737804110100387312674219225055783834537856015993358326351578276219072569778735408158750504142668916394981876168900935671202609771249795445080733735652396048583983920090118244258410173026373484836162121722139822461863725284486746395352537766873407602563532742504574811565395725993135592203620443954259930381231787686783769386123307067093885616682751641170404956762547915030882286230202335614601311490735181010638126654339698173230662384665529852780191602078672270055077818618364211209693095775074048779147187867867612278266860541147908074251984773529530758403994543019203445822912516137762313690280558785456919084986184316906881486740953424654533688447524950447781857830400768292049746085182305564423661585162626207546719605975978473967305566049609059644156124067815233565549587000098990554926019234860323199002076112560416801703686948646687820761996266634964555532108869344175313020184911111714388456070602464932468983964374482039237312945186872899119121936177720052057940536232541397825799737164114687982588108518385860108849942776487698468783440857361747422241182547247947714721199617868344206048940612907724472888732765238405053381899598287032377884105886692442951747861890420658947458556975906189753312313262281971364817586831952651632375919840070961788285212964891121132012733333874919910941024978349996006259450593163020974072107806043930101680120066609498418555994961297237346261752474262341040891290930431449938378833400740877878715195301540797375589573439505223123879824880363577772848587084104206866175769032106092072860049617677188051732838461582508458943394264262744633319649869929279367201220253184607985044777056678370475770589702837812776556061107559898302391009817785876991255949511818762631739770633146775509303265012027349186704182887682773458436818180910448935401871620224045884547097136649497660689546778594533510431321673992745169727503737025010580214559750813686579978641340032517565932085800576165427617237865857708459853295312013670559853377988610803527155732417652345001868850548605824841375822507021931827724083416807345185832415461668459823017435059699962175491223250776823874280664083896101017865952358685557138652096838847088388914137092657607799824281644075573715201532088395309842110334253193126714352998773786410419689960207087076480710271907200249020048206890440839549925559376830920536273588685915136052683269052787396852520575976043460104488128895874740872511130926747899440565873378127133031667865673224184200990520737596963724610572299474763812254197607712594046701036264746812078222241932176313827865832189927242603823759421270548265390289170122059138920299254404563208186266511772149286505757399337918874629551998443301813110609181717825720358359113108427800344386783175166288341045195990616703448837298943498658251487414313587740546275500110882290006584229245991827237906838820405935377610107668618536823340631779115966481727325813403524330320530578233596116865859680354792127334729231365863152459721867221460530912672195294523065447186121729964267314988310919777989586053333072524884471263708285194377739325333158057906924054953390504806073085655077938478040135983487253446027246405999275645136301665234226516365897203295676855798148569431949104331626100876746812910025008906868734021401001126369603106763087266544690798251648030669697689708388792140501585864255291533828443849092530650217728024336584139913538125192405879259390069905644453063884676166271243232030235755164625385385864855304838696376222267057665884798555470786557527669944620580126091531002203599965840242660856192986337750202037214477480099665114266111572120940723181223229714114373292830704822018492735363470600270665493301361188219781880778866159709692396445913157614259726935332658097761447025037056875194644992644188178050644428196524032378778244511444240883180860370172565649488388098799627406464404468482732597026581124972350718400387800765464958629043805477915733535663315173486274800847079727973943753746106036462132831237143933901797110035396258907555016699951798169234307421060323057738696418088574361685202491599801110303709329031570999760536424478464573841643689175917889109904206476793666665303580912354934376970238749989937168398039627632901421549747665058159751013531193479602274818360325664506818842793496868046147673525981205133235719397993265432549904915367273933699012904293463760085633985121903460947707884368096868901055677092679916619842761299503075942310932495944074126249824381851749912083240152380029699657318361189806859486678257582835527618425416278494280927699849708365193209941421206814704378694910367048974245597268978074128347526679255099784878731802017732817370254744507768623647340180605425203499708083832214147359697540098265333353039222526464447373547630148042929017875471649453352184558394186636734916093049311136573249317813345843485537065044221164208714218788095271684105537507647716131625306867490349407268111140514238825976148526948375284420162785922956993425338480433250915680508024105671019669413859820005595251862622936287298811780673311817397568658294789865999963214738665130084268311515638886500931613607796736327027343101419426582638886496662761701370306427818474935077238530208365994205550539040006700706943886409830115662799959038542958134679677899364657381871968393517314099700664051506656955902693927593354168064457520838998294239412438616014617892704594891691331060748525976744615353958061436206008378888548375023734515041161854665065017226733382679826754513626156070555885116417112471826163489322985391776479015087230860393938629595720466613700112976420247749383107466442556930905869108137941736070699762902359781119615104906704032525878045716568611108561498229932155699764054454342908798492146592051485762645871126192040290267048662744628523065138012133076557141801233703517905176710084471075683590046204944436230188299349201489276213312307312651379437432513717025008345028763190029149350530337047460663402372878228385789685742389320038622590825782390436845399954523151703979758830366887184594064822101145900331848800262321928873057074452140577963205958563048045355606196102626002019415802986615416926873020129831485165909121975823461260372746988197386305288717634681967623736100146041574936343703946484506765984657120121563967084708399848436284317557735849641965202045343931742184757948937350384854003324698535860404255993057524583075127743967841321705555286438592542678060245120342899209982880623989105712556845965589159198044615679083845988895907311376464860862388538690345471049884293390315202779315826260369835077608459687508643934741528240023361595200446107390512185060544492319421648718553898770889152999350000939429450334288993936965840380777339136467865678585372252428339234367466186317616991114923872267823781919864041894553318907733384931939197569694792648448533992306015472637609998664147584862410632548772000392307171657697017544075617399370957703130852961637619780082259264524664850189797215649191459036252829484133700613630379753797509518284313928917762994115494910038393863014394893248738540626991060631815029554173406543246693616461896296633841544515879605584743510906440691243461791934466911457495534052281355584110691647413229315862350120543019633557196141570222672826734042667223819835179377588936574678967371181877673191018933046328103273695353580832445050868310671253380488023541692262453460361569876645298830793470675366469481612701423070779824034941761557935646450798580619002601140323676996186908126407739002456081193957407243916538271817831262718977111677223148118066302529933387449473322655894503890715790545615325223265631717653151367847812727584200225236750966441574021858504657185839808010400540481092143240949554106593916810004261035016342589212708890529979827372499456498558481970370498147485050161027157488160920340547445115267365178078872790315692955692529667809757185580703769260727605678767012788545954588562126048725375460957067707081194564316013478121970467241376676675975388891648906694948097115464574643707654791475846603902413193296259188893351559101319053947116396663162071599434370401578955302740728424941152534683981339862735921599292901422070141946612506567930737627746848508636773654792853815148033695297876243832294898739122170351470360691621716337303351692524196420303694170264093794185691813805175749828559514241718074671760807686674080756371451436647163796421592047516416738073481841352922597877131145682066405394642721600719774153191068554155685928477712349780957710005425101473310668518820619850008168290574555829106476829984694052155018707942713350429670292919200444544735651263431984691271055642851009683834168149570677189384108912650978214339138622291815163400272
47647764139133585023925931028845523060470459544893470565770963999051513384453402909088977849053349692337338310877922140854296711234549948503556920003764478899264354742322968927787669078391024702784835590146053773740290570087610887961792129928132840571706882848133044428079897169579155407443659788299184899171691140384684598224179987885609368445506978757349018534830879634776894808033986641858050717952626751587866093929106849793262377685651967720707809229004150942499839716169777961973509790127978128941787568039287648278322454152329124878447398923069809716800571521149039681758652798962054039254854160258700366181377579993938035175536283877006528414656631452531695679019813112930066691564265402885653770044773641946650071733506251572358361365089285186012029938605205466219394232783986570397463135592327256448511959822927026051826010932262787194799441980085683320086872094020761112046642003476900444015308371096314621032671900156028748121395998119539415573499889428028289004107373943238264489862505385737987376330305749846780906004326463547967554422826586868959158045066258223377685677715583938182994023722711705397090126555157285395874732108614583057735831648464320122544786196796750058477256699512151288941501471178352552528085759213806439622663878929722422316615516187096619602198033592377674470178453445125885784374533266368966780467600362517096289975348502887269748865067586104200898670838712007264504927537303125073877291755580719539996507698877958210116967949039070580066432761900244974272175538373407287436729075275072551418940440302534611524839282928924321426079489856707060221850822576409060724067523895846344140413390539274007937418803209501579726103173895469956629767732269300822744668210858583994099333904599206591429154436628047454593666556281567749161716596510939358017296782765417132669295258221289785653147235708202758385915010077303243984468891753573949326457061691608357297135710821751373460517118160922454324791726003609183459091193999878267235833322072007330329771074512538316518513366679514749473240489823128256384448901678893107413632067660859648900223963334046111038853560040615498883230832727408875848381716176963877626796806593172559473515068179674483400153399704783569883750345089631870347512541164396843782193058493548179102792724558622702516608659296860282200543934068350507913701798274358882773805384813004633506045824927802546591277507770521049379909542442210146777843589717699547785591850733112573798929715546451792447404201192385765597038282130835717155265194046075404720891649842698212444410112477629482649626324472365278503666674177394475058085058473812920660307756939017600419236426276500113272158651558689868214627774920789420728055067467211869578093675836309958821055586756987589517266988134215059752363480660002135361042222971774425004833658924839518843605417386495501482393770851055164057891944826803276247742187090235216994369398158529476722417863210457838426051141402425297592790452993961775308228550568554506138679118383795021525041549448272218159674908060312079837222665459095133283277777548123328256455654903738079311704388973261528812395785761302794273209938151349226820346771588970457370087274584054957414401553834635313579601422898973569371946858860962240167688063066867872591262710030975648854010917910147170629549472570861207043002696256515207947178136391067286397404891155333922164655007476810225154277654403090360869169275559664620194357679260209593042943684069747454978869908402668901243518755623607028065389592077511387531136780509463382637810025566144821961806829477483162773991228623231400580937364269078313690046020251147041213770537059430843873229469915640177224657601635271350168557312256819249444224542368993283081745935400307428526841863169881211755999303208311056502524620482114356262097353486577599472148945392242745101215716804969552467427542097758066959603853804200066972350860282914594939929004118226826283823428313247564559090972002226958885969351209416144822201782714689842692515945819486699607243008514020218831706165125507707217810905399943562092557723300808061090959129030246640087495767014699438841922259996957175762446285880953634633779363616511885917086967415053157323598376983785657580077311716397079551805448053984772022264031076237865695299047645767372515296300140706015587170623723568100374155809756409148793031274778072653343385866483012962131423711273442304606511038197791454005019408120745438138646952486157110142093303658868460786652984284263866632451552405585744542300308064530028066126839967006708877459167891847510465701766805863465037768251061807734938235401882393369359878935016932693391119655444014650619892889674976058491992378056682708611599413395706994009208838407453479193478340218764517255350045392547423663948616084667174416133401001817344401714654453774697880626114621109301635159834342162598496710819205746703768639872462830857660800190749858074359794931769572159612530800737182613854396464294953405007800110816776329528053078129809736902409441625574232896591619011273644397396489510988358434830787098658700832052654253588490458048825057167758257826393532448872667914315582641693079391558130334287684263424297149200703991690557290133710347624541053192957232232595387937353298222678123806238846219685554403485609466425772592949314332571575897010408774488819048876279126531140297435850760739501894208926057683064930028265715201556843818025989091949839615521200816719116097768720564321587858569006913945930776279950837845403862991694653150145755852112007220107204569402016980002814501936004117296612296788361715535067978213395916108695388384358282769175625495199303391805129751808147842480662603524631640654146046141448021378400892640075939463526524889974423178898598190957635644443965750984241826753296118342674418048356519238512233292681541121854799130595649514386616429267338452085299786948249839931469656448821571800227229954676669250663717941270133996846401334797338202537356075996596742493808227171540213907224228287693285800441542059990373920464667315800387103778305438035750569796359597692369518041734723270204734271959904825740325619661306712764040238607742496623012802716681904714886065876928337485164813748917895377866576924597944382598773351507807766689099682079735521036030326283961822002177416534751334344326433238818690412543083825683896113199120921873390635937124609525181199733317569436378001556552627571928545837999761554399182879149146952572229365699807771146353607395064998256685532105612582191146304743854241990154209508199187927810175281101778388517313203994078243957676389696118405390827825419665798626580376642040165847844035668533279171339826742381136834471867338148811052213082992577027058989308107134726421369516223170573512015261925027630316012451682707347363852620538750432733671173509994131028209402649673529648065913789081417714449830036962634855531306209411016348472054550238975141773288193500774145352711084888422071480032954840895785143036753087235300664498095801892093370502589479015654527304598372968526451369757132094237877370611493151059873045198230911069404013489155991975679141323578330154016067165464200558841009762077296873181143150524083651125601657279075121069569739157409924099025062538556731326186737596042473529146876060957255227330314079544265300122568251274999760172250623635919043413633757151121646431782794151519052674857824149806474447915675240419200184360776318754882141832254763579836791293641573446658867470389537256349243044561636741308676798910959884993284381900338988266309292846083248104052889920243106402664791205416425525329343641254694932766865750380120506729647029626552737668893424950335628217248036886980782802791857194297257250678682746389127291258736377207135213811253048779982734595806273758991140366455155407565655430398971031973796504026755752203255077090695311279401805229087184102360054534541007266772042464198951902893544458001945089232228346916269041809840223090649698296349548390201690669687808080473550936026506205887513891222833040646693762162338967168320376328538410129821753704050605851381580011894392614506938603142356523204896996103749899792613338907053681006387682132600179125412306235643072505725040960996965807418367650799770496744218761837383788518863716341961890238710417731784660415294881995169505319773572688956341886990609411845461431444192318912532993376339330017058375725252148330378253184069290792730499452380535140127834452529339017392830082579732433453998846779615906102823525619535235489582505511459508662007873335007320250049474121777046999081279430697833230673845973339876858000225593060003293269450923447677783689404946248041798364114226364719121218686432288479253610798838805868423979738995840581601020086578364022236586929390056091954279703758593771305770210727667853689792044035475692609041625269127858852212259886249566615387559718013102013613261393856623127819924184984385533900749038405357934386272133417798284528504278822887805643556218904332452121632428562402190860511605642194259545837822272655095699507519716537987378542019534431574163448683871455537207411608942208623697816876700458493317191057773118003992725944736470287239581822681758364299282607608204339865459733867580341273217612905392237616405769636448260250797890310559840391731572461455836806844197994520283367951691807774421580782594719658302328499162061731131509417998794722479332564762148368005256366643221919067053484428626419508526241200726481848665867149329300690462659638971055860670515467977089945117402566040204923686186461495327131355191407360977376586530434314300568280601216574023861586686997294014050524553033185934846932433864638770701190162932996863527778662202308556650892146251955358194675434935396039613846123707078108095370360160253124128446038636098845170188376833365973027937645268707948047644713596647625453274009729423767595043572543798300923525628372499959096113011611832855249567915510177875470297404898868775497358529385803540674334997641128136867268765438640661310794320789040168818900497315060881881932870110685717111255829755560873236815557138281912450750367623682147074739702348022609363249530381683493095676788542578921881675748791852305670986667826575388954200249932605341392985583428250579274315702136552589545035451272892190411538630654533566836399719014674883736479718244761994963199825067653058424092069051675018428830772769072631522241801353080590301844543645884946008809160131055909611877021491810988005078063217958404747824640404706953815604643183303231219128718895674540491302978883087410513055013620170888094690897937601547878235970233986251895195502529538368574437254388074184471491670460245124758190355677274108151680150922742575018395607175453083525631130647138202636579513662749222917527282869658895447575181413765874391063704320192894120661267741279747504376423057616756957774095463942670149429356931048380050107297324386097039273888710268172475184903068843965829440347472108887478391374345148685953157702512072855442257124702404087856238109069669182428432718963896560207200887679383723736564936682425832935922214967054340944719114559859695896735657675711984181365169199350757176678703327397673654935907883758969821128796746331418627083174590043492767276153004020521620489176196024793218812028809177034747568387242366374660966826499048691562050426154011953041018891545712828067915220742699783596485200450451389762339895106336671368470333201491480612826759803500059059624547202572089738550708985874229110332851224135605178045002755862739216689328811592950921262336936116312938261931193754873661552922175077442933838960503332574083062868320102251710743182678658811074143799850523176425940589432736675690022975709268112201047207967184620502512686631590287115387136952156664327602221822357336168826850292816123758131705396298802054853856193260729534172190033770972424481770285511984071443661581625420002709346847189530117333557914276092805680110601380395402937757819677843709800361569102593077179054257643530176446768497956977530626251864186445869497742832934901933581023299437870503987259780647529415160194747184841929514888177242405902336063996628877246398896878568980238075433507509122011611565202642162179697624494588839405042986414265135474282838726946637465181327994649582769381842504247341543737767452890314705605031938634300457198935332986545646226061014916048405573655796323727840734582701122818337012877075006911056047883050597872046274639223631933833980914414674152826315722548162327527448503600919431114340561493686455967102739445259358194681655253503860547153040262795625652007380159574049788277977540201593558580524539924487702132604880778682159854331423839452669221077483114355318156359120668240202573464051828725532192731273293059245700666688244115496308266164377749019317006281719554921118206135381428853617159076446506648992322630073281272311127749344220287180099468255573162802695655005724959636041543592316471627817687973395522265414913723451160385652972146440188274502047536293692493769974326957444861051240652033702414394357887728676429243321044756566491508089992498702984147826107786750188270270694404677473762619824123130843427545988881579142291356505931652492825687560194407536996558795768123633392060713217203092498572214495195073793015053702306763220732568249976219482705546885764197955999690095232918745963580727548466990897678727542558065846436648608445934419281584129557028872247274453881285132872941351643665733367885722110562287615338107574090757854413357834367871308217536429004700548569192580065571070164011794880922124797245932460432297058627248757416176414641089078711621209004276061575776133278168311730536417031579589940424716226486225091421849049792249734763783120158417949123049493340013564673651754153669712903824280931404642864087168882576492709202602088359273635974771165523706123917574897660400990009586833861662998687104881879447583851182891231507010495370079678106766900717447309025137472318638231053147662351983329974974091125397469681969003946578101250766434408781033248624628630316239245273398672938880965424795795903074779272351391907432405605165409437675413299490086143317938233441600928282533438768066376461111999176884702282082914878203257045388069380432602516210355568448390550460345517040192498010017162643644857696934210372525727162000754766482037575027136983952075299887009620647611940141537045329132157460974734977251160325069782640466130356446742987338783771395142493148618680164295945747030492825465485571815097181521343081271997680779786384337943920894765617595008601174492608303283284172675346793690487120293356708668416076325739438528399826749425666458922540451368409735424531563584998296961108454210861737721324491983044120562512614227420776083003695345771809109007456098330909439678915396402927331769439407907817451612099706877324304009194437767957039739020298131663860270937198710997557006657792175049658480492182062847011439134434707136094111933912436773414962049830749550511982389542392412857573898849027661983308265397216723078000414503223445857094919214051438762505177315938456102574599776253573553426168584306968440400350530620196160090280561396434515252241960295271955820853980847234873993874014739037817510608504686051071971438995798803901828082756889403155135242680724420908481431827768971953724212893452613750899609825591741263057252623781577863268493502953778362459783972052061616034277231990121010391252381901696738385043820943233858476505573233972455368865573300527211776332190760533201776454902799184567228904542713177569558338133035821199654469914323060158333537033900403982113632724738059576604508282385208199236787092072317928426447917090408275194927391580530447529923814025314388950217408104857487947473239430396997731064532184969799237798177293308305616976209711106154780105004757364532789617478212142256911543283647763160705745497251122059941220001687437486664766263939310951223190543197602430435331968959352665108115871973037060316290962639828491667075498089271328883888047573540147034232797012466894645799108428461420491007376361158604250703106559375680219167235081726285763630039823584009080763624260237564993157294385283371095635187029474027544183377599167732135246352542573564334205601028346883311564330143750248587043934102858083477800771992756381732997035830555784108200235921742343397335007006553226084046271488349889907785630096626578804300281403196453888116037145955055091346498194880898520781689301996639935158945789197303275462570589921570504229898085627338594789517332232556829287887528042073797903445255016309576102422357751896589160422762692889555272954708608128278475775171161285876827081320399341077158792345169794214792611085053887456780801755267449107694812081130754140404970207614394969581825955284198239194667475854340275045691558861864074293951385249900637314872799962614898691577819389429129055380203267984347081651535913050887286572789323362755956077077690944663312028652010127930654641069456815013616118503481115938043240471440006512905296033777850406851042386489147881422016905411798749422805192901189885220824421681208292912528972802471927036421649204545071869852499434726469389196777295425637262887503674293202280409594012646170492859501084464465552910322551761420100656152979660028258123771428791604926514170931861623993736471468091569373200763084022136362886234546748226999537525562189226528990596497601657690199999270568341973059142387553156118760123009320722729766403056118581964735081660375648666213882357941353739659906848686315531685497225859684777863403250523116551745789376602255177742447775303063751169320418326284521581960774842819128448606869883460301603146839294766302425151988811660106373027685552916452546920100288993856239586586758410126015915056332218803278793950501836036073016881280092048862740423021149985428204446093572908178782225262463407345397713304461859302710045656698988122019978532773603987794152683946787610587807306693437481981481581359924938725061116482093402073173868178489478881007746158620396513744498203029882294935281598548169585861924776584226395890781504982596425798276485299922479256442441856475115059255375727129238816167175118562927586475664353508014767692142820309398517479747452608669661056071462800941329831062607171370628443080087941671717526621021283246628302406721281764269242497102720457623897211579817578900030322029524743531661986591616972667171974686796195803282801760365933705521902388239543420165743690480520676096187265733697943794255487742895011616786235046454846541862874554840257250877373869571452064097408919498962004185409845554552884079495558723959737739379276324598835093643715045490426222207288627306261978066887357501615273081396517917315498542588172248473334953434515312464801129023185688088413356403456208309424612960812578803094040526249762281525086869232015385874361535898135703506525812317234491814226675855503593198856538900776624926907121737183390085998910104491509574914939052791777287474936588932760200658511870039725252793141791329189777571177158887711712631443963922149637247562972297746425245872456897917109470832835289432621711254360519044624716334640930737993675411397382672186505265916037853138099796120783232159621226847055193602021020458977958712352778686510289096680561265140787323640249714194640398909170239997985485206483809498531613073359137675069507434844363684904741318593770267059899298033065519304251800410796169345727585470132042878638719112609681663604508028920227072379317809058597585614656683205402595886543542785899617966571888514798987281597888259340807239810136721453700399764899278255721446385920195058567786093695682405998810214333428639564569768739798239434465162250259443432896960362275701354764777273557181831649019370676023133629578234489161180432476078186562739657564823043856675726413447241969510409975377759381006394789388538672128696156335322586752133636545945236610188056357051274020063374635044023916823083126765662229226327913571511160778603323386430537077839930381096482721033147953636209566824610155214592135343843546854302322021404376678384730504884400719531228927302249327118182523386645769741021840561994699129639735844951876197777189383104053329776083945552834139878794996929186779106691919000701780788674718261298802864890427798081510790403290029308370354422450741857133
74109839199246346162074001692726650762837591717201287749565202517260024042981794257008586299390458140084569423452270871958154161499749692350115249593854607240616671091853550687600061560578952435703434185468035836056969941505217480721004457230037229594775012220626736647418178036606658550288292659098828086622230248080962027894251237791088572664522598095105349404671477964342341653522907607035102270492109120598734234068641264823317102125407410878628476283226802681805172592891261760541693014121831272407037508073078971688882158679338589805075650417655752443952515493648724237239535159931434820055885158851409157903840438546754884551305641296787164046862738912609334020697067208400277019772436945635328926758634015371572647851798613476557384313859079340040006762192991499286747740265083434091756324559415168421028934140234455440080288371097077317599090491777042790366577170014341070765216607640788337424217135096279890787877956115446447414767845660718023095102933835633377559091917972736712681266475812063966533558422194936474409466341777472952141282301572769930015054002172131417189964929179457387586267915836237285624354611980342223204285384701118244755164466829669178931118623742327954721012809238129265651845399749506623120244769403134143240081470705167141557737804250609524509265118113913624920950939370527667168604792366761363486000028870358107087908699728223492120753134039764089646866053967866064850477849578355764921285464091707337105722345911683489513752433813544886758230492426983129315162517933835738922774373139843029177271964556395408081754089136568718872249398735534587798754859146194026059758510346229340893045441729364820844839960174644970512286329722889717596229706157070389745161827312576688630026380483849979024634632835469495689414400855277039836667308825793999472559058050593799571511167384971349587771011359099515257555720892910228217528554720368063306977465519178193586242807875305401365712759216503553258634098727735499516625255502980345133603335071916062356915690667318920086314068426211258329686941666887599084483808724039410748188948460379288082884212583623381752173204146250489783744455342608780158253837238383596673453163515641376519895619622875771960790622075288633100910553498299192570435748555620940619457573580075664599752728745497895653193927394452926437734322352538105002831244568639592612211528312581402090562177131589587146661829638083046490139325358750154684030123070788994520511611964293482951424462063782989472321889534609044543125018278479841962685884550445805587714259491573329425787456133805633740626052669949271527820208152513670929527361991684479202746965518533182203013273546723725958949563658199369361999325701582214909157596058123777377706701034033554279077994713174038332431753305319897979407346299020672044267724158534298714221986776904749231953850204126422870763231949330515813693601773078655257726756539365338486975922753192875611243553787861260628580176964019023379773609818904049075397896148621444580411998750200143890237377301839082442480161339917037660486530519658536708190853500016071647844817662296984755344866028825510894413792633043181088527208640856591351495076782287361968086444157301253737324898576310421856748659136895946028120652798916156735480493422014455578817516278625012702576046528892192391303869727515600485708431558363312657569820423881413798151910932640601078477611919083837715346050855094716739322400399487008734306353009108822232084325809629967906987796423379153225036028234974721795482832648933974215962639097867034812136311498288873418214605375404295690892648569269783777302556171646796952876670166704838926177663432941573373952987458127935419836425353769890804598193210457871974318650883138671436413991603376000439718792750599283177199328549303498904343192229192568349674065316183613458623576753624914711778242671740235751440378982168936185048784866019059975462082446500486541716647554967415327504604299247730855088628547335936867212279959633944101712258068819616654161526743036574283593963654606544417402015642246701552320832600406499723898260568399036761057314907937913225917199433628448425417180864889858887687911725157425245045396225836154272157137352365815185831038159391935466600900160675031059835544286068057383888804913188027824499400515996598546425360234243995800405475033301657894678389981375948644546389867124909989578083692230123694876444093205830199193986480442877193784336612837269894378454024793976965689034734551240259467486866399642729725582953667629422918711138581253386986972889537445058207609757682713054084948777200963535060910175007706279996820763696275485355498987636639674914559429855089017661101785141271659491503160877259931028063329127138469693016868769433110061529200745564315008794709483105591415563476697757628461507625114263977917311401290932296841685728652362087193277562070400708780160815173937277857123074618552763754292304954249785666582237982855713731899729962444206878984976055178615894560859707116739384638616277755544095149134610338722531862405155938923660895990184450419235024270534627401880046526138612164949849620436746079270870484138138917534900488488716797180160629372943364430203592754796473301526382976641808871898669805225048873379898286013381459090589936749338037722289666643822492285864031197639153519236705965500061515777137590112589285461967136849144837594050296083080198687222129763424593002809095859155461797746207342555041004742570387776288872998641638542841833390495615855141635979639916043727962663601264448884488356016998425501962632348083843083618317244450204865505803028814287347725482141111631285882182347689569778644077090065454885609478907763778825790711370474476617652887982295846119524026215857575643939831497073583287682123872893356929127019698432386408191979381284643604674424899979223843970740775572465993421987711934472015007398553312248729261357862276367156754718749477965528309695287870799073403262162688538814210237486866802611621781760770375164606769931860681061182226330199505865087864737985787827806755844506959267923154410914969029388434135531510604501464326674225087874997506832389423809506544018540226596460593274023080222689245973918431894551791251970931957234565769900798353517534593938567860380902221126373021507846422969063710866314945087363582351247975439209649098052158830906266754411438385130428094577084944606398836768052296662188628604794209761370741389520898206388451671966723676165028088855559937948973097319879215901957457153043152434419255103297163441277948361743457951505077721894632348752875619689367113779941438367230127129238165070465169674312629378405070652652170633472142666687815836784608443680391737600908865070869552342155473992789585274369571284087690549580242434264386307861863028631887456119683355553686739713292219286131269871994366686702223185071255057207997027401817478829251285472245769883313601246708941899817585552442811283891937923540157861620953098299821904437557945188710274223075447712005632020501889369161382452802661433102440816762630193805492065397204602013452751314691877495602737247770967487248808413769572118110980897850923882203538292331062062897390641980299170360058425119704022555658826615813915658235510206756540907510291007039464504713833037263680655562031478558182102600547069898530730316339247261256365576090929013318279741738579092143521476907544043606441752854066007172816324238041286682321656999184690313490299707246606251159769131964990080176826345110419199465620299862761498574401339880684384355547829416311675031294162720834953218225750139779013888843289335275357699565615320520194258739243345504952200161918473644881418642726014660315136237204119195514242829513691219129299577539527403465099147314126191089267490229473028276018638590436554858399088359325007298098081862810610715475456394795710081721814070553203600399564400757747947945485878500911659124739371894512311386720245535634443335411844870445609356196691847283307391619466776449315435838063849350590505260856316994380939958836573201438178260619910181278372820164445415672070298254650057195514457477190059021116056485374895275383970449044952157642965232483822102182145339286569884337342396274117043240583255434530004624638105240026259440888669521453613453597268155768237904948255842012251599901222105391567191051040726723041229132389667318718152950170071106831919104422414943336819571424386140385198952983674533024480603920828576268838596594452785973753004145786974531575514653131801698507262011305317839602454931463400531123976962494855239703167147954234236574428190042146528797441020453089179838280531837467190570542885873353207880922646155540619706891286153096631706873492016726131335077530370074508752419492685818217694655694936175449484931518143314501165553948586738390416780011711075750705628502905078855944012464003276620597101722636388786589529487770685623860953503809465066059731457123731666821753648637643598944992112242175882272339599098129174192302106177937785931627077036755474893723167157965337177577877366291753183237304136318463675620427814737213239334809191915540215795664062855395781089116923047569134531142432807668235369007442551554750831301381355444431963086319643388196431241389407629027737398228743849393406834827172884611747760855819171823249072759597069435076081820254401330945249386366131667093010599756221015529928750908256622494703631791926990966006150517959524528277903660519387026138020537824329072259610131912017911028271408211863215918812205720314920627841718125000167309238704267507051660033848845366040779746554014637614250911046380608211902713058501362426097184908255683732838453392953797320722259440046924754527474560903627846853520918490664825187649426449272708406469553831794864220301021337010631692555529802863401602273451346917650770955668826260089278749454456223514977453079552196979366085425020421847962997381318772661632558259771346706579580780430866717347719523133725207240810859547560373301231205812976822486435208183152197530415630236987509117410527815074560983278935511992360725668700754339630755366188033304797173569150174837530040230270321781428455630580846036053492961408056843633161342451771999007069806597505336537005403349487175674023952108033443528097374858652805702055632029944559392078994485154278859447842614424753451012693732151907002116208747252393449025477293683866032522543396466695820997497956373732974139544864414991995264887993569418201644073981497730644347553564386722437971280528895290680193187140102758083811925885124784320524757291302868523168123286639482018576469541980106138871058154987434579085854516662338687003541854725230255090277517733923090215119560552028420310587625225825349973062136607902929117817005890746540946867905260053228836077898699106806333923364342022925988964165675625419161977403189092466520232493368231727875745985256644185804513243780459234231680659203401426861571519807228697930838321431698224652272372946341937503807382070016355679453169277571680394322946621765149871706151483944026238911122507023697389047009756826795216720512975789929551999578836837515614850773686357460556075385803819796913760219216423339388659013161107631657685439260081147861304265685292167658653720473478958083859164152163837830972225935960641203699986627479812882059623625450020024981603955953575751797930097683452293813818113610800210213073839295266228781850572801549912932163299924116796643933910200290906897100826207506297842960350347512024637119969911657707842275870588385301246810961036969271587608655097004700721582522642315891441021802089133735041072459549241965375090132294856700529361212633221000743292195117499355847016090458812512319456387879241966881109178743562481821117905721548079801166695590601028264289539335405111732795202725689428179633450662217064543317032740582916081189325376240157567640812989726486420518457715334441834305499616451582775034002481148170551591291178081472364665700262763778808595176694847865003040074927311350739294814540691516150918011745730838874255835418758608224344346052971966406142575243596383088292484445594325301120578819895186611986114428138996029922585495073660142077988985761490459955884836688125326713332231207282430582147732454342571420059975360464084831604184856887938034654406445832266646942951110890407278435742858626623068231815851142829155141131795702908700451872290593774538382011148145246522184628994148670314395611673028791317902905841125470488627243832264170516897436168402140158785498352737995663052467869276457234678830549553116990677510807795619749601337629224430573152657761592070998912224704770028028569627709678352492878387577018256180870750421343361635052493313632972921057205043143789580604337858554587649405415844836210385787592268863435056326779249070960437459326619622314431275887810370563703541874704980975388389532253526024263042571309447697332612838726707648894154232273315020956540209838361039956124746067785684498643884324325930373408069739499875760382120264835708341668230770349151823704187011132480185267267889328669479092402833753856294052039068413075697788522519971277678283723490872876988720110751921300756005613415862718771045082085636448988126715323094448890666468571648943816193845327899418263601542549795202314656293513466212071097937186924519591987734607618929458904006176086850224666742872539443550025874128271996713329564416996024304151390669063116493766785817712287956661264620032776262281779253937505554476672385656420288134564709103974290338271156272189351023357932517122327525485425103545726603722495096826156011402853623813327339391065361173253118217463659850911172552218396710624492860458654880035756258488629235320287807148678124662107922460919859430020048896082797823865262016143240544420068267675759932342042051906286853514618362425299377849091817764038282457718855058066512084598293964339281545218817132775164404518416321661224146193084932657554604941057170359981132835491247342568971156842135617595687924833083936564563273004884814715160814797635648161795202528829452894590511468122368742556094643024895824679674544906131725294251860225988736677426111951195418976911407003525813209208667063305045494540656283207216249904627264900340962158607188188928702132876893027534870544909457337969717443687557704905142538228320326464611277372089014004705235911115840868791757311657538165926927634436686110154315046860333595949002435768287770581942265996996246547776879787365617937818023925742509773235537830841081246668971585402960213218331900999864593594817930105341358991680606811624432614270053981298892648605199688963896405918333059388183593159509579854949996826288519332694011695343699846978502527524627357347572083103418616224052291403114027302869447043969938305399037275754756319706158581410199723899085852339416504388486784581521909846123177052477695974770020223830001869386912811384609632208347281629536497467764808119657284230753824559007851949762361600204527054644317995962942834523392130570786189008346105129697773352214406764304709650352563659616401021451620416660874016481528139566523999024003597695903688904573115718953965707478959492222345474572792202607998014284338235325232347775110460301816086715536019559545873945270483499028437637743837354882584005132144380229456551076987255392612654539829268496809729346926812738393740615615895824007845894637227650257254711257445559659687219210885311709606162508999015490825397076251319473399319637858776784458128074107783563927941238721022949795733071167090535616454023157865074683079528080229449378372378887392384059947246360882276946314582049638328532384979975244110837785715697348519115865274251468302169267541017697215065007480938069704631480750423022896310941091553017376155766867595915222680975084839551786434814629538875024043687763470975191539988307362052382356064239397175763523405426376551971954272027946012222759099203660819040013303284719855759580591648613064342372782691846234593008477142460604015821273421882675711221447913377823966671327964284900666285824403672463696744968597774932808469312071429328461921432647686800160361424291991603496316780997482640912033806100384177551682798087304116042765108076092104900365543604231547052874261286606109084378536448115308837128708444006678874412426446105986384470786015481816448467350930122419006322843240345670689240972225427153934215580088672160441308357119304207594982052547263983420051995782235483127605250688166058994528649995338463859364204184337290718064314900875348333598556068399799945831670842231787970408758392041828874080811599875508968353732387678637715833458162922577811086097877358590745532064414851494275067660976291045033023617972054645357600734647757442018151104985694035212312653425437233540933476853885110389008811919317431236206241564286468146450118514929934911403434220741587227895468087389471531541371877315170513027737030258131800686834636410929892309869223674046540463551127164293079835486947697138369167984040713232562616584087382025132775011894120012262979524546777898220217453512848929445537947818584640589473606519810799134993388793961524951988100037913704855832180153745859086455498585265640093942169918693769907839664440057065180704593600823305486996197393110320894318868872087818334132725745779880739625658435799403583745505065017064603139816792646742262664468978841287021947916373823485787731045163089856886196434326793032881488993113293845058468977705748997592067441681401484949901207670595664080422689146675542307297364940091737823764684578289171887583337974876622423488638534967820863924938280090724960460236898968625367544660511232176475766032549181518085170485769818732830495769110397329426530438646199637696145731078251442877975876837209680481852938835259144209219178233758951809772769990451910995096925536047038604231916284296406519891867266455087861925277509876452035941347090289953831842778211496262887190677684847469358666497251262676810102588216852440006875472593167604795863464159472876529011933738727955406829292336840420654195216787817195194393006058713921047586606693606615691221961412224570289890491146792478882673832404421902447812189525085712919076295900916445557744762224023452947033994127452771824745573498918612376548084048203733460611687499584412352006416522567786686495338875956815232240860202292376394204206893251631103540828296702943736534097627196796991462806651966032866847029850161486535218027849738022844358038337632755000071936850007940085212716950397881562162674144155447942944003843911031709105446853961074966345076556562674982511881944155622929437103594700460725795331369080826456930402725219749607485754577244654434694180653989901474773360518432963710577267126279239211515492385752984111468992680255824942790169646736565951540180781202288094656310357981408818687968933291484380267162801580888975889008461437516544619642811208024704440167053386232781680723062426603633416774721650539417626898979655024114412374357214103603232777399823544034024609852881570637788792575634383319273557608883453844198512858127131377596178311110030539450333229362790440235350041995343397282390230284054259735080277516942146843919265551979658069999066388545221853298965452741117029698984769907509093169635226566564064511694444560806188768541111864770571588785001032574523655236242377855729869691019905887578646880487141519552750230303756246180222857178343801060297612014269739610851642582879595763108326272079572119292838493453171381089462904899977879110530640166229648266040652759244369420492705719728735142797440615724479690617113852846368969654767143012329269491833337181051622927453045766310872943124376293084670380738506843198705165755162900865570112211909671005775450731300232220023601269338490583267769270293622648261659699403857279857871543411236460063066774479632522752906358430059628932032476569461716949840281759135073182643162598756631602859307792864275331312131068079382309045562147990461661201205980865604389160784173796743744514146964792603417256055706543351914178372733751776775394314260625547209463463339022370463808716713201155832630597134153344662351264724838638925229222775674006268597132303218707568303133711149907484833231061295437345555736632303706812045957167865253587444144868407058974661811163199745272858591859691564497831009152343289184507517822956629970336778151982774643571240310191956987
66427447063788189212221291642581155939721078195302959461890912863900783085766926983424694821306461477619037585555223006668728940923445368793207157760706254148888087011149552455727448772852300849953289150085239463384297852667158379731197246348946705152682448765447085508051555672139962414281211381213343765963215354845312054647844959931426747317579062871327703972426852707740064058920232844454067691810007219808589385015047744121398224895422097447016111538611805533584426885475617707808806644668381477088166445956862109854074498617055443621532714422978478917694736080798534996313229355539481271145127407310441458907490995823434529024499533670319387549249408309457712604697104017454616384711309852159772116383413939543436605924131426194751332790219454962533983531755111811142711221884656302795992750970114129453829601132687242615134219438144912189234871053923113260331342663206900699903391099833310110262458230962499048342785735248747972036533669202631713325623163877500321139700923100724906247260047711074873734540730979363844142238915142469537521025138120964016513441049807057034623339539054277219434920199681124405888590699221091520260368583498469190812725409740565340373724439215590299793785408459041736460900403482865842007541740446676912090157886810136798006326344057341054138528549021192402488009811285984266466120774194046063127711650918785129470633153622965724991562650427329454437873890117628834707410952184106675188703461911509670505617944106574363625196213818048292131925891154639747376953859224032625532613631253219021179827646532420455365520034548120569892793808257339146086888779637267048290511110299358758541156112295944178971194578707312263709872946258953581024366933535263451114605212880896791895254939212697550363226600925148603602546065579911947275129891990036940299372577917637614846545241365128858803112706679416064031190116777145918990613664171613136718297279878544799363284080669946285898922641260286369028381764549078504249678002771064852185598533175122099197126101956257423378038776934097805820443957191109076684801029372791112065569664827420885482981600841771970003726211035119326784932215158750046326974802632297460832679044017303206379616020751192240746194119426374774733104095296363121724329145870098211500963981268920699132367185683239795328935478692112696252798854034116755931091130977216390289223722724991156565596177215172119989283532205840385294531886716533095739318029423133222929757227825429359626387300951582239669788110722595783709644668122839291121183686316528216360930974652857449936998467488147039138347221268705963389393147268164743444399603154900705064917280121963236390052992906668789662699297940167818051854936658438800112248301208907273921031065805942022685478073433613588657457618564069371260808686879293515592452844664240131055031383533513710878165827457683302480563915920021599329713049198323056094569132815556023896421581946423565128585205207551422513187877087998069337083064387046115998063156489491743894920216951592965554108341570872405884499721970489454579373808020357214470546229192791097814193213163769851007357591163829230994629315179964568683716853535577345461655890054860195528470820074591041075177963469444760164580339035355583122740335606093484477452211311381667131540560804451615869327521109579497982247824925238658335769811875121808848366843131116621905227814265170925091290351632892885170325161743668181817036481308610018038649215144617247753293716284274326162736367144698021507197226597091203319551180147701579431936050488665800790267884137691267072048262029764457858638041455700001164171011435026890194338260912931148285977789842642408242459178545268606161993021554359648604284866250378597652065640808102496535667553215800157302697412584829674042386665366399572556176096018722257137780131465105259547739245909278630684983135496576728375240948891480830784815783195353568870086099203578833382953155343444167952423666573196972072907054501097304508023658989355910345488460269184510224988710984531916667236652076968856918622942708868823764622808274287020041737043363751782587052586805158406732054175034854610550244824320772823375398406327251341801338531421138961240137418349407099597455442508967280559283938609880312239371742193013886641929123200248038706386196041789569180533811689038860366627657452169363243771828688018056762920577026549377634854105168708149767907891951746968262203841425346918162538359817772913650579821160502800412290139877181829634769514767246740977564503071854315676412308006627179723858213379340659781347075237314352132163510751806906333143412512450164702723240801375472715866401614315285504670787907541863259546220311942929092994132335503919206519869122842598851339097793108139503471985515326194602234106451226256925000473088795553917925841548427857353831879666203903973620014398100616696734222424694699799548919906364187110939240216861597469816755289242243466875011780128481615061350252542090596104605438138346959071028083752784778884936083033972756104875480968415997435312714493529345324181591194574396849484925638750477323552877150272594240245670552098688306328695650431474392534161377611770672098464296919441195669269799833985687871380745629684449587783887469569633526357223880471664292671047240537292015845470950319863672502090271600446845560938100920136123483925614594042393122431507440565074932508538509126176704576769921711579146225508255978493146138477172270002261663917115238243832225059571103498146787234223548341282394738788727570658124403934418525449889118580776096855265360905942330240033598877096615814222770230872885441959765943856776011330922298834746828809901784415625624820852045925969447352007999375863865287773508359660657970141640116056196357978010470298335678433190436879380870011359050100739254756025004478425563402566957216039513848178432875275944359428846485917009831602337028725986465720782001400002470293839398154294896865472103726925631395730854266195762443463334634881398417546323235237329711481383855034736815741676993550784146148237014714909234593631530618574912005047084336396831558249560262620739771489924308104273012714586142051077822053387392289870449126678431631001582668564000791656198097009154780063665873705349181601160575192047021309365341690601270004179789557347415574490954589309996103982140905618939134262215791709791606542221028419543095739039948668247840682065727313466453935351406667653957639663943007873739369417317232014100026199815263614039656671608992687591077052868065341033541067522853336007354515356306025362829079559920876283408000757698515700494406727969306576602282775040495922895175928410644783439950701009250304859816548364103584365969353801003288865151576000711274592179351661682313230703779112937914429905640072926002693060302479608866061152772387758742654359150811298962089089128269985350011235991085198275938858691849058498243157128152537479069963440524026824451137226331819286504949209647006212157457023964390375088682957458965058652494120675139986312300141570815771028886436478834208720457025591350003421578967553352241702505200305939994562325505510069563763601010143506146780313057235308175506910655484449512240544161602596744103560935181898221603584543600802599377640521676715983168783528735831909020166297540886016196339958870271274823988225283047614542077455286504485466824553700261518040339047391832174055181453094192387968602332478529294050465069878355852461163346124656095681408108669675544185225938175192234949951456163869783691644246541302280691930275934469407614415346852524102049081300185167872948960737530159198275100686878456662331887730226860058395681844523779985576803608581360611989740477290010521401050660674565645812224086724113399422175502409712576517158524236507122202251418130500692499621300460664457809036648563101643938049639743260350011368351069418198846191331892553926254370866792990384200405832884373168410104548904556968032448765153943667166157449918729173910372626557019643813207300311006611923773561651739983531909330203058489260266658613573752136684807374863752865984765885141534272125568404216084824630815965303448318168138322046971112907183925560235106931311683763876299754270957189532605168991352018453756499317295099583400531011406739550119011037879556501995205297848250998931333464837779617352201046499531177116637856215323277620279706402725484147010258436364404850949343543195334819202441011029911522628933809847716678411627882710789179956183178479188252885694037273711841944221279674593589109232056073631455556000258437448525229559163124780775575802443441095490733494646681790533581004190615351104273569065865253359532056013863940611652424024426414717530613193588470235858726302803339562316854649448702186172042795469871562793486664532382443911768555575173200588354589111799254821705813148092810648214250865323043118535396736834394050521539743496861695661585795265933877539143414252357036437934670493937269298902513508331935406588651007204755752632255423273222425223011194740015971638566961941303457910406774045247890155281413039575666572554509118335846119830666060716975471741661183181174298577513292305048552567204682310048508331366032044099751350697770350742962677785155379850419513848615723683673354864488942939388076972609292845288833326245223782525574630707803310632572039182663497704643990155608074261428544424286831905559241830632961299626804328760319015713975422997612585019399303087165599097103931450920149391122278268486864406307240531374358865758377494996821999255408157879432414666799977228608790343723012159435476339793674764901651800547326861302467038376362273561590002418303714209697532279096254710360053701666593699246003299943596550311975025364588877145843060100859236916371481066686805781414962667694657251332496416188194997524977691156312165433878705466142657893214157504821841557036345222750607143735066416554859739030477522971322623087725552464785689082557241643769215028676585682734910128247741118100076267850730032221818029051142894343847098769454678124206106217198736309081679023883690094630092009649645742707299822923836093530317301461770943225217395903174533064075476280278080833343212023525223127199695985475547342634161273294607962224782310881874408776409341887789457132292245626841723795453952172568684973961763632244242489244532644911361164203192348229117361929689150858370539473448976775451636706234290331266112465825026631515344892898718844849046330189251812249199141537791570006297911775233634892374243291658054295376786658457485362326455937906507675810991353274133551022846429324756087021489721140999931571246175342989784084751534936106363516712767597084085263747537304872663095052048133602522224700965254867001262611405754234253141980387386390347675721182771007055331553785066630326548358912631144429935615902302024853769472830373730317437034455743196299725373002944106181434557024055607357683661084649732991158527328242064988515404016041513615787241069889465366906767539001280942302975011819761909338973317193513820673110860874560538696667354994700063081972284787503034529690023762089206841127155427904096752456740746469327466455031917016057858996411476274875081222449035845433517099518745169419162400198178050784578383363383226119277855100183888039477833475036064288746701211603450525921684400709718110547074240486355673461528054953100033589449552142081359906999636362045443320142909059010281855813795454826862491537604839791359697405269458279742979272753454433347679380364636835626999894344665049944889411450252855774184970823754150160523585421537469734951436398301847716994972317203944405285823252794596320385103675520167011426005778555458844814311844901904493387504155697025794647439120998595819115086067538003839576122080293082125947905765123512752490097384528851647047723351209052214693146429520673943512726945573036879759375403803369971725377128041918599851442986852188528769163373087718923480870976671681015581319374016219304967755867511425679940606659290284577611229994026599426960837137519715754122560573693497223775024689535090295580053710046467456987850549866565974300938787648301192424403647510568787008149854989430182232707699759215533850094101974620258006866892837172766151518117111997003908893299513775584419630281301304406941942801244107941774865856852389404261332802060136423193598009447111246322278472477680785807172721584777569670070917047231628713684889534298993628595995893873916703012106746932249208851126793294346350966693997765678127127464241315616851653288748483069436903139907820382435292283161004508212012939553228077197400317753543438112113280736076733358604029886410184742588027850064016824000821456338164054981455517726199079053690052205568061987175972783456892122891009806781478066018560611396843290711369019632721725494470172796824920367947430079682133882334143764808591734345008347147741404892584374434493829573132732552929360400082515818702719836331336106889337989428286040561950502451184861933884732350403262415535776002978109462543958193249118066252027203540989854490588215326724710866689203385508286439765437603625396277907872361724475394935595681132390694603092992899146287149170649926682284017905488018539947213342945189636086465696749677860330999705754732912849829776047153900132328172543945824057522812681236285533883762666822816263581211868143484770477043752936214604977468757905493765882505034126049996961912066658989673760969584938155592997031883076074528917455234621314834928577338666008182305187332038111341855911667048111902215373438486993464289593521069650634049782534732602996010741958677437138892307854739500493403154831243825721587192622456086669645181348074271885763413730378522901462471523250189953470556040506535429808716450253652752318503978835352493302457727105582357812041639581155660472656174514296156160511417306548537593716809509421251681970541956802797016553971277189919412338225275754414669874933692005961294806928926293139332496415734239938378997115983725111039075131215657264829535307281860879004190444686529093757511202939877054120830620490197124790575976072863609391098114214664139393498270574042801215960776375095544807677778919813595913961497325142942453456278398403924885387514707203370235057366377655982669233390666884693863018663088290029918198746288043849290632378125087086950408494168483932355636781730134694343646058771278456857350867663013637698505294647841975337657925033682030532006392496780229126818400570230249978465812674247030349523932535889623314564760035347897783663112132920097447842259040949826194732327043367249697960939663364163358146780502486267718396108495199246950993150262381996187594649537492165200576881583733984854112439315742980624898805969876433263550410753870184329834831789145773922262901513369710379354611011085351125681095750190319396392587748820482150857850724126799077815755796067606055187762323612592609394140582131586473322690746330078015699940354568040385913233340223151292743115649563271179901426911958013717575778685275375439970547595188796421384636476533037571399214564287668160481364958186845125019138960033066155063021703722674748997528146143494463818602950532802753715988408841152142165156782675723384422662586175392212388510736916636849480245141339335537690967437042560416762993066644734514781588306576393627808595252885100502223647652037368225748681871680475731511518155517448300503539967652229745017800501434058439419847370657337003622034798231841811566325910037844235104473550887025145855744114364042278303773596130420805105977261777181264780341743355428131725750617614461993172257585663585635277426748066971645452206871880469938741665512196986753001717203576099634869346922444882977846656357484554527685218008321550733047779597548439702576670281002873493950523396140819800164727496834027295480712288245293824548319833730661104376844535227850241815630693935277110762482979560117481898128223739247388088811360788145013131419596328824257961488526481573167795354205540093341210596696463865913778038059328544271021732697078958831312022053294122597634688359633707586638086774264204801760766828058393345744616626094030780140890616977477652104016137221371250571207583838095879470322126309429863254858915140014853254760888836815440130908688558671049009883293166234998333634981081483102843569236613577580164276113746843241638886603441730135995214103401825572133508765748869609944274336340842579466345230269846703365142932151736873431385826097226863916479434472702557060409149369345079914255567945001541222617189207255833737822779458898803413447494975105452368853079285904603247399271664507586265141522343615731970645608712222353262852159918654085335779619510210413736959063731616968322995529817468312222119882934209704819047644845517905770096263718208886787832047190816432636698366655854517949914728333074132177039683044296408732574623640173797834227900361676928501992855488232268637687757324535761518166920236019289110166975771087356664134691981958821287122612118622308081645515341636311967056121903639473044357040662220261917024146824993380072852106793546469152693303502527774425208272760360829089002816054671526239780140734644020058337460809061010304873629645637518001026232410058240015057805466082620518334413054739371609423204393836772501302098301759048873370240034610932617499226219475463210419067211412525332210592756012751244271228202140828256289959198281633804682777872647002610959430014854980789961689979457212689588521258968058568202290955911752683792802380858889069975135920688299575225207763265924881893850333063305878987686950948745287811890872186388752114099418184329639511188534994813538811792877144518546303326244419375619675592179302880674349094148758625985519042867994857063707801612186757856835620097932413175023044472062445812849255606979136396597970065611526874833629018665178596948686582070769017088012124260673680637790677702605435774880203479783156731650623408162400006335613603548111514443422495068324951985525351277155552372807566873570953327150548373484439632920043706835995488600955078486712016965755579252163479109606071239137529641276441830235118865257871846646753913861158450655797784636364118716066960957024491508761569653131362397603601115019609155461817850412899821996601119855266261653085105572482720418109604384456390785838896614716901517489355522057544229170874496694718574844065224149072759033981991086593991994488791266688116791187995623123261747316482142531358462319037099633689022468723170634398130265955729678459173965510509414735416224675129076599946906706182699844719229035652229451590884500280738736711987788659380539080856701589232228339261086077039399341076189262957586086284109547238941852288618528246814068667532133289170560631916413383651184592494292591906814963243762464403064652543046775478658238743743419276266435837330389069748021947662461788767260409559697724573582482656182010852582318425652090899892516166565503371369047817607294207895864654798038863181973420155621081440742290698137351875512033426841748111878308487681276972929372286154124206583980072523535432733047172444590355258234517675292369579219152257246078313732114358284497181416521035633196919071312441886189428079368894580597761892360869192373371802732741589161300299822272423178987891324358132293417026085584369046292910431976171424348092942685702454611257042544015446515536629226861408840396083091388055955104773033028341331748688774999484611506608169412713450212240005260305693190702214037736978051606252672777267622398626562344858437313969793930636714402644908517416792099254338979206914787701387981608704475916656382321208756859481698954524240060719952677363593123614069216985172672881680874748236051442859772590753951766580571550723351098321460645226970896108083046490767939455826884993096633230129828626149762806495508016523092069664092307846710841402215677967103822738427825073482052949132340019906846215264892226351739388149098564139470098438613189678517495608872442742196179164930470081879007645774070220122929538259213512876577269716309152149686353154861784315970440057101557981617398106596311917016890096930914665670443685232515294064735027954357603660380693403121969830708161767306907157131809757085522209374864840085185956919112618989856349610417987128605730421770284734810051130977302904370766185839362221815224961225499175954966881035
51318839523511348188635986482962303964735654315484274976470632858485921562298346405688789598955661176512770712065660778897026541424164795623970686457591182589328491370916238500838401638022167727326479612444248232793191106880986868525152359736723510460535710906431766392715303012702982510958328868321688461949946079864693487438834767399554272383362797367527895974799994228558409005833525873667211709996991712089757293968976738013475612528764788508761164571520399191319952940066148628668723803488593430218162471153162746457241307311655018389860342967290900696904524404386692708086464773078842536270799776806825296589187657380209454094023682679870846061220528450221312778083726419399165037134808731299694720795667042996210940700538642582320495050970414584796355152144806566488329986198744539908975944840716120241798353894612531734793136591420061284971004685517169732925164471395997068067175150984429045290269967625725065967427825992669987709066959573722262148939052086740270899204308202419146290783310940778924018286740890916566594867771142310336283245949823496944784322279982733441911661815740348414824375276358603091027889567057005794948282029008045008064617307543513458852774547346510407712961212392312813303406571761773527823712931998088176376283783804449621102026772612062203787400997987385864337215496421117871257099909025421239410566582682214589429280492785658922611632311852854605111562790008477226735096003706519136228253228184194698287048704041966500867574036995367024443618889697485363893309537469344849322186774270206795636080482132880195613071522166606054158756859725187372259800284269304978824433154436052890725950761740571722265041135015559115540331926539953755795653057406428479034117496014968430960775538419641162908566885164278329714799409620673532629791577226371114020273019405556220395571731083415391646544020145966338949942151328889689242646452900143450583174072565665842473641809564483059319225185575884428088096841838262486424307668592787961651190821067788390958320462981727326753755877596493215870667510425276798212416933809961207051033525401669499169197224322606111223326467825564905724795695310609781543290216603496399660111578002714459676702746555976369171992523627416908652109652978952690816424734488929113090562334670393157209240926017373505383161911389895756336344273958298968081459972744592770196172517020214604705868269990965169280615561810859848174269577818445283660316739930063464523631384022420467470586150094294693313961995539357762871734890737963178294847952230926093323984984528808001125734333810447905880747026447174301157093338295107543648453671069289971711220608278240936237418352915057047236107223689303545409216739198491358821633004552666764756970162903014842557253165936816490520427710822002619110726421062172948349986589586312728632598961019369873877145822926488383467511190223118265767112995963055252613592145484970541591355989710252612083967240514425697204879939674748718397591143659407163194418323178195002612794474394610603622502316890923727899115937717115149608619056527917515763453575000262224372322429965601519273498722158368207682424083313840613054204046174690045720849023540748390556631387168584823327863230490759034560010400613243032280842687223971276142043003975233027587978249678061440837330281951268422587483289122708020414852422518682059057819371663471420310350479405295354149855304817954972774903753133018585719160403691139816133918476025640600873997671064680423860813363170292755775737013324499227667303039922990792641740127181439787976138006985778077049405407839506009235660075748751370058081193136912155960028085322112767889139600800397093044757563736797814712600299871184891739442653777576994162908243598512409955086480633593743129402309899892205066687024520979655868513887226748518885329131549092258991181918567377488394298421859942297951705245014671018091225895245676875108887195540436646303078312339308282386184951258341645830398024692900900946451342549645359962332149627793093825745159268908470195005615679917490083818712186167575685424577610822151328601713161557970199750814620085602208981148150454589150523809130093761569096284659246444880035271238955096539921205686872156748872765202353139566703192265102490751438996391349497997511879601299016676203216570637511354589386975733299011211375197499249673396295499021180388141403412821003514593020773517611901055019424926724303656702924257466641707942752873958476758651341468315625403321512416179498005274982715991254000276596803345218582124048432559886866030064755052127798657651084062941557908579169443895645861747350492590202542679058720983699836875305347608246892485670934200831852175319388761516514177480734948510464044548675710584821482842823108388264169560068437608567177648372261061807712155140270247991075896391123860532165437075125139293895070318912430102566563941246182272480620285138758893688972188582773857685456978715671760305740406513061702221284440032139282061108131097724071289521436188860412847449786653268203337727689155072526452767271377580844067621233471136883443576525770156682376361238336000944627342438448932557300045193892644197951278369661337256131613812547555800452341965438393614089011321988595026388342945332670013132645899294400345541782541994830426508868269599302108250131925435055457163534419484699876746403388712116724579775234001588414088096837490993638392276038750644109635816511768581699554502088346542717968547485541885718396654627358123727568443755404848202716422631982559369780065447188261417185741245430873478428469800150182960036044735635683533070327026702985147900165288775431098705368625718955148670462067727572937910302921959240983109696811780715595162820511400123048180710842765981159412381168595498485187986654890677394265250023393363508989374087263954783120637936848395208248497368522717346969570473476334065056145729521575961330869670305583950092938709670970789070386025307753696433626021806801201165779561550813529371761754899510728209119137454401508401382593793284926399861636568851373020212782102715311078101283572391498586038021046617456026913640483703825002132396215138452949044504633254013927507919040344139791301770389076432124620311608006253357667651433084881004464337949501043516492820185986638478334758859059422498104207960572521629855692380309270882794234322108994550888894103104226955916303769594772968973984944710927490660632456058439467679937229556785346729152302069345126652193826711347361647573990192511743439450188371477976801886614886928680406096286287673255948362625942380955216429505095178333829142246743869571539492014072659687685843117123538673182620389133179932486476127371383156233102723569738146815460066633116309940617459234880592800983040087413031652137207225768381352770904140783387626535264195229492922723448292915982719426783172443430872712218205448932054204537219076895524798051772830594744984446830732947880591473460378234464953597996739709522927091209318229080528938894070260156354504777449521789033389779889436147921154104243932450050500250116429941392915505977649056532450499588195667616662893351431154325239454324038957838771196473781507028789757030352007462582648047269660896938236965729104461506118195219717596719530861782800804176932808702086294031809633360924375311615399678752936126772315818276124617597258731495307635696037008224488592693220608963196014185184062309909122942405654852626670999709738077965264824432156067061019876284246746386042682419839063153040788012650366775704547068892779898401069174574742144752626888525559769614544073529311518922649862988447825511026041094098348525083416739206473722979610527699071779441411405225337400211251968077252537070556516402984074224218124683223088944449241355049891237691991561231693622963659580667186058384583158156155473544948512278111367817657465169836648214710130417921758978250745713546015691141000643728499224432411292446451566126557063511269922972895778223497941765532916385575350693379968599000905925673034444787622613528655818647493298680471243816560477729772610940342178644402145252083461689075661429372755231617209081213712142132256218233507543736856204656543165441475893024180255100571722033004180071038488387469222412281885956192901408308324823451272476727872264745638978849313484232161083043900187675787650667835604536720876798134585916168045376840476956762543256786917083485768633482001000503424007349624285892218343750964643483665684584951863444229912418777951685635352606420821888660347410145293421389062993468784293854194041428230807455502935183508669430789331427842835712762992447250884097219622390769207632772056645009030046221968208999011067648401500684328692657951214049836437713730988421301026912315497910665353135811041940985863071556584258182421470190993187012666487076317544566853417259021920948426532914308810304758584148903165626542465333199655495174337445911928284325691947420405847558212687660504664729931194768672858058807424562746039279822187153271107152199543824809736527680243399321521043088846234233115854840431837442524051613377858990825754491211941511535950270729557517832397825882605105832086599075537541494287942857643160011529924222102917080227871376523797128506992501794471777800720108637332293422839685945379197927761567605690603821308565516561584326404727588587554082320471649379548106275098443008932153678772508227791046182598635594359876997734166518272308716422182426054010012543713641481046484307787170059288262291209744279520221431115053760329545465516124850495199736893586103571806278281573024098402183075853298145624033994130915610796972831054387651989503253104326854810716403980389494155526987774194451243939937435236804321186735380063353677365390752510694756349995751351873349106901918300162045325826737741385250485300262752571790675814747135041808107735202596066320959064214026365253379180928061558379959782715980800501961430115091811730335511708406268100312681234464086916114483049866053455305412010481931560366928715866610367099348792591946826811733513007071222117371264628666294837375518100792912590575945402529931922070386333192547597056055223962167106601713521280785056704078545503724677562557310951782669789545467636857185794451790186352669270910265237037019685707001511871058229790109794619569641852228879535354291556976217379434983051305765282203490692266429203440903467767343139230469176214780237287990525500136950454379665042590888393507640424178350052287928449227182600597817674171283295572272655129692930736392263995939515834096213842802784609870685495143674792621290505515320774689210225906649314011585090849505815303566777328378756445331575435235143613238046547934437665582421675268745874042152187744724189705387110511686703507955855693876124547485555544640508564532282309786422998850542819622064164115607152650682278894228309770147516829991502753476855489188234477872368913464342803733414178344780862882596017353493926909265779599304497073391740134440497459348649326282339588546321459603419635677158113736848315837280438196634157879879344833547411066440843939217654669159526041405463360659687594325384300256739074796858146082412028585719244820626214945603297813540903258320757054314462237892453013491912746768580736403228585643808908992713826869409518734127900920833610816603578633948777585563679480741661903696060547767161070607885227613535751075812203124033840202878462078481393703655043683511094930622182822647503864243117439938635019460685383550095847859538104574475415160380497494052633456672776523692060390110798754990984822606417040963916623536985919735494993252830438674774418447616996707880590541204798238236820578103726874467750612632873338370749394800717047324850905053216040657779424347532919939233849472324145981700277026371840059075765785086998308946006427205449525037212338815879123959358476374232487736351749601364360094794608923663959105953792208885979449879552838420853323468120402520350465606439700266246814844058638391315666573440726360046987652415355281999473794416928352284485196496337740598340864082714709854803352124066979753219322332371730882378315707821919840443962820440707293243464372856699976281779789814414762489266067269393146432113353279732070892549240404749959782325005817027681097703130665288153370466507284039179271303648565119612771104478329690551943185600990381985761885694412576017440230101088812716462062769334435912415645847616507476997912371353779866079593073997369312078972468310419012387813379985645209047820458842146453103035982446024288137084046303725312648322330089920068112960529601177635877373741138352360344255606094341897111592357412324950518375442097443695380447834893700343020417596963718732504590172775026525919762277703769688281698924375169746893929659366242080770902714118208010747059230308617062642523102892775890623095526061937518215345890767285756693617370882881826132665626964590897118804354254416325753726590038226645860339213937626728029214989818618434976823109035311243990159435557301672449696202986758904561803808369970014364072928063282532067730207952809125691954828365971058835569001888078265100456110341462994092926115181933746965739730524971807084148700435770007889073345517139329662879649916766109200192701020655610148734822364011927010037764119932149826525609956230644953333485935747667838899861894489339265869903602854882123328398338291828391936615621787593164848193794168965398228799200016863034396408031391324229004521342992350251066644408639496761565520437541828205453070859850740069905729468000678578695078549265367153487675215148050324399228023677827055200799560055823300396887059552823063950979536691749444681326612258967828980742769458422405253139372647872586928831369238502816584403745261092666980888799187901981623318654669817283917236351748681778438641939052929746683900119388280966225388621620642580217681310224336446179236408940289506094095548700904264315225982251972632934120406861991548979907292227718753825767597006443377478681314110416514706452440089116860080471841565090660700616662080123413124557966993185677097324553007649931287685930087656198821197075155105483239516944867249258685395132088158273990739314902760490551620115391799664831538802306909604095201492147630630858179409325740674949441389269104426295943465865847520364922727410519159799905301172961534344468608178121104398466938286672049706877655130743120767627562322121507590899351056686159651129252676252109793539459150147842286763913659264058206791546849867614758369443740067055951500426532270226550008887911776479472302337834603414379077910568333621892164544592776870683434887770844040188071452407481711916126151128513711805430161989576209543676070546321588621855568969320969144094007665539503718887435534193048293143286399617074789377870170632495483999991583636536122771478373384252847619646351157002435157140928354696570991855804553408146359592510426914434384447400958851166070459592416794401127316860607515588528557428101033400008609864842944724077767533228362336081173738736305566869705961270545829601370141990911185394247676948702625895090345008985525404692166283665648482263613055795752435868503005064710787091945083683679409187352495516757080788117722995917170942493332392987606433952001345418431283761518585387032185326259047085899404397091870849975127803337428579484878201112486569333108614570154768273622591184123109105606947652818740348231128731311660494118678465146169238973696742370777393321031808005705955485130635133972055623485520606302954894602006645738288814569842596629077532594500998382429388770422602117853999043201977963647243814361211361986802167055516794653976283991263038101458168920968911853827938522662309591070046641271401751529497587397493982635592975802711618540661147119099330452748719991920551899870965790822948807087538589823012864422010340836986311753502941746042722571439129656718252886446495898512710873298391924836586285692976277612683123476444912364886811568623256765752550649987353395435129311037701079434067985135644274921448872096903957742050820774019624658261905498607902535113645047579877820366393394692592277245307770710346254120894376057494519302538797835800357344352741346192865884635623237885693462970440274189864237817455474382305414640050193383810546703320535893111791618050843961472176464086970802776140569447556636658423461334356189380536130656985726109386207160133795467260891705399022421692465824935483162841228206810682728234561694908832553494822120088683545663934840106889030435441396253812758210755353453369615033271750881922935189429183748151740288270315839042517969307097537100024972864175552719500983931310015499492266450738512525643118749335273173001751868319706502207448589366215350482455153283738782601862085828747687863078721835461429030630168338522632066766065782380317230351625486883750852904239180814667468403344060700232217822677262967332448325576984399034293357232304904483332435573657457539855091177300666560242249008605493499695656646455345019239616941159402419122535331524917192235466055806022289338068436778989411923413021849427083866388276886303351843136261077640714771160203503172533239456755745068954449584470759601867547343967639314775606628802532327696780245305012022164348773562772397489286696251005416817725256852805345790259846531776396525748344064276465768374719798928947757814929175315170802518730154260542646878245076269760455823268929230700538993185363053991766649438937556438762967747075143697718943304651806640108293716950112467519187684065143739413854418066497552739067781375188886565042864310655673818301555368861404870890325416332567228009477912847198195363091754904743547435755159399489525172278417233839665499130679989936422186252647209038392767123745892529940036424998439929671823605161005690761582506241649396141419405810432526124753161014446334030766799936746197921196508646872165890550967737647747597155214628962245717159817332371493702149534859160456307509794031072429782252242263134624832359269581330043614526672874709508909602806262002588482328669282471503959843844858289752778239520509769819938841826055380185289858157121174953074163542198883145866892759707158453987243896235918454112960512086196725968676449684268481857273909744432429896857851318630592993697828207479666589606221509833509745793824558792929129038378196659059345957880765034551592801406963447123787866676618715631450125979993726941594899990483575848983635501882902255753750780311844821657192772349555789252847545197945579098001088982907200733053906239838241220826521278875800261687643140373485715522071184589512499278164087851280615919068953600653117722170524498282868792515370141847149919579901011600078383698597324275966620595366095214128905737998119150373532993998268446209209947300587410473753295152894530107951037546832769026698146872335064652631628762221024803845861016547129803482085910130204588736037346995460094480968339870389836541113708399468135169355223541317442451965835143813158740942584080467831509561470091771564621556510706232030221148586486304202512397576224916158372843981062785857022085083868936758384361376658499365422183714791382079751641069387021592929355360056397253664692231159310533523728728459844178546825776877718083873358535379171461481947550569177456314655550230612432374719173408692400335983721822967168044843185474047614231575551782990698764548328040592286296239448758373131100520223170979929475151331710392344277860787951988794128149403697439172313902182070888944900520883542167812123243940200973367820908091918835473802448482921462506784859031250638406476407668330229794009480894798394923811072739168836479928994286267709015994669672794595683686276945251808494285250438467162839520270278986003417734231095387898393005967928417925189508169763890915781479547987646971571066876571303146441716994217109672002920770262839337318268093624719202968674880185605342628607292149121912710103142443121381002008819112107428570243502464734783338202428488307964593427018355657414978377327523136398582371564493644405877686243827728207239706957001989495664351845807775386338230874027159630184376570485250896296180052484520166315479879676821378945194126642334891738183556808262993343895999690012501962587278931637675473002458590732366448691444001331492510164699677890644631397231222400703285141249288054111927993442587591041399950792656102679035694228
48845767623549847859918715634457862530846273650770756297485383763804545053113207319450927766398226070137855036018488651467072130271849170750077587508728644792912806388069038911563705009214232617596857152221348328727242700670242467888525766083188587043250059436388290140809543745403450295645136071980522545493410158796726675990457000565211072885932517280384431357592843350317559271681819412778628478135575973000517387698163564439649451281348268437836610887682004094065250622121523201634034481909564654441567613133829064303634110075016077347457214908945677048305567685961879677974477068269187109685394702182497949010241946600536186478583155835582167509708546256194225458420744135943905432891357046804193719352987806879859438425267861023991197368832711704394904579678944836045781645012553990084404894766638958641753219457332515298514771174875679759521044343946907878363673422625264771821172138060279252575050837884258843329368981829833582590541208546263703125703088960869444900808655135014805823681706383830086398759759150892604270850031243261575607443121816916521948575518831439814251226187860324068680691591894226936174578286263135098560422959385998062181213519827173973755981836846519133164481003827218558182386766522655014481097072739581014537605918641267993591183687620229886828448529805054686885944001760775549458223376395837044705958719376256831435210410356732384065298460560137195577250502794175508117082479982254400183596008971989970905423401584802609016559873922970811235698710847479696331905365401259801924530640999489962668026315641296085930402539802513851620459052271088068187329998582003435845922824739739515513223741820766020070425843816539293767370696614353006092676734620793392569143704462590421299431973032417211892210982793133835379398496399692869742968562803506716534104412125860234666139303637878296718241831527436414667871841965194080195097774403477263045666192673706813374478568799523847560331811643778874623885849139127426981297553238849137508504518000089874539795462869118318981431786901260174190954620263633736854479013661859158720365251714952147934110654778288784408230757984106578906268274782780031688474011861589209186004625208292976187815269245142053385048737599530816212323214614135413509027245113313968472027745248449049829053262611161945358343990073208226867486770551250447148129956988708795858643100252161494391829529956729490800450925143627415798175908622068114446694111843775990406747576319123236269937244402566974472300955491073429968676203993914517701494391590422132232523656187197365005610987374309014433964348666230484178200000609812307612572394004171982904621824368365704520176082413486395661650139536734890110380452608152630715498913897715634690776224366199621380193276482768158753108757546732493441756098143018079600553129104825752835547632675725343540953102595437781434616931071759800254323604816159424288272443726774261251084096553976638920055141178308645645520733121339855463017428119190026423802302999107852866075420072414168640221977828566043967072993433731105037728442202530151423958688466674457908294809088323666823504535582377305668968757515678460836256093146206692024124570586253739514075116267489078315332790177271082571739956080349702223076995927496618446792647210131628867560575581221874667549374115965599715139545282602817518435512773013987052986042470257568312487972776738678428306718456543029400740358793298611629403403588802029912361927476922073233282462550736770203201304924868694443100101195152384818507241731254052263981830914116018981443982396498731633776993806545909033988190753645731173901436028782034966996615743291076380756768865032229213976949508452768864296454377799106463427234096012104762137954659266198738425121534274671682774253644347581305601948399880285930922895563649235817122441973724872147694015567871446763669671719656299638596334617450286466438710099059217317958708114117036067719184747823215574022670696507046527824183015729421707757348120377710297161962269712482289889386754164537517088513188393422979634881042901086573514506912729249216508295980714496223309196192626612911242541615231822780179904591591227282551337962752747281508710312087427295160782138296351178038273093905970008459583196421870830325337236005778305627366539501223586700912178638905829980918065981859111266138811941760832719815705597157334583722752016263685332218032159252698502069865350040993246425268936222715660832789432048859730629636295951199113260114054355080459017701188058181989588040158226193679610922764500761080523464346445264926959813141906244637653718139266772338095422224234721816373224046750194310295690695278787159784071764565809789948540929101478501393905276133535346330406992574939563932600048349009905563045785528814278124336490268253798357315147177587760346699908618418045804342129824277385661258798072836003865979782428786413558778275944826353056542174682162510473929036344382515529156990939283317618735334829483745113371958936137530606227448119061974744553193257516372239209941151707796464858380984637212870154890791866550995598635649839265301468879347525465983508063022446281324291472535727415507817875760318419779848005129600888624322437066099505195565455573112904131895232533296313086636801712846153971043045496291454235948075807120334487485607449955747118623886699997073123666256255562050748942165966478905349620437557719615095218196634298286895017658973523786798767921249216698714397313206917734128977092703934832057894575838799882137540889992513640702188197463193749184578908863535001574541816148851034796206811506748950204289800274501283754965979399006250879334067309142249202211100511013641645848080507830185181954468060275139068309544534223314024154749842973321601183747882091562440146356579745948097161402916883750263400344853643653755653175381275523708317198983639977645903254472348831562635332305381458452499688265896937890559041906406834088487808720628076982506726093196421869199656344178943776655720376481550975577881751064173299794320525763559296426666275044778337156200868636140404903131934537167831770373952395052443093038974921014801048316913456114686715229300085055140907779986956575147443600981414191405175709106750555061001851206797719683203949911470624976146539356629400053773611552416478394460507233234358126899572450073827451937493798042706291080068898935298186193530685380939623305992781506964250644890457164983057749404328690176576086430308024205617891128612436014698542788621875223062629689284325149105340262809399711593112459859418639007931429241035106006804019930518168933883975944447378435768959693146377901130814325614650297224831882333074374876053413616261062880368640731104864109710183657096971155915670237806502564261916744664555582606840746493922469090480301243189320588161558459283426092519829276630154462064286073801456655564174742344501466768582268360001746001379994277794497512401997303333970129457619714844256880356510723816992487043381694185423479510592703287689671455688124597250679793614582877348797746644230288861734281682001519931335431591808442946102674162215802267280756004743954101604946972966355363159043492952011954618364996537896806738169583473070756616759161012233857666865097437669269361144559245400014653182893250767114217684329712519135495133485733396689749906935195316043272125706942227196758666461262557276850875600546517046384140389572491860107543279537247346844583741541945230317354645556931661519124125229162307139715484261956783520037721805071634676276469721885504584050486290368034634972870841826521760135047477406524919258422981740760011832950370668849326899320143700694810725930625438745254927057634509153932791092234299672597827891289740828715814345536372915401525122244469547684009852723467108531591285959469579202455359968432554797139384609483961736285900966558684699130007743138973313704471066458432141817741261865197750669422627535288753416277777842380930541953994335970066393721081095995037330384632775761949281336885591684481809775078621905802913617826646668062693561854309922571969949270077552082265165407193473288057527174163354843765439524352271363700634687809913976761285231262899111390887974278475252929670719184288579693727158223089793942309954314126647130428616734528232038263742382294198925967511897685898495862293088655035652247945680616974885642154180408196473280837639398870997743703258444509842196515838364844622049213035310442386638397286085626528389640552816180180817433428454792298657672792906810815769065441618219451154096913867028874480193141726268916932307239062340096215040478993252054300762527814271977521369187080086878233683637685803870857716286055542891910288720672166085380991490797755971640796800824551275838874762343077767457924572975685940886558551998588739325425164853643273653286530785365187893368839740876108922246308570322040090357879784047200792399139270103205460125723290007577586938979613664958068051495983513850357714489281106612503657557706428161643468884835028497198532833937664879119989944528710517416407881464616017880432505691705383331597066819092877455002670539269962769931272007961574601531922153650164645493419469484546956691562647678236196689531284810167781633660499414056674162848576489005501656530631333793218817661525891736481318615850801746888246854026683230088624348906887540637355908899204103933035321439297322186229031070727639429854583167531593239872210379023829016033287840191041214575832271730188880500516629991479008437368507525879384212644980424236947934781470011934864582364025303748497420264225572207316862519422395145435065124899876911081010204931295120064626210771753098785933666978113022405400716632019120586970478538049162110412845829528709736225500643143347483751518486680936368758124296449705434982342767526505597373510313859923507271229358905123992729124056385410342118213653904996600742331183669497867728462824737687703439979825807762112984981057879539854722067993147005128864291594252247566988561575914559580432094678137882555005079482370762150786381665440831621648937318710981378932439953132216689721775891752727839982908097814893815412688069400607748005542390094232105225665666518359906125455440998339182020379518536008075264401317993729146871850933191556676900248995471202315379976241104570876216630883418592000017635206275134515588534842897060557662945423584239569938035122517326010394457262850357611676664394716624899711806764592847628733196567729951876475622887746071640878322479776228159515537708115794408152410782038931480409442010390568345238947589601322336168460751208763276873487027226728428752107518353104323246344122533998956333947596822227642100935581680442380218281168789128567288668022367521515572922537376985951518224470009403368371259647062560028482324911555598768508607334862606833503135532905624588532880871441887117445442055235317988657567990788126221872053794344610211018519423664517621615616950099844011047304075962086410455771503850298651078115974970237977309801664429060442291165398214479226854642268558179507504186383497006080056457642328269683920365264864711562442374365988742513393059407695612417972611196094933802949848603590340115761849195074469626920049676809563214986906420092361560109077978819532021436889091777552856187797132306370002282301239715918148030100981656405795932868397722452631230277219124613148787484068166000289277416614872002907390007462155115660796783945231254078133937613470187434497475834554148304782182725140199661801929986767351506692502368579477155888636285552661730377199654607198385413310176425641373416016042198652095858710567859621170547136519379527939592763844839514474518462743901459550086988033502659733130744227788337148071979659665934240535421376401295433953175126774812783786953051724122489612281229244682983339670952052436494597288592833349211889826839621910558251322093710589134918697225703621549025544002875799568792573182809300708934948784449932438223078435587282167133997490137999556163094960061537950160579191133797256941015006008906245279844241086673778303855589914107507700696732476933022433348539040339383749118962730927687746695763931312474416639171486695894042971866304778268985190657140507416748628490093040422811981134442042983975297589981964860253695259379320213716754220085314021257390464019957543554264673967025450293372962441028911769257564439350336392526200010602074347972515736012234138648623899704605752606800366441811832722089632633414405135824760519937511541521989113028744517109291173335710587902039254416944018399631420549371340624818360861637396143753621808925372342598976188764505994392287851836518151647122189113751346211607199274387569734508563437992153916058457349077957452685164893470268856717190614669027388176846158231676455637349440128487160136333422039487490052562011592986620342897055728491534179658402893595076039286118121389739299095490061865829315617903385004909691889524403716328134441341079030828811659983546902507102105210634496508904522468466006896497536911646701290340206792470188188338078838140289209288713971267000386107582892537222854732234505608292703547760564842055550475854345078439123965654356216217539652660198844983243441426125083429460564789031588643339606726000590807133387779049394971117715564191664777874447608503060758439314834519180334774115693250790225385091379084104866584881481446500780137088618532008801427244438253670894074163516018380919455452917188365971782202335761624744107317513439791800707910665380516449923911413590728533142037939151681240683843807165286859699701755931980118768859014506059625210627868854934231071698673842939242588576688230978872011049865529450441118185980114144440415436252882813320763188507731443085857870579368761752108591730673410289925834240149138624305718263615287470793826757614597436475935279617226348976250905571787780024140282305822749002395495665100100798145241686580703492195597469229039455871202215231197216177399144926520712419908909617867921953515085045266690674468994558743539853675931509198290593863909975771342246867494030098537312886247939431744407072967393335374414563256991623914998128484275719701029413941024992457308926017416062013121090034811562802800319963797942037435547658386209723124216440878017050195069706690222477223275953208665199503756817566105640885391342693659118759411431917800316621986349705910321339234596033520419335875545740928640244687001818744543601244530420886626740041619877710258293783858461535050722130210717244400299013740407942620851589706411174608586436790461499336233680480882043270379978225965586724058597256978319205118079057201129802817506705057946454963657048263847923089402271277167182447185897520789022793974279446951699060952418549891215740461874005461144277247623733424208065985508774771785990037505313638110772894127366469554133287139863593220487809993261237219316793807498765624547272161518314630818026569621305271332174698946755429748304354733632265031684733318445808950456238134889896217605559229645329126369397980423284372229153933420051854495062828079541551311300707618338706910925151423676125516001320699135032458023704182999476362022649477341342731531251387420847507414595080622483168308263522368950550564411957413688449971152984036654943550180064931756249070183721918333474241530169458180775046074580754312103474195770976073034597132351027417213984872264385511023882024139888632880323799173124239529812050734239690103907887159049975938383177326423748855078172099709662756047586253598170985782004670452613693500922341963903288938555711332079091242666934282178863247281162020980374730122376010603650233155915202694769750733422570171032648929239497412568498094676756311051842511898239978476594571206229799899266874862495619180077802003253342986029059586634794563916922952233679538403495658191580830325130307736315865440281121280664887860121717182446922384544603343082125049814074334078948798690302039537232877801263085474795426770229963995161694774568523625770190805702772501173683308237625398660209285939400541199200543847053329607322160183810865945757040128501317307946760890771707241919388613160880858881503851283429138099480090048667523962570048985851627905729187929092647213362366112702991636586909929248023086552235337301115980325676301052203976702198945476512632432914495430357880177184982993486898959377885998064509529513648706057009778569262484027627214391995864631122828712851025755823927106789222710024359833352681157685653756234476474169153684750285018760668216666953139458802277713638684719797704689817631388992901656530831868559878487283080400360766211956589942677058408666717394646085213021254095729084770227186785721614460154775424856339710380288006520849713465812444573788528272523964395456796470912308294300194154508391056052027181532461346282221042452395726398090895061347867982213085007851642781633016516725119785721514271064949480932318430905836310954541761977703729240425931243697264421562388583330534542488147978731525906860872140907114493417006771225606758038221924046751910340102817902086475869248733999794229231552509671314763338960298263598099504568705407203043331329844341909153563983239369973529977816150485300275465802416656622641225846749223365929880657735037886718592466965032211789367216625572869334406039209750556559872572807401710868938673600694030135044199131569933226116184064241183239650741295825502765825280498185225318069468341171659247775271950165074971434244148096629730254682759462422435173196029007498864661106231368239810947314301412236221292206394625550955872784575785344319324153990435983905024324171427766454800605432024395748710001039914582247594222019208043847110523183591863136360415585745259808781681459453019592321911467865494285279401641156555469866310204648817270819787578129706043819092253412242672667661097485401049546424276278694402873407263198434492091799212029815624356859940842255548172713877900585039280796546565949696168992338555276910321987823281515119516348724878401880386699936209950034778588187920180547141427033051151741198875898726595305788011158103489693974771926763077530760914383964249074051977728123611298444125470791421559481773366706874968299547947874997557166545123367160941139805999783293491058168840092045821050866983935887785883382043671544874149217660732830829926836856200792467779881332606993933753414849649305071862261477967458686356549991561161671710084969186887404649169169328965496271555338829544633791563054465866941140236999671408943100359927739706482060738144015848187723229740792626318965133796138848051561667004151593047683409505743587185110624599870515147199455233314221305732761071462183053155312346207271160990857716773483471260146467247406679930954206071365307815045326334689614067688411040343764292251250214119671902455900877327605732096453277031317046123230066948398704084049883749735161580011754781230472805476981766206149208549030277382370005296634057026059857442734184572915053256704302742445222495991431052024897517605388693212151036589355856127370581280640942526143098258216379371949891544179654038420198329027091351060200616071887588604624961431617159042030542921916855728622013069657690849398879147107016791630096358743892901190944468356346347344466849833827593065792514277558287969767828086511172708905832464813391188667702669826651614542000931882956834899341591079942902197604482615390969630632868279430990890416958142699950947213043622268851168998342175200542090276888276064076115571990488288902952007299511321312400392403959984406737457486965704159247469370294304018027399357977548350054708078757232367320089465231896798050868874264360141134523892409719191311243701941952140632179322210873763193574355363634169776249820220443181950641674101588918449645840074081341617748298174425013640524356658576482348638539261984497841344723525029836360668731185493803483189770995056832593654834291870322207220446328688846744422290384140037396123642935611183130649379682463195014372959534465960669810729791355617745299725539754688954271193677438164053632552696338935568193894504924918968616236417601695710615062793476093243613808412275450623790003929765221363577858077809383732293063800745297399214769925713050611633867475985534086233466381898877249905306936720093276189137704357659785713617071924984425864246478401474991978877824064942554812771166473972198547014873795668567186408448
