UCLA (= 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925409171536436789259036001133053054882046652138414695194151160943305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958537105079227968925892354201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859502445945534690830264252230825334468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913151557485724245415069595082953311686172785588907509838175463746493931925506040092770167113900984882401285836160356370766010471018194295559619894676783744944825537977472684710404753464620804668425906949129331367702898915210475216205696602405803815019351125338243003558764024749647326391419927260426992279678235478163600934172164121992458631503028618297455570674983850549458858692699569092721079750930295532116534498720275596023648066549911988183479775356636980742654252786255181841757467289097777279380008164706001614524919217321721477235014144197356854816136115735255213347574184946843852332390739414333454776241686251898356948556209921922218427255025425688767179049460165346680498862723279178608578438382796797668145410095388378636095068006422512520511739298489608412848862694560424196528502221066118630674427862203919494504712371378696095636437191728746776465757396241389086583264599581339047802759009946576407895126946839835259570982582262052248940772671947826848260147699090264013639443745530506820349625245174939965143142980919065925093722169646151570985838741059788595977297549893016175392846813826868386894277415599185592524595395943104997252468084598727364469584865383673622262609912460805124388439045124413654976278079771569143599770012961608944169486855584840635342207222582848864815845602850601684273945226746767889525213852254995466672782398645659611635488623057745649803559363456817432411251507606947945109659609402522887971089314566913686722874894056010150330861792868092087476091782493858900971490967598526136554978189312978482168299894872265880485756401427047755513237964145152374623436454285844479526586782105114135473573952311342716610213596953623144295248493718711014576540359027993440374200731057853906219838744780847848968332144571386875194350643021845319104848100537061468067491927819119793995206141966342875444064374512371819217999839101591956181467514269123974894090718649423196156794520809514655022523160388193014209376213785595663893778708303906979207734672218256259966150142150306803844773454920260541466592520149744285073251866600213243408819071048633173464965145390579626856100550810665879699816357473638405257145910289706414011097120628043903975951567715770042033786993600723055876317635942187312514712053292819182618612586732157919841484882916447060957527069572209175671167229109816909152801735067127485832228718352093539657251210835791513698820914442100675103346711031412671113699086585163983150197016515116851714376576183515565088490998985998238734552833163550764791853589322618548963213293308985706420467525907091548141654985946163718027098199430992448895757128289059232332609729971208443357326548938239119325974636673058360414281388303203824903758985243744170291327656180937734440307074692112019130203303801976211011004492932151608424448596376698389522868478312355265821314495768572624334418930396864262434107732269780280731891544110104468232527162010526522721116603966655730925471105578537634668206531098965269186205647693125705863566201855810072936065987648611791045334885034611365768675324944166803962657978771855608455296541266540853061434443185867697514566140680070023787765913440171274947042056223053899456131407112700040785473326993908145466464588079727082668306343285878569830523580893306575740679545716377525420211495576158140025012622859413021647155097925923099079654737612551765675135751782966645477917450112996148903046399471329621073404375189573596145890193897131117904297828564750320319869151402870808599048010941214722131794764777262241425485454033215718530614228813758504306332175182979866223717215916077166925474873898665494945011465406284336639379003976926567214638530673609657120918076383271664162748888007869256029022847210403172118608204190004229661711963779213375751149595015660496318629472654736425230817703675159067350235072835405670403867435136222247715891504953098444893330963408780769325993978054193414473774418426312986080998886874132604721569516239658645730216315981931951673538129741677294786724229246543668009806769282382806899640048243540370141631496589794092432378969070697794223625082216889573837986230015937764716512289357860158816175578297352334460428151262720373431465319777741603199066554187639792933441952154134189948544473456738316249934191318148092777710386387734317720754565453220777092120190516609628049092636019759882816133231666365286193266863360627356763035447762803504507772355471058595487027908143562401451718062464362679456127531813407833033625423278394497538243720583531147711992606381334677687969597030983391307710987040859133746414428227726346594704745878477872019277152807317679077071572134447306057007334924369311383504931631284042512192565179806941135280131470130478164378851852909285452011658393419656213491434159562586586557055269049652098580338507224264829397285847831630577775606888764462482468579260395352773480304802900587607582510474709164396136267604492562742042083208566119062545433721315359584506877246029016187667952406163425225771954291629919306455377991403734043287526288896399587947572917464263574552540790914513571113694109119393251910760208252026187985318877058429725916778131496990090192116971737278476847268608490033770242429165130050051683233643503895170298939223345172201381280696501178440874519601212285993716231301711444846409038906449544400619869075485160263275052983491874078668088183385102283345085048608250393021332197155184306354550076682829493041377655279397517546139539846833936383047461199665385815384205685338621867252334028308711232827892125077126294632295639898989358211674562701021835646220134967151881909730381198004973407239610368540664319395097901906996395524530054505806855019567302292191393391856803449039820595510022635353619204199474553859381023439554495977837790237421617271117236434354394782218185286240851400666044332588856986705431547069657474585503323233421073015459405165537906866273337995851156257843229882737231989875714159578111963583300594087306812160287649628674460477464915995054973742562690104903778198683593814657412680492564879855614537234786733039046883834363465537949864192705638729317487233208376011230299113679386270894387993620162951541337142489283072201269014754668476535761647737946752004907571555278196536213239264061601363581559074220202031872776052772190055614842555187925303435139844253223415762336106425063904975008656271095359194658975141310348227693062474353632569160781547818115284366795706110861533150445212747392454494542368288606134084148637767009612071512491404302725386076482363414334623518975766452164137679690314950191085759844239198629164219399490723623464684411739403265918404437805133389452574239950829659122850855582157250310712570126683024029295252201187267675622041542051618416348475651699981161410100299607838690929160302884002691041407928862150784245167090870006992821206604183718065355672525325675328612910424877618258297651579598470356222629348600341587229805349896502262917487882027342092222453398562647669149055628425039127577102840279980663658254889264880254566101729670266407655904290994568150652653053718294127033693137851786090407086671149655834343476933857817113864558736781230145876871266034891390956200993936103102916161528813843790990423174733639480457593149314052976347574811935670911013775172100803155902485309066920376719220332290943346768514221447737939375170344366199104033751117354719185504644902636551281622882446257591633303910722538374218214088350865739177150968288747826569959957449066175834413752239709683408005355984917541738188399944697486762655165827658483588453142775687900290951702835297163445621296404352311760066510124120065975585127617858382920419748442360800719304576189323492292796501987518721272675079812554709589045563579212210333466974992356302549478024901141952123828153091140790738602515227429958180724716259166854513331239480494707911915326734302824418604142636395480004480026704962482017928964766975831832713142517029692348896276684403232609275249603579964692565049368183609003238092934595889706953653494060340216654437558900456328822505452556405644824651518754711962184439658253375438856909411303150952617937800297412076651479394259029896959469955657612186561967337862362561252163208628692221032748892186543648022967807057656151446320469279068212073883778142335628236089632080682224680122482611771858963814091839036736722208883215137556003727983940041529700287830766709444745601345564172543709069793961225714298946715435784687886144458123145935719849225284716050492212424701412147805734551050080190869960330276347870810817545011930714122339086639383395294257869050764310063835198343893415961318543475464955697810382930971646514384070070736041123735998434522516105070270562352660127648483084076118301305279320542746286540360367453286510570658748822569815793678976697422057505968344086973502014102067235850200724522563265134105592401902742162484391403599895353945909440704691209140938700126456001623742880210927645793106579229552498872758461012648369998922569596881592056001016552563756785667227966198857827948488558343975187445455129656344348039664205579829368043522027709842942325330225763418070394769941597915945300697521482933665556615678736400536665641654732170439035213295435291694145990416087532018683793702348886894791510716378529023452924407736594956305100742108714261349745956151384987137570471017879573104229690666702144986374645952808243694457897723300487647652413390759204340196340391147320233807150952220106825634274716460243354400515212669324934196739770415956837535551667302739007497297363549645332888698440611964961627734495182736955882207573551766515898551909866653935494810688732068599075407923424023009259007017319603622547564789406475483466477604114632339056513433068449539790709030234604614709616968868850140834704054607429586991382966824681857103188790652870366508324319744047718556789348230894310682870272280973624809399627060747264553992539944280811373694338872940630792615959954626246297070625948455690347119729964090894180595343932512362355081349490043642785271383159125689892951964272875739469142725343669415323610045373048819855170659412173524625895487301676002988659257866285612496655235338294287854253404830833070165372285635591525347844598183134112900199920598135220511733658564078264849427644113763938669248031183644536985891754426473998822846218449008777697763127957226726555625962825427653183001340709223343657791601280931794017185985999338492354956400570995585611349802524990669842330173503580440811685526531170995708994273287092584878944364600504108922669178352587078595129834417295351953788553457374260859029081765155780390594640873506123226112009373108048548526357228257682034160504846627750450031262008007998049254853469414697751649327095049346393824322271885159740547021482897111777923761225788734771881968254629812686858170507402725502633290449762778944236216741191862694396506715157795867564823993917604260176338704549901761436412046921823707648878341968968611815581587360629386038101712158552726683008238340465647588040513808016336388742163714064354955618689641122821407533026551004241048967835285882902436709048871181909094945331442182876618103100735477054981596807720094746961343609286148494178501718077930681085469000944589952794243981392135055864221964834915126390128038320010977386806628779239718014613432445726400973742570073592100315415089367930081699805365202760072774967458400283624053460372634165542590276018348403068113818551059797056640075094260878857357960373245141467867036880988060971642584975951380693094494015154222219432913021739125383559150310033303251117491569691745027149433151558854039221640972291011290355218157628232831823425483261119128009282525619020526301639114772473314857391077758744253876117465786711694147764214411112635835538713610110232679877564102468240322648346417663698066378576813492045302240819727856471983963087815432211669122464159117767322532643356861461865452226812688726844596844241610785401676814208088502800541436131462308210259417375623899420757136275167457318918945628352570441335437585753426986994725470316566139919996826282472706413362221789239031760854289437339356188916512504244040089527198378738648058472689546243882343751788520143956005710481194988423906061369573423155907967034614914344788636041031823507365027785908975782727313050488939890099239135033732508559826558670892426124294736701939077271307068691709264625484232407485503660801360466895118400936686095463250021458529309500009071510582362672932645373821049387249966993394246855164832611341461106802674466373343753407642940266829738652209357016263846485285149036293201991996882851718395366913452224447080459239660281715655156566611135982311225062890585491450971575539002439315351909021071194573002438801766150352708626025378817975194780610137150044899172100222013350131060163915415895780371177927752259787428919179155224171895853616805947412341933984202187456492564434623925319531351033114763949119950728584306583619353693296992898379149419394060857248639688369032655643642166442576079147108699843157337496488352927693282207629472823815374099615455987982598910937171262182830258481123890119682214294576675807186538065064870261338928229949725745303328389638184394477077940228435988341003583854238973542439564755568409522484455413923941000162076936368467764130178196593799715574685419463348937484391297423914336593604100352343777065888677811394986164787471407932638587386247328896456435987746676384794665040741118256583788784548581489629612739984134427260860618724554523606431537101127468097787044640947582803487697589483282412392929605829486191966709189580898332012103184303401284951162035342801441276172858302435598300320420245120728725355811958401491809692533950757784000674655260314461670508276827722235341911026341631571474061238504258459884199076112872580591139356896014316682831763235673254170734208173322304629879928049085140947903688786878949305469557030726190095020764334933591060245450864536289354568629585313153371838682656178622736371697577418302398600659148161640494496501173213138957470620884748023653710311508984279927544268532779743113951435741722197597993596852522857452637962896126915723579866205734083757668740833359007909054708289818723048057583273418115190283998442065213740897738502086660495902724056100306096601437003544451633578741923720174780268521603189962099635589007974839413636593678465244984852504907087639949068682939886900513925019717579663577121884199381241908134343423159678897570452239070252667994594775092761629322012352445920241909987142750809522733119227918852296470536637942939552718426490432662781167145785070460424088468393608238727312058126253063892243484897155111119639936270006119168080088921390903171918757922542098436117649115938145957921928448485638181709411771799469881528368524952313762217696198778069474987770395733262814815718988024671668867751666544418756196330212907396674956268969596584423911951903605860306401513847943403866059703944923539611615450621421369910474451271939442548060778882108759437062604898604850470204761877052360325931324237282921419453734918558232176855234284417290156971098290767091071019625202154934961148636500077772254443019720223556352980137755124734572844630447545003065437142665819106176358923736540797310473203413434745121143266495762971431050063747688235569726493172609867701112265740280688145534113752019529953925387463625491864225230621343020137751678026576811738649064936818643121802646343310389623888612790731796927303773643224492999247658051407224939776855462929516150079217576998288046983514443683573504986628108855522992720143656329912387760996154581313752428515033150069914628047700894245566601842509508610654578275959389731886325774979353048332247193919450380475761368661131106577837340220950298501694081901722751453690367314251940780871572302385251997015235193758709816087356773355026120566172060674937387260801726797176772538888631542761645216042414500005615452930710173878401202106890980026579653624015850975667846155967585549505312803326880049160945487398815986239021656537775411466142049275157156449598699924944986444904567978698264835035934543642783309832248751210843565619628556047802539314076169890091996097507204058421128117685968489237672966338919624171660700822849687768611338686949081144733799460712769878373414265730982373652824894496872025952196335517789973866249349462495852638527574651612361520599117645964323641040872685789395301705370619386809597297780547169170089350339646228801827349438817140366273080520812846310293863565624653126843166306720710766072035866350209360227406954412720794593478036572486477538844302621808418557076302377283673707028193426862010861505937378699171269861220712043862102641174567168995603560175368566791871804381898659916907283155778587134957488869708402397384542861394127609530626413717941184460813189642633047550924705170941583468332734571146059492597771264218614060379497431244521236389134488592562186705768697534842002742579273513362079156985103667158149973694689844708628113953154871987253085241438686142085483557747979088380105167720426114891237537617912030702345822545862706846112131707493523055055125000349752208873989069628089481419477430407665563868813242961598997972440132047862284873357168890471217354382820279275513374041173751346178221314107839431367194848446293079018958629490406176812097555323866253743109888074439043854803137839623644336785659020923584833639842210212754833934263106650470428535998182633041757355027062936247667342351376074980118272730561656343790159696785396546005189246332798910943291188583514219356269710629057877775795514963804110384729923343266614992466538642762885303681252675905818643462589339786330707244500473104962561405033473611929058250138735599528155361818556100294709727100367811198202579226411360227815175142720079897964786041265306866299507264695049224348324464959123301654442256792012163310268797440204186287761044142430269950897947374848336245289273590518053705312219528148481934121907565641671793919564614292660549429189405627496201365842431370793324062698234715611648565799915035935430007905687097853912651245904296162830359802468478211486355619295078585850813871791584102783520461883749994490329065208284644999684263892174779498217003060279252557621686517184507881484245426047126459406107426671167435902144630712794269456082594686443376139123846983752636733307240424214074597705365677399681420315494210935121962371915180689125816267201862455148925299562105181256742928845149728672975066941490389101794830268959272946942117664763538721690877487438468429327482628393338559697768491736236055598572259175762833245232427467807909148365787891879485192030999086583976113962430559024849400551074352761025572524223116070116153064038160754053732105211221141029882641611340429845362317980694251618281066437146487580571667751062095399543181884322642944545293646641448559642315071619368019061009937329559165658623387603609180562179526335638849594870313503044896560248162725886220086736061278989211140845775196830351131909347844101651357809100173554691689287537765506728444320043816132181452063580648261954365036413599971974828413916864729144588142760261967568289621510900021293202318038296010130941183486317580386299821311641445273347948837039967765305245476453344895471811951960615472803407089108040791565734063150094950515426196785461516918087412036135487050223551668828830033471663696672590764373841488354952097341058648198351506809382268411494484141979652358633455470029286805490755881769897349578412015201586019676485013262422880246058573177171088875930473477578607197563506813637941296539173436593486340861971880594516517857871750249091916504185102504121803742734822530476455750801894668269838017308324647906934484694787561627051640304123347678553428576262571577344648410048646796545664521609823176523460704259797054944910067458241639872401046442649641094740527455580998183976957232766376486477540219940995153467657617125251362719671458548882628597268844825636739940994991252791068258210834541988745529032288197541425788221564507674579237728694670644861288228954852840635315890875356692571316712964951321839174853585890040960879936339084043663371249813575737344884931057194021426577260810444771447797042914304079601117965767700670008760626029380806739216504666078284542308370039069147905498465649709371079863964913701426340655704721457707657670149744202829098235340510504199541507579965276316576539615549177414796853788963016006061817748021465560324315030476659785329090237425877856864196131040104737371691770097377085219839590545666425667664512436389647981646251518314719348146763175597748065654393370948736036316965628076315698069900209206282363415242212873399619900146528412066150430324097792554266579175535532401078031917578286398736194670499470184522983145720693478891753141199593945737712711798168119586436868016415072802932210098767872513379413890395373243700985259160032914542746693267065123919182934735618289964693893745930650585781154398626218903629582329616979735597494839457192471016438245221626288460026568892778876685813302645525080986537666600288790248728609666267202748485748629812411453622751198683287697560911059980161801560787559936756318613497568955468853767552425671310816780717164760212340805803141509605291078631277314416435584908884534575133445963043192352171276700549155188035400835104293411633147481515204060431309047460139180235365552229091877261255604327821125134931898534158857398866345517062111380853218557802991965342051957495962894876102885054340771882752885813620042456519420125898508639046068281415210297903574441379199966484044371760705578886946834496706964276927063304881946839281582538686372869264444185433288220519020058723885554247443456480097221893753384647545168575651351991737058786804962442137583286274351365996228252158448355851621361325129194489204645407868814360534988746263131990264332125219773324210062484846293755487629737592579094619603921338770546088250905688488418371830813078065990506592034589139208043218644329490620112297347402634175902764249549811796353549975462394521991573563130261819798392875912087802646997231839669604843428495898378479554753920263980720609464735779917190517435254602378950546324659937053871674452437103063327945728206899656573810749670054078444983529984336721449809710043145167554536086296745483301155712787325540730670214652657749148234789605920827483229001256654266799505501273905147295217212084920630090044785742484769302439138869991359735624205488127016268236931130049190879053497032360988802564035953251477180451225466047949890284440179719382587467811186915439209350800684451523338702539647490107021433977961812703528858922939752244933719555437670975577157933345362038723914247985169278722752946889113948474639284305183056153440369507317267641990816417857441834030995541269779603243250376112281105845563413478901427790635784579793942984341144426967751690327277132848842365019620474021811187423385192446622269621466686527770829968713075487385989772050381357000309544912035431997691887807938458814738518857613607665368653183850622530885804735019441233109772414200233097090033271953274546462591083376027108091283733966004396705613869745498730603232411387187592145702416000308047959883266167079094033790162698152649196532406088874755429270955816796471638910325890685929802582871778457184166478859795892944157923271374429747969093139808912221800713672303018530208649096670350974434300541294043748007014571341310495014766774819231078803169063665573800766206215809330938319200481596394313531341171706518146176183894308914821346573618655906586606713783536684870264625943310410317056461422441909991118083362405595889515357406290508272809956905654279843165470113230372889672156707343382789351442806073132882367298085108440824961425497324056780984097492989923877114132403349363488697781475148931940033941008742278958199387683355557219329329239113825543660484487682167228637714500309214841474274442244151163813930213749625168108236112269784247846690751113458773408893387297114496523468685759161153884789659053559302328572695126116926448908630811066780612802191399658486810975838256978096175621308023304467364602141180925459516279654945085828147859938227602930006111832798993253095530096388935255580260212655895687833491081712063140615180229911708375475933452284646433292201540189837197480448822809665649844152083978833976611797202545069440709313679580706182891571362366171697881820833141126050563291952948606855486666380023542378033713480250966603825126427850292786766087820260653397689029184184823577736794763972114669898978295253011176196713092575306206771686277159018102840565742626574978223377187985195845041660914896191791257216777481423420361861231565634330499537028888929055474945614801694770267305339833453295183584980098432541923510339543864918348360635182024862588114613986365888837755119971116362070151982455597043773170723617780888693151191169017783463616309174046263867582474095825393392884786179460849122228500619881934159110637712153404957963963723087495002886745189609482992969658354932736251177586907785796209517243014457477015524251040778434976873047103821153605599805094568328458339643863276847388753518317278237127740608063579370285396920686038612196780078650050700980915551360348784279812548828541669891143998446017322652009387500752982747778713614197654899205647473965139363100634065962114021808665570167896390834787073639476780794020275987108328490814198842180660463013688312877094822595460293266511146763610130033566794993232909303880535316713157432302845449917430959162497398041540814314931301297936724261964385413639141384738519901452457674479670219710553331818580227816481373299322812868871006129281492112204928225522469857669263524358620134177808526066191805854928593599279969423636570284663901282675387189463715350256381636968574760789861973316702093229262219362280770880106419312695316341795406881508081136886180032104704369009874437359948281827527771101877076497483308903628119364357067278805732924750243696223353507069771347241814611022144525841578833124420601178420924524363481290127150694775271253543119288575549299066905969948180931293246773300256474785050542283636736420085010447206344809792208332841935628148454908756519803882083183907050221644269759326718311752778993082978000168788365004952841418374205447719297176944619124023272961867440189648153236573531201420972217417099965618877059481524200603251036276433797931825405914247581430306935340089780763230671264728466477574137500964967036628211439663403080118875678627149861367815988382617770224519845817631887288137947936959096848921918751276793106239430484797668044328628020772770989404524219349248775322620084734610022957552910882098930453629378520615461925581062360013194100725710402972985672201756546500499725685164106119686029957950372995643395542304284138877276209034245082296389296724188899357460326378473026517476915251850288457482836800266696169970423290636012541209705511055420555497746332532736751550058403135569584594586550198019546643354046864487304279805579543453723092385244172321597632494918085934332543121819893145377936135661258148909829509421236275673380002783001382808901298286943359551491899069966575717918565467588229521800644723301127275125643627438442301990293119909390954606967488513543544266661893021321620118815077097251662599640056052413824460274022799322726373330026826933602691746804815399660660285249399084732884409349269908104824686404927849989821204525666863002826026137447463957586814642412855372195660432796221397482390211728131988457849919183190119797747062527131355524283899564206348690331536277961249499263727920410925242464912341928481462480333965306432761082232952649382608036057330745967696918386468440406109153512168303914612998102575922271599014761324224338734109210617144934400241124943928918961008245436891122270456430655979913618780187466079705350548439689844972131117446019298322573988423856434807969376029271780069520900961682772031881414572684713426270720564811103653263655767555162033575015843004121996921965387256298913372736651786851014423485351139429370341192266171451781636829194443357677868818851508303979005177377621881996171475571720011581081553889838303324553217533576023980933680026957542281244589836616695313883739531301928075620861159885774091952320401365302154589203535704489232780311281930430301203139924256909151013363685638469478458653263628092201469335149487855559372427435351352400762845977736427396133655942731888132776918716016994569305770286667397701446217888697363132122242837321358401386704715129613135040646424548063074721414317061884040902059762053679571747916278435973310630038087392175901652237375564719963491387590479598884910504041449265725088640409051604232479388518380824889967735179703806909954125074065348213599398386438605855933907630117771041225959527907053088360274209188688316446538601327789427920722336565576456416287536270947544813007050377723478997661695323044974020097635001726626821613091273793746622863199577873924928192453204516583692139491418514433664279745941751053754701126665943746514070493628902992647482435367882100916754083948650609143862079988870516832772631016254962214522790120598928736981121594470604994296350910958126545762133171829177628499317017598036011615888669886401419508937498428180745387397800131436830745110849135338887070724010829571266015087320700802458519412623913984550456953746866367013034492714254309824208909115530524973819670144639983900260408553117611706969316155377064310356594709321228791036363545529737270945268283313410927805485946629155349366750264116138293252989084040616262289062352669919392937140037092710943616037339972326368094798578102249992638034829076886372558117667213175314931539701930290538385778505021450856258477651835810187960216658454379047606543126830847345430255368474444840067468963946824851228419319415880347141997607911268669108732818952601201023633930764959628071561332649538991286840230867284228828205325383937934056465458744133583659886649831419550014275196016581027999802247783857656755336914339677414577951246950994203664172464432160416933323613259763658830277039181725924099092337505348272887854861980804932752442357776565604917923116436201595794887553107552622300587680377509941368132624863908277135894850116834479513814134676452541687926121662560931986132103408693413448364608051027350814644790989403850876683564245891975519351433009419228751548401165915370894477738161114521794809062040837204943565464580438073017332633956402092224998916947512232852642522575738398930646880303027204863939584239891237764184043738961583678106139219483288319660561023723145183993932902563314015521978054273245325651061370003658364503668008398539749965426680613677881901949287985407062082247497255222108550572127501561205833520776999099654233306222816661779627523963286684768304939499666121784823664371412819708448317351418138567890122240969927792912161255908931920704749974370067068122835447504936334802280706878876893649387600690980436582793787676281549965654298153415606225187507990558522062699353358842887850013532548847626322506635905775627131356455773663071141353959364382353503831757729711486858017523478759124061446106536852224129438383292780759540077983316856289937325077797448149605668906227768391374814361630264359286291798385262833829476696172336938763824546554033255222134886053654953034529474976210190678703972587309702560415989787696150000837063236471068662996947230253645486711083826172594315124522079372034978772493902616770641653311806429429730407212009067027676573736338682903702647768633511723829569792832645720483202379509354380783966418551118729092888748999944516455397362420926254892599980283691735015492998384114112937041354066188247684246393022208874014430486077021364939940310302413353154646070098555781181158993400517088918191809374324338634172402836245669397455040674569888855571001686074878635711001308017934046451277187197725754243929310298595472070800877383367255816430898703837591846226248067626551145974889738431090042384999677650539854751632042114056292551720941898096035199593488184511220813866547375425734552145840210402845225616759218989479394416486459522720907786046514465774278644835121688243095746868474894948223632450019013810791768936234965947919987242823172209880693422261817918436284250977049219497174798154593579740545156592888236451664047519558175598473551756625019682114773133067384029798443165171941238665008410103835093944044903739743953356802524487901392363158597499395505597926527920059713373598774311057908362544555875698877748069977032188498494151793195031487329830054117114567057959408596964666434615386381550426645975845877261393447970962303012380679606871560689329085580769461049449420435115354405489463432929943593808150446973567261790651623428365277508754465669476588684629491917770392092652349644923211974675739539486057612803548930799580569386272733578331421959006445991040679754211295708694661905570030693227383497585410631208755736750674227978761785632677674810008825720925329423203768046859165508094422775442521762857780047206896234015910278682198974103602019498582772012562776126361001624206834973389932310769382238287445502416578362750711878068569847420161808523593584759330115097864871454176587145715512996288715327529905482112165121007506451343292155611390437638152517302533790556727228021299862408653742030614761302314005618785504390731921298642285160665423763689772963648747898593820618729785034512770933625904656845972454718943160186924790149435965367438463046869112034305383181771366746283763208632944488338453695694720945493235352940909435914451668218339345298094397417817656933498594734145346211342277872704616128069956697714620091562242962180325296581444841605938134412169269910006280715679018359524646971618576737042716833328104416975217349067144398140688892049219375890352359862253255339613584746040766609191413631764589515765822710291032388253205942198490126480864321132103086002449197612823971831746731504952366434433748646895469086739436765752410286891670361667365692813009732989086315419404663846677042204865183968157336900704251115727945658762450452543638823247554009163202986026015412669265642097693524514518580816930882742445630983277641443038252108626366267668837742648906874586695142439270151795233778504753301552961041424487706308510288159772035011479763962040147390108381638394045646773734572003727707505694941923307419494290346838405760762283551801470457701928242363177327910075532598528830211943720132821005168465021379965690887141225816466410044296754887284050798842403898469239844027336868898468577522617983898631335471852319611509712844156151920893727229751549031571836153307388937208818852488097968589257087167729634080173974597530055017652989456137971889756972579428578262200599694387907810092902047744732526648306798179834749078556162782048474959203569956036879753680506171793131320081236841273436167446584413985959240677050200254769008001196266198652856308295345508679982071238426353610364692158681134868055644251801952706861348050538652699889447643039921827159957379823093148669625108824820757667807997028161987757083006268982692564428510724730156528229646865408062352904365944114204902092183859762580208593001401627077259333697077766139241100791478865666994114549703380240478892354801727301610450391511013514207631406618834607415585808872308682450134114043979962228681199629228425780966297869301894894803466573409927274175194196789999044562441988317492629371955250753479084041566733670515893782980544594255713128126729787769443851304932954061902226044479130773051128631135929640166997383065874944360153794098932364535465901155503617776296473101389827219244148240365669964598985736686568434763208950431354898837200425171961039032178000441758214891553166539175242956292909925774233736116721300229147752434676699604088667337413291550066882972626027762940119437853774014137407783480334057068126469879787128242227458206417371877586546567989296316666919592435884912222862361310346828886202904737797599359628776691796545847547168364103030129978375223170151532316299269086971493119473226997206009969475920247351671350493295518708867476956264690703923805552474170271560896357645250828166320402790875204583898982662485464572168883496952902953519622033474922435726855003141767064331780947454852755948087197211472845373090028178206733428488966671795624301721315137261102021346310865821532132423656355390533176975288011198936007606109754922321485939224045345556198854476992806379080061273352263557440806069365911187255547071452867010934303857800964315642821672022075152594270744225641878527013965292679262421704602081890651016237713783617262857340928398623672395240299663876049158735812089905395072272762610989237253205435119289218692900093135815845778552275921188010509532035144842292843206408930017392229035811952726959649359633033393943382266173117313860366526589617670740132065856371869425457765065610754073032550057799612145162693983369058787668397514340638942871870072386317224041894503508698639539580924450512667279131826702047857682078422775027383318006371223744714314673885839325351268063169801232668200819401534028437527786143204025270164333367076822191565768965551392771246234380313806952920158461204675021382643638161283022517615701317693734213064338860508590730435658067861190665438609398375679563526735927971852118015056456450216550261017729229305844748173802636114451030991328507880987660041702405958870751093948665196189816385387976095507662653398081053498925298889335777776876955651797662650137305491830347448688398845250892546580944907418793019439994635801076332990055996139710228207958003714913520861665252656356364006751172938732046164895536074077656523470408408473523601165409634175821207477107864056466111131008854015987018027800790294108158555114732408613393286661517826595213419409133453343018140000500756883779503286338323713015196417920212868630373880956941715149663308055918828202697881132233457977345865396075702671821588308476153853410859950820941598743551313167617120843354618533528509045630377015216283899887829881706366146807126721136483300073161408297004560111999460415631844616593226611118285417620297039337799232197678942491568803909260285824156764093202123618213858829152550936461736910256392197297514498048959474347082342706266136167373293100803406249061442430499106670339501981726515789483609669439523165778849254894962501047915827254929722375404777224096547898052410079671907319186491052861653187584541814316214882495240049926993490496049594243451132272600032337474850259392208534939865705979953480664403664334928276755332196010542975179205243721733079271708390202525968127705783766169335736616337934062933081799280300157030878103800007201058537833738377258883618581955625222700367935454115229227971463031621694876481229026906835405905453489166134971424180097583699594235412329691229384030926425634190744883445165525419221073009486503410985576066379304210889431807489152618280927730275386555994780858603770193814826257316759378547200760009668979228667118874151668392427619345456670106689520713536191078281387473996953387385909883367604123141041256947642441724797528692819539698198105529111269072381066573163145752642443033516151744287510555867188124260836791472511279919999367982514452302530065384074763146691854113372259665446713280829280931983263947981959730875956190442578681343393453251223775731128048849402859214036739141413700941154082204761324932021559126565203269187549110083140565694530996746847275594913230341841060880305310645422599040743276930459978520111722995292851955636066049074109914604151700900718964583516143521274937648953586592809021714950618641115605587104158975460648670699241305524520358314499583273840175136256506322180424959549317652031371161174359816079562974083610883611227278984383041361213232746757977568167536736377391151122777363711149367226301596226008140075760900306237355103934282776764928527089513534196972423183930603394750803115031324936042248114054831686130044033827221840513926144743382765751575763705598276938473612808933260346342118668561013823761051779591780879815505827367159088681838918102650898388858848942403860790926497638900289890960908216443417550877599302277477657728335608384264084808515045586082307227549651602593496548595030108409161027465400472542668712199349761237768055286667977263148243090899145296178743053021192092876962365358334939017358453255976685816354920113542604394975722733076115518304677224554657982746194137169946168249827070307416579265811665848646198151974791744639491372131281331940377005915050478248601543531096150445846622076835198516499445415970970445553036554760683245231911265890377603765126391881975181918548269218655850646039303787980550808447627231022579571853905892046590000376625321670381700199664339932905479999672551156474890628038888859396835411214282988428371116833205566104898151976981041846308159482068095257784236465951315789825006332942337327033248943902645648041060034155879170566168318701643158960198261816375914226596869323314699740299034163817333057696041386320584066752475452411029927475443336273278303902801989429185359228548764257365504792661170253070261370757544573484163958143146340355045069569318641243662854398608548071565955760348047284528115964788868369635935920381240446911982435824936739607568911592935272809720388254209869924026179275185719827224653986479148212786384165710287666530682813200524191343321648940274369763437727527581783997504126532041231665475817509061032870020122998388296709799581130837104014017687857104136839813528346488299704103148776729298600788614325926602146905166255298389866309208773903998728563339986964501436885208000694168223131029662635903814149358729929670279750157921452751326734691969753585870160885103761156453718376656748624821120237038502925986593776414108921565207979456534331799265300403219969958556307870715737287368422967633589162026706331813612192544299682989653203186596069938648703920790587010018396542552013946642922662290626709161421904998326762144841515433334870263092858892726571886689650413539555381646213260437073904243449472875231692743031669018861828404318484234120003598248464642521917337942877837770077293826680341502124128893985000866782113629926250075343617495778550595190660192824293940024474075382544873379521537332778268802142143125937583023607415230581466929562402371235313463608844525631428053849919497066964655881148980511333427706206540116294556319903908072425008621972262971599678259059005488592487636327312508545516827288129450429231733727329286011557958547356845815144904271298310752660646431306350683376504118589826891916920688332715841600409963760469909777819368789519428988340011120690361844955082262256496331514168225756446445597080278535288513422097904645223671525581789856830240324300647458170663963285099479418641043679481002174038199296261825195187268836178281666803195890588683763903775207760840331129014014393241848081285042928601937506462673429746003972930122121121853422446947745938482397136416802444830415109347046880974339810456250614500764206420214951205059116137050140572315711040049482630195385349857826805548460642290232753238349350459261572896024624697040361710210261307237890033504376122728153859918723571425544814066961887201476810803735754944135548697332053574496519149727286358838570967590600593525600775918242721012309625312687256884721050935555056833435445766672803355749453373062446444899282408459419107589048032788603445718545681334144566518731317034404187471233595057777943826521725911826620362790953167830662797784959099183513466666968684066473521681645373566038992299974290757170248981698957412403211505965513489191124821000416811719892648688004263616568599081351246997952554385635381651554030805037985470347122107327126329854210726929888663487654377983527932646923559161754064922712158147359377186781867240721294639197454847235885352550804242361183795826261036977371042597051573971911216280515865318050760008207642036297660302968643543388886220961470801507578828136734266894315612470520619354021311359986940211891848447396496805735437744107986606410911091597345526619586322937162479629021724366106729006460919174375024568595117777970658628724589352107995232265202470529638898620513454215184915621095730126229347642123487013761868472297555934346761066171705801141396466742231227320675628061821612084688929956446305160166159084820700960124748197290230705233023777940699790733507853968291665318802285900520292675352362587642031100827987108959975281245629229001825185747015857418051972064431323077123670677667052254217542258854642852651015669300673854829082390146699271382486657010992919284806892632111984389452112343534416240122517111501728666722707189106507874237883907717105528098773476951660256318615912867116488256157937515016383827271013176263040199605503141222187899060938070059551486796286903018925824586046957688514106944596145752956040624515714203358075487119370348233330207744435002380627494700532724563829016668460981080179206561214923546710954434701959017454206783989985244616617883421705635423864824568992065855523605150104402714963819738134580003507678696581462372728904759751991392564286231110844656562703590921526850466518904903019004782699232887266419552680920721901493323994507917347918632079678569362406868239451867245178121788279474489178303361634171331172936128289449535870741224200530226914760276996408221496143843514337198032382646912386769261024809346065519206567411068444364897538304871624292153255849365805305364541701849388347769926925580392044427426930110090415831923869499458659595217090725848050014958017188870309282155692377624983797299560343536594208735241808567849306886019435563556846191128200422838229982702544316080713596347251610964988402324575854123039505476984282397738681121761453929479098473817007635476205017395264089753532678453866008622203533664677397053439210326359642382008289693595207386238557392062061461820144241470744935270393836812888282883359316513600428023824548734704275078123348788992687315495764917653770412123515570503167770306171075611135934404231840045958419774784643182095945747404560489127510465708804307719285909173592777071395777107143268239259408137320008079866977148217909271578690943870952647951653964751510917951478601087676028895842709943778301608058569027574920935532980942733010000685259113536343030789543762054292836914984669769652334597655797403834220686381965451998141897576419450216875678260443164790106932383020624936086459896881589663851622332646336491779348429711526905145131073808324916040257820503456933888849380578431137108839290921928064600333579581429773696493922503491062358748077513640081122326112250466266501407235592514206864678514162231115118577276214032616390580819297627273280280839857728249733597385648589622131646814687503181473438829249172297285623360171576718524057043471897580536059969070774175892578229145149078923244650504906090542150169322107650481033316556314412913296470641253233632247465891365150301291585633822478522374324888802173726234117588740349519026366643900707578259457952952058691377279115501812964255663623997336210152019791500387431405408787751367804962487843311737147553028631414112193672468034152041173735155052331087649044166073738651155136064181395701635020220708677045816593478698662360595731003232372510051476954339430503855856106055959195979850424487546993409126723877087019141596987936694481490179538494886567370732359687418609155375127607237337183390959569220994503950559195276164584851135275524109798806239855763679868653539219415506930844081681455172771755180937390390737650393434391833113919334955420981138782206292750080640069063730695722876884720405503907014898303460873454527842057561892599442406901426927853610002355530033632984473065251162722958302973741296717061288439077555894841028361147907575454419494442049662898738649004883696905860415192350864857944435091331776141863120901640093927768142801272556401087330652597412265418142939005666134954399464010445851427477013476911210201407569653200824287604303831098153782661726344475019734047128452527052454413276845626039611257045324805353632007614838981465306528656418671325026333276941343609324230202597821346740003357440476414662999955207364819299644376081136960962096711673632695150366496590122163904589742678139199998279729332297998818870295536299863310546794807242287331469002757820223941131807543427872040457122070483803097012797031284341172746867882780829537414601572206466201383625429292789620691340395617364414658444711402208964665222920364992175316601248651294878526917745231745606189755189387130824240890748135144456715928798730079390479452118666168720240862324327943499142775993701014253611611464334568312320470151587504995886983715018105839575088028431727086723981549974942128686735468883165038555872345546826503992924208879165648353498811684452784971831869438985953759239770081863829016949034510396019420157865281842388188075865050926488553611472297342289568660287186681486861547479743885533766421702591855449276983593267829096647943009836074788927825966531035533926581311898691699734532836259742486341367081557917559148486773394187127734004309707208771066531621685849241543866770218351268283429579573688710844460887408509148056926957091686502083616396950255109357418374973512212332047541587993193346078371745900159377104068529941642992138873872638725756664630870428819402677772467488168411764693931704366163130421911230558498834745240928585790694578811107172882477142598829275134728774588841466966184183459528054265667112147929271358169571515442530413666590939304821608021483205530345937658912969906067702659914216954249024765534529793137594470090764980397187287084277885466357192018688088137722033154480453144889763717103648067975161796585850601603421860146344426797488651679351754983387016022531533953462823578613852466306310811525758015272030878075441620789207331239470218853467118311129880386248422706963090832030196353504690255749419668452453249778446707073203055198731247767193487631375324971612983943422238169399986928553921699420905160175401105806750666440163643323606295216821974423108880281067429930371809044549971201545869765137213211398228141650063111858437233014327919620750369695939274762153062276053708261374111630285995221553547490927701768532072811293238148377204560880656316337273785396401386881293306718476212855694169616518235259110030015486110078067537086952849114582384397009575155291306872742651701985868751919848852576155184674148371548919225104208230692868533880879011282841926798017712888779738933218712479067553825775083306892322756155894951406729115227289327958488982171318534139479420044434574344432074211873534207284094548127392713308456305642648576691191457641506102519808254703259665481573010091180677037170445096225512909019098040356815962503778836233959219243619151761035859180413005243292512458889710186617009698220991326506614891949433975721843601509997091043483163945346326241703793333468921945632385639982707999668397817408523529291063217173963925154274519214280188760231250017040326389635476860963159930200595045001102645867762124737813329295155413834383788303859862845235436394533796150238735254224414189517110761395979238534980121676679363004431081635534349254332665883829914243084956886357305961991671873416342846443126698507292450923199611909359306087390076534719759548394212728193469663920965212575348604769089099828152675930343651369975473667077258560626629719925541789794187718821535372535950715131434551800854960332900281779944833263329458279198381456756902259681176412580100328533039273307392178993886322998332911643571033208851462939023396825215753425424915267848435266347368055829869738683959236024403588575493719232081602417550052086896078310718852931506358153318388099085464744426694239327462655674110018944356580688312055693765033542546881601064957062215523595654173920792344321578512517765810437402574666627487406987423576085124004749184733626914366760160763222008075602881389853953703704331551856003994131001760113375534975119537072353724683352584253041143529551795364085678287021432887095409504111942012826034931630784113261765508221100693293703426155052602585388191839383624059474956795228889379255370644801737126035622109316980576089983143575105270552601751885398048711249544928186481318720281262822592438248209094326609218622042485055951445176568947696306518556281589867296882902705834314959878571571715122961948120605336654398157956747188172730713692901080146592284366587594270374948418443346964143366580082870826997938892837032431824116643768767712859056789648447918571258038556815580511976502612557583346052675629025902781464960961161482263228340504866839219068965337270099670497734270401402332607712184089962885984530724553529925561027995132966842838884359678024300140401965364602572718072094997236656043504627758176768162612833802238864535716265260467166644508269987996326554658202197969908347357781546836401291796610229299368949521015393133909932527985126668358688367382725694570844358571194478431028994854390965020609262421283117775913803383222935363834427958080593127986844626763741842818870748836682336618462804960986164604068000411122068897387202457719632724910469690812991092781686218307185426126600437561122958501524557068024495382140633768053263692901436044707357374821069611716081175828078713424811869621054278508818741888177461115128412557645981921738943960657314575784188225293977109400344890122121732491973875588721380542381976768368124437931703496935269087678817516157161154352906308752211587458652679662296281569149877494622254322480733511981264720213216347392420668514922757555844953872593840370145384592506860180022337223660711332419392463469026993909499383824776024583099603357636346851508325533518013413970824869599234795444786921995336159253069806184650619146200685427540539032421622296995418502369954709556444872059077726250210150504570493299190527855165825583583712691424741686555640110779458768215023342548643855332624331109992219981818600925194300030666349875408232671216558863938830865828746190755378496454392437963971441784923475161127237295700462906030632542694827143449231158792625813795929565461302074267471985874848340792010875383533244598378372046752686641891051477535165413495479601896691988182413242809009261959501396855849551168611746969372888838929510638114293441890518990950648498906218919648850103752429097386198700111648842555212695190190430765301994185081337504042459129829255199687396806697115647558254968120856687933387800759586010705386691084636312240485352664647974676319008805441956024726178635417602662322629979186058872800224486816400164994974300334761169529796774914952700933450569182866829623711488727705790447175341545447850979031650129284557639167784510500214120044748159445632157166029005962773563220596254235545619836672287790405507795059222199802122164699838221925568092198280621668798201205324298518541648625750583389113781790137356956612260038586253989411850573343547783132442260468569295688665771414836762675524915573434302166357828239658196690729380715184134464613392330498120806360189706673912310098039590740619371546545262693174267038668954779198993328626691407494071247162533124619916807274333643371104468509042244261072261237644341352733383393305551288558107697418112659471655387278679375549609268084701361803779810022232899667556314594702267703072158166781526221010048808755261049398062426296629562494375657798373975898955316722557851681112599304990015503251665575931866411854273223826398746283791497354334856828101358549183296537888249180565511634921621646735203707565922332572169979202821285175824390417757691486653457539813286082172613226757693367641335951174197614558973489878233543035991441993422994131939139156603072251296262599128956328926582816054284919843038318031299260816413452509011259941271518940138615549767298057853272170279772766633666672032191756683168546167346226242515346432140136862058222901731454158237869566086006955894195268526066802736411051016499696734487645133545855123203848602668771294880305882757496860109332617706276890807942294334417230331945096292362432315799650955984615719357147756672825547190942427537430229098067257784324924988514531279442097996307288886207199124734609303314942062860898420385721882383150313420722542416584577485045958682848877247719556170101271835941155787683062864863913871752122447537891602151030500787968592296862466991815005241800014758435658678927033753955784439860376244949865333648185804532413119694813417191178726996181068627172423886647577853173871097414208031606979204863423097111330072768039510245057565470672253246820499916299068922496428029681107808414294608289649232749811868847245497698934809477019835528872599614470344899255998120641456820189106873189457101233607466502197647093858451289494332512991036357495386694553590528368279586494835009258416807940917255245971635153108336412942836119323367165967283976925764542813478657025553074933916043441339327687396052520746207090879268190238905219909254531752568850256437738220868299879924793188259186018032872300712485444079185405504863654932941321630211857431540752062745072219823444283346284538202734018874010998882445486855199291231948646542466267887163179055114065939776564881307192831178864574084081284489159922340875191578991412340483462082968934072651601681932027347306201644896427056647920292305022293499607763317823718067635905238137987709280982016021479956676625844944183710957428819550193480906762394478195340139649835291114410553243452171422414568974114721611337439479381236642481738530100840206737717572159588626370448200324078036964491197420874190555103018463389310705103076060445175112125874227832531687525490886204466029058075311083205057847439701283072616939546403943954159935412916884728697953891469575452043270975944980590472637455591020834471725455925638492579102732761871373243754635109901009719776921630282243345940136775114173457281919134191393027579427389337774432762206897562091955752918950177890973016127286493425345787276673436514748903348424719445688890924892123378637552748266381520477584815557119668422525725902730118734698278496348505769049957277878793404248420364310191835014534805601839564984247006529978249336127695132777728734509623101301543481496270584348592647762503907308031444160022792024395554794236174259235683383046227041898802745107536700989366525315003988994156459218662319093392655502138849067904879418843838208956879774035229287323402034858950213627639882097126902854929154900804590037066753755964631351511718327820475578824687797199263628945455713063035609758193864988855414391644002307417002101011152013307211142742176424330196944092828619383923427837289843156875856764138219341209151251567241407112819940561499113459798042751832450459609823691641641323521707311693277456555431972071893686946347635080486321220500953886487503129948091549211018981682689923506071412895404361218749849501821177986062520051352631577223605848346438074013330007034549664608620609260483334638251351204439314580827725047355989935023662674206045973288405456454537042435852481232957204082817057373741414328772075286887069282414372454078808821520617647541087486782754531909608135668134605774680764259350291296238555141994994756630525883072697486430717303112704240327645945314911729635520856199405251453153686798309037995386724113687277407936601430185975632369280489054643951917088879338879517678676131718524314169852167479088392391072594159854995962931019298691939752483886270386324437724200837559105486616565090879790297660033317501778213769439265025058013914001337731235969104281705926240565932295654403968174520161072213131878473545552097718054555002764985608232444617647107575140284669484552617782249488338702692825685478641332386714304884902049274415259777707747621974739035297923065141194748090245277596671703696154199851829614776861708353683008230778941386722892568170656621958871175631404041544998284315109139512192548416229969515826078600924662349957023165085356360773451142857455150022389256016935396265108445540938098001085391645836587063667790648851025912775135322797431566465272674304982221844538019128545644692797566077089708532000436288396991827213245875997032299987134688743513543388299972444322587177393541117887862959017102196594208801190343980118445373904839252636384674204728068558238923349109337897594943889169304823624878759651442694822564391330869685791515710166612645133246955990692959192872162943058719893484850696426525798490260627651295538693987827415534309910165028070520981874653457802287215333492389144714468075882230801682945191392058408734583949959050077293478191361314174119009956426836344891464065186704069905309986310244874383741877392227713072386802099092794239148440318833372663061789539638279885193583205973183449510019343046683454690308700325025392130974366225502226618841310333095613203190326365368042671676028634154742668488546343636310688539032738957623057847404402230525884813190995124185198848985409847907676009573338803736506831846153803214674770832083777807743249061346528842822920316673398849312522939218094670275855124128472941929487429093211474562599570552489899498761598739358634562909946907801598717838486726371950993534803555044684618683189270547173522689522099771838120072596688050532616145649069119061522127325064787324125341740214818823082166872065026144502910316188715668321140478835048235556632343852563731874813286449115384720213849863847809962311906060591912559481035328482157983586333730291083023107585706238431627385525984798487150693577231297966408051280587128466251668827982026987221474605161320473285928689455900321056355387579218586507266106281046102867364255119295423670784650942798139179024517512358016784138046555509160573554364212318124706760981718773412926453411420434320418220057265700737251951656287314765743891098242456485182577010659270659969474110091367871551085970522569510869926784597272449468105223681853645828298962974058348963400549655565069631049175542243373805482763745297813715180581770805919117951685481470186041888396299779574145651091927072148321400417536753621174273181562285980440739421802640671534454354554446839455455150017629593313561704907701243083077282257495475757584377990360047452891328901164576186965068332871684937088338591790534572420761901107789359224471741503234857420172567467030356182349652991231087284033675474607066226712718144392758682173969202870182167066173410462840624277278815561577348588693580275463644432511710541961056474744089339806085528622875370150949727396669661355334446225973172908154357419623973298368839661486533236693933664845499097669770930322185436671487704256445078492000337294588427196273654605177549734148333123518092160328302130545340114939879511563639358346316238874710809325635709291067765792557258089909960187628981225242649372268275972081639319176733801424989698786386103722377460487723696848488084913809526087118135362394161380315929480377438077496176332391523705017872413477357656062063892572051305883009543612540047921682376770825869589836472734137872194988621950709688485105585306596542622484327523572485077378193010925691817478986508361511742907870200292356157593901490362782901341606536548821315064822969116506514392607312783768003783655249537177350954182732601531938037679805886907743741434710854271893820613808654255415468701607438868623203183531833798813707610461301826532547049620941079645423759056487748924530085363077663409399298721113436074993018818473754402649194857528377249495616549752315393219263750843348605210143784956303759059243577763881991082808422699713731380583014495331983965695473916610914315211006575414115387577137424724426639787916343144766955786253017735855039618112582141440173066746732684393486830625310996659158149053048444518716025030162689670575836671645007683906593193409475109017314180068920060166848076824692132127090102082710960212546010489562284306002069963755972407499485635800290964250024957491195155828062047092615644360362918544124784773113293551732231324772929430165357968262011886488614419837543605032442335620676697755024157842126647836537356362752464824326798805373682930829167900323218223094217256957452865143771928791955194568589753593555913105680533754291750248284578900783009142087408835957329267309261142662933726865957886827431724102565471912112543602839086790171268924705064174981410621509569542757871381712934914558977009944915304170232863790466714928736479407513503902288743585678645027793314967853879588293075168642768384949589561227915795441610421110171888233262140327386536653262522956474024692993218314366119298763431176741797793030459133140610172061755890435399845639675501626968825800363827220321408412632283152341075252195016965239866996200169693485315430898919558623544221693972896587400873924155138132444066009244533426590704830102913060260222039421748731046898362830921299777718468027365478367938305585449132853725058173223663695997664716182072115004382459156229677641774692872381538281079506002711807886820257575151721088586967183250899283973137515499752299162008127013135741292862794556554205200433630943775962846902428177580619650561609194199821811482159607046742093073079572270175997525345658318451749225240300853392589731476921175184263787245145576997873945454007021603366702562744250193664722152880791370383560025760493465736328057927946918752446118949044680930715393176832477913742752112327551981195198857543529859194820472150689822940050214312790018722888805269627380634895133957373973285896524763206994587953833483738216811187287603744623462063444855674538857956638752920983132653320394159040986587364510736475331253615118071916649634151270308790581200104394164118926019867862944827448679540677990428429988020460828195480977967854822544601368757900290574284795733913652994470078428826150526661520056666499618361372686802169323407635410132103392186581718313571155255056398821623047918273089993192616580081282333541936527389161064009529937067971669257584176364283459120895382690054748842953930304066033392828096279394640318724317971955125628860773684155303896019056686725045350634784567608685207125744951303128955331135476413672589753416269443417010144957365343854749050211415998707457056780349098579809027325526434387460246354836984819995881962392050064780508669499122642646506938349154434617875487831634964737818509316321484982611186247297176923943147665913026161358387525084532664392585600563233838085158774001615976664537390325393921899572421534249704642796456920881093155201863378629783618948873153858346717914274644250771075734789843536687968070320761568425181664129809292226533722657462630376277613718956046137952268697708978159078743822960397933388244921254695109020504907558794422955568200517031857145522035069729651656836386926819184448134355009777736312857437891695189081396791262580203749411042374977928588792291191739826136067553941473833347758376047101662788275177585990004308765112037149951575576216518490091272798583126222464096850917636650583574823461043098642399574954111000834225579111754279143619266025129992780784655976643651418289694895719500833938275861383210980366847253704784822074442918439175111517635733481961458059087329995002656910476044838271984489184850900732522317108458260393570649168291500326946761434555464458167651740400070062970045511048266163499212609171613535409138117466359132640792989695305700728423584387845384818479949465542806660996318424190888762122883057821926238572934264632485509993733414535916700058493886501993113110801170100411379226201792216898237588890319428627370288778866931156251436526786735750169755504691704107028809584107081603599849930040342211458090891184111886198679512944639883083180285031378502356496603748584372876135587366976497904377360618151104245452803777101043650883208923872040114377906241374502199865971005730032928095500077088835449252717949480444238943291515496173838740924703501655176668686015562537055292650657217284392951988115783221348717131193646981691604834422639872404584057837143579473742736164746741396435457596786751273440338534093269350585711593785138165897130308814700613703444345370249896968038496012898656694665494539347587185281868604533849962693527283610689987933659988667472973528215137095443199847222380263314988106394509314347710757154600838846365341708406398254446043870234993061046633668667597235298089502732394673368506662151230094064915518868996742367558489762228350831326733264194145048897204164468638414137780221244715321201060862893143826587725613661757661479656986308274590263389789618530376965594725523724797089952378182170272114596506366137220547556489716308178954653024341931948479128601112034650213208677686003748800569923281263576226285440592306057190071726389025662422608576698664021532134309098780384434258889551859072515449069979048624536575665733395315046378125033339814298464723331058569295161271582392597014222289770907415888128999256865186053304216028080690052575315368286134567448481769284889841297897206321350924168018437512308251136080447966775143057040182900103876066019917935056657194800854767185225551803037654830130544438251337516091978245692218840044072305057855353536710223969701138354952063506670363463903629217801004570421232748137711775609793431224218200345922584544878635017451190339944721004172299788759367353934569229380541402205870588360983385123476125536144449575759972762330118821891280666201066379738012393792121589786371636405216390319031148833918912661213243229515250085497289776182990497870113965374569721237679378275184576984711687345691312761724174733872706711019904564388355801077053748015679122265846005708872112074418805289669716571972971782494807185516821394304165439730730643669908644156217622472843979461199120743679250450712670287851798025093426457527250975055266931717026145403447462270975778496095687807450312685778311425290629816414841366746954221844838057371706197115364774841613409839687099021762508539466835936658977709552013443309836158028379709645037475551510224008620019839209470677218246016407501857387503870016126990590681963586083798531432359994997698377035168058887008437142513774382725742865052057080849649517233038442229135287171093188450686099375395768267379996099551576768153234942082390004688388909150834883125436801728766292236901721726242043976866612638356357584716532424612240647538313518507359810561987194357493970812301197578938448755445588605101753209625801891315148753019812297037876461576510397945000414935824351937479430150808370687458271095302312319456568084320720158830791637685532945614116904264245584471835847137223074043430250907630075014349052792513884098940607515326792655926071763917884070385994053380935967559369546606502703773757752945898462348012782023670266355650744377097043242412704485893650992319208842144261579715686847744303295588882387563189186108360976991968348631855119236063247385575762180650302540942318546558311193894414844230466352310205382048575425597317436183450377477858535497757298490931747360467726889101434713431612734303738430901339355676553082764104625655460533637849742710266517563265691451621765875516854575647993751232372698990490104246779146788659495409813154404075161148759496670820931300199705983262040386474322574918261955876696890184816727882097362823403955539494211485115337840535182430750540973796251774199365907405086448177105385835697685345778885939151462985264785221773386372662089002445622429556529298008141297302464693798506960217510000845451625169570580824642818353610731417337108017631036044299982291790617614075535369552156156117895783879528281129075779518102222789739921772183030681046821776336128302012217574285843079154409301072159867319948137432110125635297158022821480770963643757217867700649746166077409953710220103265041344084710297980940878965543468003373184429029788547223029777149449801360090376349719905934805656836347858790261225515857840502245920774608741869640066104543708980148561925740224816491741529268421357018127167373003273100563814174632589882415266190011966356032754351064186122687522625077181947991777881335474858272775730155138200521324253145559357233948749385303993419657836570138652497819238201663831968387978350245807904032802891042649938308585813070604122323243099090934363667825188234709379561435166785177009330194084423768221066711034045027565810322204810842787699563548441287613948217731478733510894474550586374108623261108690148118839733030076738361027172941957932002508495603890394865687809858775311502378190955915603547614690814622599004750640060228727667955132282887233361425106019528587458223664432679433883152706869227374011907099996209902045066999449755007938780556207603900187752265711933475648365287069296140952679026217266453154353729188820562622494027894370208673117528147391227583172462277250938509722323823122674874235770179373142156249509707762694710971379793660680729322607245366723087140789936379036131316084288673208259804841300469370824357806938356145071885888206734603818442123660286268219029083434041977741489215752926887051217906366240074489303464789352793148207771599698823254359443394621329137753024404290106189471702052443952723030599090651828134496071320133640962936090737692681086360303328495914478473604867009576648106790540825117159894694391700686324157006481473307758867522872271759119470404973357599496050945818643733229975983294552466375123955850145985324931257327644619256574333756992140719007069813199877844854476810207702947643805258304053040030704441631737560597780531882981148157184295793392209737809962769282832387026943500665261122880344691659785997330547317945882019287891494382162248350361282077746943769486593877924261903480005608615160979903488285858178954690003094826405336981084895945897711962142742511915651643149055429393317571552032994354731443933363882566580797545176463311380167759067637310928974804872322642756635931839596329285290214361399806031484717380551975357167753512744205104032238210238201642141458774715777022790211667330102560783296279279081016300425980781015710354244525706334352135085258270310574862138612975522248360544900972445136735912415008030810001228610073713134593726548695991372885899381085735354644652013370288437925802881342960595883517623483519053279620996625667890597274803073922272221715638276794772361623080702792351424041700014228442756325029142702047438608545398407720924929243938135622133797975852697218867278984552348801169922133939374548602845696712300907181526655800442350849216540390446129171316933885522242741209638013600472238719163537953593956838010393293355097436778500925623660258417262441920101262290370419423949749715308173614999238005007052300023907045230804063401991037308050789614607699071415893146167064520019721994779604448707817279613139792468873723460294888884594933007388405444998228888805280198288993540746952442947953214204637924993561020670918339122444114533566874156521967068533303134318169684665884309930836392058189123690094643439709714739072844123414006086715810098158700686224447908579287023119979043137000535911711991618270563354009452517099559955877768044578950240156485970298210977768909488810567259945476301146907052905731833529759516033357139438647456730903977068051928413327926501422157700571287100085500200587635343633756548106836452610465492293034723725332594688314184029968242463052386336774785039879942359397363692647503338508126276216903724629564061635599178815376687888409288163112356188284524551570537791881226602499569824856693838313927989499492491695566561214882033583786275314070453517532026344171067121645497485689490727577678548733552959913667569366921500662312193613549710453715691003767932264366011351215230134593309810529349886420078429835990741170721569901004732321134069805304440897834630114431605661345424987576001010547019802147022479073947103804507487109060727215743285659545868115949406121575645814911583124228881353182711201490424011360553895300675058115267575938628245028525536977445982642334692592667007381040356254327524949969499016136045711401713971898300955613032530271996808574890768415936319608594502606486678334834365776257268886009630980400423621073384208345294169513531430162328809842146228709505438444972682770256035998969883914106604991580354202649355761998457986281124055700859796459712247526965212229893993327902387717562451602426533935082706560746946078776058380680955796958390180865507147078264262298665893785719134166478653628707006965318191054272993230845666689498416597797062739248685846533754683357235637031307020385981226574923184107972599124117766229557287029488284567952878695499196182957345314614953924633242389954737444668849601034624381247219690793136764544605993624220848106478960995398456677154136299316734555523877376954026904631158944126425624846686729134178277195635913617542922963647616150946430536397550077936895165001421655660123367040620065848594190567546945606780438739804661719502999529320595341688230415709751664111244834527240233043890344769674087869998706585542618012089708745043483398562440506694361630785458633032082961448831846676221889623747847614067431792104995076111231374507745317250596841526901977755623961831208481190762811844348505146151141750023529671946113876077856463900738585605493816637590552123593561487425005641629336613772928011075773319405146336128559606315112336801204703452092749780885830262683982981203120476829894647785455957754609486995517806222986880414459021325716812947046012111308727773730452183334746261769856405280601910409788327344947912606347795757628565636726166067390940018341351590548560351189196424488108443601604643365658878947590881621685619815603417068745299929393135578327941925943472625184409633063958133598163633144320297937167411936243695949833214627602091355830472999510147903756036348558938893887119184932460408935593567277275094641527186260580795908460533569404128220254953997069797809657702758902368006855947249769584424241259525492981685377703272828304144146644233433950126012541308029761200534908560444993954980658566350513173831694084446495481337596542005610049921019345657175830911803018077508885302804535196971214560215203266982760694907583494419070343680938109480036264848367028491092425527317894028246373054108814270605874486206851123962184837135761735401156157172685881892252936674340608556210191519959067399482303680189738995633980353869676096116694617736140029969183338704866170482178186023946967631120479191639923501060328240501631943295529318697114393310142168646040105418776989969772541918499209981486600252838130112580985912062451216208216308976806276712749558698850220893862530232174655771178283513337825306220134782616904229503921835501767842243927306918610449445861210078982591334598928351474414689621990718025071917872256318784034712920177023126563242384155301993561240178688802341432765036834339694717348178423559887923545809730921399502718579209594344795238268383444469844626492163785382000106070789814337825595284112572143589485446215061363528531255214094805416714778328931139476623396011289136366221048500793110093906153661619542420568144779623804123800103410389440978233318031542436214085333445529045402016110457706776065978980009363689978886888350755140089696844350294411221551507406818968573694138803640300123264171524120788395817637232432942903731774798372031007208690371155370426834135008295085262223483927557565443452343452532946655363693652555043839575050177466425352445548374738481387855301307089229329885989598026947990738948467822487898746609351936181702899295520705665584844386076065202985943432568999799019421305061853139753893252835014697252810206290584858822009774444156459782799501668729063402725098370719122035022377638343831855883886750811392466146143719474874558874873542206783524883076061205616652079074969563584491117613959447294894681487385520884916653386511074045999217542001927475733956189756555503138863309668701374290957987868155627347439585256708922278745868048277807954088203562867323597501584937370805726214057447339910277669599655985359386469808889083260810743224120043766271813354588640275549667046496405131084211491581077906216771325111902651833231562377288185903249649637156569636571007893977617237118850556063379932659915509163161646308306001333176143351995683962780375098632303049129377356215628157399695474324080747937642927958831482443084161090704471137070187438803627288233297043312106574758476861402594119552962470843031126236993126397481199237907229096010751812265676909935741956300593563289734010466129510781022273616686449211535007014201198387388352442460025366704892362587043996935519913489278998692199996497292234933646639744630411891774378583430981538012391372002241208646022898993247049455538989283982456983794290209855028945718030910391592420741712792517138236407257044838081479261487505588046937214648342732286473939820789307988257625213483767628079170726012986794450872687135799058014334619527982951654156472231540910613035060050058582183260693066596109956358325762104906585330623424026630832015544749915942077116186078671550094421058156411529203767331245546582601166354189577877861430379136043094565427119581193567339185460097078168689018040407601912854815979320770215407238598565925406836887261964946129638809615525404127893527469068581594132359776211407340592604033400139645547789358039387926830444243337233883656505210302872328493785752436459926635606627981144391384605727453818573222409323944826580568393726661382144670033960242365069961980834308943206704839763185839204524613317346243372502387226782038393102366257838069705887477897657080997185308654893409443904545147841360813480356254536696618840014465594031074107874269564299558318829179066144929964775459700641853704886051486221049647795902190339931975890245904732724005407030102551578195152437990652521681366603955156037034268374945763270793312344606613474764935296820402707914648618244361323923731645891677055999702254110399403195882883667032416869105400220444858752390697457669974368231891139297373362435680593690388568987849310047893354004388831472516309642561357112756589948682584770766551230906111180349139014962590845333780233016295691546670448857923238237748716576911585215182434513364501296444651936790782625091185141750426804141411904451257248751377083227261704847081648531756829913089097990204943931267924616973232119568326755282917608518765254643124068068238293145162966897480068521535661709293245468943881153347299765821636970157042024589428145665143949522113770246290668616976361556205356732565687768840427812955788558311301274567596886945764847043777831839885806346760232345152086598630778160482946091880425901268345577227384626378435355920184295005648091021121891779062212507848071535774056181570984065458603017831515060236499847395245229021268643304928440303006151990917938848473746325860987484876481482424630735826235974308913955860974072619959188221083806229223383562077274677712425170973637335839805219869592547583653113076427096807323411345892277144193078428007115154485175147343850046182284900741493018965945603880799471930593777404381327914446662375097762183435826267626098443185282151348330293929006596770440850636457268935438328070775315838162259104033120514374467067630026890478121641577675009776719558347771380358344564617775785510866084436838220731336469301616552712063308492420225613935579247940518009955462269352021405080208723514119436973004789988218542791586614702493663206223605525603148077639270023410800659599249202091361480337495605993338450949646040562076225266106100318853988843976252883781866705526873553480156862717395668747938540475087870083465709336090888193417358773113361247558825783426011233728624074990720709106978205501017040552325963320558898616539439879940895175676154818044993795807710476090466677764121567256991776729380428884348499525145919961612595782096330190061954716268845779149102616053714293426400389739142381692212604134027237942468205559814128196011532507458593749279405675657246438507437152714400875208834906150789869650840358952650311330348783692435820142282626867673161521653300137366437888028287854527368705439395764701281494024257757195543678589543952741923644736568370856482002390143346724179550511758859471947692604565162836236021927683857913571604004306917224723297101146507073189482460818096786696142345894745252954961524733544166977472042855700431125071005210477167279092985752001345792309708491785326987625414032707475716581676712772015292456466730381829273313060153440144198974826722778409797177538832901444432252434361833743458415427728737646177353025760875150121912424249853901900587710036014902664422421720940664221028641570392763136918081131793415870035650130621019052052923236585072100159137890959942887602005556950206903184129607659791715786937606147364918017515734270021688161667960895120925228387115913124590715049055820509377326467076868478388226083396148775862135095416721546408533380215899583598730047127596126320046041394180173023822657468755364376196317594004753621222139308635239156872692909528335316263907114756378347919719877361678417132793509519512304814074870818695964693895087615887663605291657588393045373810443301897920468413905361299782090425149262509238337082168298417477607607850900356191135846310295804292235138394368985686585879846644705276274307766758994944143166012289065621124998203451603820259321788630928873906795892072738172942857715011848496381620629602220913502129892909721596254300527607819997537146713213432395543545192928360020810736048202997914929352324089177438008973349484050701560388183298738182504673971100054245258102727998697906497773340976419168281306622173181789810321211817090006538090263532670183309802949863826808353607726282335617144659012592614793385993825522777204982005914620307031796193085586263259603829074180476765174922410532048606113922544950006688585480764467546921258129412420229454475576967913320803354500632672819766298508643628408443316903342604169174832061899516896639021872645602856829655198852703866530688504467468001436105652789536230932787257268525305992494410929952316277022505204480152659302298217865049110610854573100836538321670404578846493164942235515634003527850729789043214877399411745292016661227722364606190969748101968153053408740915102548682963662624352257510840548875727647175478679557130675859620038160483825558171580270411225090792903520752279134976341356991193642880839144141196964200086728774194166084744773303199214707585553201277023314320096746836171934222498977229853894089581033428695087664553722393360985842303180789267059109047258954529002805302532455409974404793514824082491528740779926593349326747155857730665388657439167179949716222427581657179439468566994620523010469762663518142239736864051756091198658301529268671657383949745481883608769581907160500301003130974174868091648576208591592180336801299611946028823009848357228853165799079269148131464004240934818273406661156480335174305992143180871457573559822780110577589516450765988972867294577775761941247069435611198172784035777813505899991844816050542061614222220882037930078566170178995390960274749249575898775529730512350735134236643070417723311133267511145439780929736098845487024647426348853878837737816873602221041295940698678524655760030442980074355421117989854618408977531395266633630362087884241513024447408871886105715515555578255282550808891312268712805267103148331732547550990479029880994401370897907756870993760717692765955719941446799837400891580316463948351770692534885333625857479897890806199792794757818164974258122822092737590900108919029188128657034298433986191823100015352797506674810868754044047573091041466619378069731289038986258998283629161818931700635016342207166934121405006574938656288897464923562378963265157119775084811852787217438016902402888920552547977985759537782313777300789560631166020854578447671048418885332179789690346896015655730185528523796606411554430000987769768278856994828456449831564264098517645530826619927280303540632237017954745494204381132928752415230519721764973421196972327240056867398609415515922648507902851002277339210053134198308897642024320108840254566230692472169674368346588267122877446815970610335228670180532517275156773223024416711651436246560846174589600046708761106270278513692537443265281238567639780710835039227136257715367959427255116717711154672793007355307307264928130361465298260067998842007133135081931894211531404673445795786777772697118471113415755430609065487768061436780833531763727870775579924756977161046961146432835475013442869968809580970273161274169297417104799581014454617599559989399118781581960071064601166669937247128620265936313685745737609205418057068518545158575979359084574801067650100046196860983828956557827883250189864898790641155366217010240101952781815102774876759369223545230137455061992486315129757078775816621055477723614134592874521842533094125249574516530190350917510266339639956143458535197870503697655113985023587476586768226316019310456721200939189769702282984793325218477218265167260080712386794912653650957804001393417700163545702692332905355667746042097446561090112610337786393082038631918856042707966586693526571612774432467677500066616887221191445968897609290298849271354181717230302754204774600729090914216902263940963951002776336336879495211246820294820318855507642752378274283007387708533454855843080734843643884812735586633228655895742789301877067246686364649616174535690368954848127537125787368785008211011771182545224388985536114443969422963347736004949967089666885420257525366249027840102760608128410686356593129328758888328206258975441456141010016786507710597191753044620530967175579552090177626211411380810081626646910388435751403037069881131507238989119059380367405123188181094023430341690620929580123234988928316690610238006211162574271112361443939226972875768880077060161273038566799568028405864879028927769169064056633539229375572803823898562263776624227930942795706047092445540229467008411210343294601925588113606505803883407891072892173884472302151008146028879647712763886665012567024508717124955205315232970672896214553402015789874555870234035248110568668298341042508757807494879145721828940880482595595619975807472322352331618686842698773909852769958944368361940185387273489951159250946853953209429742772922643988580727870909124232662869981910662999354654702999191288505868247085117955298049615684868860815540567815439901171929904010253980854112979684652113214150807995241868108422517356878032930572185870821028349325147820860126433052036089766011499798872413453270458189329790979637536708249719945954287443789477268919004815491124613816326187591127149992416387191458998967388732500960169082601572857608108259159907289271865526444865603032763201702254057147220719741636964578798818021587241656519229602305531963850514416812602776182715919279794739456303819119126030856148968407920122703943131944670368523324633436801453110418578388474549718986871532085736096062029414926233452928387892880243401455791570745767782290584117885199241561354342464466555746306105332902659564857295342111946011893773892858647363214343334195650604850405230191953591876038130236154243140606611324519078956343340588529577938942698082887442653824068482107950592886234671943426674449629582935929182389951675389338066494821030883129579858208531436563786566455330392041112694906991797341567755896621429942587734971800135546507556403272549855854210145680894725954191971538072324910728565265343253443336256904103534067579791068309094899148354011460295259148695054884100724194902568144194763122170386665854432565617156335267558713397492869772409778893358210606953639557023827999267635256975338119307901528998039113027474463780718476063620783626486513614162947903325189644881163938500424906182402952005129669343235912875161838173558335187123579640702552872635313206420909492096312891519883792096439636628337094656508792464518202115850302988220351309536484939301113245222946032449580392077990382188778356828016199613910850879845447574207763652289886828589623834736503295825698064918912407740757026887847345106147381151510321918738982284364609553926495375932274537290433317177783702750303333732720817138548766965815086954359944160327683361253097774329956026178429264566955156275833428773804703261348307223322971066518594912819537617922850895260770476359413499167294313442252186886740890910214304984994921205147953801624123692075438067784478216596287002811709596893263630841059539595409720161010986662104521070238926437579703091451494076876557892605382023000608443651939350194862504417964364997625390973842712297718467261982058124897669251184302142757251638801047021180254581667133114097498240311176601067483719671842712310255263373060243921732601827049687084167303125693461904221547443807771810057039202667199559089891517353815723633822084601258170595174283682428924536388902647563160927194977577763143438394453638516960084359001791370018618475172219085225659667392167415224099180109066624401160953407145940130106580921473203032721541452706129852867575289258575585430261248794320051865152367892000554291875058230718427685323557899957692274556459526182125573048394898500987650652236584091371472584048997401291188179375084929761079044050677194115089018798030029334286070424769203086010508018924495079583904212743553102634083302660511976422199896347700374129412884849975223825057447597841577407456084352703789796856196630035151920697424900596736374640679127718275574516244226651550857959583691606541411720057376553864921143590329809498776554467031476456173448228361173862668305086508541243998891647657272632788055125580353020276994744972130545700440686858809719612790029568163604082849551667476872637279565765013119059497729243413161908301402846449047651226133395238812179144018342690550274935570034341177130074964985216752364329940289076164929828656590558867515521025609659481775157492193696795968728248964968753279111001836671355683955457156718687848737479240385323406025993543584126023632590433971175721144384249233494497890523662716506496630094467495019397911813129097014946897124220671266782692234533644003585514267881350460316260402966310599236637605280169329353133867715823449013871475280633486946528044405385295854071179331076258017475857696446071794613368558013626287065331410987239306504467826437799768192225812651571618264162236938786769701314649897198233513366283272580890618788306372107366408812651888007324973804072231143131753876680753890560867647636104542437026988716585954080327191956013140012490198449503289690972661641527543294155797473474982146421368819826064170551858174597022601034808362232179696877933003763604801082090586618410644422484590352658978088434694387070541271379060832824112005075845808939850758718409689085352098341255315968163550179854962444880372001078644990187104197220660124189173367408013695164462653372757868194612546048261651441510162908392163729549449515686728568556779413294515271127250773255855123363713297405603014830241851712169171351532582031721388002625978932821827883611218568928190993891810234849671372371723424738209950716139239225911328496886644053468934499815330505620910513476258886125699599739652886510691166554762071149897056530594025138632828332880163892873283499971393470342190666901839530181735896404242904493751551209341494329692602372211396794366767812593960106241417034551231317977723408817140619340208766748633106258229919270444659085572672017801754154055321075741430477100189520060320571004132511260655682001924826923749458440758975272093568305095420233038878614735944810911692344117394945398148412692649644207912195865544332346291082194076043214831878736848968154768210455229130307935448358698333834400717932540510659123178036476891174261581935173362190395539917056719550273436138401212167109379853162987812152477885248878593746585053372211757764930624441578404777277100454987203690613954994475360786985063618981101804986032675233185250922339013078755933557517351251464587097101675497451053342039708248922716281174457924027833937810561918774919497277210364573586005162720443150267830759906844535294249448892023688734686505054665950431596616175524701171551654842684601413384009124995320410100635179269789833949122365363595720870380638395998919684382519197690096250510249218973578011323794937378222132573427188940047920458050631115479459019737190181760901962765571037823351798507608702578684254092263061745794730549755219416352088501814922843767266978961324452938020961107783012684902278150535716874757928439536853703169610407539315607948898637448831085807179156925435709759665468551215564830215457682597050899365542044339655917348223142464974596790361950402208923957640227486005594395874625814169471918122272735216468995426535658496832302108112895323437407281151133410302646511684155610519477379151854460286608027194476025020751034280647059383202433352139626304003176245623598591310378670731703877629179336923202942777211071771376246458861477897210925726705376260038234747534100891102586761278327607390167332338222573975018581934269119586995058219240850136376264308232311744151191800978996012161961143657126329525678994729540248987165619651499510255085572870530497361196759275454305415923007992707472765157846657938088976734668784052804207916589709883718470715597169004162774804604013598144376191111806142705701423729860500129744547496599332055646683666118554323251121743527289647863428980839349116281788552610611916828962636746992622690630114528816029844961643297271825419466989007682674575264748241072880317430825926107709909650198741935523185115446172667025306287522760329276418211876857954072676572215467669950530571794662427673797251226048438321391101105816932800579074519963764862169331087061870853129128181607781968465265520543602902429101187279458639957797836001110569114547081404876864701686937278810676855247263932911199886596592025140049824494023008837685059072581586612023623526904333637162686876925973720444975182778972128214530377217487163774319963593023518606562715582600586404090546462576229178125396014458268089834330146297714070001818003325059880793224198017564192726322863391478707722338351892083504752310869388070274328582151900061469700791026859674300733009045751292397086926649890827884679772199714411505776938179751243874313539914245496560964928377835740159517235172113520394273952587574100661803810050816783649697235031347951730553784305530972685075392337581716908627459463332018143973212163661325231969581506960177620824666491456855423855043961334814406116535469317045709162663310366339787606360501249543920756985948226375473189631957144935155376689816691635724671482796206830998729954853244055490207906945673340918469570466364441442078853043762817714281489121136904742521848183157968237859909728525043738204663772911656033054826990050546027997193169136276333155250273830522637470668908021598792809933197240267136461428968660793148330371850489468137482156964657984116111860930918381234496276346668598079644880020958413381689195372522181953306285323134782990955507028682032776256268626130044654391753186428576113703582127976437650999394936413239250990125867983670553969499220069083466369037517144833912154923262370189625401150786062976390906418776036628704293696027709393402249978175416069268401601286136909804181737525742033124157111214547541436378674096832391652223640706469593571136452096148014838188615202454980701171462052089426030099591170713802979964092023862681341668364426780052799364527217140403267513010752237581637060100326702708454435223262613553143285829640930273150819176271671056861150971815622577794293692815770573639114459593336328008758960071948380000124474403195027780368232470695049496119060652282694526060252128866874481397376605509915989725538059381527945527229245207020944885155514154268596440738961645815500438574099465208184658526931186466501732332263575920851580570770669680488569542735773881041541112059801584746560959925963895740007137712094867247778745749277695756183434701469510775358891213072442210849661822810106988001257289637185618119631366397992200524827561270050943658591747996713290846554179301702870280385281086917409384202762558261785460950010837313393871405670058539553774822799001615046007098723712066253301767299504260559324699953036891320231283223367998340502381971364076976576039167149295982644420313207196229363767772611775654995