[7327181382860780593547146494871405110601111886779389709413630864057370362172099804775251989913176037173784419097041250806028738571601825973667522350997838779296635039174398403745795815989311893605314082371605819072057825951991619171200177055902762615694847081633226800528237350429396472580929802709284397582332553258909626896753989409049335948283395068616436502791120653374773774263934191264836206699535464974367451735172179091684452498276530341274803574848269765887454535105871624104362341874328413366667624818056268170825689716127758190555233478749441814752890727042834290554140039218820105143549108900935837158100610710400378296679332534240292232781324855359324777944110862574331745045081120126120519287787251836565513563045740811695140799478444799831867633842820193847137992374949422254648356889961787777238562576111227236188160402193154934840603183094331973703896314578618040813939944908906688998662898626763141732518621905130709507403626445012846030338580398201025451823610912053449995731265114286142299246260576637629909233480446584513250539553743399767956502551586538412425761696541803975674098309954522558748150124650359406026925207807527073363866124937612172137201454053962358398145008959492111706508877705438468779908111830827820752652760094541589682819231676304175512107644315684467169820636057796840637731152386306508001637572523559296579491396527668862084198211977590384390827516463297721461807048209138666071405177369859300689326196041645479272259156238584100768284143242214888528332358393486511660195302155956836686708014686613910910971337627239518805891940263378544919405137602733031466900747992587078045439875202578247918881550325468756364350347480363211448418192215935517766999224239742189100431141014592043675108134896608455525517762077517275816483786209601307546344990753910215510090497267740591351765825000272285352399131511519259958995869023741252953316113316749884143251126600402866485263010311205443365917765209024956701696004275819446027365099225715859784660072451906946149873863631210434584288406526185228435212366099138312411304829076384412506946933363293879203671312990261185029299274629856044876434276945795475263662291642879214349987466763948946249834335643231085540608218876454593707321369908626518840723136003753701450136493004295144338076695507483074799277901137266574676158327339456135626224373673953016443259307638488830883820827748801319114956661400586331276434137085072010208157693766056722107435565525354565821111461935063417334880257524554949852531498707078884443050506682225985474757020113815330027018364278672374298380292073267471384592415195350790427961027061579993812306070613060355818665422704721565295843229321141120629102171298865407790094766735124421295182422146171485278690504189802626899551347556066762112863312765963920359036549120736915685066564718413826626869590168552027032411274541398020760871110884419683733555085965798321751840448216334885235562691909059055062225347902819221265677141662634451306412202184936357934820391838665692807747921000405512362557057277598132949364028260480519816286372006209314309832021138865203803808905533624783487892984763334413537154853056000588127423142680619906182647458171195345516713030509977379473260052405816851383419351905439820313541709411879891407185610560052665244121790276528526547337538368231079523210801091268469357256455547109104392542060033943981240358334667828970145743964159662321897337678516430169872226035782266472506840850290640661335117412247697745315999523493826894389351946011216393554404646999503781503641861211586020231795658285855767563634549249520208690694809561565187144368776485992309375147618872549844783732586982231333749293681491485715235124626585783648378468961187679765570718536192656634641190526070457842665625471732237328981053980569436670261278386439481684851230166558723417053828957472935958789025066019749880877891208287401540090951300201135395921133480284164789908625169208208631486262359954124143609251704761035345828384026246927650006327320462462601931818881124402769041911834906871024730750840672951870736922344183599452558633630560104878747545789601911123238931245970909127752535595493745805758784708755376190392227815958845530793591908092003889752701026617027183619455684001293646510629253291632682017269135621940101533856056399575944445006064228831022914780826758543745931199847143286809353835635269561803956912325819098175155292227440804953245657687675693754509410719728521544127092937281665693382882408159673814212249503906323921477064973560712664047783548154450850837486298798911123239997112909279402610987547093742486194330930440587595260090247682393077224981397028054539651430236854903416401177541335000115843523202476374949412931486416431690552639190932067995388962555040334998131800031125226386844985235229426402366793776280833894485650543194855768927547908528195323015616941520335748123454092948909757186568721053685802876037813198573271213146101240949955890710727840046222207280560155618125427954836067866837926289154809574859142304059272524640127042019269270692932433915686671247190983417161305727474195121839364921994784935125339619196913744726044946625104781033934487273988879972500045894349909110860824213930940353865755054055098971979280604938424847405286506833574934939503951192710395430171491370441252407265387553154476084566101840813999046514511260381178897131642681381505551998583774297511745172051556535069327807130432294797591258629446912781493755026931502813037426902604455113360972714135069511900199548008861683270399266637989848836301616572454517710125551238804484511702580047504201313293476212068481456494269894862147117229328681098105693459223162835660808272848302695794346630897175554905063067754625811841162772542059304509521369684423093429619058002159308311290145839176521718933294576151772831130494042782106437755348457932429162147559267146398016453736829481884388198364027142257883441331416690544000414353170341778130656123080323500604110843110031733643631177750933246543984251743882867428932424111234290712135142132638180071520483746477773179972028076658000185882943204046475560401355358837637773210861408192608587612223021601489793208952947577328344032644414188168623778108794085733099693966033742412443223261857985337429459886876777123507550466710330715225081522404422259408431714051696044731429801974283037875938692827969344510186382542097756692489221994723568461542347350807230196633508018313739960289327480067996144277617859179542936409636319506275047003789416191314854869125087708776025973204366938750984934264328397584280084302690741635710261234936495272830283683213682703843626686975485772372249779569617039804248778891472281678613883711899373023282690483239808066725323522463242818038377772448079639565317118707758332134947467506329709286996459779185478067189594641025455606921027347734336429124988544178508775157123383444320316165611688117811274364666520664534355226214646216311439460292816856788631765434566170747272194130236459831107387228745912816100755222802860009616443211034266039954361827669510880831955764008734166829145017779802043412909152353158844100658861467497878917604443126349135885210752718657462946218121935719968703432587946811875379933842834927205271888808342309737895985623537305563167408790318035077289134983277104724060128970734935525893045853231742201039724953366546300710344449073877538278872552565941668955520798348173880147922658872001668781842454444396952464543617246920280513037948713267806180077398261806070587907838933309129821354850234080340000157283302109555034040011129141400531206074715052964619865641897061647309604945847410113326531296698340111245797347828866239930276503170339798217741043344829086191866364970458594156767393452545092732293979196795388401840930455416651068390203076918611918929792913646459808234295328455640563876599438437369858862229654557916720911415441965806944228358380319861835777946243808674039448247997073709803450578253792528618360538612872635728245709302589953835954852574978330590671256361552893403323898523511599081251221280760056182592572275528911704250278464117415015587748821563981825081971178764478691439604239558396631157582876681353298117555072219652424026173986679959645139779755018481581456150612276309803792601204439297068983547458317610344152609407840359371162801294868335152236252672557113765518896462007819913102285062914671076881459369587559076910074114083326530937632886388360655819655767986272712299093694296722281101129358370917404508520508393867198338628114742953103643670541298910365189183678238481205401746632370943651535939772846886258217885901968481658423662311359658206366678847576960943306041274347883645733160723521965540461764651754749784391969731484355881717513340859072946869396285273423635840738120350524011354872419058755566832330139225878406264789907143218347353646770187008784382587946353704451344100009574873647226488425130704053683193688333356003654833450895699790264294483834276052369597157852652120789656429154859545237215873075770320431263960101971019398553338732429129246532062781416556058709873383873202874183447097660453787941070621248625947533025140383186285848719028600219638287414348855821039903940168033712171259423550540966524838092166029395862339752439325494744212791540742321032191830651892097520288932147286377186777795820298803428023740166346733115184516516724457472112875584566572039643902689285960963178890371467936636636521754877523009799545645647008105071789123503104904979679032165386055668289527889361715414950268757794098355006991543449376523434883322956232106188492550359641633777798101019962609463051529243650892255634732541376571282144173938850237357890416134598663657137417918590928824101432483326162388904426531458934649378817072517826462418233002759366636809347899723170467963600213693389941588013868747823991851259855455591310545765226663617337343186814395065422271982954888954939887379207149836694595138132252208150001842303516911464931655013155083901956238346082270065843882036524863226947179178865434806841639239664153559787978040958020343745678334134091086125445222196787702296349877134815425202365664574877793190273359990066010504195896234074993283988874424225503805246643244884865490619063455980449104574722887240218371327373388857456358483899464326924381769615099098048418935263746434756623024705655146690775820390358591862574517915422547081444950066520882899757934099047631470427161719316277269912907321973428282202346645756385409418778600448231947682227301475813487767625121853649208350249755408751905816922845754793613408167153651669541350316806116774198553704616617497386788048630259218116690583390340452149899780956939536435212326981566325132872968445110019021277720460561823752781131821394852266522127106283475653065277589206093499036298720559877483204549127382526794341830515198547178856404844790018436818787723765991506143170840467162056902406731831475094240440057730896761967478757955904595404098111259291108620725495910802237014892361914258850860190270571563177022290999757190057106897895360154729510411334861386763660694249686425920669569211937199897311024780257974901816748102600153808976455448372254116017064493963846037644299037419383706199049108596025129345982184073019457568086155345964817169227650767772859267631819970450266943485277587033922534651635628514122934215033337554091149957590754286249702393191706235450853507003275119463828440712027342749188623213259726682362096269411216572372639878597180624821955723566729548727919992006684696876569586529639320699362159410959534152752918889265948740349237595296554042262257942961383048875411204731778160447763136915872393608969930982533293602248553797699114720030487951680514461632639678597976898040995873289887204782310845915057037492043547422421990666654649687068751988627933540989604330843170838402894303246368524631677953356678471320053048723807382230106796893393684962416449253046571510909797612391918324948509617307895935780660388850658818415638728375188906412563870513594610318372395621741137649251157470266078099719010311161315794202962964465727702627994404993687940820202198472553604357533685201601945611809602305661354448645879994595818735984877602372400728621951965760706955051291838166060167341500882471355046348880270203900343301317784697334892642710484654436446074720728042646324742428277750657137529603377450183959949501146775103849315482917010879432440780350579410815962861883026770622217259258451810913553318696259656095472618999018043882194367190695611844437392386382956051299093782993779368808123174352111764565034584155691419176218874951773183249994626337966333627064698334462792529696047483113767384043715146462747628662600762282009371147336921635731221155084304569720379241599568266702804802957261674175896078104084477817719358769577764307849479836465301580513900289887255531494889754520959978880199822245449355244391178788285633489660614428500992189784133481851891401963543074290751835106409822512915671217042087554642933626917636438894053175560563841699538590847707549833109856524543771034724565442015572383378816250903654357756501555378810773088119596656702694347393502034260234750827944141295735640825868401398622056281682977434903695813606407602631085299014086720122277964823620480964141657996274235103105108802625537443316314552009754348310327189449931185367919843392043599933498637700094825794537805664701035164421627429832245169989138775526836448835023112886012707640488741013457327954804367029290622957132117728435426146714109387578073663684122667359769870837211202701849791307154274563957998830053185249760970487777459495485086150181087069517830327686842191763341072583248871365037067616981579286895344720867240681462885675122944954184110922079312078212803988503768432126927745140977105449434220331977879460363992136612411331745439423418599392151166897191867118534906186895547644086598984344623567233929697826240399664412911328958981236087106997006902379409436994100478855835742209168873167491540018401047175515157220771128869510150395716809166507711118262525797664739009873959412513314508510854756303760480001305413467304896144615282985336929734290593295142022494836162437136686824435768565482199520490096534506067398391591507965794305861444668613539654663625489678322301091942960280314505525342988660288383232102826350184382665423093093278064971013292894890976728225885356282532244204220243080644741122120145611219606985276883833132772780571615223037435743432410061393179949825399236136191846063805593599647546487541947535559554273453699758491725688477573161526023003837860786264637943483096582402930704219381492713454144494807294274441203429444893981166536042811889918657699951116974133502019642566111189339260607483566630382541220945379222751657096400945687733214714906240598990353639538475596183039744524536011188206278518582840014440158911714647778476932583599112628909362058516916526185686939977765416861858097022982507785329653551059098923312988530499460171880803240193428792554828657151386296817238935154935593551655248959554595247968892167814996623873869520971299496545468302528694945665316807530554111231666585998431722762343435653504951396368933159340947512008857796180506242256115299869821696935499255220970010222224148573257079043405954619378672824269108726541420306317505924469933639737695546090018708798812358295232971833668501735601817762386944688286053346661337831874938292080008664077770096315675928477649124202095150340202643976920723077025469150165882012988922360570770774869679701975434057915237591773271442240594793816419087165747527945161526523505513167516199568209627057017959453286778807046602856565278023339033121082104182685331945084315640243458332694784822677829462351006545681795249329634892742007380208865700683487128834861012626533818098006408767385059254988337684216386635562612650351092052188512651289186550688298141020624611572647185422052756035806836729040965660042199199989595427959349830385304947516101432470328571807429504055400851932259901369459810517373783754025893971608494586558755331290951899518873412821123871935356431844115119787925311381168818388680411024691777955293372800040679242720808263037028129510500179069583815840129568102657558568167655305602469190000466679656232550192645074804727827239100859737782769345151277926703240055395139970731284468875356128062584974515598228782848445308237782584597020556699005399469260740284848992178136975468036445050995608730283636050465102666793853119064826841876054619788998349040648628990890871298400398423807776558679806943611846769481261645858347450473664819467564509425914746483221464050940889794851215658992247720992780241597266802350394096962256162611631054093364302223722807600942747307383757263866444480317184398142944037551918182660364911291363515034925106881264842834728549279368924860087832272339638748014251264762879848507610426552503553736087069494894935278065920399241648085110216459371177359560643029843723508951359562787030128184415680416408004691632088076102898311689339425579204929614060836698796993071753758924097732038912191686184788034109018743080913162592392697346713629449209921007237223255870567095546441689556152303168085650902403409164898606575638773125428119530443069161062479888374536428387273242675756416668837183922105644372907870184277536588556421677478150756776755528403611522289039623409565686451088697096873438940546006006009908862954075254449809554242008188259114936685327810483001907336220303966739308115427894505683533034703593828729859153987274032932744101911019971600788545201049040972841772172007996978277581672328618949460601175364880362614562829866459427504090034763182633764155206917960326092295228514036243477160839823221682734425122137586844747790237402168867573133087219758215642291910703792542393001689855979334670130153089997071188832784407571588133213998816481671521707775308845238981705959186888746344403442534065341755207932809627847041218698606302126160762336779287865173251898744798755357773027817441236261914288206932982498171281143937036591666629271258566116325046473953219894760076577681786338684682119421675751428000129787653297358460627399453202604599063440606742222294571438861874381700042424468005275929309703805884004160072379027484342777934527264661764779868610421123027447565410831016096327510143107634414556545877520274195644633638609982141574281399144798437474618372326719793641241601769055779337522230911459655306280747451946331378535055761810150423780287817131890294821931615102585443957209759916190090994630032312525916755437929254881381238606280560552813377816858996336074818862039469345006445282596919103845058299985342283242686941433962422375730986872994559440034616396809367878603032350359684885360073141561497707163641356064517172766026191947238076037727890848572020737760486097073871518162958225974080292004598611597779794514269412538153385858100102924090603532296450723409813481573376441632775449353052790283989852177782502497589496033727819900346937770887604312361885538660008490185863645058171810220820206548939825035134406627338593295016386187933464989911425894514010816018752247243478926734172939494288119987037490108611300102252215531030378626734728776057643816769721874940089066950586283881631658106881931177862617232068700457355798147527332808534916554718114971601048608352563367249222293296602716474515901195856803107775921501528361623791484245034311794331763921347021724526430719025612567599538987891844256212414962635559984508635937628100747631131293129817535421852311437131785996156998426042429124081818657928929407280440624039404366488616594484332421848148436712633646627652457334072029128377891481384187964099071588662879285557400770491992636015722518699807361498917750039267669915575042371003842873894157565955309718288888933290026333976478261093584967799184285522967511510295632093913674075907865317399319141744538263324013623422709145212043926538476532841669742317135712699290513595503759007799274713077387715330153527673378896255847723658526942265728646781275270822485840556322524799308350896178309448587340323700046145398787962586068599574514013564941565819328832528841518669369780683332171755156130996786016373274004060160293347251063885677744229761462231605042503455621807362703943874998196376457530435391347108167429858914769560088440837865106360078137905414041641790884376625914245689971709934428059861256717910098133886066043218730846002479847238579064780198661360763570830680509519740801823288069771191151250061351848508418388579103005120187270604412091964169410726493242438850205708923441936681539027922099525477316676942876133260348785577957019457492949441656274422841619193164289188709622470286863545294365727196974790882914787784897749112507563648158746772601260124742900948898137157277325604147909101199930641613554426069210380650454043098855019173344588666802021249970998247905026333163370901309082699175458281969793270869459713624850981567544417224756303200807157083378293433962278303165470572709185750998308326915892331826451363239680362514905830759361839070389101101617282172888445792265303736202033264905117652416713989984331721112050448820950492099450418598124435518460477778947291876920217017998859052102690413081401469821054838452251932672489959121683589985445543694059206084658582862843780803376660162053398595829902410858264498943317757243046644690264667556130554372014505431074832227483341829132440153235649761343598269568698976129756902641569076084904551508944397128956138478110883782068121600262250279943783495353926382283932055963423140678544054881667346927116959260276922970227919341280290701150577687723682697141019397562797526949461803586642696208262598278919475898339548674304869051535945587029087303129541915533134950339914501620238720395148057743833527889036096532561500980177232754863188687244058405917444754511410167041811840595223367811534094265724862475946888461234878695286728598088006911557886097125714114827261644572128313306770581067007393978681005369317141893339745251760347117935483523881428508673116721912079677370015272864802616739047638732985025382033796465076033972663383034999132074442734011528438108377999763283127062703671712741768430360834203266856830274586994309608850335411539246282937259249453374330837893403877198525529279844828281975149527702020184656513257360419457612454220213552728398816325184418862167552399686109583045526901531472632088957899940536283337593299351844361707400922821842726735588503505382240105284065151555750325983113693965939484117089862262071574684702159377780422225655778293670823887442905258515087125411456013687543418922537507137575807863801184061610683698199679330513441487674652812923301172147222867219623673937833852354500315284291690417897495450994416270720446902400616718244879774182346669527131137466368568676483211110730513106015033794209901596246578077305394792304258395472378271432372931480634410302556769727705625649217679814220931514719445499401616612569281961459654648540339545101107500729365160107642749129139101233346775886662446448339295491763149198089449525145330463386121820672013166643379747855138628409860818346646157186106241518707972056499953945859522351998879167592314965382834782628800255521723687142113111264873775320252714892057660488856789564031567204621802938174211078997163592485908375538873769679842264174163036853190368013544674037399680639417229675461611255479771043768899590077809730442555170749153684510915804863364693712358241509289816101046798182096864830304817238034706362248686380531207480010305094612102673555946342125773842908850662197723301854146006029562002715036069469965717335099612581670473252113368427162780740090388047042766197119649186322545742529844959837706468813347149912236695645602369860454775546110182932175099593890758435590763695871973956570541004349866922717391597483955389952800510510249688464544260165763362402279099385315687332698747087315557655129349263452881478399903162139791800817133243370401204794434606865095092483142443480383365270997933706271047760885973440835815968192014237012805582904798597058244406218011223581864828391068044244719516665349323623149190904421066483943728697383716363669437189808141204722333957226330861222392291403259485097982144494769976282143187815350698538531668558128491093150708975801427428571076910087461302049734564496241197128121178984137889779224605579397703692817986718890435359926968334987710409654814920017259787414484903886185556721419524491434242702546022699358195729187110808172120785673512422318616616847177882591281124231441784823355888571725014611570598283589777352437984472449721702568219313348770112321320855473788093107849303808365853521394713611841715337044285984194016616062371322322920504596655903161617804551100549734376901339412594686907070971552498558558737185894417460691725185942704944136469832637718940769133762888159160640416040392546752118284001226936623029245026353691966532616048402361098465139683635488380966597595453795286118167747041204756034885579478500027090879463003427896314558063932752343760445007754044984402955220743376960787012117194849840828397858950330054658047193591778444325406836631018787188288707031333634892742790777004992423145722166551792499520505156273431542216886788070974293768335266349916183264977204544305462853714709563824881659065937166001180734238205554756121838724068196373964643519300614233589238137458267069837196142074064242163908186798441438215485050505355501824396631851426181224180366497040623443317209971987095977975467863354288894036869287549707287626343717590409523958630557231684154771982157635350884722392011943597369993631683743368507288462327120333988963200284024829298861815166341854148083072266021979291436480081285487940311183296022008917421098915603105114764122766530219897854709043737277581152281860993510867717758557410047485636063581330483666009714460846008292816546693520516613303656703072589061059502256248188721713086905405032263346231738148351193605537346656901251524074676351583799156714169935751625878906839311341304255636459459156322969327619400911548369711389419996051433558761856216405416123782103083446452461427959879099533323889265480601003386904035628250983575812009163828210395374011312094112746079993325852931058841827379530852286363219536969507030236966862374838615697634004491878698620331534843595753179699056362969676038359612619058145407621902115011614071885530573740007236585649784681574829495485144572170236511911158298050013567350375502707924047072038093782184712623574002799467931004559861402008541695777211898658576510994449611099916104937864438360703966275552550767202333750636217522667223281780258940949917981286658165590365893889678476094599811883260271432006071325307369316297331652254586491444843635993825883945715400461326868825704112584764441030080928829089260411470618900666267385021807704026227590178311570258825113527604615630143406891447316949892345070739494373332103989842066283674303141491841219410737042937944593744433145941659974729924574990902366797948528957254359709969139153122855573581564681080052597850471828868191371556924330220262933412586578993569584129115627976523543915106496109389582133032653185880337546812405163826607669209291153289826621407046774465286710479939495870745347943899956516169234417006924175832964629154267079937749093527956365235931331436651306546689802667051540568206160716400544819379381473843951267027335797882380170272339795197784544008195118697173128506037883638509898013517720258290749199906528280823101271877612126414267608909036760603298729683530458189207704304852162494390913534292359434074490319059167974987260907862876476955276584286688068620460104936892562982335831191002113971336071558656770237954496209423975495189831629309690477136596873539778987903242810136621353879678857196788803011983424950663808098344153165549468637222090677580298709790980863776790455097121583927604102507618099917461362523918291750560243141847533776138618234307481427169718399352936959829217829265155775703562628482153289006232861317554056682956154677702650024918132592522300107652190891004567554493448967752104174666139529487000727924150775224002929910406323100616807719030109541522115887773941486971353869317855280274813293141706865102745971154693679595312347012715272951403372402133023012563096291811413341945957564784090791225991279821623608621070908929373741685510032577426396792181875315618732208852475480569341146661485887162761919175819032999085484746692890434825658381683607656822905959408963388188809657834345197246149579495619238707205385105077902696304824702945843886412116856311296168589783928465813800777321905847501805275648621317287231629582340504886505269212609874829517510792235384666102955719257829647457227778150676988695506004816039586273076001500760324545509764982449426719190506068468594040629281402931571291277630598373342837965353322087052529524843023720265467670886872789318249470486550810014678880752781787298248733447482553775310748708458389366488504264884347555142452454789967616530533210029240755028725443585556543222569091718446198550782171524008588798635696112168537760495117317330044645440991188371832818977371304889006970905013476532645858807538771957979916396761669956524075078166016781772633139551658194842551065668544218121206768490101036423556162844626103513093031915308380948663501692744807986243147278671181525390378031299886950221317741982113575071620672202606723017514227218165178688277218799190799046833002364203160950511132065088164186534488967614255362906986993091088796844892706455572306025057228431037372864858579631922535817637203539303200222694962428464850910850500609208882676760585247807214593033767228855446351179847507012507563275594412977859371244167558784678419509882612707337246849501519683506950341000445450242419041117019972167016310586695979520456986222146560175496004466876608824764317087279593594554586640216968784535978388334142164034426113109206824213444531477608245290185022993855903771891243504594848697209410254321377951311934722907137552835748798483590518488246876191248306530461663206467057902556983365022815324567838891130303158532753012832323107712523790818815846837101001836426667084761554068381929530262688718802825076713281051695275679681429747818135279221706825000437930765684178550979344472075092396250429731369548678838545817182445276521418475609186090654942639970240994947941623871200974145344132272650626139990791001834830265455447034736268483927175004373942102971713417256528208517895465033722232488453385640703323682605310082411791193641770133001626671923082809826569911170313063915235686519079677049254141024990988974304571222647404578062494160466379201882086596503430878430774456864232971039725732389137520789181887081446289054643757496973608966630510603774367798418610203901764567988033435673114642595444005266010558546196904488069837858989014502106434478600322650587683965309789958230228400223167546087695888017266598677088820686939378372826769822336064585856921273948681100556760056247682330882218203903447475473293946857349863115525921749182870138458340639510107825810216108447816948865651679234591850394246569587907663913190626294626111695543658483687130410268288212370173452969113925076539259438928490366997871392392583741753603884561459799749211417009530973878091095403756689593433755131540061630248849510817763129282576950733098988141735431337036931123777734736950463601678584562482306314809211207908466664385621976144466090808883107684108234006023434989255421068247062095993096752034765974107685133867588396539209281652525089145063201701530535199735789996834659244155175701365602282310042705220871420412169328270789161064454526529907831609567033197131540827793956266762118236924065095546977264804774765454670022766310751196439997090700337144014394826832716981179259181498486907908411666905290729408594324792376754963074365865202526215005023207184567332706783187454358996933455847217121733116349943952067870557339973609815736202067888277547049170544057884141015647024402025088893411275118843546970019485033860124158060196427652647371657364443232724686918097892223739757873456537440139308273336037498744644803394073998792410924844982793829887094341378981984240294600579452233754933552123954917467990404068756806139301179150995445790171147962425176921071745239238647693140652605349736727685407568650587211939529766697810714134935710281813432551872098013014702531126107305279058292697514743516378268686164751537342745492521767732536985712478123761310152958058250624009724962856956695542388217491385052282211471652489369012704584163369064014341916932296557990692085609167455331493802007376369123412385844158853646728866133976582556817908107297070422586753761044141971228551742855401058988615797300349501923320052833496654573820749720125595954352153460561161738977658111936493493943427173147446312241158773523121783907744594926066937696688783041557405490960291884147941824305222618389993633124611629360637799809338291816819058097143223432559839546600445070360910485961866631804806671458609674736687998265420224289769543601435248758884740357910589168958712839188474243787899835407014453532818028700401747235300922663184765619041859428955134313876358676914978780245834167557527915989583317652929497930139399542624114871948726542758200925828500965706728441632418387110094732429225736405680272559716408779081407087475041840405897801059842566613249976161892141170755777087160332336362110769658807076063298246015678652844354262184352096594797983538036108365078162862661293744862812335208926524373769622897808504522971654396577585107036615358504410672999700349868086865749218531009012982658842710987459449612730593983099069170305129549421914238129065640773566579061944263796810179851267043735796001443606580886763813012941781126579895804182341298267788411675840496221996354105312633605021621859195484926925994997854340358464959912268689404412867553716422332394602217596649605477024157108145120364325776968255986193034365030065674922766175387084599313513056525796490223385891063362621444277465070127300388629358314449617539167749689376330808351218142599977542282625951105129018761597733820627247158839046189001804472659679911628347995608866596542273430388734936529708568481666418590038096256757438284315024646489280816902251665134204800555993737407802679998965332775690988993917677423040637583716366753792041501412700791752921818094171460887589634128370870179463298216210904609814529563903804344853625703301191907226574890302073483279194039446697369291471256885228484648657238347071612708649476550423652078415023933874527987780076810590258129786913186742464759690062392416021034136408942563302610569662712871119485897369444374784512850547809172704294708726717935067447773462886257755208920777417019386528310759411610193031959591977740866627148616268388283599583344484599491785862278995786608881457255731856192636499835865463708965328978644196853650108498375671626422163737965670438642363561301060008615054789942202731888205888705231293428677149117730354846583322500217517740125326844917956218672975892929048909021978580860298286956078624800598836164075194187050427961608823462163997590768277680639172681174626921826235076929660512681109433499556898692864702144907296765521120827132760263496948341037732264479391120053736726675188035896980476378347085938506516159873067929662213317688025521154796622412141168695521974381282570776616317459186382522394004260436721313921002731149002460405001319651697260027209995648537791102917143242439860099789313077941255661960731197985632444772912941991754397627718028181006819056120556317219631054770655517546681177382458660859672194939539504236766369774977859357270711958441538332576523380564310194205839424307851023329583288203299188431026982638764776869625155619083949667949328116728592408151078526538177256964715236196165543873360891030486529043314718584648496330385880450877839025859944761995969095922116051938549683157446390003792190814189602358426360786850840224177864316687764190614031170295849270647312134144565031795203857755151825058434553136168374707508847962711439807810615279433983748198238204256637667328000995724814778022683175889048397440928021470606522449982069174007963546311029602221016443841952060895107006176088698513343344522562747081455775381727211447416068677779812295151923133970458562468931721463491305921754789706391092762162963942861835886821714600812035424230114178689664184121570585745349763666514174536611978301175517152837814759012084530797426699048184654713774474118299510556634461446822930125840334330579809973282351852010368940280191619418042948478274149426754787914014322400036756750742869487549556473648807622732777753561170008935295697263875381767083551739829970791168268300613029450253756606171440102787278838057361438003040701137820875039467378330264125956793839187820541283538787041330357775338287144481577700877678946243029811870784854469542553953748487618858635678296733079470045769848611384465272914881914793648397615670226184589259536993698435635756987488032071052177202686829723405688815545032171342554050828031389994171058776733305724860847478869887993633088225326919495974453395937147126743018925412192897300574154424841944258680727478621734771618590281980860567884416558860527395957679928323215637041337627654402531237326046690345351619844661244030708284339655580031579181251272869885506440882086670947083610343557685390112699666873196889998578141464346436981464015763164542151083881757758938185886114247341556016223872880665273401772849657134684785818116695931804942080159377861662976461064428600085588786479815581498429333131351094542848046611273657708925647508267110302492510259186078870622707364341799199855544226010882190527793009417040779092531310855940160210076912315273881702912481625323752977599314309093827095049718379904050398542082872176045540457422753599874364186653118636751903324578771600762392365106701793643175326483840612604623629393989484876330473578409906773090918901667238258057371111568445147026102466561225584340684392550384508371571589012313599265867332164157708334300700171951918188619177378274133978428035804545359674781251960339761804444966413888681189400321869319152646915020476748883339869265452681077875560866786569184031985306315023533171254198294218622889936074168554721318029233884967674430826996110544105864046125771230042781914714494416115992603314440510415640385981139438973785949374251103741386789755819891557866144682029097784620152236877045126846143885664764043956524266190000309578782124975157239064333579626884574491311942882504955353532621689051284799291465942969158200872450692369638326282675603834458601047791712319516238582170461076110048069344400934435418882731294196319374161120788101797245916630108713402941146735785352033139622931140322866052507691836213752761331803851590272302445137797127127064703050968102865722925514215552893727853421288041723235017849933599678862859979132319061957956086600828822285157268116309718491094030241308815182414161768382066985161399156139481076009660503861277696775155454542610140110483788531755034509315648276855543338285435587898791518484756311591817761596681842148492336791360661988852840785725177268456907743297753094121140348197756431536833494532605625102910590438939927103564702767321645182839703387221809993114316796911086318558612094527465077474442086118077564872475550077127449664205423172269837096724176262475482054699243353340529001599553809607536341557202292268366258467882467639011371759143991560524855493357186011383667117691218909187626587773708285877681472015872280719902408509087302260519592068018482829991346125493398437893468703191450440412690082858859643449787730599215455547913050785645572674461372381612809806220447970992709713723614518013906628024688601222307571769333037239697016973217724475110822083336952713482616544577844576053228862177919802763738390761397296925966998448311974689365666500973536265044087369854187734639565753253030769889807826028347249460129187053528939602274938341199940222208104910985411530459973292833923894318523298550349377005016493319587438144600967198627732233492842011225397445700701175472912624183537209029703764835279344311411867557287931782581582988098493697548230059606037571837975517023403629445219297927040752218410264064354582289128668102305460738212834491754367738293018424857870102362499997323008375299309169762742361554049561284093182266772650041112706919291340228069045574728373688473701050299418466420308706048576991107801314911876109601713375450817796921693460779526092302720320423694286837983554225259084498568999095738935774158005503300851155259071606063961216427016290670906281049457947308141074945480922761889204550750857663248945799847745119327791849923773007849335919368142775058762085297971213001117882749306948044378106394847673804584097353003585979561956217368591763980223125207179570102085982900771322916362885616984545291696782855345372238720008481900662239121369924108468376444262019198807358018552214920413269549145076898418444647817610095117659970269481955521587883059533857761544513213971893535732415373079871676772286462104352721744979600650877057200124943864720714566681991692147757713019565322922644150085615170711180417446598009694081633499522055904478741934668337592839186979039285513959693154275559812884665013032295878789234904030881930656288313623257777701808230211192281619485865358695330137728070611447836332685162493313441930422082968803752296325556004948383862343572438743645334954679470984933921293421718389633335032281221501486168468346527698239548890276462344639277747468764661504867466540750414153440210722767698326548320538588461444621148133852928094359244464183236912867328010891284933762018180388162332091374290399616399539924479895644034538789772338095571269544522990108159590585073464907183516160514964969797616570632947050369993882078818679662044924832859602138889527039818749573507736022145639137290748922497661802828164129738730216486511445928432879464679427152806421220460597733300816808173853885053315016323017430799964725003604091616141120342631255379042170467905207313928790236856279486753711435300519976674042045218969716699514826848830355844129361976675761116609152860583608919131774424768077914100398057668876658484576398071471816404494536784172554249314617894445601781900141210044998030934802169623783038513727223793945595339437242218080298076474775883381797585860835509680757120405936283810667039596967387110122074408291104806886787601919282071806389955788292823073896897482518700082533734795354891675336817747564200135307633126596737012937204679535075253157925541737784066284727479038570379991451593345580352234548903034698043975417193929445138628805609343096191518055789813266204821335945153358581365848300570058792004068858149499038884622284029582936288751456634851007604136467907787065151992265562708957481658972427237739409251849145798665142904684405999261210037175555978139561570389847607452975164771483150094251689746549890994544444581639724665874405065453836859977386739705423300146079724728567796435053460127173884197962673983847734975713237959987050240578349889543586172903935800054101787442372461324367750012247662568715070717876950500526542996215232694605536908268596657774862597120716426497894494347213089806105627420968105782072423207468934386924624554623548284117314870832439787736819883195263975599523349357166737424613071333416419018461471352321294766411098772845042963007231423070420045108039411455692340820648847676149254839369126412247615992872114928260249783473312929601557121862045091202220653232806263515302886238151540792388479295729283381523188614927581357534114930972526980022575885756049551053055216066525634729485815299042298717731462864532080365678132554724761748344851335031723710642579884182140478016921217052211226275372725659151127996421400691207955231951617149586395581008564429555397617784692495966993715311776375294362489648105209693777224497522623082639181668892770286374500658462730632124414290827032810350747359101208397443202402000584728878278191944727377305952089623812294046134452698160943557352539191367906651709362187955889440026716042790699937105339534036253521176404892784211727563160740147516880203196738216902224794175779541092700600277899175151350907448987554725392678672371026372620514175321709549592300829317042780356932367847130452654104034875656572979744664727540127583422524442012211751018020703665785476102647855942137127901693443663960737723712993970556388686716366599407109363905828975905114026533980671760807087244189914646885655299601385446643812141939306677186168826452125408654852837455682162994451823153780296840413642737133673439642269254861799362773365905252091602262451769449862706950402798666321120597217213047139000140931538155575061184084034903718048323398965603067079525420855661981599738074241154963802023846491884434372891411389045532463708390008571157976395086942913624163617574355622155938481312065621337186833528709576113573116244528483141868828120456929471215168955647245696034656498263201822114782808331901471261053129684685840572834328820817612493673235895377342591863603009221704656375017044692632621628731904006340244361098652470786621714393839848319436973180339740349221451251703074139638879826859335974830195794483667188646790528218018966033793308117039557956814108824858477110248984561334451371733753623702829090637011274935939069710981535104689080118247275125219893284671529582535139707876927888429411553680427526569835560948368643899188608052343865416478525706117723537745731471944410603461932093492678381519710561180211795932981882910056930841396010165016250373041782757533005270037264801120720595026190341765801075002906833567052954095249448627223669952413498246929864949449177924782468783218555962395700356930419034311998348380786531149064252191019497283025439540623781590603108822771829673758377110277412483641467011514357749785424448258827125348249518134490521186335971566937474301793353882045752457849022464399673538926552994587172483590374169094995310382524454010059339214715726844341882149216580326488220825686849135939674823993181724304258600464673919510889681311649277581866341090652952255883559524692218045733005959274731471538852039574672046720734694208542282847116817356664407804776282594430765298699770367894277729987323010537791430488673834451876059373258577400346449694039064415672909172216208976198715719158313988121773201153652017994996013418850675981440613071039840655028075862790523640833467491599881584013818561151815624261418887832644743586815623146990546028874215042609632810054420762793914042765175932035148297538164723188585830324630603552988174570297977169697968439224406796454143530075297498565976095152105672619634069409346177263173680698091928422387314950455298648306439431503015103168490927709910895866542107563019593580197959663846505515118539821528181190056788723468436151600339925043036852040367063142088921678851860947356020296574571450902627304925697795566891189119825135092446392810765542669708957687654206655011011691031036481169535177375953407630160269732159383743447007489987203116408051384645364006278138796716462222367917653650564961432169998439253324721776267994565018832883251530156515003688433343092245550174041056701709739309080444639412450308587191124763162264079478969547670183626199007666489682749967630042537209676821936669962022633417994642280091529983829650399364377658482729349780259766122654605247047217483410834311001030725984197175545081485822156867940983622999413937749359292507920262218332034408662100194009090790577753935131794626395352066491837292745059438811532134640858617784500869695975524958009558326236303127548928297313618321158830451129529185923772234248889067904096204908469085285776279976234193197112674747371352514916351940116014752117996808930197783987499948331285209974842237603425546509157922105619066283914984853465141995478734450316571357310959499171996424926133072982807617386730702284584582193545490339018344424517135490898490894949906618560332705030650183310219821847521976216854716697626361630022199903465377020631213991847947774209490001230106730520959506356130886954604827602766529265566450470523394849571719749586194850829466273157344858659687204284484835062446265979958379810497818764505996354898768029779023636964361585832746295989881523441374037440179002063217789245598966740476346352139912361780566045933876518875334619502638022068977155967458583692670825738812101440936981350733089554766636798620705204975984092291169703518858045285234588425445455855581820955182571170393839536325728414491223834329115292477508403690396262942968481772956813294587500351667085688468520290058638667644394007293287725893629639928377982778730217284210209767099088057579679642864946221437219581801818387554634771813989615111803562999943858949608211174144421853416069877576002518506557535915556462919349956677214960319516223350354298824467707725951247650165975139188505909881441842905396696111644649454192282962979048346023523729103469984779056117313083955639642475303265855504038251839046985050455548139328912251168620682762213600344609383256756825444589374889334349952268926738855244548418959536534309179827016075425508535483608659355223705152044809475777164868209887215968519405499696785444385448001069695234241606202397350532936020432936727447913943544896254755853329258462352713145301377017344024629943570321840247463982961476430560250884990147789098851062284971147193226379080974638441390746323885925788391503389745143789382216705361528066851275518685338853738368519551010551147637634240484375623189372210100343301187157838550154308662646391961398525370919618809140768058413387538942253653613346595317174339278275741833247817877246243056310808297421188665519856509202516821817398466612690481687772366175680547607862014539935328386030526337144171620991395808242354153089436002617287416237041614340121111524655984673539914488078690029982204511814046439979209876318990626527813418745672115624149186245679512009405093949431223600386717038703522407833402726097244895810109045792958007573789380101950572949553558016680064127059768344822922886191993747602355320008519857840598522000382358416898158930586857590838376720115305933126005928256615339285455444066809382537701145405520722268558361057014295302251530466330135811724171566053835732805637964970292241878476196157834285368319817361459903399467737584761468012321221939131236203480658009115457252860883497326721648480516075434719815057925145763089620650448771830192953282877519121447575766181785528503114806323306443127712009321911542570030094393707083038461965713780741364458635152347931718998140801705430836702696054178124693744881927932449178525280760783478670959451047767836824794261730780200478362592540953353437207737230564148185668878963341834504138296407971946632211663328890288518149853293312122047951555471026866993530906872445301162730162375097406393216603177698147828656005764781590077323667856819312943987235894127412070117331151279882265726890295234374928072145705055764090718248468379853895031305907048158845149623269121926528338701804820746695512381360713826830307436287016466443235633570719759115614490595143839647762490934644987883963292970813055531685231031876936841060608582231359676237978611227604246205550018535189732687400975467483925110400602490751972360406532127232821214952306470982615901854543083422869336660784295337948040185571998747725742383890186435986311609143585345320081120302463589167593034357825209760162942476271824004728338199000030443106714316098140910633654893921114319166054626551793373490720561217041059097988562966571157780318230423539750505242484972929678543811022348238057410824006557447606863481539768523983449429271359157529067497129853540715817455410501805234691 : 5775147166220658576202467520134512431386038804734544106430724024711130032280264080473732825286005748033858083731008177205425759256507351379838471540354398583173174476902427231161285344805644219212290778680558622049242263309719290866785498890649119833594677000800524332612742915718284228246229411517529119601625160028979305714886370522870896783254853230541602823548990771278419673561773362490263522609548280880481727514948378888537343767869645166305350140796326977941954227506159974693442872903680709335097275834139016262941373569956066189325903239642908304138849536449733118714911791409283811701276409108131508090684422251929524214165498175117637369495306318139457881565982732078799990137232561697233273677438708655984630370297744975427892792269200173350888744496714659990543130215041870015211672221088589946152524307327373216623589971689627004707270933095983839730634201928024439677409985369873958848916050168718233300651956695490389507635383261887626392249945674080737764388049118177026645474579445798679820237404458722072986150233588852201338150989160862818324426830120225716678987728553146809483016038492012856484897742007363776502307208273275090346405906396066372979549265593168659153322325231530398643588617836487645637277870828294635911641186456843385176535210472419806879086802382172058489016725100677873147941498211377806112302549737949901499942699679187406366508703156636323099021478497637864297739090751501698191082513518857613648549553707467283082812962248842505736868025688299403965497557935337097767017824175454279255458194116272059000813115309340761183091366301382980105807204948504975508798377044593679027570784387376794017671288695483559422729302686572689466158042499752960106887990735052188236132531115070879279637090025818197438989828389299167464255121146051597323129795142778226633606675891819567589649944753322434797157254510884076209827809831694365708733577896473778150321462380180890848030892356813256048521389279516456587921439931008494896130289295757449110721893763030771129766241879390060215965040234052268362153054575592484583610463225830897218668327142263380571067833181747202132838081429086192117615915248215935090239175168283296182486745753894031881890531048087234395488846757367396052357770172103191737900584262877359364884244860750736306499374969171902735777988082678895032768733438619381555526294629861547467913293844962638485130487523755187704090088286041381300909925818779670401145924248340316241339431806117107775578379039638878242178736537635176121891961262227010034058894947940987367012755491246278209127485569969849736278175033812348429639835085355954953807539981419872942280465044610909715942291633732057040345398689539428432290651695799093639293503306873735022055257238471083786406660604355713788493206001964703819317313574531070111513079630917694020233267450785473466243850156798933871498443220292014417804011232213377691036561195865458916329630042975841366624745966793630901134478183246560674200503341170669488033769360291386124685314001167025686908293369384267677276756435024363845026406908692100779521314154581736209612652851280156033677592031407078898245636106417246708241333861746644499107336582822050207829170167047287079889992403014930103144601630642392839456488213322046487953167593104609256618913712559387962947079448515931256039376219071393982603922856229918258636194946396404783615801411365808316009508818885776346654516238974639479578309545191865438803077234344476368524486882136657539916450816633439437441621820951584399710775236559269301815394793847457369922973611755802173394114769172725460421391351571454808929275970663199261025538926290743044782223492291450394564946609963343821037684982745392095711757485768756937941140339388427602235755957559671941009188647315863753094112459006918762403353688804591330606295046403170584323198724917773206589344719098078220378685670941113305841446426891705690747951851981776046186356399433830573970375287828329374423459373900228078633881376450083979803536495594625531770980866278774717243929645096728347128033812801917050067464802962360100761085655679564525998181292243529613104961502731908328563320746752289487158423384973535960405400469394086893712868387142756120746029502990490119896817962037752861055997384236017376010901388669710441301534419336234830062395290044003999530912912799515094166960432214131192992460881213557663289418085583286458685577193804669897701236778775759431891622031820595869243757805195636270682928802361061618802722099392483864858483122854655130936571772736407472543496842095517544855113293339458349237982612654511962008979795126569133950680491875739430469331069115999131284485949845752607908554491230195480984705219994226042840008737959583771658876214409469781049742863435539721598587602010578839270302879572467289921220383650483986504418876614528826850988419965639730328702416995107891880435194084592131290138549631211246642369211979974975867127972037977652184536907284558060120924691685582624304796759171873865967370983156299807894267414496066234447298847718696274986519866694743474281035576719298363050474190503428729792553231716222591288100452112831623860006746373561566546869335430018848216213858098490351995448078518141132829451455121780225964546877758949731868983394566687483322952053734430049314841770075632643879489087431793079947885561853920003260683384651632887233879811827746360092873330343611859727265946329041933130943924173874871717186617982164310586592047667539417340682361742026753030950655672254307725262915215979229015209794339604035873056092361104004525972692296504127423579034137551912086068310101631066780970692470177759321364596431844808137279848318146710141480041460520443464990324604183923598330675233546848403516742364960375244062139176622140115070967995101867796310945180094101589622222306511964654093446430221510939680116427815600095969991568567076978051161361083337894134730503315803930257545125847544804278566934732460063219634404154610394829230014018490293406212626759953475027924569058970231812404134970307006740504663319785092538116728201125246400172569958305981499243837550378315581405371390576857044875968584045505924570527185272087904224688006076075411836550575335131992831578195069829225269513680472747152401318247020749935373037367424563694816872767640382505466865118149937267404142664701577648253372518915236672090486156008337249339626299302037066174560141957856908934117054146918331738869477216871672490416657814480688864004220094043773030851342548119266705224595620342790965306775985338893899030705612015880928400351147592673496981990468306372407976036885592026240437488592000666101354334599583846165966393142434723280882567698449448308248897940192153696018192630616245544370538689236067075188099931882980456808039763894760875296665809284305218579363237377962554128635290157694005024042487257163023503964052641682218061463721266936130249415799708312344695883086355220271554473594869113140670109208253006014839740195952070306953843625222367828171097678779258894657516145015556351844431807638448336348722150146732843394333712811534825209221589912791498150418337336520321212281498484841111459791046831221609591344177982162915563195792313352393631757317151938192423597349895406092293539892418484824162883529389515774457256017908282987110918507651583319677707160766700441878252058264707670490997654232822080417713160119069735452288765533443332165972831913214087494237060085712147672256842457767051804120322251570005264134828374249171005727958885192502278599930350527866034755543402710044073881006883164762134878344894967294422393641243301104820178760822965415171034784258570641412721126482068137526388351061483345743822357455248319012248417883497148613049181371188047671997325986247825212499323386982276842590971906874146479740523935959393465276401796087257999601781020184649187829425674622835619308771347668223016601694795667336571124329303607874985755273870710765205050384336662689358565370511240409438721757964880756369895492822202089023286188764488634416447770272637022539127970713286937945418816165905135090301249759965402989072881892794133270392243787626126272707186260957748010624815659317650381526364351045240928934013625092886411034108665861012100296322653343572452553740263951897340426183326870904533592615179824308216183380729819411319326543647099976673568183330895664603865203010306538130215785087144751985215893664741892035306990556846401085361280003195277515526323629624097903318064784291814668719874924135671091937553618741227954248130852088115170470446895863523286208767332286820469105848751328615821880587539286705153923427894425865418231072142038776935181139106289074794665218015287977275123512103393227491713522507707112800927119679851995230655821867941028581171812170468516858722070067546896932811844821899257781563068745372591907082925135067655176650122726047512632232566526643046037187699081765142181839548498787230988921811573638879852914056786724932417191437151237826143483722680520482638002956358681804205584557292639910373558067404544474574621700877674272368209074231964246892865532931557266047902113990733385053088808749949984739195345878792220465853900709993232551192844288558294098407242179324636907728131069960014623054990787825880236843476576708914550799552738153023225018730170360310598219114668953862910742023178970676541439473834437928399742421236559639488122595359867253636924920583676645254172873769885091515447185544231747742439416921770631464898556161058370263176241878436396427142823731943886225470295360271574259422197051407100290559748311327899045681298411101111303786365813751274731033007622593617455437999159411016898364466258577339801985081409539645206015632788480014107604541890776578706504518834119423568586604689736680252172900274073811712665041875398181754313865220996003242666720200976653026202117087718149711229869524271278732608538151841454658196603875563102709306068362709081670999634344593270892607683579993001137940728697167082266148229743345157352618416541256429405874430464673426240351591615188302533864174145440688352811210498102790444906973866102193232855547947710752036335430534733980975091620307017955760066621374654260704812378012798778881421884620774368981667990953552796354336432692441111911081658686840296621264157288701741026891427948571176836769071239800614964955974767286678570184871554263372283924672239608337048417238559729337447574059219938140853013764637960949543324227508835426403491994717681882532040028134655616640673681692658045581854590543466714385703143951632595189799781048447887525867812500670754275030975584238458925077870948255161581141218562845295973370973328928407157249597543175660165257028758490792464860227470225010487136443276634787740384146025340741730502874788750707687970391241299001286477060699140915976232263601050356908714442760662412814082518761222733514134540002869315911297592217646763473699115815222697621168383186573064510579933586672235615226238179202482386743677826154224519033058171322365833681138674968504555291870761388409975790769724891306196780277798217104571304720169604571329016074153656321703240447212690781237205493570067257300307876942209677250619783790301788706428472722119618077620728647991424661490882575614314693392825771846289698127514278451137261651295271009198146181437035467279780870747772646872798565991248407975449259328312192903520369410162551334707270642043207047509224669307814098250947207347688867741995924530198336872912024907238710637313860539270638838737691932879076766010056363949649871525051527578263635505472403348706178322086765359302694434719013785298538786545232629811023263605821348688868637703593462643470013458312522539876531122075795229627452292592018480865794725664551834821015508420174361776588283320194303214124869352775169397960801625266821358196697382682679264662490845971416385986324354421242994596378787720030932509356781735233810782782299322449644486260872026611359999034252424355441752066809719219885601791335675483182203675933251896180076334895746890930556678738671060517993622680233477768086344510785349369861396527967036093386143443115863376993166571535848534476888749314342468843770838454119793740467101923383492409208494078893298475159755136515724760346830915219952471905744366998174102011359841064540087559081669840645948505283574485207945632119736646828709746583757529748480532910591393902712587530524656527533919699421846643290123367980832163405607523095365238682338557779056009067270360188975511810454758102201934981209390737050099893492604165242713248193330241890280712457700936075678765518132649011338997645562834740779528901115135312328152515740220355407650956927273165636851507158758221793750623276020639472040179580972138496659340874765172901612075373917548207604818135010456508765625091677071639453050879558884613549862171891827131932868990383363036616782129613311906562165910258516217557557817614702932187501084687887356766938887568578525820098881514912025051536798316326545237750516742728808993808151763860546768919171747192983692029736016213573790619774343341665210577929782353200537950061562043713357933316932292454754759999832061951229127254651603039125560404659894252467265901159194642459196181107261736881668040937561931120576942606093642738594274107743345503773434782721260504898955376830174034451381291089166239121147106171030517884178164717615309206445760759703582238304415290626516900933933289513891006849412933564313416561405078262059420735287718759643752988176329530869679004498431424426686518878680239358682547532663662405910938484884179943740278869618616161368499034649673325600329569277258366582410624513637389041394375194005602207133401587588803843581061959375768294575925449258632736750870817536101402336069532445542884988122964803327988702706202162890083846440713279624240353895765682130397263455904627432939333417691110876827634829434760928051755083247776900444060069364622701245191844325099699431328726818163883055043036859815623564487911963758494866801933865096738925590101233020167427489403906861559847560562123589576648317731203149233222510099687768213007302463168294433750879056310263040631829844823073182673285754952941846853921038183794204030557169441160289536314477428645449375018721100440117640576487139499290463882949851115937796976360004311229196983254678183752956701026090393090237315996564725142055733876800534216799444992811070106662835400729542331733679243568884994225704038138670710451959778210827867296117714343037731708580315409675858065880501413027430993182157791486243439886055877336202421086481368214661067775553677674281817822716636770233080466021798639211335326364739704312102267121284870128713116723166646898781978548132725726005074155220363744320230237263790194937856459850866546473329813500002140255739533248870308565617607275521306536399089566322204867932670585271374455592315719817730517393491290308983882540286190607470164127514472687606452604769317062474656593797791363853804881686385240421619316628987189716326040052671204768728300507068820292717192167823408873184428445632588972445372792080302939732247527781563079982363719379504167174884897367977890993117759203043369635367080026358967017848985929641988510601096463261224215895180422962775017344124615039580903123053741427167654089309987852857733033850753457588621479564376364785074478488219097027197709237563331852708328370019237129308008213872286897452792911962207477133164692087637996662058088571373735431541703069596624688622674507851389313084442207178558780577775480920011425772306636966487348745335044846083266625865958462697567026766752854046042108228704909807774946008537477079116829415284452376854228590837341698675553513759524854646771877583367320028897464302282543147972874489073240103868130593473125583815501831333177347031591650215283433930932650990124534844415983843521775950558727571548429283552296345632938126545264021790568275318814433811857210524207256018233867846691702691379616170424815448144119421545175487728829669227946447275806232893151679575636990812339316904373844252161790582263217815994586966113343265194958201266974765660922207254108899367026385894124847244199528069855112520407078668118514122111884514044762996528470696151642127452440325654927810713728033169828779492063245294571457149335458982191218884982996725578712972281302074243297363948102065221833203082724180915175873604432139200689305366110508033529955812287993650189084303433603765418893098965151393535434662781923122195791017513205722492978953857426023870251234096369633170684464002767189778860798204483389922335142586056848150949671004182680235501243187013647951202434981111917039964232427946692823369656814519837258684247978993999054930638431245235751624676373911286154456231202831528323006236925456945861206536542772110680151707717140187049910833666285875236954229018386988614237802769782218214925913748577467541957767551087648082817337887381252833214438978582885547604492320644649597422602323985256658220244546273805609008461954506943593623244977287328482964205985884532707823840886309941485000813742041907270870093718305645524553419543882292062021398366694979587169698246282390024440180197757178840655036054670285844555199455051444683753853342256311124795609555003885850389913596989930959841651157906421003659633890983844387295759188963010175926841683485136296757205207537238548684872551495387008400878619442281138398880143809212588734640494259758260272407392321635642523605195444903497777617496946166286141582558711607285790030034503969929856222695297264407776123649624675496890160460322742881122437137689133211330525669110669129478475590217120898543275613564173666819225993691526619249151881455253528471951938744785795083151830957975255374453800577484400440780246228127108486362978593998102786118725815542190035113630333703620731063121088900627538096078743443256689751125502172484699679033931538064836866039895434028905149452103109394784240782012099576541871517512323723271158331612497575116498296083454600458077855159109276877260260565537083744755556533771143692903596373976931284837274482406905250404964501256272061032787304955259518636741752693508084927660443420680870510968381034055028344972905955111736652941060450080347395348220821812158401494651557071553880473284267367061321404607551642597949317599076426970916623018760391911920125702074047220363558424631798350258062841523251377621662154988235909499055227628249158382588810794490845628637998219620850779243465509665804605580825611596111392460594978514470876465317948008571408671415971270316148703295118539078638618396250521149855510833240262759269803082349098946693222607925576712853006527852001768817507460217538029596577513287478951156128306511768733067526802703028498743998798777962935113591319868991193255827231001136542804719967023879236811641220053168424933739316995929891734929756321560931255585066733188911972186120146861496642930868535150637587447479593845303297090247962728708880784342487922496939270706665367231758005458725043923861416997585730614366981910941228585300791044437249805470638118735643718161843691710587421434067362750131809184274347715989406514021869920173919175144740488285400916745137496160354789699843813864914725833467997126734973380109734095378748077139598948316445177587994485621566216120998908349789963127304276684506176775488563911963604292177262697480663410925257627722740244463482964412825545576320003004840480232004357410456450398512039208797761856161587532037218451671510794042404876308548278058909650790371754695569695140922102900961870369832302465427747361640193510013750910155132021858616680546281962412951071165409758858439034005021839330361144954318902218996276310604548723576703068528381120353726310743298412072383135072920653853910700502016030101444964977908605794572594017141944068439421403756441833916231533751138569892570967111870147791517618489336282296637688260834485920143237413649917875175588019998438748917563769023135354446993363871780152759728687950746049074674963917701233025807965082683911574275421266385219890130152095515095861337189590260789888288757303541009909753164404151704122706871363207253341629980249077452965443957746201923863365172490198357907870765276192872666614535591425348614885421183771564018449575856686704048178322952601571638474523254706741129159032492299163659291457554907592261874270267604609420521238011171725795208748356088635506694246044261112340512918101805816018235296241938848668327782109918808777497701262266589969564717603493902514199452083848276028724498863063468175922994846244174903491122088768575486955497382026030023404530088623121342152745520572001028764828812254113758465834884186558097550801576853233163132619321980633273191389110338797258966973886715329095289228607133099523281945947109235690911904290591294122429706200674655744065530932640954014452420507430817472397823067172814445072838290725644227317997920652173118260601749453660197971937853179039963092379663167290980189374333824673565982439779869735209818541527247887510187964352700067020877586628025656626160053776022780124586630476584418965326792831184684831637885687022117763077792007854574018386934156521302903399250835235839002066148305482435751294232298116104558610303398609510061715283315785078022280182958759217098676399896358032424872698892239430098992554981452759153672503007258176455325372404630678267735347586090237150742752088037103774810975747063595740193912274921672763079375156295239741035149148989437749865115503475531251591287984981339012178537318615696382983782130286707499000426929868169301354081414730389881265210801388826474870949657221176102696503846999016670020124732282967134554008752301910268431471631051208637259088992513121623694534597244859835986574294583208907220166211697259674892164842915543139742755961628102199861086924030070596169311266883834512940181831920831959218749550162468351848100523448263271286139224412167205121713175163475524254334837510665044032921033535664153598975731169168605595782657619055921263657635980577630666858535586560780856923108773453895300139384456298528907207531011694188503744215350796632788560944595778403360621105916803167901212524777697431113103980700787233137521107449799447850932745902098698882646827130142537013774736541714743385685090586606890055531678594337243490710822717346702540334218657342589478819626360936906349495836721818503926024176685125506836863525447526233498183915706072447881428043832513128747042356927624819994501983450278155906315809613372119552426640842181806129508675871177930666277515464846119488241538418556041459590295429584022861673146781496033752286718105496885971113303005471940939769730852945261057026284636477989385646944151770908162946642939748814439445085023951476078407290564291734995742760392898009414040511759664228384392325280783159813599182502703339900173145587211258520230785451806557336960381086453605896084660925224504220758785003041959290011222573690502344342484266786008137605245980371299900087271061334990077075867496411611863348728530862757956998299826338465819141714748748227738617906570982351726449627460792310050053992134594215977905877261944026126941941009661239406192952917142536537845812924654178638898864376994836241208105373143826049695597870340070534835819176783661150403709982133295766230300696999309876744183531309897181745231769854895619609059097988158720722149502187305447357801509814236014467138775186511768963165650034167432884465579277625960285240762417666155737428759710742930016272868982576192494206634622122350235960552188648328275797029061014144740461576301248153141070409957116821284558095684590923632920927649473557238731683309270324531832850213667813767030301778779391148747229030778438488598292553359331508488193066516490400494385111651590381416479359708588546323200437900315247464913270920906481048007733293138409056236302170197920469666735708875560534090485722600232074732229692456220616550514957975071507330439381988674233975700368718419198172433544202707876647092910866457190468867305814319697371925373386985564446478217353096795753319053618698762543085595651765187198955171275240361502396488622672650598956708047968163121887555646672956227775465928053679572537228483914254121453003424946391914177452793629458741878489494596141954138694165425730111016706817272152836713579769228022951383459601097916150514581924680942182491784796125180754340330609073378114864494964708174325725817589877132302477953919185061739682008443082661465396471098220296396530396231313132809163510367089545945291910202926672631418851639179920728089798747295328599368020662655854318229456432146805811011840786203007664868766301867724707718821242010713763533603306345126299506464915229397088354014432780896322305965130892029026620304618069667092803212743919773548993900970198285326076982925753561671964674753057893828729396268101175049889464518349067662069614801095073851039271042314295546057700882846313417317332658300592921624853137896953548772143429604161010966253847843054550842012753949413717399210235544918905928841596411807425048079664225649388575870869024632318858032835613197049900832528772960145796421563817302275439242386409543365371017153206485376283400162962884706813281185734542409374066332201977416118520351828660803382398607716652282800257749291730709162177829876745480124452011623686537387832112932937087633554521420737482333232659849549384693596030039505257529541371219794648981229240510318133298209776117328275050785874242348015548791682958956971860741678482488017469645258313560759383279455350037015532809896430854885033638650954190423164119857957181157714589584645778649793401029941226856830920368151991026003474612968048629687511715800417123470826106991452744925175449258463324869276335458115496552017311853114602501620496010123391603416793634175764622431277248713880311600055381336932606076906821805720883366701508621366854382538952383884660763757988255615734684988532769944925721282680110451928303907149880845024743116529611346008734011587124242340166731709820467015396018610175379337225683503067939617957852643536951921366664382522620864871509674294237756286404055188134404433586746346104271818180215771332189357285084346166148808244485345397656466779336726085039498243932220963137812355617116928037855257271082353642374247670909992886129298894751485181277310143439812696626319840039273614929903381426733167624646947108721595039027161180012327755262697705796544459419599942821377312269126077003606877987295662269993024385899200625257744471923378162008920350511125236145265652960211529232596961404406537714541716428990941897617772550265186603704532317579259593103034508485496394431763135382137756392677963463419729676101113023156038579780904930911569130174568371948178102690286531397472793847861363472004647705565549541551824556607428653867947438186138355096585185420344924886444482138909850031845057366628136622985394470482157726685223607017851124904930603588614728502843131997630515648590243448196318490781322317988488691510427758962049765715114459744611366792888474286512266555251413732769862336409094342714103112526817836131926448154945921970969990567055741307930936480707767529313629488748542734866838598807588678818164891134527409914006853340681750939700210941825084733822946588570819809678412145933167993471500634782185295708200109770692385773791711022584547886198990048709661686763460375022322605169150744512165290324393663107918620874031386195127044130957353893476602756037223016273082578575883154092109254669064404497911477349051708791555358977295012507653752231171850006579368728447837504438064445859941174716650393272019256794485250273431882478085972432762859680895068568163312392416647631367956120614753642640476010494489052589791619850469444479483581164633606346622788073136633702628843127950688414666017797432883173829054690502600662999526512670511424269583606577831592642908686371027023144198265822972153891714870467958814851921602626752540282516435897474123797763352713006921892178862199281180862725360800514939713392550954528536418426202573461182568131035208401611433010783599781403782870113940167128090570090076741249019463125247086144270547665645238349029054839989668603261896369387794093758060948255791185640996534722986217603413690117835548091411890606242512164812355611601545626060290683504387738524576902600231132768200192528655403545918847074105476406843440842789664553620751240912700957293462832265682553819622982468031924189653718565290015480811474859478847936932476862117856120859182030136721180535655089794174063772649310697047121797874068659287489361005881487797813218479682263284785306121535861426985856747476601791900730394098777617422489504768342316869000987761387909262961372370851554708824106984432470328788529038949851774022552565992397328827070540188484198725610685376283600461044597810974190025579394979921877154182752654627388302921232188851180397027690165285093546563034501697993122219212944116627216442376349200918386281905341147013745628575687579500895248784446494114087355105774249395261619107439785743750680993873513598343359876656463463821652079194208597022554488900941461956991603588966486650071860544903672367766253616968938720449775746306014794136792608428187784669941813003063364308228998342346258865189214567804103326299277081958574658430817926801953228994818265403365160738110486622320523864224980891565140827876475916653058575849834517557079095552070722233927241850589606946159311766672877317116768994226832085231993969874715858771511638769410552360467888046964774272779354365490743765614731069059121525176669785000959536762148792533555709219428901221107556090614896309419144893684073000473659138464360590616275963861049722076159106691678095921878225874180757957512517216252780984283570888484274520912888170169229277161217314166330494211755363649214683536857947143697345397678165816651036713542738080846615170804816285902434488463462965343615352328800396447448511933405868488523318766887880590906411367938073922453506112675617405828073408025876374337898042072098459387529684666391233491102435508273400554625240650694758576069186318940620468759705989311282090434471623455088092102029028399785239572141146174145523053956752365698590647883839118397054394357891754970964287975840802643965413134546385034000894655552733273445058899374631203900798090062740247460044227498276709841488470068308181667925226250407865082120847167444406559098957290517413556355161475751258660421419849262927141859453639773020965298054496100284779698270029522306380762336165723150321078749470898712074751302250166098598005770849428919552791588835301015916237778369072514372857306873971346481884359510272100138666634881073888104890301220371256424505183145476940723905139440591602495393702938726454247286040107088790281955642889008741666913855990005715625297728369379872503748002856014140874049418547833142258212277596928948544496763950699168400555618503042201408731115365572807587331680025514658549350417434105102184516766980195506225432644226748271568634683055259189992762104292238572713479513329893247682776712404019235010504046515970878213584038381375339741185218765126887632137500805219513820720691213178049850190639669466394586824707716171700638189163403147369343178187195191571141375624890347035596269331788519907868823674656438623953683878839024779548776079286139194042027165229635676377414040892188472655536702702743407999637198808241058043572857176733302829064393172659442545745630055349292397814556946361834429934505828253215890212498955833785552639780973805796291363281151310088027912357734126528325179046219385247141878295475632220583628076885419420774654848744935776506129460344398693114614412888212374003107985740821642941371313098832675537207345214833070405868355408531545507463277989005501624058427988898456337553398361418522848979029161010805005278865667544969049410026690208018752995044845922703301118455058356688066680824267374221680115520064149217305162293588422218864784387604771520136834743726274021609796268576871698038721999213432952788574831180937402857956152203460060066461553478549759861796785770062304313944850795676765305117218938533966199515917935247816509179975766084029084882157805542081201910019884507511222554165665869309732499181890002585794162422524919356887804957494202211012672877182915124831956617712338456643989198090601860836557767127722848060694133111900483994862552432331460190863900545934899561277482464783208226566084705698361410964986238505285428073419056909008156452406273338638688611688771344746809165176676322540506969005454320886230734273639338830206370640514401036422446230114755086242111315886530378991198985127619713574383121143566993417136224093275531438773064405580043579302017659906187606115398765142142448549920680715879089213207870732818969766208990626416545798600045295019892447100132833065797953180210182136404960436900979089823619629054041072185642842461901335951550144306302620714451827585673373357049377943937303516783417452316601728018617146570860833391577037379313492568734094823065704927839641311830708439725877333281278941941289325373231880823818799436410583053235146849116539435846975111136076939415775686037313268672947673234979205653848912053694071203871507436552329615965035089098443462737345077520982617265011871959419000229389151377824322796672532814946467278975720357407548086026132212993735269032877623369582505420294199456334147266145303587143681060230165228167183719163996693932676954358583687259609997774909767142035134282652211272438715486114537101742010037826070582928852660611070922059013389982627209842297878668436627413724045517106017156660085307028845682199992776466424039175952278169200437976330876091444087662390480858513954116823650570198852602938904867868543035423178783324002597897741170702996855324053182318926318673438304624889213272578574263754859510618836364656393645976523519169340241874547424955610879825914116804137706332896807660257811812901365276524359048927944764015578002491633381591270441307353458200371119540471447874270037636323189724673099271005458463577606113770035411114018563626607248156103774404625926439708845589091102851702968159533329940166690525416731239935379324893018281977053426802558511820193296880379423639818416890828476960998432218347393652081546853708782031262370526096142928519396987947059641468215063450427439386534799922937838118085726729076750148632861027640337129459285537803677706309808704879988622460309160329905670667160044802262830763796555597138402108389082056627976824924051858698086003147529042410220071944580009654134054662999519631560730350500070622401505320793772592080943870763286099974221813621502011340407408038692449124412736488849936997229784580895210963371942469416691983584352327983056821956042849960144877540550981995730548245466910373059157969620566489565026326309362024493586177282141675680527210519441104334865741598325217383560156176726923648810806675842944693922831385462686930686411909185595885579020516008361533063601137815337289212066920906848556350097425324458207363853498908817743533318168649655253911551708706259946932310704680487069909637610785300704307450197251738598034183575507925715233476166737572779790617072936743071989833591317608598312911848950049804525881385051288492472384499793088127229307216101248060649706545554655857575206254339639739180170822797390607070403376855903943233240048725566053799996167342851507305667968501922091643734792149028107352864231241300951718569390645845112718234328770412611109598070376575533005310081832776199540542790342555465477651491676425974020990376354662059643668560616080158301009923199583221253350917211051930929377461322581647533033456372744478171268131074178800272915729699672630135185154007890728498694492063767362667746083722555157851058063187257785982904888686062374677971738876944810858181207956132310485830416994407889690515968045169266461425541831012056053773443589325359615056753270885120688397816126356417051073687296729083562149514911684080426354744799600698403201124076729836683341827567713960018303805285781242860827509901517014521372859196331479854175693933328953460885121218471277204120858767713927268772066911092502110393085365500642457477496742143884068040517073493170468042262765965504167135640925734099479087205732730476177730843890051046518226158257231522403236431824188545823870735092635365334181388239178733412769537965271592792250158054615345961830006683147197008032302841508362685452431645258285783058714610390031752312821710379343763762853582035106494557990954293947616329461542975164921217291235602632452233108968370546669812680431447672143968283907965979054878062200334133669885249266671657557951063258064797577029913070150855391164800325445761258618856500543068079937920263222209178777492783164536926732673409889426721123126366937168352883666221377855997736892217336518877095624876662177272882557541843401154504374727560647585705983074196632686640049004828901591693802115144798570627195709664046857791885484956347573589295598215982439525555208471726073717285452778778092542336212911535610706080867998607141642844318484070150360867667657000385307613706250225044105899712194217817564152627551910272326452390346917002975555664309669489312376559971600961439905413270974691968656011908976741662951605091764906520073294417574331738786509062067629528284626074889738691044168814231284410365732309376690971459949269331489900761941303069480857037258340295645492824856768594771673118222233146085150720406485428423418048976783647256827961351335755630716896092450719015883040085485471267260532713718933551648631776343755487259628183505235059838827117998874919732255934947321567645288581867120830195744670436887567242138739811085197353047724402710911150353609210541980083643231144963804559073625614281630675082671157501033576949622042675629645762425064589850222563599697220646375813121428092480460461136193184676510904803182698014655793334979371857170632397765677072988374551114410784141516707063279244509092277702202347914851826211504039330840858649008019094568492402159380415482519878293190897361218195133254795268322582984852114573350535346647946482685784070836278224571788597600948879446893893070306065798620113701480295774856930502791523380933261102695821673738492126083975696589368345308493035511156834675656592888998016386691557763621945860622421844039979605764461177759912705929960354709034193316951389078901494034470502260098500824171498464457770928874622839240208365453081049429980647815503360817432300452211266388420654325165983990997338913189141821731775735468860342404076699298950463531279899805756984717391167031780627233575934960589982910762686104094791423060075279709148287222815668088076915966444113903501789755137709738440379423606320646419627257711938122243759382095548211235986104527969455449314634611187686576863223933098856686216504841186178981562980258032877299308318618255120654571299783834727042760278435599336082862450340148308382775083234703810512469353272186368366953979342438012045263657347083059864942022050239428693004680802542496867212697259512785171720703912607070362907810687740646870243129008931485280652452510435468813990129830620572640995939359430198934434858052811708651409764956815348296666929725519009724715013042454054157952518562943319940489369678492895412706460029195276994056672039723154556958113474757246104218592054019459481177424252251434058712446988051123523650051360329669336877131073550719949229504262473141491868866869115739295478155214839091304920857980751827719027156213879505517589122184371488339281228136666835161890944287175716973776032155307942980763402372933766342929750677860493807150669900060486351343379109955611420470429695389458862732698000635801575547208809688450858593740678465048316623128724811441549454186651839438100013278657173716832507170919534555899174020406155156203322074316744504195952087966857954632045018843830966594700050511934496684566504740731031303646691149371737291568107182229470629205415124763082068820865560310594898549603353026921141783612277813695642848964693942672774619965107671131181023760932021758643614893968680245723048942697516467487236973637042756660651750934690799830946275833767225613712474434582617236393095995136290413623399969740870166254949423905312226915808069649479201890959758146602657195559314412577437151908016216082392255862091876197931870643095258737427384461548306530651567045000757966948430890704945963453066212279891773857994131678392569045105506668902909385335676235566980653383579408825482021083975457605352029445116023031098196501707507495379443824582429235965793667630213952458313721745472327526884446828437268013182075528541550840446450677909047804812259731330324251399133171465448229273428718811006070341990531665019203428025391518296602391296259423246887136903771690536842470981943930979692746355381208563990746331404112287605559499035083396856022080345681397599980343862673887880060161176227289458464381662172978553095299359624243941278070209203861402891091014912361642186929467207795295948326324516304287167026715039381414860325856221618558103179192979960286688676872262257932249564229609067964405756170192899896397173586358221320088027376633590263389183674473338975465930912599096070723117961604948710550367954519973178263932023637963497773511265839350372519998084831715391392659838211984199530173815534094192498539681771081953911044795921577119140335310174287518692929163067309004521308996511997729292818232138470090983873970299135374274597029543899886862351032091130545563133045855272457117018258449107384600109956203203347265773746360196127411683434399847767235822959685928541519720143351146403017909037918110611405525411878151951923515464511395422848489919358907752407802724072010736141155555583548683382558385343718499880731427284686107659217582650988767349135690984983266937493244653048554807340128623899526964530168744660639917075083473838204362472994295596096829934770097979138401564131658598105805734480264954774745619402542985845494950049869254165872689468479695815348574378210107248139935287034544953811745134771250314166281055998045277406048660087248391408321986398476370415264063654796804502020907333616772286522252052694892157609053159530587246385430681953345767999006116766929152956817307783904519893165845543781280067007164274431771659162729050308644542068372485510206714897981214257283642414864968862669469363118797807637450781474785278685311597974727490362372853733220405447619211872065364705568771156908105154407054965605009260209952938190208319045185766272642775655091825976662117552547474933423466186570943193953702990649465262641178334884675989481587981167524783388588646590578336675696210780425409197263740991478779735655952981072097869545692339121945230443843030816553185417618814425636647353864605330131213394371499370541914965017968987546722752113949323250239555098690952936379282017866508390252238778399068770838671541433420876038606017226651439253984637337801693934293499339086871823585759002221967107116400039584457004392226124596454883895345991966960584389110626848698359010143043397678697277481790432898900766663277909203312282685772691690127154308219165233598539280311964465775223687378541870125185526489201252024731502466995589289752187208945754162577286185509948634728264229955561943387654619301120624082178652945184478126272132054448979873948852918909309102776827861471381660084077495869244125501692693275311858877188241670970815880209701285696228928562092939706713073958581398199361863523546978896956523202245135801682235899740836448745477697447651213229001376246790795354162636408989699063325801504214151686102226580875609777913076059197097779302656206757210718650484794223190043600759928529989856370896937498938933424524718025920983080309160634996210168681196011448672410356467502520026630343047302492699560273486944750613964973666216774895574550847325346715030739527002133063374339034521263378405354635504264735475092267143324922174363996378181196927027867242228718644793927373699246765398047137585994492771382455803157228461938226264548671655209276401667981464044835726756809364900303102822338879416776169024996963396315849504052535045451443803092032660993907194287553193412991977914695125071816173743391919094451276616937962334029810133664000957627675236112402401049660733887344299175137693470986611987650326442356329591261543604943004831187588349056376913862280237948693331078253454965121826674370189251460122522112923615089660845959848368508682509865044302122404121179765756005871328979936599850014800516040737390459118884261861508508642146965741341892501862173751633452537140481687091618508722830398287576895233270289341829342385722031068229077432337477760354330104821572417073360279482314848783386295280560404517534338304886470623689211990474557714463814940233670685834981722917179503042538243359271149924326960468085173355850218789032388019765636235096744265897284829257560418867537403482972800439675501474434550909965260523399120934468334568753998284760337266004114103027214476731726450859838451012270403037462338824723856531297809582340728928017872790394624919287187040140845944643919148555001834927539669628355110225931779655170037129176080064090686385113125143616588592522316634485431874148231404408358655242853385322688061295688084258058573507768402084601155868810747293372108603902042444485789981748439689376079896969446127797410824346943732297066286292626653661478865918156697397855712359938956431654265599161523071408437755128137833117372663870056453775963325247772076656897024572897887548668192976824523937123899092631338985988898990598132641711153456258357038584368639883568837171546395400756515847171557555603841217602872581951845846225579273831764475580013348679515883982158345081390030203291341600702835136780090916925547836130951117057181102230014330744813399132041269621131870048425312699026900955834165727417623482134100657934443567328970933736391676305429496874415258462897537128792255809394270812802112056900670751302741964398653737145262066155846658687492308430430508030428718807606227669053142457708146969249584995115914981337256909711225477031420767804901247486192109103899497244134232295923911539645106748581181830474668191001457922537117099011499832471492551616559620940683018548900442053531518589605333644353285593770080917414184052744731273811874077876528027703617547239347607002964759349086300233084076545488635840937736320451078751953122154360253155945449967944134177743964765473423945773357369849639766485128196119562060276973228239481360786285767838699289727273959919880587662195411500352062460707198048823449743373547045823193147303091233894130443355095944484977702543959020496507993540546269519534655363197155823746787697054931956534844206306064862605123069101692521420970192075627862389256175404103592596777421148823901201010832095841072226544872802062960274850675564948378441438505372179624527896145752362678181905159006963596690709896517724144962788044571651558967890097281488634544023883131220588117453195572867466688437879631052998705073660381369743685263301823970457840148564181170857289320834071667755685599614624896275299953876711110861710563991027339394770215775061786934602844502006426424790262609009287573027904959920513936137170481440028415540145264273292451012185191384329072518993565112575841643483111996827427663706815505928786943376563075929655006219803166841079459720684717208035575955203804634988660228983267542927882674126723643108264805175880116350877174563245669663328121947396751945266316913988606465850547589747024501505144370380663342355786344831341402799386520189088682977204629968137719388007756763199515537598901881176107071457684536687100079901266708093186248393586096965395711240881707762103048097399595950966886348816892133031304869869473828483305059065659886990212825466684620574338205934713804114160156276989366221424270829885625519622213537951410448891505573858710427978547068698628624432254078012185431579277810757722265988614649121106081631229862202537979145171773243418197975386556618363521886339617524094602174357430068756689312088840388823822348267654907934018609789310016617045724115952384801426826172656079056700693898292132085503593832176477734504553897268198834064906979930635287278265384911980435974341002665185809181059521742129981452128003833668163548952005884422406902596230419329783053096487063909340608515316610213783694127849953217772633034492296610383888215626624585138970610514642924418561686246897310304400409027059313489342722109467950325815609465000779832340339741309592970518035596555500998346612467915416191035943607774322567319576165751910337893935512729219700059394467435927876128333997291854583397638606425331498443715958671230865943512608296928986188413831580287290566346693547887357648054445961364013070998100449285715030244980003817745434002427911124846991067576879737506928792993680926215962263384196485720563039968345086753882735028099787098724607228556182183595735376854071847718499236969593139610431287539775491607862600605537701813086141850288660732423917690447576231667578486273275474072875029933359224674171247212351152253507174066106704849508220641210429982388886452921511919032494572154475749197739285229773226044140492011439005451539703241044666552545905161007401912169562481688218224094809501897264460877444065657819676264390893181692271253962059860550173414913503005819000021106171172896350094962015409208201962643857622097164595474122948174124165192781345571501947425482664351126165846688398040693951150021286019368140483140357107462186911791904644608782840633232557734858498670816909236858388140880310210625628369886319250228387478147264963615730639984863290554357453627059638914205084521168346232908114034032405186059387765384487744910840153677393992279045139401820974430739615553140330840322314844371723318527766091280139723619265890545866850706553391227415581393852551699086116922550000966209425262665671608331333069232608982564771752763239274552493586243886766241329589467092974845878047294357323299707174050232405473595353428343336240821184064586842685427161497852387853469955111909812235738163626817949600218091556046520109831815895922841133602094484694512627337382069752510609356310979364998227733429508367184039847571058209974383543587609827762279038134052480163763721269412450549492226896587427268311597331098850370845185295093497863607371876645181571856537272284787653088656742439604856913579874827388295769151358876953079401990374234829915603027236957448504740468910903212642051769570157966013213472283771969318772673478250486103609662776757207828648547903780813835935671214278788031183504301216563903053921754447411189963201586394054962830999756589119249334346871952362173026045251304763969631295657791660697270491671949518419958365750025325817684816953568497522987498051924952279108155851342962784714856829495907394479855114498147401262555614362047271562040314514092560255146790370724192332030077997020379510629833961703135252832150138560760633912138597004340162966497260578078621750315057583058599704165665571026131895726821448317359087809400286259028103911085502970007392631280365185303646085233730182208751871404213946892427472829531526168737424715870141903233621283369357470734824027625561609112692690445788761210855025961247844638067740566712488003649229479352417442133143252061308623760311812136467985114232851969010811884598506800568563615399911170052210645215473560592619668923493140588470959405235210337152918276693632535171411111888296562725332511983117378529358566220804992743539619417888224623712712727971288847885551895806409200147442041116839071366340098122816135929528797132159502985628613652706148913190490872659435667127714757127808448601469861544989804710491752336875202422489624196961666235770831855814136737173327410741077321539416100787688290592506079 : 7712366224110024449725019721636459278408230269585131887037511107322522214469664453075182597266642279630700704321764521119945771799213340916638697978061707744417582093723655124108978005281763042137991175763803548579985320492739582329068233232203447482939888904482569755490613449898233117968953633079440296075093995465798627374058817061926807053451415867069105685709754751041573326301238901054166527743343116903226301520557198004737015401412505903205887436773356967869992015688900820611909955999565892372037001223697605592669937867589815926226224978871872716981372644343748855775249137928408798673135208442147507010880233964353206790003165460286731928262404238768409522069436640654645344499224182674306326799362164173791253986408671816696714283067758078054576442848293510039846193340920588655288619155171790990714001907218153486828148561658277831362972462158578232942564790913741601774035477716874433580581326260837988119597031815564812266575662966515719025185815536440585400033426221337737302014148836766193810861156699453936259575875735352593194323805283959754253451791970187934290039971519054999417316628971256704383298408689779176857935014565644878784901895692856367927473613407837815000104917661577993827596009751151358901313670722749365334805021594043112381108959816188300759619771480675758133696747834370311685028981036172922091959685682640719746401757355492014614543940954658575566981580362671614289239203700719184061469842935596140181166224459037825424599993586146940973115029165650119978783153069535221292101394291330814748963061432421156929779257646961783343539608617989818274416666759955376468890692238723316313977015288601916565679069121765611261863508430536416901408332883402880328319977699849358249192121216328763883276518229987219479465444043707203153872415841253880424648983686836017974236587862675935315814024636370498916352902093290629808621951050899452817856657202561479100464324536290530348499941118132397699629771898184097623264677012886475554576545786889185765299334674468604395515131618556798270621016295179892218955636704665619720931979052933515661321519524739017334520128416549775170534134750696396546322364971401778662070110005690054384944819020129462378317491307026311167324783010477136485933153172308754178686652794104141949067198442424315362853553341643763731541142272413028041705912587683170647016344145781764083149873333737710773187714649794228472236682706293609204630203612886976177724568050359703894902340884140902168203193565056515829738356424851842820913496750834802018727566938568670781943451141128893683491979768015517992819628150657738397921380858578754111306372977618681872908295329788924378954676877617297164228012775479417373986674487000198580753224522033823078821159957983958004897773999072262991197295461053465098422578836452875816240599573485951924471005816134001880171931245438918618659376487400784325351823466538982426060191871079310217649338631062357614454241907949502948554543948855396190932447055037243464111234543597975636442152574041139763030111403352527100025078470887121267561342149366389368681638176411833569169015382546438419613067291971443144561609439155559072125001367009421193420799640449662348820789219063957927953202291851840219745411022983981490314081784500966464009981183001844456018039293637592342927872350636491183709390223728982216439118480021786098731718500441900164449937776440197553774740102795618758668587710878423774911828518589325945871345613534623577218069952458009294158338144311824283639936196599233198891585851356815572869980901208188579742845414327606825761548848794259972312093192460328682909614504580020913811959712356204592339783145716304669424361847172237255018645924296175831471447744461615351704076048950199719122826387387071604206025490731104687951823281891416704567461745547492726743460336785092970047305746775114274220279669786462262404022345549299201580327054345054529135320495517360205992456948840820262478101693064503492305622041297499401581078729019487062882858354643899615054524267261629049548693329512999665478218131064426020841196500445437995817094994771063379191429763008819904706919471094748408755929514646445743243771077948623588091542998206854204888248861521318182440390404229224042146400758576708079966418430704894841160747488303964141385387394723181402607277451874857797846903589027545511777165793210730094624331305699761782458062745625843855071094987258147996049470843425012782843207134260945207350279072584134172242777367998054571598014745257637061237106690631381056352288582647227557734366251667758945728893735923667872950085720661762642292895418815670684990083116046954574605044032676072471016096629670742886639937138405806679393642995096062630966386819454045023372975462297645708289514073840750545420142716695672987060310534336138301718589669302761339502236853260986794442021786480701378694302459079420148260166809507624092150410397896834000119880434081558739484080108084848506603494555017776859047015363470872275028695731042466843670914700820588585554160117121276056657684714032302309510696149848632865445122535569537957147855804129145346278756762856549547653456696758419226961862602911765481124542025948184164812846574063520242942661178877629847705948015120596262956697342249964863973604255383773829247237374090357176915293150341735754674029961348725417532422701658379097309751147357236953765660029252188204943049272129276275670099520922840799637124744450415635727385987470412768498731069164220574771141414664994129771516650106344364206812975358876851315039272396303130195144360439977444740704560823472437661488529018825489116962753029211993925558479120693953465000242257605260267133641422170724138557063830533247828520927853178699346499411806872913600050775161382348331562615684828920931452371178675742459466362849559167880178678027656640044418121446549984088234140707840682839601611377291778328007284722641682870298815288013163082593098478681069397595725977656342735458417997015177390069257918835009637241126374768715197837523460407254987998615952288381855402780081981753870194811092483680698389704598812325425318835474373140433567996880231299939004940554106176208663898536861354983494723466625670148658836217733085186927992078001846374873750758913845179529040877212488074670628292539344453677276612054998021182119675153690043539724984052284956609919049549741701168855078131322016716905234816935338220894540000929172704975751013815366305779224285487675957347608630190481744563864373875161912914862958788258425380970598849532461290308452682581518422083393034001861973694607562596976992906434436896642320947120789139570855573973962220876804921443673931950997068237232206442532086796460755087070773411836517462236920772845795415274699629506044924658554908887570312424617359326825532579181581341746264934656692072335226298252197046244688808983890523259382869582431995946589874649132255858333365992642847696111975568156885817845751783832945970558487578141259575920962497401795044399480608256361780177346126347688480442760814695333940090895173452587966663855545063283870539459711698368244864300771688301584683239763639995234849565143736340137897171244735711991472189443164718449002511465065293096486863822050447596898076230671675314009475152495621668541319343399698859054340687976606530127592359496760714960461571460257621698521564412852346964689429461842625794408539544655365518015533578613539400868807835037812930107722760271416027979849581657435311633657405019807653388827705877278955266026731637853369435827041683048462490133584220273469986208513654742652648560114079924211693360050327752822288315988449307338119591432179324263435105210812353015648996342809968294198323175720549424039548322303928394479560710373806389402267028551723416059244614269694307758358417071184930315126542130881240941410894136708260282352121382027143668796850926316470639236378981385198278292819136024462300941298442671486204888675156187354080815495670678584325510085611447048872141315153820504415446325281843603110751497530957816810178893580856130469446818600053551053453512881896473519254271748870157558799570536250655866706165422326187393196450022797813969347778779222426079738888944140660401569378653338306858899497745100936926042162813689093048164847579839131603112961566831555435972465324429947400841512359811716737275918717878262568493377625757523126265307257595719480999186214489111543914405288370141513789112149479830780645485300483738637015655962409100253285982175859822252668766106909949331293853587142024707080475196945454821683044228906369602772937905352068422931432876021113668607445404204064325844664897407789854570168396931603034440799022883794025851744487623719548338638975870634214642507475648977177874006241672987588376182998587490968099755482358762540947986039135114087098292473616757631415728545179340801905098702074499984735319513696034230711341253565334357824058449808255470509310977794830462660269223386060382670423735240986838376739806193122484881027296731865810587066395460294715686135140654889302766641808818095940631624444242176213900245770883543959023644630757665507991824682871959885297261027168964476768105171984971323646048575206232742331869501165882953885150604473137199514542899201393373407616191488096299137797253845466219121591055844162711018191111960102795582492730837063305304922425663352477036422799703081645564286075220780982931567072809901214970681773147787098706115364015120606247919366046034806792804366169723082250272371282714309833049584702260697179524717078010870000645634486938501635525969249562890727634189414135547704107940142357745032182295833633385499843250382096185687069800436964373433526524355749265105154424927669068910911329482802769735024873672866519387219832943780566105235347173492102717785840631198668788076776263648176453369909378289186021978808289912622883158085828248286285673399135646519990850687119883292601414135879139361573055963396843535682954581293680677906946037508681822229678339361868970710122573002968641553128217273313694811859354122112740684742178262281966155654124197675760784068189137573868419905982044289575129989789847822933397050150523065738286355170409675770448792518837187766282356640222549407270895244158936523988151835609725322761695764849118182584316484980532654014724913212674373971540288507734701287526246072501538368164371081738772795948457500681378010480642735681900923523234838538732023150587987504114239799725931260584014899840389782355187207356860004651124054411820927977626165713979605920113665128289104952256475188115746345039951592082315001449389122614874467111070289319903662133349084657549099920576514838156904110679199400978159751923616488693707112094664304432970018895422464801420230195784089342495887367561726712615834567427105405535652728739923940757814147845534304714039203722069296636213519425974629602259508948269567905980734561951414211410895420571649594877492955488125257636053923859310958818850330820198123737951297564257528134743768045009580786768337499222968111206645679792064769464741219341360471944800859867136149972619593634698379265917469984979601350481542135770306823799581655293165459045522120425454161958977528443253470931907865566938068189056078236010224660852148952213058806833208825258722065734981681726131642302910637541688184374268071421283180763200947584463141869034995639363336005230972975492173732011704194859187592369417783918461534923738135132437002526287497482945584406421019227593588602791316752031505253830380332155268158982801194418177466850861386682669262200437402157514418477811897139341568845444187946480595181111670822872727794689159176314004850490324432273724120505609571060488504247788278046175645350328695237615685931438286369904833267416199080113316189561198237342436841139926233716313622123351793516875813184328744842691280908174543315544632455173811626564030724682869540022153894945541848686044060997738148235227599362949704764328164067444517874480894755973097411838698462026251811528925550775656623403997786274987372134105714913468928030577101297601192638305459376670716187715890130834442148916493298864853584302747355546021301678034627016090746959923181666826523037506111092155052296680666882579108711775891650046811058832421030705728985507670547681385288206519598474713780324320484718463754757008990777420909672577604070630385778416346772784348866728867811972304118883526306879569081190688341949907143793662684249746870349376121064706589530733616449399568627256424251275414477547996762305323462384307720265740079788601145735363775057582319604466377080356954780647621478295923500495788070312245587765702476694235236318132675813793929604888331977266477829411739279156053500000685764676771852743833974951245013398568390389385582296714844942072590200541100624670728875835195407420841336922720368018897670363304707406389760176712992452878996739505264401787750083878193078044970624267673284288470841823154963698447400422248391790560424349325533798983159020960215637423716931012473651353373828393152922147840887698769470591565716408861339119840909147456570528056326818512008966657871918222532223068682560069820404077255636433483939849435330149061710036802942602462739258871639969878854997224555739959784621643454464948131679115239275540990675285375629043717666193841545643003185967635710198114178569929958945185309197683939288989064190029374639960075593469094434369662245125887944237147406318555215160990848127311877304632643924042212945310800465131160662587050251148602482669203577454132052950389237964084560779002818226288445902364137814011862136809486288453545463188763473918425254356907050981957672628378169448713852060517704487755276361910151934481162061557665804207575946869659448341921140636143140979890424410099765493632499677516692354542878848995671530417816905495626976479645445292311997192837620258625094030990408977229071109325252102781776368674128056395679991245159153842437111660990014842450473527706997972220571965866051670180764921142487326014355901729246122077450628146139534740036077736423390325754120028567248165450238233507159746166231007233920698791690037389145245474866621133722537477683943598427514264934588015848465083185259323925969574586097596428385276306032164584195429336598950375737753433950725532665432596499257387804091140224012734955834855606710132589586406472082210499276624666783704559609544871947361858686671019490883593595718304383097461303514835464729069135627191900710031276556389987567373177310458612157331839641924146400515335873833551018991472529560609247754848719550144405129156894696481154628042444341699955822265771669804002724507172859487138394081665626402066274450472765739330863144927761561524245603443541163689805862076639334423353023432652893417496247209078030498567483482407643654147325412898873866778335605429456672645446430436174225398845562045452927296105936914125989732264416446253433824252100197746308256416351342813256736626725696072469724773558707366943802997513920022458385854008346632707730981515004405713833139148295792906919219754665471010877362083270574815552314033869871077114930334071784661085035451566236201019925831794841460412076088202811729982784133491457536443371126485494730619493578360992898567833168356348501821161882667169352165927731682484157338631008364546140195082237281710208313323301871299880596121925876344564846377222613815524179820681904035572899456397177978950284626534951961234340628933048181706828013197919659120045236571123930342220858918581181393832528827921987240581166108191294413899650759737263399805819471553625521832493039022383221362109271754480450237504743561383616337096224615704387939432129414521914100232967771056077076336744016148590820252538147827736574832170897732523444922634837809061097893821503979426408694373613256536103399967342418887801236436988636737667888256114508690739135220189062207055498358222807998932444565366353551963269039822218246339154919801666425313811521810082300632989102554601026924532946408373059341186514474837771313087152499123659996341343633930416649253315361916375716241171950248427377182469334136330526768094052031290461900204632414272098488591750981578887387144432218627015384143058337798506491270748936632765008351809738511303574031188610675270607648446638943309752813953974357050861786769649777854945069400534821541877140203373368667555907514450462340532114474348207157082085167140962087197513478178747531647048933608407362717707435265227470880127644279410298865664870380040415982284125836164225394422501157821740503313484490518151316549856878554100568231096294327434419993052816140497029180457747959949772629836666698076456446948304815034483544903927859035231847373991048117860735078452295935006764933341109506512728806314519898964166245971118203902559434505757584896818729227815709203764613683403947167261240261767775337904310402507973389823193047455252452424190159254180318749308723666946803069957535379501338653045505943061623074599247713457313550664483255278244419885512926392460097127242974769838099018028971474267741178939346997045580224109921974521184437205590427619910377445042809279414033872258240562384115786143287366422690309919453665369612512395522985363020119192557984389351167346517664152952597709854717200658884456018790645059496327499343729938095294765120902773515967474831291288379003472760840612957325061724899167029690817791547818027627215698309241555106129438923265401558800565859775986180116192994776447912603928173736484269406269381106004490256376964240831841107460041873909077864874683524337653278878998841597513590146210369344073384486452946242007037042162501745893439235244747267946451161785062114014152396763138227531270339688338835032501182742050577612065716089121514353984152418296881509947148316004055733830371996129627739054756612543940862552783810292411151852067580553581761102560547261942647116971650615258274335017205213535284143003903024424117654427417519719537507230055330913949347874041860811300043890437259116928129932414333745884476112156188741957969771533265320610458310988832485970136960809565427764746962622171467336942666991104675335509606485137237975365314443321810408210511930735177418915448902630558813508157215261987498060482580047125562359199416074371863637999216447288218767142283967905423058372334903089312293576814598162487572407152662182586508463579262390286987116991909491183335615042836088736192468071157400443203099966782701585662589959026992093438907130675283850986796617161145400698379664666367122755032923708713708509396129886826188877861659759916273983776557871341504612877431837623706930859168006295647179623537427467762278497574455885485004651526343909574185267608114852485902481811469679646457673304299844007231863633625510092334876818577300638174886360798521431341441735969413669733482659870663538973376597864991996908386030149198630896624324348061024157464692813543100392097997184902453780804656957948037705779015852493302596355713996855462801810103980854581753598970436331076118882688372288572061381335363204746279808941803268181835934310595180885027573935395636374976198748151271018353475913476346370712872347052523579051019538889918542486024238280959212460763153622373519827056076596504509669671405970281700776886085843515178494901842067330972655518883955509579234247245660592669535667839437551503254502859479238134074378874299544706596540555128792342995936989255126537017100057850856847390361224080810886007897899891321951616313749303364079439111983280560832436532004851476344798897217664587227398030498227659918701963637337508214788950648228700539069841774986274143449001704565929120703554554848554954217162264823461055672370661206784423099578396014844736906558625894625575037936144697434315440841540075219675497175706379112423477543559352455958421637396749478195739334871416166682340959105121865768145071625191953215964891145806093098314704953961685479296695247609281950758859520504676267560396548939566553963732817788907027667778611723543515903912946615465124289207699890136309595585924568547695368198872180357589618834813471428937627834602928698002111356045531286124171927797323629667887330575032726459400489097087408552197701951634051957289821570940889203890169446891843694080066230899018806943411278141619930591413543088256826189844340689621696342017024301333623399540597216023598655242129301599756065087531119769876831903193517700331279606713600147563324434501758879308147014438698098200167958906985094939604024554725033634357695364051165918521660029744984252783406491615524822789616870546962409041241108583967153334079904892065051823388558686498784496112368877989740156035640896745451208952524313595321068386535849692878946812196313997079645160591663324499890823686393380273469540255318755782301240570103863014897730377043638907521491390891270838726937599644740622641099176104663048572386152417264811246382864006574229723065810029927220931512791711946496459472234702351271642001163957177183849008493513133472411178412487594307410401132883728209528059499982430057885584718076089941473209344851181091081049172375047981823003606637918382568534782537478274686588840727896606537543351134125555097419651010080081362283712738064146147991060075127178024898474052825312189968940657796818479478374705647099298410004502413922008496758950329900529996809122510665765308705091554520087303898083376233898655001527216228589021270269295690373967602697795202153598531751793154988765998834078474546006303233102094324930796455034870237528433744074644958149580785841104529751876276509984033518541615724106360128983599005709705629711677871792974894007797902534024650706428664838653886997355086013240623342053062303878044176739830288263125758349162143055015847638879950364989797886821931906801229909470104964018382192242190246863888461972243421727190949172455469965424463409252616793317577137273375460969946124838184991474688927330928165171950101661518679485772612243312308305592006286617922630984132629467276826990453826054444811356368798121623023640768238070307814352439334247243852323467419609582256616393926754796994635150241377581274438690605994056991112565021692510980683397223474759570726577128917895073502319759121291176424510828867015101249000320806966978393421042597433419574321657676192099520485087641035467846111192327431531939441072724360240731339600265140781329157583960471468043746417298219243221901100404616637120553111195659514360260282044913755334834600743245274651350495028734136729490723750632846431156282031871471256228436698916085242378817847675854036154268027634321872774043589244862945500860596403055377414119831699159015931848635437898118283848722987163629906012866743847345809718337267614352483633369785782532033673045107687791345561451246641485221319092395553790039193359465391734799373893423071648603027251071808729982140370489018122615848906309890899951823437719237012971513497460849228996593031036057048232969222854765518151408853760054164065682277512603380718637216984477436732780674662317338817992885725327562462253978011473222958314339685160917123623798284388771572209059161420501743048770670422388890358131659957055738799004463231669577560324099790955987921724940558626906448004932219026918328045527433987114770523278844712139102136059649294409854935556877054179688001002808554039156165445469501211120803038961687751352768591403575991424876267954326963796154185866738143178899152739153486367248302251191906490126396145439332061470453308104342320881409463276939646071126704079867143587947344420577057577332654973741568659196058797496369153647822740488603510731537320974679309840524969032980558004045415807225509064001193710641786870758973786625547142404042326580028558154115113566908103928353213605910720353888445589520715307048843938876953739109727668350084382250789717562076893028874588188989806196455269963004105937179450558519219107407524778302417534193359031028506184516117653411175702189890798830068119681531548505315140664978747209004059112901565829978850266444861559843338774663942896306609245051436657804528059841958246533584609461525604274573535868256545710263292687993148988655664893932214797909334001576815690721698606565564719103625205212366272177524467711698737266036050568723795319032601762779273800785420769816992008618255280519403077251183200763625198814396389408471978637803610670220568533711139036483575736592599087136924551791259414600561192437413803583468035906604548093554104987992382552013025069359788316841408210442636235088925864905144382996725354350298943278002000414449606080895001894586060635496014872901013323258711335861519608794105379228999903499702961380565927138675809933307384284611923692970143979955369873891928434654612658999337242872292095477757259891874734643089946992749874130187979515147289278623584965134224848125604866547444314479154643059939356733530846002679306618778111545129764457051160421515932662246740362914329834266430898186841762192305818385363820455087585581113488619145305324288329313214091688325833871027440907741543400010124005887101488829772379281725217288496932240483088242109702047960420775001926295243962671854740789386071311563453341635865070988466632828891090595252228976944190712271648333507614873200180097493478665347294965399792551134397553557078993119901964694981453445481590529911571278723021951371648708292637248833815920702248442477054316351651374181947475467775658956241982590683669286705296185059245451725617672462480092317217142703797504032927236163672537914036584309172930950897301309334649452605443883798027798135553328536401631265583649710410676968623263712150806477696488278224265376952498650973875587640235089390815825697089232442697247073116326960287711583266424666839954581285291072710096309206677966859898339357080316640294583284663674384917007953402282036157116474495441860731863577566240699849251416730403279145268513221961419146021324711350475964596338485915371691402165466811437294570400637188586551440483893720575568013331161873536618573722333181435185086423835657473331413067782476540047016525386227078694007858007301581400303224575070918207537701724281005315082246996090169793621653569319196750682173306528994920743109413747832772646430595095552389812229025499548424459961880490328458115087607794151811039179409248996115060608721195024852227351637597668950406666297193008094640063553256336014198245102017080494335132017620315240281133749522969510736055830850010304903097284135923756334864323570857442651687960919718912840568084254959912727132381477400728231312964327560217781570751290276587445030929567822023321776832934560644181404319817757810328508729014379162993018907358319228457999970514168152167528002649991481823864145133643906949080650638401069579539471977868885433950671224519171125512490535119321483752016942148393417163312276834114919735262856664742220905712792064779241089031065716864807477958807979755183057844982733072055494614682728272953150563074498781860349984500653146204660849946938645233394812364778338216341548420531786107576183230990981465388464648259489169781358467864837210612873134756134272455818131058781768296329204486086406410121562535018661154328532216712920733253043093870338958520712990236521707651338955704384948183416662733337829116646697466356901536994742937821225453356427453513229512884223991691048635186475966497079807439728436489059209657857370808439985294906297871347723848511182781850560471615289581865912532621692442470764269398599925112323573633965493892449668579693979788112121707435463643588323656232418527392079646243386244127467362648649686402816150141826313852200162468863782000822387389066865429689796354220281724137073107968575210824300336446278243515356459105749216167315532045224575058914348473623757801956913192539299805638927915274980057481554011826268324638751698096313360591555686927642070458143988442252963481067079256167524781245088992157372303153352621515200745511116388536105901658342771184401890084311068532637637783704044765916132906571208743142986797445140037985822465412265635752906566723393212172882571400725299581457927385970133719594975355452090647057787143180459440409895660167673697311572891714254920789088671693952060874910375173391232239733580103176621371545332148072573173362205015663771178809338733623562375114309802551894515613329724481267415985787383241236909563114558077395240309699114183662403093227370619287215124850761147159979502423391735057157867702272822520512200381622928332808907140775085574118722740848337669059796199320212373901698681150835493832288504916464959810920915594702442370837985365484311281131014648874815860012916006980435000685740418856908958745169150126363099509428528522633939736359909939326650139451075393211829532479812637476355503052707751894295616818624577284096918964414913696754210054489022123839706225000999544788336470720183878179388828874351595197159584974158216267768032219751934120266092557351594827141918165889645426701892612093718655423487468574852110091167693733800739029866181867383015828867167560714359861204036438975929098600628950853203509074922596990689555369964231054845114502929113735349394920847086342262286358179147410398976962982618663717409442590491523930725641542402634659032607730540396576533431299649778404594700553767473707218344231117667217125775364720247417738706439550708434918788407893779668981336418438262578503345455944646727884410351027766144078582190326105857421348870579853710893325380731890517980622618087956022188939184739026819829832210982514949023091184719312756786102630850073822874283053439179554168175648973266338439749014662133300455843371470950992129450708901642896766449024322264656220084111077276303185350593749205651611287887205626030770191252073181736659955461311369472370650386985057349980328544765349125141570521161519088046905413616198166219044687240374862739962093823532982565170307302279310801151533063543622382241562522575320935604925583671112401898568748562715966133616606112175989880946455108614912180199101833875954896824195328571132647888341292027975859134597310613247111642325857958802198267491329048310706385650463532518257211502609324828271789744373663583287932918240477176288777942433793069276396811415511578548239439026107446106640227135782351553816029356334760818280629103544839733243892762806697499254711341299093170431236280629858953861976747502853501718052210105595154156393378194347219596752985757928920374681442429130528582783776339939150134539216496578084268690418866865044363472813317098967922757447395954268659462682363443209552824977421652225027780915668056357706359210652926656997891501929402576502992073562688540518239859858709432818795509044216513366666024414983399345111360979204878465091141590561757292917631193345731403979120145135532364275762592770845206078499223432489589984688437095643379838946253820308112865951724265886947186419827288664748060295866741096901705166811160096991436553805452024051662040023404553405666559731122721975710695964300446249627751183196329009171256451543321644694830417217278218215357211870414506512808202543044040768501843087437491285779412506962029716821537405586176652379820819029307680674497313701281130883679394440852944278345336809012011126707605250620929889701851564970725087512764350551926963895034299667723822904652577805513637552513387990867397917361845228684769615494293223418528785678873290401356893138528634658794336983233437569254581179121669588415587611642051423918390741132084582314934943278584627174090144730720592922825107315797607921917170872606218052963237009635984346669396475196510121901326520439838367694046376183019997618328107482519247561682011147266858092037611238750669430212262267649192322901148455505891442859478371902842506045351686935743105778964546182130666476180744779682900381463957436992330771718955998566976346302774889840994563809930483844314335792839644514851332544995251475912169737975255158718490167700950280629606284930038441876777837765591804165747477406050646408048997003319525906166000565317416161656431416393494630487621046180614385001838441203487298142612354111526548058166692882444561739913190869347512336391444801622816702579615804827578658764155388567436650506685312384331188399451247346682861655238275793672135825367401198422393512906846214470616043458184559062921438602633567271268871600732807059836613183485097041942770005874706047115254036021584387849801485093490793626585736647324873627553345135251556462777986105274689244375933006716096600039269082353087700544688514569109971261011116489279118492346137428232762002141067420516794681798356439291484572194455379690841814017552770897024885946272960887721310659460343421047832214364017226971004657299983895986940702530479214578952386685763517868831327432774399955374415858980903634948532576962854282261868717838922538866342683291847478012294100014229697347054707311868034414716205490019857837105275888693141938689309604501743388098572696200231778601973776779090839350943680739007236449602006871366566834618312585036840027861641421454379029847387559895030655030695529254666392167663668294967090401626760168448947136506284736750337457824475240267774489452068061665986621649427403310461741153595600445675845566193102834874549198387665913014625640825720358596512950162039329584049390381567251515725123698070253896095129552691713482387487754137867789936719543612801893215608329564291855496308901803210536347575039436996372049439666921346107743076209088259522119348728680839925005689907020723575446287085234747010600674650707773940097889193094951692884107331084902971520356747069338077359193266724660485366536776335597894953757491597088013790225191428353099715990272663181567684250861419961815894408846768551095091118291771278522135816952219832674609019285275532587701385749103115212986869474187725836050240215284749487447336366531710228646672605397976902886961633565218187913007787549071660364532329280743089928834390138573545100368118897376896121783687274748075970176741908430565189624711528047256935262244278028340061060215219727363560535881199623571694379692058850362809817452196588467341424534206575487618966627316124032995217989494871961938406678946455230747636126924862623780770886987941896549343624223852663743617590621678115394975878789381857544702596290844163337345013339150670840191650646511484891153286559996211260132284190254975551907448357261874429006850203248499209132222452395693645495803925059155413628096424889749623795873383160071577375762386255418113616987682384033270951422700468720806483587693565268820904005163807770362406316741291979182456464421537949335542240506102591388335073193377391015891441310866392679731339013820520390420620472975186830683551573977588695636651676614688813106582186872321426451144328786463449413567290237684173824324157488022961413183698552823293694717699727285915838317944375822091653765261838633209337358853887455337783506111613277009837346232040986710218514586820856881971148152554147188017682086640555871337452146982367476795168032683940198695400143388859922248229319094660330769340123076485781572404640144949631601936647858478782813940828907218962178676682683646766210271291863062958518535572334523591862283634110279926340352498174615518131282376263821931619506726817014631662036635390757053219156177446981405487885629992824478497958591231733351670217347783024521184382800645711877132366044082813945373115971712339038561384680902274825789330702126492852528093227940659420073555458971349594332133253601754962890374089372158496773791199904589471771066108136380237673856427733945667625391951949134513081429719191725183069622763675856044769118365185534160752467222210655409286531444597507560723111346292351851997544750315514970535268769998223972757345894006585164920563060172106532635806482755768802946917211919853910566290563913113318125623793782770394870044877185195868446413836816073598891223840301584756203107150517653405208538226974388195390057268574688696792765533539856040540131900642779929646683485454499176921646223386540700419029318153340151235608861834779976771203640146573228749030804460463202465247237278492460943569910342758746115161138341016534464945594572750273633179951850300062692435368404402532841249947381435899755187005690646069247497239433794970425132385375025641122703101984528390718143696464955762651332969311075659495398154134854783009237290567862509194990362166907194666397507308554204333758304948264110566243135912077298273497467754837986179827636423532243386185878610649760250787252838356605825898652265165602955479037703836268657277803894843174642765715523834132971494683099536208747406610320683114663770575942929185968344188648115439817521218190720925025154695649230615155913571905939004099220917561783466344571202196610896061999120375662373721341444375875197469553545315258773278910183276546840174733796500069764596400019192442165177566412453971766845169197856237280895263425138769506817655386685157623302436411423214047966940350379551075430903413295602798753355339344872997613364783876600065160632706094303660517365505369072413913716440283211352836870905707736701503844910073637705095245527513053319966356246082017480678956286882178033465402273753830562743950564603060873065541690503734492914036591565596244406486545312080014170997368324491393134262162013260566171156923344277083436668646995352562571040043925270691897798499957304955079081099405628194417720552430030339054052040750004389651875457535959816651802458651549253791948630116134005733542072995876354274288217495732192629779930215072961410869043629909080777806819296909847580964263978048961203408802227283084196058492416932523843928848527768936122004936415184491438359924850966151424020572501834069894083262245779357580461864751496223451906559368691756652978212431369553778771837171224759590151752126495342395504355692602148163985671898729469737449851511486626136905200285069499341082617725399625800775073794979421482484114617636981537067655271903782043623980255119274188584514749534249714983665200733053767463252467168329024242265124180385072484981087222465141901131470756636854754510504516991269168493521679752287685211893232646942977641013255761058545782111731261276844227964696919318523621161312655437604410891981444163412492863839831927897735791266649656050344419597006619417294256563200862700041575942224119516598849778504945816477368294120929595863925697380358970717349930490073817510484642684870744133972724026353580124759600931786263309873038454467793270089447573290396728381700099768371024484734406400311040325413591144997673520354673932168106879263174937624115405833970117727391296558034054703125722387198385117761647189288686597954245869621432336835620266354647015893764061892923914024616686814157701777238391338346859898257771459241131453702805369067236351461107036104749030000766831717090206447921787232815437893532375949819898093448355906199364481506366298380976418562775735934478112346499453368943686394601638715092981110929115272790617282295915542526786357037393280628567613258619824691818636898173921690100508859251603520995065150758021208897859113996047552038775009431935338898719959820019159139336351061121075185382589064861623224217884663269752211507947866980733886305966924435362829650552933247196210338138950282923717586136418879133248608491852870551379307283603391666675767825762578898916985809100036793194240289636440442561365777983326041879016979387134714740322343511380991291401627349881219940832782731422287067014370982310031490393865992613303493016300218109019011864641380653347381215265629221337174160604176688596791816700784777449874886615573972550977804631745364832032107238737851602934239357941396482319079397897243402746600750395139068994382443172920799633574135876633381846976496754190041841379716295481186711870098490432253330390487230340105161877044435300482925852195579443383423859393909590100506001509034260176535828203822840127728558961838838813940189356916298401606302092935922297569552254335395170044398631862322079136155276562080915450203779100465516876594903454468386737682239666709559722054564438534618975672546655812621346682310179231593675892813162834073849480436192008080976372639766413082581101016195074446878974241070064385897137858302054514702780545317471568129823068738209216286698095058784818652576779482354194625183688397507685555113360652707393145552351202762317043771935888043673658610366562283787826720911503459766465339968692884497554838749520799117434744708878963684523907419096919705434267105002988807072359608459828763704555048795227888649147910350028699794724777876883230218321471881153518904366204993668838154330676508777923718389648859157207581335134767558055861310971441123945214547165465977047552709080859511282490547590130870939149040916837333561401367288218911668655037411826863128810928191644141169219467690681330307376435746643710614146309085513999964746704252558378593944876071093243198105578766196387172743620150014467845222800686678640066349608034638314961302153323590511879447031561842624742998683627803814169953317273574659172852417636506304669623805912746994416353161831419049230446353858133095564491109420456456404571135250402743215591843888049237938124289834924430228015426038592904305160438703205317722596370327201761243373541403440100865240298145634306677531658270353704711810697261669068539979023154515199616852929065195429476082499159117420239365580291119677198732290962031972841819373091871848074137471648300756564835722768161958139111295488423991509950433098097776660104089269306690018346411742663879681331040127561455004915864201344423003566208241314393033610232216175103389912311819796393905106972494110170014431675562519430394412193462469405278901408312386529161194365974292761501926394233031812606509599905448778514752024452306956397103195750500420745299673805568588077531720370642260276570026394065344554939952605636951427248647126276937262089804782719477528830836472877576454335908866222174132201980039449681842969973378275579975040777332509713303346349081580849072207001524768106601869984961815103493171067110075054856498939873006412928146166904154460565518552638630912031371554329259196073880900701782789195916532665337571782622030851557157950137752829118584161424497716852036651350871206364490127251899825290476834152259668554389774799403146609630876349221770420160426924737306937818846373031025405309482335294385520061884396301250829071295916265988602839709714344210371693344302342585003939481631575190329836977745759502193080720576005168764033564653358579140964094359141090042233610752294437101434437076043249634910699041389738308814729067241232498928089611314847022821818886452402790720938322904609557893359393598258689814660816931316437011568889062573742004344593697774498588485629656148047431621759760674624250052852840844360533527092833089886937564688016024517866470358870657792945259805655581200084807047903992641535401117009247373107542631003719744850875772388206751007056152969884052097882620018984507467941565511771213622866703026593268311656677585104478994195466929055078971570074699357314081460181835357966464384883133678857241727186754392428228327835035988914450113317982271099598394836606912272210564111499359274121023519813009552204266606362394628192066458444052771291037673122984032491355753598632133826359965958483570207589492541406885028297179884360665919250445768336375361219781287961184577109570100275516156223936738567716100448967474821167969381697090666769507410690506528981543113927479656704557704705490668322051440179977223482621903569962923120942580525788210337530748188987300342030338525366262992954323625605263490314572361892992067440919215537859743044243569572421124530335532017532805597365735374325335622793610471192386509684979529669274552599905256688738346329293437753337124454340055208481434794296841482129964216279935966442335543280296707072606853101412198231489240218746208259275815419458203807956912774386405608871387576763396608385651142497866006730625287235858334927781992037930146960228828873340304132967376391785436359224301032200135861485668389764631418223557090428586954466989713759048942831870588920565926445975838514160162645154344837527177972003622526985273133501888101148895834935243296430849932527289636589554972387346006124060081229097884640256632755570814166214978609296485071920229332608843653061154580046476627592359104577987241968265011435565663240921205033885554308660086612682560570223648706741957252581521590881501975845189617220086099958431709489242668129845273721770561144781878576361848910721940883453225170167210733195054777641983763171528689526603222587118473161055765683421782558078269787013132458117602279997981268468360214628114089615047886860285684333168843507383461335244661272097286216926573142644652464373451411529194038320695348944600052399465480090937492263332133606734747807950499663246766641171056637269013113262139998987342210112661713076833051026680081175275680669584129243372566208985077081714523716708425567124593557319388849258234342137835072147259110997680887051595548536962023669286768384382076581136149343045777450983978679446089960094474940807043716315740446885461213511579782494898397680291236074541552395720308145216056584508621802665654416373059032167425508308898681446329334725688058324887568511967122059374187420708389222510759548793210204425423274873036044254641868255642606901540055383426689536881426352477489137867062831832455047416888547208767058233122449645697112840672630171467972469855399775476015474276248613352347187058163988525119298676443553068382472171744137499421906072610463690007712537443331106111001866617722968147180392599013781179473342052722941440581106592807565258049498471534233363774838462704290885869414559736879707908495366863204113031074753418347261043897361245537245051823178638106519620106456280528726433658326616948517900269971973549061663307076229476479223926317643611108031241960390377718405180413689445449883446001097251694042014432302087784030268071264357640627482709461853824149646430548813816194112272655846461346319852341524158083838139679704357420503304834983091258209182126838822732950746319258222652433724969319143422524802461226523845925885756131908098342483831953896442134051985979365773611588159096650527841338586881122459327280341875561028713397056995094988357934440911293566695721652814029819849190798360993804334391130318440736118106619406258001387587102123092070086116668406860237519008861433888527239532554413121368722187668081071547412550117195762681807769143192461144022231888631318615052916910727214991476075488983164542076365208034376135797565416358576733455574406116814368940373508944406738548047592079786048340671540136694493166059392922242725054669014904565641153332764118337360353272229859049066736441061534983584081297729260603666114980238192233575437647009995472803059186796857189970205798840474512358469045231525489370901620651250148261320972730896528800700236847836190055166299282042068868079122708887560551394541432858557751129837506906934429283267373730985313668637779383864878452845659467530664309320651755296178127824093290110260849553794740555152759934730487294387820338476858029747832933228381870386702101716215528559076646789247800848644781911093067384827242318674127627688073886990242923354297380183031418833234657488443208816498329350796585571432142559399057370347356944932548619308965083389079893397684085448725162122538929262757760459051412596581142538333225892626629493413921132077470809508987176160907842180217503469040147966981581370908760840814131227434503022898542779519608490793219864816205621221275757826287789275674674397913347564830815569936243037629821828981342239563773056898148150840220277403528454615097353468303325186893390530183562801472271594516707762392255263812852771633326343744681228289453328530676421687396251800325416366330769673451828438343648821731217016593703250944158088288732078054159840663617429552347337289217826898507010514586221866007851040516152988925451239898563768874044147329296332847184416659825981356042405101951708089909240341644062092652024015016223676560331083240095761103421886210881969439995972606173381933890519439046165556861208494061297911407924547015892597864273581454706073419059330514007196499070452011615852005951744813532960231017951568935080740718218983375857919496910888285972019686245461885095393361117013319812858476097761567890108371710814882165310666963970683544930144632836479331293659940601793089500626508830038954947160473242923207266956475427655640822559903789361117680704340204030685787118068198572685446398379289183767887228256843298990935194844241706765143082820154933240452519872092409692843826246065476304418043634945347192763144723860031372680791252754274798042192337587282642172061836123771992115027430498254236989868046261090520246674440956563739986809516075070936102124714328413698246376558904639151668717548177407535205480311470820376714059223548730178961474007984957657701961263338211739544404001183304354412785461689885043667150546950577125894820155805549149930205059199945061436757105675150367158188929721371052605197683853404564895741657839152189887159530241769843261103206474821504567261910075152782624976943386878352842737988788075830925608380119501686982878022767062356952231418706006722130753163336795798065868214747692065171812319811433096532776258221756958563177309751921868716136170261896382727302110928330362495878556317844741928496036409995119762537988541666468492591504177740896168724060345082663473253166747273406578765871888703154494128111466292826714804994326657868791568424878579287247128100038759463861163274997303637193153164000910116669736268551419872167842292352176110009486794064061018494536127831758215040113185253984528286476683743562289483452542976592134217354126071965997107864941634902732525942913230395860120433928449083032530318002290253775674833851835278564748387170044664109843486206869828933743208287809110442005645881977408492996392394767504614324831104369970390031930851210451476791091704954819659299261110880028914190856792727100056173237827105988706691094752665200268041772773960473978351994586908847570017060134156897981988512975866825238195431553089042964841893715450740892193604906220730670821832441710116555885789821320366930723279090743335613006165950220187498229736700637287638699306357665242241292120418348153717276587435778431783702104335940291776277609096918524536058611567526326506795273043759388371568067205443521193315552955613618530338227023857553807716252876664370610958522395977110566174056752624454330052302772918957300733585382266571129651205638354730638302269421178728656831148270565992544847394841099729598096355445427093342306460521794723025507586404422287394135804721294746587150990051920975186920183092178436423456245819476586405293337872157802353434173027130607574969982270857823640485287305329856031052793228186082232320731349894872367933422435841743251021424245641196322214163458750384889245883589569827607733079003605993412112369617197171705433756591523923888713480855132108808652702765815090442591900320236903297442830518649938278564654839390515570363903200302319375912971011629290127946977731291893362596092151731856525759042778778127924615960635706408648363434729310216911253502815818238704850931431224350641758521770804119727901794807200000860655132956737192087190977717263897000662878992844589484194367767608647122925007155621968398397739320798160623550114350775289019207950963123442250460733222016614155446495583565060602471330289526372710727576598168118321738586713233976465400897681276884305788259319138929701576741299682281966747864745555162001783400158421941339997066014795950996016680650632619032628453608215860661342067773444522632840323898624850544903639833386276464490774638267458333868494945740711842310934126278375786661905683748356791627712331093335806376875766725683268472942391119143688025676]