SHARE
TWEET

int 16777216

Arg0s1080 Jul 7th, 2019 107 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. >>> num = 2**2**24
  2. >>> type(num)
  3. <class 'int'>
  4. >>> print(num)
  5. 979187960342061657282881251686971546952997640978323974157373188652718972326935024250520920648413217594903699530597148072520837558576718329054318120413996656211481198774950465334737187114919910650824465813856960793421451652323797845999952350404502583373088352895538094200740587563120133312990815881185638456569433733416156814327673047297248036956594509014127646843778628165146153510517890095236791964619469141426921153496667092248228661400087541530115636996630150950403605288931638053570893264386548878155144298947397278132632771745136456177341072873480930263368827632143750932447757312566263097826625709039256662275485909236551816216230917890928894991049241604889072133019910414630571176978385717181718845116410015104832199563625012863528181669139979609158782320400623690420467812491804538075867548550906210643522220173089880617631716781767715325862423009812917411335753053999313630947264842594084522274811260471347724303878702182705221988512488901678326647263360849357247274461212426335943280002511440254457670917185564942636088621791464677082428746113431547140404757533039849905211880918280599960679126049268946754816551102028538113588962063641790108621841758718069623497637388053713076325800599739501668096476056688490205804261643181496749303600192481911403516317619583985903133106114848305685709152610767514414992624777625311900411880824560585369303361041481795555639204210669297296437174799410575702267856820674297727186195712525820615338610579022550258768139193717525702072886647947434894993286721517040086034650317562331797929652866615754808418810763156150032729035434896367407384268766869173927355669000288705216370360347466433760383176457337673861165459139033550610384530637229756790553879966704250280742575225582336156335146173163272279963728570599173526169139865251308648833547241666117087519817558401153559013070965030068283523789617918352108165021875270152588946717531081225813594109529906333563398269952882734035921542538630651110209280286567471374346470406176030385966678352474564626759131351311557654875157024663013984536432550597094581492215590065170445634178357772304292746626820701615154333371693491617470436876422769369126076650311111283361442537615229306475686538371092414084361784648511711302473948725317366986124018620524902779975673601582547527130232542529888779098052117142272888515628817333466546705436601754612147588587619715336524938785006099008498154517128391469387706606869201950968528739271122785805766647127993958949394511093968487907659178907152430082989643515035922921769208438132240033034207848104964212187038566698906378260033491263388708948372843440210776754794384703124127104294745936373517726535513214982731223492178368250024419392499943413372959954452706972634722577290464482290907800134428324155640529932664969657216450437106558565079221247648080414994563776700397055116625421546015095224116634931481361329181581351813598520163148772230303245735270674670017531652762553558214966206869313930484432967017961901525630883801630747725353471721959226157177141422676458853001419118509224771024014109688464159576672430403185017620304247375867338331148281051707719649163645533228849552838140870934484883081901358752456449459427564040131781235319664649583229829952915184876532872543963269398033217506870644377694770259345948538454458654539855223283944650477657615355937659524027623813829881656585766893458949023810723072106567067231918061475870675790794087590471783076766150838694994623642810387948913011097014517802922430834190079934334768337539940426691281619967225849935122465649174118318711836376872369292005599111127199039098920583323036474868427864577010727014636557590242612724650452776540404536068628985092364178085901823979079313060968991177196093173030239083575581060041291347036367261434842381619181905338264081997704617808245181006490182325654808339441613000807164566872053925888747026601992336173684299282866914965127952796689844910198500340059816788292626778119518411311621772683344955203370888334886909116024828620541302720400374049623508324011109687893746800482992163975024037739314812220091250988284212301169451391187251620016271648921028682841824517560249548474630454963252933262683801606198001651234689035292121730534568232101372374169908533129752988284824121633352622832592694100117419690156610469859099916619828265488872645970392880629634244212586923449657781289401997879603706966635382040233889476673033044108326923800720372062693196442760672721793853917147396713472944113400236404858736563258341942893678180734503726471378619325664858082109314905837807479927462096742742308466479449119453030638447874148208094248268809891186458875803687013728558150573353637641869924433812123340453066441431325646033777559387000421332193716935955703603345340954164545167132885023667651443010927591234574275545519174118356867671390284201303562551728178365223671476458193462567838224504250001248852619485019120640438683676652999635940173299534845138628032286837100680062401559615240833856467371269333483058831632794554462518184757573449665856272113190964828585268388469142753123667042271709005829134107001850074957799589621659606761076820737664427794239057836850675138462143625132684023025587535959904247715169601321762911588418212273899433661013372308633908942689173528251002750510188444537601557256046955425815288469849700625804116956831339597133358984921532549009700941689224152492216643107531921172195422887547555524284597916166140512088337909108734712479149356015401184683004197102532949956408579189574816903836871137434064266075525723233655644080643894381216953062148500847659853467136647638058416783680440141940671529058303151439304566408668463484000586724614491651190319199911301503835917204333295886745965980373491687392564975528051613968913558391997397386112572947366656316444875956381693047851891308619326021126525696429028477523940586546497020744839259288996402814463707260475418395563321374920618780890151345698292152495201498563973369551497049953552955753062390173353256436690628476949063120216634843593191051892166444219797729612895528309487617933047981420587291493623029993163508615740882689671620581682024918316747052348724532117198537549926119587371561093818206598422494929605387634175381605202839822502212759458542655668632281645843072235768849340386956072861388231665931799313269911885834917286951492321716800942413390630941359880049890670898797757061615559631511685881197999197860885140466913174554945824713091903129001703668187404668890787274721104416958801745947350836963804466402477754538686342323301974976265389972961874141055001694593881529935672062407762972896846397494128840106125088832456538005866049684395275787022543919148559477130206847251469795288840054318468910233513483410572111956051044713082956554594583499232280748641944464722615209436461318489018538651012104715725394312259725542983787541602352473164123452065497514103495873713455153132230246831492798381906430802103006342940665808390623633986770010777782737990357877420331591311557899039386533925104194189155161906816451869912077870275604891410141160388825339869894641286174922072824531734982977954334596039998525444859892470387894361946578646341268600493176217824682304654186096594134083759666068665632048941212201699346985005820412440600662189352080057611982612755571085427092878885614601556885168202573306917827373681095169563674255539367661947322512160213330841365561132767281140090005479511985085450367831314251608491119963264099025519847737782921883793565351344688977393611669987322927440123705889278488812859992458431662583774063438018012032809429543131211290710189453912547302977182414237827847277327885766665445989232095675842937894867707740890210438613031126454217329254758769306668626417737319895425653833454251956137571983474054612216385655258010428479462034010361210590797011247026502953740231762875299594578631898116825976774361951573766366993505792119181817810202917321389581683704734202539572571430167732112056676305870975459148171175991760484354690656871442003119400145739168154703766655954664861610163622554672551757323862527615439279149391485722232613133909989093174055894322260842808209825157015369031457534564016046132133398538265171082591040796575970142344501466679441702113948955628607375995961102754317141453648536372409431041373896785598153824742786266664421572090767231446897725300204797071665675377658380558956778634895125160641018741437788361970221164546481018624159375799944485922661007467614560481294759709576722777984179985014350173339125016560498743021481960138722826707329455093553340894513923737529929542002570674328471480542534151373939036412554850398030935931197421421353065391310740593907487508067050692038168494187155373276901297821483622587850777850629930929311468848384038484808549797182367387406963239377745581977013658114982070859351075252579064856736873182315786942569860833049349032421433732766410837984527722299120577458981919312671276805816969924330226065139373295899962922471090597130156953480561929653113768092026126080781646990017203791331929553215678411617134462062101935853097306283882977000862373468715811535475514449372367338297221644481810003369279887472712825560744338425634231499232025998161120255230059030589456162713812189261792923670068491961307179180392839127623563550664655575146367481734062387126902562710504791986576522636065431707598730819990251425517108118529472418296499017018438285590905947107570440202565729247707399717010671860034825067695934987796707910142886473757817733646933085007652893816344413387495465155542578817905493554456947524802473874625322311371847509666129330142825724965455508353292944342998004207161354140119351284388315964863955875169048125906698370966733043453064355682685754838188798151887953308407648036369921093817694694237247023660312293202119385676816760948168606124563629468545527547096640778640355137535467426676066937109238165163109536551900051249816256498860447261790222675346599582318460779473078480143320610966555083514487402108825479253242828885658395536590562802425707448305482197415710331940673414168502171928134191427319395882398245158776002526170126158344418993308126153245909036488866816780654912019836618174528316985453930786642548675957126684002396898268676237457230953319235172395513164048700123966753155170679691914250693377738925503664385168029989751602001896909196996659698929289919076649630025010124387742040980625777954790786869043071257335007417642674747280548765412056935771379023747347519321064799072684906020362966443701506880610947922850478519267905971098656663407212966117607747562227061333789760213299555824792897390757105751832407013170164093352212602185218583769533900618914746272102235775988110672218912575072271236272851861621110249667289210114096259278776216983222234634140259627991355832398389375308871917211382977377262193137118660898857203242110522351148866894117760322699789592816726025781528573494270705373784521733661433138423503276535984568664535154506780792815071349845145664883934101067276772359884608482142770216850320441969995947577529118695005879831058782895006669701893939184655993449649402737401109544446956053577567556498932795306740908520271574868693925009232567766286868193332643029416446234600890709494322118511091267738121582266720543533054701360305260123786759295130746220093064439985501361285395981198369488665090539856212778657312380485130811043765590025803354247526700196891390651118957328663230672917686860640082609540959047132633984984056912957450288309187035181189181554566030120648277547721593229640060401950240063810782454930149098077976804168550930370975503998639960452214269923206235797233595721014039931134859482147276682365079409793360798379721480675864260668468115135585618961000725053217579571440653527604674124714658923836139260675402393672087591634262297984758061102229742646463419134645277489991110244761899569752722639129588512077109388129619143495801270797310137408025810679287170575206539890310338366880475908271973380548529513868177251255907407251581333068394519184758486688460047580653618799632515065058820427708091428028335580767611348005584681275874456392449012077406774513953163523168759115829133165623976964102118513641469772099594480856763234806728431701764908805313655343631751495903831540610797977819797406170396491742009429619930503999311685915551038965198900809886740556956543071294452128764945580311696275202852444658539479433729368873836476153036944451308169469790601619642789995735729796112927817567420463760490444755845255627759172097137703723304059293596132506882453139620842845496481547537771677242337271052707112509521878777097556128636482922461491347817208666008842546467402721038317747874482574900171139397333769399031033152920007458701215890535610459984637580089966813206922381099046305772591336605908955510745163225903090627755206125002371892223712672592890001331593890084687367728787478958134780221607204627298921353977413655895985574019766670775110235949950752064031317162716180481063686600565405458870355602126910718951996645407778152294833696550738646944030131003858809132641827072765895770716641153542939853294915840883599794200941329511938790750303940671523222754947467802038936177052279066924816715178246854119714912495108209234013350287124706474545196975728433852144367382440416571594636293408139786703886090805138980534273311047284695827274996916121205985243419899618978980203932158007447150813899929075804931241127240509129935462751498046073514483566004031220178597462099679121258678784494844057635969146524577223535139973018314940114224829877307527953018085756549218017532926580236721158686720967180767769019370431523937711976514654892783382992007554742238665582540213488593762083620355277216420961928178839419049664382541887939928022526397998067493477004983754545252869030294962427051165084816082645242060899366105942612960406293430473102126048312651899398296469095267996662839067607125413469865291245198139792061009120944506028262978333860918553475134924291149468499496625447081594432451495796798345723901943385127943759282252784326019602356426970334178132040575313396731426370839337634312738116639798000983242321907147775090547604584528614553740593324763752325999929072537059591626266051797102125152950276916488976007668109511564356770812424659607392826400130901275008202655742280125998754784090492892197921490768328387100821405866813313902923193022870452414691988237953293009184854710990811168057517782350896644240827153779813378673940579708375336865886318693719461579448520251783339739172223165850414407063193042768242695060846021947006656857775339032478167122619402570176923365224347778788877714910774563591815077044562646417625321225947395066239850373105255192537883901918004012346759601484266404160671429684173614844473539995100478371858698156656795683399315510432312487703948637870326997938348454558275821085554040493952633533695942703333499235696806148930804916850349600381305247770639239446019992603093559264965459843930068803106821259395764045086755337433457586727723662482368572404665601993048576299667953732135837289994629342135764453122491768777025855115050750971078114836561434612137731567459988495848068476308517908701024301688602536894055927454480654467730979060632271204920345228484063844782118761271793509934631318647320796114265325804794251659877343201299243274839206107502154230348468344403054685327063013017173795477391071511959174461087514570019945763064336496495519453592919166569960108749491188026782470458394439349444428826865278494571110015531791731967164459325777751956677343432845746838816440427950204897296456334640913473720887748529830952788301905889585373799090564389382101000956287285270365381959506655754356720189663025561851042135822513417259975581235826657685241989021724867757428388743182289214283404514691570032020892473283831101137413338943336944061340260571657818845385659335314736259666828566413684538436379528433462605473172890324074262690935157690320569873948718626159224421718155943339997464678961994135352697331004800505877766528153880276676086234711598838499315188349864135119213244038953031254941290385638665128201834978573565750648027710350067373181177539270344125698638466145288000197006226257389811321550046272354887233479702219515329099449482325965322919858968206517882292724810564364321994555732551893913663640532215610480138540309602901985767476783698889500409403754306624172485932464180200972362130530259642740241417897989779983761500399657846912814296362136974762186292558637784641193205551373169190074955306779342734782442526009175815520924473474686638213296981831338346594579160539523565681626429894984493688575896456527599625030263392362372872474302835159364042377182220786200409554154089131041042272665137037544273322027960177563639417497202922764133763227402249028522573369975523266608712052363378658650762164302200826097766009188102170415985935308714748789718094137596261432375728229262856478620150415134491874409807505341444789191216372291928480082922913533100353268709242615560607283741003712830790878808719861887974573411855531958198965758003577199337748515437306658897891291058617840394662026224528832467309812758158876872365420311379166629919875238018269636453886441834389943962149058259336371338550367529195612230515928072528863425842844017756215246446311369028954945575568949318690309481070770024145675928874641536915472736808540801383978912515266175562502984142062665677134941103109907621940982683738158526873900970115054651453639909027468086304197037698224777348685388323296177321563763967167049282072603699005720366647784072810622410189075307434275274990843116434678504997134694162099518720481093216987664307641353979127993840577413013802221323674541816672598054066503975372987122747406574632624335239673701322951539180136349167242723918718827253535211607050984379802184952659130206467285760730435417130094212484242947319806846546292203049402939841838250074712919737374646051480338905555454951789575357460647734935273410831892276945002323347988438416792297952677977973162437623394910131692100236214232065537569087980271680948608035125804318779928519084993307183481692939269878413684161963868526586923384807283969302641467124874295966908848475569646741558849363922103841862128576853840105392709435323990899698951762757283625621443847244944558738022089143885441820532637864448506796445880884632694714882901122944007073191530082368189928702190282794321831247106851453088330751153564089527932969777670704430995869006789702439853433160036990437902530655209863770104127281555103293046044805428799899328600214975508403502424055763761350131332583085568008543269022067633254673934653373529136316309798086940147812032342558247342091661286372598944795976787620698687834487192083307066542362149707232292850484998485069012829517992264628245937758863435702456358692868252214038519632572949084280503329268307870502084903371275482561333774421505635013286911420916429207487781963490583084599893423317638282943628899727810451221672031390362215563335749054552207055644297415544146867728489123934253572495632044631078393900276509683531383095893992088171520791734592222686807429160808428422788486577245900250556101711385091764891672854141930608461539452840272178138980353999113183837889049728594463329241593578413056556301068202741238634165321186757523075205247868818041542706126985449269652794606594767699583555990559239521783395261426875487563279825854160435504438457503546852792817267729713448284748662672666182743128377099409326205249685159740073877692437230448060246303447271892049069871523414197678280597219836532268580883510036369153895748793800116256547872933008427870127197527684661830873128469589908542467336273312953994222810539738551336970908056647434303440072311813438357010613229621117698012624395239337708594366931371744213459094164043247905091553126307383842798587899871999764706128183436125498352705821450380143631190481600561667944973814754461458414785701500458267985616498491912859009251358522758809739799772875586499659909712229882277995794691546409840639283371860572073769645314929879157235989007245913290206227889326278541414246083944532873801185559024413113834456364366391596132555942982978286547006879789591687884145888427454484473531162123634752734485739697335231189449987886492669139028319088255237645848356847520077280740296897421975898475652167672936892978890278586418071606403236521030117970771621632994601488905459205234841641318174874951073920571176539177244583859475178252700512750303305169311102823875564381281390467337974692599298582511551396662885053169610377847366539929195600952246076274509367441741984966151375298603688730481142519901719229024827977346818236347955415070209895469993237105200810058373310038744273158088783568780880549824245251283983471353150431385765128975189419913828270315169043076979783206320404075953311944051698390381034790013176831339526682271630718618643290376698167668522563353041971561916212588294357832087083117088430656567598243406897896829977561158504975110191565300042130297121286942421617006605507212345216920555170305449631818151942443546235517279527962449145227283078831604834991985400943724852820176001457172186340904421011418358498963768570481426515375763469326136857382374799368809308166607649262550139375105968849003407190440720211794913185541090820618954711921935564129719848611127397723488226183774294716455819755234956511501146650393333171852464291361414603549873053841244931376344460809838030772721635866988108983096938876649025104248602392315151916980001607243002509580887407913891600797328112807520369107207010628327683114714969753864438208811516876446253603855312869781221537842621880591817834294389877226137740983052846028439563706408925457891494924756387360734012513716137093279207000023902794212149356806357405271979746149854883597136947918574182669782267385475869532617338199347033065091746417162788293411905132258875467415090377826077387294636907212982431559004789968046849641964743110996233667463195093567132309275996955692984282865865477424532738002676340711703960673054990280712873923382286137942463087069374510826508757957749982483582995940304057422521800611273287568507240166568132515450231221706496724416941936782508405454917345547321762533335957395617456996737504501910267650212272897991188083021003517434233048321838414098066717623420181065461699057691660042988564560825895930819008443143086465727903467072578403131627879594736896937115129086698438207159189574453907686250573366944744018119912388175564711006495311483063275079832366004867347831599058939101762284706346408763780164815466578023047240215184063674318014622885273386755449315803336194849099223894242028014607279946366555048137022882273543969613445242598700842434072219216326245210146811117904032885559124845777646212103327016290906802661211564972522476140690686989440428950268697996222165465364863742700541739478064924106509540492360481685527595292279228053411976096388238906509064958196537225948233480495492644856759256278853892804117481968526904313805873501980477400779677854538613164372789896329377107137977678757683842918164567387505105992219027476547606612449585420750557957856259980409069174424141946916810450220153142305998203915108454241471758788681282069019302948827938094853883280250879109433268897731056473419461254814481199654038004080601497389797520985613553949829389322869922494795903040250099221656076757988996255163159635172127497941878714150185665851102606815035041101691252830636792203509171479433519536544166132822329760080311032666690973643832678444318651569086419592329040350709142206901422162092767814216980154960648376134952818257811794540667455577808733791934397975420136848782296391799104686367312777316564571335352534372243850851022986486488403087140155179673313594407188886539119365632233253463354108730589758189127764432206595207452279557133563727066498813259841846042950500800568345668513304440068450359392802446721741856783728589661624575147898064107272165514950419252480195421836924713413376347372400556349644337404850325751629999866764924728257498266744807116256452504796644720633752063869258848657464214614820621146786743733260244365822731135255845853573494494031877540772223560530547010314545864421738872243367835590543528388417884048899624092991119243261279715473556650908245204671566744604657878529777858639812922737239111263058091365887604845543961929291074220222360855384825229865406527297184518320380554793202852235305242777163879232679820476811634583301539999355852822509431089666875860005191012522012994134489140424586112449343318104193502893622351440580951599865009096118596837055914015919756667153663551998044338245544015161665865473867049488716845055160446493118311331443860172494225648979410491966225256652742389928796141004450603790628918458783621331753919260848866319363849982006929176855823346277581863926464441575525535741828019430308420284449952965775504341121667721174781890775713537684955880984150515330609706904332150169625470495765441170367992941194902959758930401885077272338232404673297710659483134784928107932806940238451878920889770005750506869513778226889459439763132769705462987861178268558888254052495917496063430032836365253582601907342971893696439287625288720103938325931725186263776239761972827382363459699037917076765344958616109110097036843154692975688537683428951632234111338979394580201308851250575926792000179053929487454621783982354189990657985307652116146140618899042479118283088486911207712591833154712123997681631979123998218901459856927043230473068900608702656430439205489447863303797112230063874359789340847561468382644854970851631536023059189059081439960135774036940266812692442283847031735985490437871927136858104225270304578963115360196325872498881007570710024813185462665156047503504616952288907512636124533415581013249990119421635207152673194000072096624741673587407451506231049473519055719023870814328119192933870641093193208884280953637239402613625932663056552795961731342706850082826394278344121650048413909230385967691272545785774550312005185386988785177836608952959791166669636857314886339201529086506671062731368837526359305488873473535050784799045161418300219963594931769557778668422432768677053291195477330882103053707891507303288780295559070550990768920992892192479103407951454713865117769676169334283761043231891214251439416184677400903218053518679718631157756446823984741927371918006836617939488581381304462790916749606154543237415250916956471100792103449046911865109145829250132448640011423290758513983076791228490126356065909869021935862201308310409069427117558661750098471415594054892490757880949881109683775239439013016852587801678025257019020821299228934981689510774675727355140900083933377878637130871209706347796410617077935838019571771220701537139442682178091145571457014414959161349208930703340551141386785980042798120549918518041179107427121816679076147366644503038789706185437660110722829220957745809287472011636615847193155179766169789873996383223632697042870647312840741925511744460020587979186138882668844464014836917785189858836652754653201951181088695713133607464278306927749419172513829163649688079563430757515063079587064149027342361865540292856733050608937830784035535776781714381458150519301339723898250314101145029851342672255913123385188676729591833305172011255662742288202394112753908213684159077979033681606833315796326193473325067616466816506381291476910838150594039578898033348091712404986467980430628523788954042472143478343211125243874027105234718499449452843172574813549491715301878609288016393885073524051812416626114579434276596828648322171828155265285280187726902927974631809439196055198924739173575471827565188325038023034467832057711557518519301241724162161118666014932134711048832752807134031889189511452943537737259656954587562097294378222506519141659289469520854891416401581663779087950790197728598858823039664850986187819610970158756607159780470793666013511137464643853256879246592456257910423725891137480763337746297434244315344105488470707950328803967189438278049968456696805863661957345424697572769688637167873671701295254829346969189534357952873369499071404824442155093067672158837037010256350738468712846695010670988415599672325315567575873660831444909684626914147603669559390595021041967099446009813264820243469589575020676910766999650954365186578271878171383636282845675675954280008942448637078109802362250714592946677989812345456509936259802938332945511689228575827655389021737533882545941381964910997798887959199912913123832201632985650481838655850202230578094009701329515422413566647745533440395617542053419645666881379414419903070543482784757736409488630825006819111012973308468898029517815296002641253464692710884009575363777863026611109361139788469831751815031349625265524487057934908658005402437072622030355511415707085137233930157981527581851136066989103458670448602530204331360595073628313663479388997942477529914150758464536558181903622050732687962106104907977135331854525261501808131305530710717467928849862123721885093967194571180962895137061621220418695973445591579107404178066012461166906952055145367727421160833327391743447191012104896542806790715777671389629127209879083490312205979411439768316987747639775044477440908958195791195284834521609029941347155358198142448062851024057120615173594474067077774499896031293987523965159836166753565890101434985540369577077965407193419106453014227310446194681278091060324277048505857176720921807733041895814229793863278927266589635257605111530544870472387960305026069789549361317064922440800367375648060715042967307656624041787538721573632431181162506714815001904612805630458890134114556376567778299174616783346470017115957481164115782072427641788788185550770559518759824799091347019768182996963460829799105532985238991212275409073086701804599348877029740490091924118009773959337148041830971210777361970510197782454987495112683587499699765796651013837849338720300919403362433518424089085528014934112245013184839551024636755948421299501287847816428023883910028779769735556167852483350611036899425086870420746714435378177869198576912392727673919374556993687348945422969715683434695938780496376575901439043163823779977028649140306281340611628014341505863355069841403386404299546757309040375586625843003807636669608388806032581558325076103666499059759573652055130314400192605015904920833887183051683030620422593289354376855903646159378575186332849393030951753483580951874675536730919875454411152597752490709020139297058788190574645094829862994312026417563134757623880556737755762184113274100413905284984594481493247707426303003065236461884831990549416616847098285008148044326989477856005412695980875823087791162627498504449165842301458210789199974257946388914878684858439776936132088945847771323246679906413388319275936780012841609737671112817143059246159303760094758886356792462606361082562869562653723358213838762767956912433930203510476322143461528239254699921633849729613361698727794920701372182917490249158600308539752894415890427172732500934913983071968049271627469577084458538231946260293083557980267472770868714741754576086787056423293871152081924957930510476432632451629296006249008407790111229077125864543097228472466648725726551917467386702966780985642136055342968993265365331327398732503465893330833742977946956274149218899846587081320597445435665702675154456541258928742150914959996720666432572584262928102702327885758771997989876215493085356274500880245148801315292284681669027403528508422367825272458378097564556879551709938261503494948676106845194231506461050020733869089068056054515590574423104231367614290306720137463083553307236123319743479496547041388200819402032468349635661601891050579512837565201564698896490208478255902426147932396366465581932869109501402925483542963053520184222341649619049852888947898614937266886156830237349248823413858715349019950645279473032502939933403005201407413527082904855111656851979912109346531688864930298891045570395535136060644541960619580781519733909843738186882997240128464851886958766888753204595707113772195605586413915655219459019505275185657385698508032970800941099753994256739737788479936506406966588064908553753864298361534249237475347806034754658405573371754859745794741112751532011267066296644077990984358950151931006365310552746137054795265928252854027546207230400299088613625628112481563910394135641249523301406481607494798854363856284794432176665539936862108191795139864485604474821695269325481083762069275247204153799905098762149797822503054923892149233862470554007745149361050591487105322249621359267471773390562676425069889727895979201595211502372202479978542080034644019823963502916370501359182471042584077296028487304576160428514316383707280287841145909622256913267854329336796294481432045109948796500987718443034548651866893826641547987257864406486176146855128597832921210624959105957091847001744546524052183271258825150724019729200755937024685220416857398729399585229003571716902073346811535071777455288829973742889284350383166317765668508259638566687864699011072803610827216325646761082172619351329837430211174189282690714205188258960318722859722513641265891479932997816300724584565376367363298829754659807350744615006944894459827066489926876223644950369509056025071570929202720406254077206259980758937550879873826947465828299941021529403429255117363184108191077688155730102730157634477133879827145307637192638382011119319476641675425400309057117584801343200940032320077422490090213069144227780912316493122933719108256634902733503555643805520749565584988991079715348995338591553518044320410106874609564242010232823312431088536248765452238526020166032589418088958063713896657244860195433022916462056982760009680652265409015652731756735016696306799946666143997047762423622730774661391507565499343456216624567268473188737097255325684222408046691024429646199232217149350502737582735209902630530520119358087224351471008400479767945823837458087407633692081079824529328695142132144615119105305820090516659450528699061359862863512692677629649224941799981205428267826928439998948188130453595404704647203283134477594545102763664814180857090814871515680327464394860872370846165379360719305642852570398792611668701388689722068111474231083190552893500827977092720877053351533893392956571219057162327321176689596469505591290161704689513085863899322113046442640727800662373351893663860747504278201646924721306820687319999320722091943436697801755525232374944140559939317823111109204159962973865531080465780672604098032487664249797353029497885370819546705318210103133260754171580691154859272300404148895665616723885498381370418797410648197866249372192918691405731347265542219409375284947404411849869158389734297759991075487197143261887275181057723263731843459009183139241948602087965510005137283336970398624105920435706617505338501837990406798263723266747117598075387778602398908732596586375158750017726541579828998796878788845927073877458905665237304746316429681934012990946225244991600155698720598378557747684036927626835140455481487197975824702238549406206679528239825632254890465082672963567883015536557399106493274074967895171336310183332709549285011341682356412715516021675740288770093992999732393919728530915126031564471748367308994412238901653998101094124215894216772751776582726019873781045820450030375774190873796040604277228713143181349974731147675355540884291985177760123848307785101454816985146315375566864205158734948454965183819173142010298167903345314888068814176987937593182219241761754954772815000133411712720322942609787860309377269391529676593877140724790055433109236450642664067385310871685057937972424176252066759769444701537932968087600431004371916154660904843607595377963140287638381569103749816317204594569796614058980359538757092898191414849323775037778127166218202395052100305943026096171876881184265524425563452777383717631128458056662575144524152005554388081481916134402946398806298617708689636106506190137619552767905621883531250684192855162315081279781382657468762317151005117372144111522764734168416772817718428736811970988673948071527502095160416226942892701759451902446885760539016944378653695682429524206273784473789229712125471156966013528714281142757882741933654217223411213039212212384112868790971229892879241543977004217334456056909188414806026722921910295098551765182645018850880309745731231922626739721796507086396150585471410287271336086752075936881476975976470923688996368998571252906667852729232342351658059782545935013587181478618089738582904636034669714662470659055060957993103995955948908234796702761081022780134327811859944403778731180807328554648299902014069734728040835811303958162500789144685770774584532967680640308111165028748100177526682281095176315202146704263793331194169852548267618172247261703547589824487914876416296770333707916135325245782219660616651176351501059510012664824258755092108811119273339362562486188001355798186373239795482627732848784000050076488327717649544606490768471212403731544873615600152738628973192586619217433406072331252048738245021776150496404152587113468530491215890208957771062323901730684283776649342348486351972636546095035167488665032356754142817194746330527091843812813541508847732981480501794194342337960649896546009159665848210738438465296375063279745809595435517966677818533258427414084874665423078923059931404439412995448712066956149608296058888065757392341292523274783681013963274700763938866815308460285246485994711291394011815542315072403960857561601564661121118178817347358853740304140167509903561799785510127557070840260292340678351453994533084590296889760885033450173057502905325557422243415408561222111103098132492167917549924792813956411011314462463463680915630139886407095176179630644089371375422138816457967991434783607080223400207631601034522292357150205419986261420796494000071150316372762030447133682792445216026484266074158294648396742382489888277990833561834260794641294963719897045950295172392169629774744643535938124879391026192683709478334520080567637023001666373544876324511199866311778256485034203042949401346633693765159321402502601105319361951785698121805420247360424648227562987816290961213923021251475694780678432044300617083815958079079010361412768586605124227632042817204042110738479281047703975105856284382383380754784547638497304156131540887011310206092051744469459573343674084594971948685378311810116944369263643756942029855934222569747890852466710544741714579990865174186405692683582120936383511500562520716039408977497580298034351062827408081189279641725304356305100193475619078088585192450113204625828220593705202680673647776212509962273969468558353037235033009226659410124185029375137379445369500828802334552212103032040974099202752078540329935847992502871133005600713954401512199157300707383915318089755001368759267269228173743051691594488777007944138202951844390425706014884680342052301466863457778199084489156370220135390189744204099190053086333563966084031072794563085419091673511794069819841247404647724287160384053788882030094297031174654719461294587563371435896440276459356533771200269605463918476074959006216758524272712559088801576269516235190622485096823562568491430026260302277971706077844930477463038638316661969166418118778591103524851408937918391435510288354016517944910320584529370570714855041476113315811237147302890924267045067297432200993621988742563267534826296422488414363069739478065877782334073806661861597439209334793440527913395548658159187619182694218047091868022195468523921483403157665201904170957667445541839383990129567369801076879985515251799473954572746643339638508427926336709029952706119053232159693700716060402933713483724482218825422869892342686035033693574398979744324635097979565064638728738221963258269899854787759693935727095925475907073336270654505721446431008796460271369208442126637678438712495675409418063200797132212126018840783253726391690876876910314313048249557771521721880054171178236697159404910316339255797556508726302378768540510492588353594393221695686481460840003547542701697063071489922853928434127330605366615634210565369849810529138546185651097575330136146206885563061396053678334043636934120923681378453546195401062656557875698937938781253334081692342253978282036508454282324301693408903478857450158930189684066707160196602150569002316445428653932862314193359739855924632909657529653283127822786071673522510192579289901594088722999887080221692737079908429533624931805802326563358413122546281015868923441692288872916565572007383744026751062018982106252622717842030961002465163145004592714608029314319192950776549033078589594289765910833909386765574190475109168475756058346357398226028144437126488285186514840261355490048001363651003045324581815411856054138050012701258764242174711306559420257993871895571691930040936545203093766684239767609206100685945498315868648872455132735495549386337741783795438127063442087039308927013557483614910992970882194518133653640120282260666540876265840339393602055733836170773588923185673355928192666362110252045395005781825445991915857123621267556876402045845742533288888830175483032434584831267542673638499183923476276136136316794368118672025995737502956103671917830333681172179433472369024482593964670210355397339453672811369063939185853566238279390844947243176337856866314053489589512570996559551497994173236592962562739220334282661675181748760949289589684638589507172328862469628224143824573962812176661633557532093514301733659553317250210376525910294935407074813917681518493105903287815815999327951245137824037128358108667774796802900703110130801606792294430209039618965921248282168206402414310899907310349430905314528408203532348405003670523346247790612574449073416152111462276335242145050471486354087031466950728752937608999624340172936553989134735305974017500203770980470588529609110801922194688862345742469410087624843069315731660872495194909335469211871450578639288685703820431239215918724777735873385701909204651456662143088417864224550296796927849848603150616376814223154849939675078075655821333621076509282503894255990676705529453800070885546460670119739377240768380944749476153057181282607216816204212813034345258793746075161566298893441024807119082607501412761862244974644920574462378016394230542122485922631270188330819142562847135059110951607295127788128650012678747019290588353169818154760102753241622044783592208579717693143404259980997229411197925318785044853469621993987003577098271686482014957677811721920283030980955881963900844024734540137350224009144948317975752711459827895857351623929668006801373023684479895613070799169144581568091712305975492873741380173728952003777865399340354216021038160846807788692514313344790818251750190404532488438291297396609935763482868875885387068857824512634773742332928953515359753480910500312064925259445800906177756102857845497294798295501004292480646873802315754190014006250165735054486819722963679502767115868428439904472401511902486143470600810174808324681694763659215514431271111793073670986010517079818839672568700271770340407409809160418853466972049602247568849725398181636395600884700324613640960293209759707479844779259404082611900409561672851153683834341406994142751847426820012787145344306157074725397221873511588978366475079212094686466526285016565753000462939089819456716256058961664027521380995749304167637999807462741100396177649573257766845965306124441346587265958135562784933193341749971959817742786845271750674638943306138786983942138657030969952935378911929060849287265989276383804600195145659955988060601139452753004401961206258735829580720215456447175457637939679405228233219174208132662140766531982678481537740357694044460068874241097210333951189555924786777258810593623852675314378336501227346215861542315278145029040802129957284219319114666779444545199631022547067525183016669242752223897178361904492481631692119187547415345405102054342279411933048761528932467848738144320738548128580373544496164678358234049085737825319062028548088651088634377490606203656449380649640081262614317755369067234326568092826040498021000491271836586094722447833317394327553730284257862066574128587026020147162679028108506293830889705915714037516032037127824377769549344988190077293309894225876250427855430075825375762814949773046336895522907632571515614391053519273967126957721175215494701077975002683709052369515324839930756408052472843272703377616885236952350619323580047679029589859572621212785300036476711232098925905829437745080849632282886847170360887875233358106446652095142271569666142901794056244556084538509410935048066418886140068434236367240836449776981488862491567263376378111883087060954127303925518666713960928510930075099784139627617540164639246698828771129271825079308098839891806062260747180813208886867532270830643857085068153494922370486818907460591582012000855313116053976516497592122044937595452667310372676615256315257530707517483279059534970323422125956738072550878540337298457081653842267905289043807258267748209968988828665675254187852909518986426398628845837116697238123607842750709750063797579328147765642927289384265627223663570946045168998466279037177133308836459748629130220831093565287468012817079581478497474550767549009614081537128751428430490241379445290496614130684148476084391389196396878915959109955783232254820706228919833527371771783451982780329234510174997180426480694349953542975825970988670945275866965186762539508958855635284960026071693759776676424484146851462419430118138825768579802255050740193035279964127677924669470545569095507129549955319521917726215936080486432360446126279910575479211272171864304710752288164868407564027016215894369735334040284240169355042940286729101755397194945921452790020781823153467839136395295398931808065299836703070759523843441338949282482295598213850562158095893262515520449380622283052853719763802944373081433308480946444798870132043614817089772687381874185291968132427753951142369733917836212978729830265575265076192258461591685847027694804302004991694502062670902822613137516958774993302202356593871573329178072464019568435163654863733348001971862688744570989287152374139093206723568695313209864317437967714323071363948486383843613313608946375109178987378090044532038475200703898278174965634345106079638588927001915300981464797854215034537814712993007825672817656354751480267771911093230208078053546276908996011174989832917141299328187398859088667325456298904681578765104174793105201540742555437788506625179067338720234135392597336652615928813251980704437405839295914537535515262703661441815244928840436956405032874161768407838606619571519978603161630469989678038452411619488516665370250611661101246718073446049906887468429393100789768341544659228331031841773954403749317369386798875218216741417003509308260336184747324731227398976103248892024316764974807448197323403446750901075460783211315967597981174407887575733180261934054219084534087711449973355104388108134457259947211719278120971264889921377330145496228918967885953311750113854450673831729415376383268724775139769689016067243257207479830099548656961641787216041095243587891763446861661650551012788558672668842609258308317864769734282145924012566661515940195026273093295185840666351802467339788713676512688706179356844228001751291345388186694285108761962231919505418417560056281989021510047161880959944688007444679921341543679385618420602598249098442834430148055746966307087621243341688027813463655586612481163320115138367563583846802401216451726247829570565029320287691578463725508846719216531462484503383062977708165152160290080080265032718390140871487517376806547569408678948826282244128492434430240613541311291313046255738728023047026755455937597902080779911360524659029871194745323036216692668399964490079941316274784645673780653162846749476869786379712841999199910241709796820198464760476053117953243872253977922017835369513435546467155739030842095639709210942681149828016189107603960832696816376260192628138359462364597035044829223648222379086995123847016801570530867238103417370492965040588556741081286547357279692702957198782007630550484639810490593205884209398137765729945585046915167856750311714993248841835780040476971295873927359673917359346207355038935819788640711471237709823376370161008824468122855110960088846712924396918652486638064693383932309059438976129773104664522386776255136972243144613664367280246079136112589147265020145768696000396181418349985755641642452796508288723045462889340779520482252349750706879856564788870848115350351342279507158598164114292203733440943517533085753998571118319573583794544189490544072204414474557265530235586241474878806061520165963423860746174272221308986744098002737895687353811811999927487302331565881370100815743323258759150801411099077810138255824284006712038259393375026227303710406234794293943303492178217630620478276571696827752955896486544131661012292120964397593626370678104387565527800700888270964624618272480251891279654442437839231149060418707706166540897998072436475677911902532657338006243577955314412546469156015731777424442462147468678058425371851731114806162134161709312735643708643835648421962497763975591835324846354898095960563063921056758015854983344082785729306340654972678387682359732106201981341187136058329131557372651835526358932528203464773409177171345523631089512895363874127939795178512367883993136417789264282757254225069418436755752693421983161481745014140707520631112808593122957763513707557663603376409424307199169297569377354746221611474418531033804694373167019604115724126106018459442731454382712217346948490989601323866618901327182145223593884182698281427040155940267682771087719924087185271796682989578730509533076507963101192666259511927884587387274073045257315034849137631838890575918417244209077836828722578491016359397996449749112755034780055546354430203543713643476853074554883523963506734920203804967696936156976116441866091093799060914691356937326085100339906101166425158165578181687200718245497282089523504659986182514990124827373670358114483063155846647680203878889658207503961318822308663640138962358645023931281452019134714564319569754599386356487848773969420853435802780875641873632324834005149613120225283521001177598344378761754112844557479999487801111661307697373943850530982069542643435242068041434196507414437357619924323536105086718235984404795722276399652708508097597388742284657058893293047548691972176663299327583368536072779130800166931892029080663086878715975235714134732636443148531051054450205121467286245775727812205833566969800608805248946780050743338269792105412411948448616435435904098585826661432497355241142253283862135360379779019903650050421341135228053848672762635086955320793165324214291636792683067654557832095997523939572190598949312918429418689083966959258055028060260290810610025978612368559952558283083551981768786978404864316947788171008835969377490096652424135229045823892184284093732850361362176072757424169604880319073671143401869926843063640006525441290954203662705405835599049121657770650689698050945557417623261399040248669052832236388499499424850387113738635737163394643898914789876811352283546467152584035520707098213474410470514400249214972244404665036171876657198424514888948791102393686444090040232710909937360061760573438998788478131939381058401303339054695246738373228598679246805455095650550267088819408369160784229478872185690867820773979653441912614322852577593711503029486288778518898411920987962705251064685700794984658506652217528746430882276793645225525484333709419240025624644493719402506171301109563976060073355128237214054821050028701174778799447224618994860634168805451548754064218186419578047084910651435958553693969471760870376237029170611942329089850873608549757505155659112371996485221435927297771106060410003148682018010095359963150917420412271813956469002614489741163586962874611775287418799939537618756560488385735777082569561088205946829227663274995180553196111871162394259534702019509897090429063971079421602107429714485497511397297856268317194438030156446093173526922073723847103130307911977942681103418553175560418306654112396096072931237987314203779941784543240506384161559370241326209921606394791347258667471246154850717208480149227864434493110867332318916478349376898921579807428628630028012337174854250234439978585462561108575348173690824740183442080632820551406149379822351888951746333409908698402505030824163156275353444075778100950469312860862717381544392323027173999802522783377522042359178251521099495486584989669942657386986928339919324586299675648614115000263916701830703904047847545992871265928512529842318385834728783871400646819651182923230869694343309813206056416439745949665736855738364324330216958099251127248703199816825230669595986872515121041734603788657696183880176737485850276021844311122993603358476113740041679171521577932045422996790248242331566444088596265388682447516039899877129725247613031029976610393269304687746631021817367822670674252469956846028496335240947387189879412255064050717290140675752737416980209868327429882852404882221239993209643776915712987186904955760094750062291916058989251873265148440387387391450557450862029481524065243399508142873180603138729953977606372648564384218887471347170828151617160728253012102156067826151420305197309391706786808814795934248907757775883235223864134261099030829532131737246356647919622022093475705737379967347373075932793502017228290837823847729557282774249965845372139531759899507074862827153472186564918782236227120962224728210410114447307938258478810563332309302840468618729785869111324129049810518749981636844229636022522355016667559327669546442945343658797082912949452332340298209127100098685853564871295683775378039500077985382709592509698250557184651017859844926263101154651311614433301412836116169023752698459969395188521429432918912448198094459918456428817241831595594483199753840981299931675886056947383080710355908412863543212806650075634038777040894576144989779305628405177328327870204444487805293907897078569514582150370777072403374451645698366185180570983804790368651640923991278938315966239592493995932619052677437534880077370301628390845870116476590567529783053648315993088462866416335875064201139173152186245813083897126801915208452657247938077177943443235976303023796151874276181038660619574603999477534012026899596752762231574828272476705152073707513959327489388101755256994106344745217712941665193633811589541297929352092996303893483125431609587278857953753607072772173458700530377844346469415857643527742701826460758959988178054559633078560999558930817417698127413084445141898009732271298158691188764237533619095091302685495971741378874117952465241695526993267713332090904915313494496562349936532832681931038314288688962171853201556352418275160937647043555006489980783803841041153204225435999041276685551628257394683763321521418714883117667864963092136854541343995817678752768660664072578055014253451032766323907322681822505349789074912609153692295468660636224012807722668247824919799483539240855625932456456243063735853510583751025803197357820958300016183325513879651323406815444562299541664483415711630598073303052084479746631027866486762807015057551275508041963255748716533674338396788635155490963466740132981682315401766870527498246138779725652912831708520910016449042326785930041660338338530311303661202381958438282224185615603442536705766344889145847459443558354369771720076886045389330093798696321885802682135519385601986339340755705318009119728723088433053431970877710859938535701080729095794973122467104531822744768770231346112592879817323967496921254917466912391569464991535165254069580642498306638217648658356260717384537710302345745416976779653389431843197049557503720578339826319673128203610212094334872665361343582313609753428895188761696611048950360412477147995521339897206347696684370174707629445972900573094307523236824629846470322330537936857485147560961395385421281385694381824413298247488795474528026517451030046242377718945947726147837175779929030514955368638035192860181618884066199924755809444324797248643094594712816373845530099403649596303302525821638256343440345328161344472883813590733794289364781605921721369064027808997693667459444415336988656257393167423873839364247874598771012019457630131535278165273686952701612128612789065122925052898342033221818028206816102378473345510147652411025644001523500488469437350151695452131035312408213613567991463593368823295909342675900141919746855529788777756274707957003715624315131746167075327264252544076232518341879371244400292228232102078533190100896902358753588709799075452072755021614986792633217885525731314396355436240980990548675434456082554312880067515466365758642248149075083688927177618811110534968670767952803286159521241294926274889659244115183754138401506736787830313876703574244935447387077009131357292999091799896853821423663117557705650127315278401926569226565058865164675318775522922149595240609309547895815307370313593959807482954313529707635214085125898165755531244364271513775872795081725901452919857503237342320061151215865109062163775594905292495062810611629316309330183057554588045582143003545288149357119424462279234072344796670436052635562197255733776343894466055507112321547643109038445018296886216336889790861314382050528754604952334794551611350446589173227324316437875980776804285003276160069011201231842274808420439148617360347355396035277250019088342349882500253298137415641486957699747548925682620073896196714748658097980927597234494317472177101265815230652582765690837337918744622026854027006593187913930446192314619669460237762612549735408142465734632749174849502917309259123903895555245770460991746465820862050087700256356395075635506173339874739315528327594171284895741220280766580124215178933585385084618518545982588350231883475000787378238230796231494162040282062076424411299877320673711021532680719919828397938498886485654146980775647028471409786394602889780611329456469402904248227645815412110112582458009833966109945671261804861062539591356840209729494667749925891982720187205183606104360648847115004786604020844454983098919236626296155351879948844469008179541957328485917337069467320416786954947834575213382868987373252676599569593295440578709015846489650686265492213076695919919037295498833315089873298268871979285275011676885634684834965763349453698804682584407952269185485462418376757282451987085110230030132201864464713118940602419436050425073425654426679606557412211425424554837186972686703053464015951739534279077806398561133940175502548463224252679583702374888139312524178888626452873451152588275788651119421718571600667076817343186471557615615233265191960961348647753453800460587062155895566858852277198626782761679949533861774539977420660213527731059816771837974493570134083751377144539297294245127499479764772123290044022363681950080697390666184635692616790253161184418052450524780289785102550414131857800662323027473610846067221989538783232773400755650063722096338017936548296675274144979452827321005525264318956196381277729016281879671122600803681541541416578485591678472041907944992986419548684291277496652583731828924006992318099547654681490303128286665408079802270047887072751481636592630945184624291390493626643022490055748161816893826608990695842111332061447652355629529081503253037307304140674128719144350333388544091994250828646768654195037244698272503380680120494680344873241555721333813030156150998485795361493266558393535845752360092987253010948983569793559082284590859934773345801500558215136781532437148467011656892691894398031604221199554538337190542420680856353944124574126295071091463464409792622813166368777399576811628959008031462394822303701370652216731148643625455529072520149226745286169587439629682658764343073705203304431476018097624881007810928427089665477585043054727553024425859355009859420594270721680424974089937252496800353126222963577032148655067945803977083630508020820338335755383052162636233315775108530475407931471391839540228055171620547100340665316528228820182993035602261574864198604317597752030515590919056527581486233574168298947562378187560106393684372309711097325485986136280256896187151239410394896688269916125064431724056804724676162380786018987119814004014496643201555005110984402906150922390102685969300423778771358057634098811599956598758900755905187340664191745145345246382354104096058437687572681148773350250171487704248747834795505761508458763504153969728013058377491259944508543048682535544972093246126094632256390695188498064223763251617887151540021127174069842056275993617439416366319453864179555483006911291447368181506422143171152234537741537126236814657320297312468771857594246098658661098028860675172026226718133066226763609689391723479504786173510535640596403668974876347173748375421671614516381954378051134121377686974086878823218223136190347631255518059167962509459921443830974191186289609293419947298552885861391676636887320568771303609081742244780103943812593864422186928313278039266171274072201191796950795819080552599422260356855139186106021432496068568979045323280942464312223547316679458290847861821323756661941710335774746203491999315874827571011801764772073099766336532700371367352438976456081631796963313640675307921711079360068199703380369194870401919992795357854602345107857842710781931815848943383068943974276790913932991322106809844951594892995440271536060321178039546230842078148653401925212079174603560812758476295246955647727517857956928235028495735867717718629722555179505528164019430460572253258778155018401204028758479382268411212992982348536620595302835094690971289860045653418662053633957540240125521398690520629285078549332860520055548218001068660691921295778191584039631585070496982061021476067743987628867263979025377886785141502833713976626952663537870177156312308023814698966607126833027543089248248967830753221233057907399628156669004006861381204258211305588321602578697274399687276297409196080877782889872254000819052711313155649313948473192443035853376614628108154506481701933576893818256929843359361144551849683695438559628176131857437356583149682531866074399054333280391904451105374245871547597228357430761101422370208910685910586605052575320615927108990874521637003248506733308601916861543686062253634567921881411364128450042117778597578971328822825004641097403706792593890846338548247702066888982036922871453284079848420636918972797016418744878383511356460096878567260531043914346252508321387828774247638181391306688700365600329835204505148685793952018950257240500136381529464044946182522726252680624451216985498816814740955808066375000133819135942764604869757990677911981761811242348926971568430648504979548320329713847750321537640415650157788257585296085846328120416084562257229248250184556945116360979040591849531863190113551780193909723183330388459057842436045298274506789164127321095455516504501506942365413046186000100421600046661317447555684792556055169692330986010075397803993280715762857834978067483522048374495509110022624849549054768753208799646583422632693045079346478936907403802983047484062689262552216922274963270553071873468685322497057756036896047448951522393554100932897119273830819339909405388950482417495031638749018461683685060166925553128134929972866066597911584811870075895605421512926590173165875253219043960046053375470119564248365715984272279659766728246783569664059752553560810732652764833130642505172880772024820052533455959545350665310277677562956757527739645790404723139736323677224122554600696651479023562193886112048652043965672506473659326533329231703486632704180192733944502805636838585861831534255474067062042666169976646724245045909985542129624132501696269091215934697853562475459881121133578512866863444435977317601103716968318357123914324798652879631248733465092085920863106598344151500942009626997913187998183748508246049445361077601200566218141110553532958001642850007986789986218877376144215556260758055268246588327520091211298526067625994612289368618531230775870958379402133970714017731263535227161171850769198718305473455338635934977751874646556754562234390560741617486266055297568561043674411470110508658570498394897095623084930980543515833743857060890050375672922523955308044517737304201444031375731288173111497938103532447811478255375198803630423723674959635554000959294984717137661758969158888752889140026976575418599765550153013982621846542992802848154363974102832347533145829430532128650962344535640363284210411385888150293585993351644174170196966315770350588088959565272260856975272210231546919287375072713307162163811447585090894817704262707456685055906481880940152125499088525942226033613057405399828247473930606279572244146374700699461995198626468891163443296568750166454683156902102130945514408182576393106187095412670832620217700909245432003152882266748467430192010275740957054981880226315630702464184131807793970363230876512340332073619560866233042615596063154212236079129105921835098931240104531413823698879883416051091039817036039981811118542884409223472463180908750150580215420801579242210329753313162560687502760828716632826478216714306235178989805079575138894204171060145487107807879059672876137946919735664862816159013867341170475514363567780306938976078662488545563545657124589944100335906866288464971272387543259393619235781487759242612855197310945369676418835951086283462997519089024323981754679156914705529297900487637491201514007777932355643717787556115262506682625342491162915028174823916739486224474673291596678630104107016604382612056787114671994939991788736674735350774580417068624814599207158804334814950313110818784649511538034027562441747743322985432836813154544282495070953706483158215669115850848097141968390054800936421898023870310920411943894545257248339662143264322269541330306398467250964405034062732129144487094843096429448458878080171068331525391856706013392501469526462505182496325594819338380603326256203738386361097942105663723518419286699243348827063808799568072454481901150724080844067915419442294455191502199243855000118664671705435383482116137748263463859180900020334741735520882997188467038737540075958907112429811105069393058575119755784430558290347466242724722550646768763419710805187639089524282341553315966979615396082307362394631521927197131883313022752459690558816581085458322526214062638699615259875859643324979299411408292356393803557397486456916007877758332584650041253713270030124146708033332361151246440486616688517706952968680769467208812370132668834887970124146329261467663179867227539700282289707564346351051561389458712086905583320571886035003911853339669550197964723546511741505967841056772921679262830418735332631539343918755814357128053377458888219908217334034958103610990332030252220741045470982650700109148815550240244842243444339088574228124014007766372391896371883133231605806564947643941802896440538195771424969241028648557272710128783711763701384817871126042264533490748388310578752652479972418405272134809093929676095960333725683371011172979448811850592312953063903619946257309264510090036309557711567243800312661711210865009620476452796494809259045663443726434945614077806962203166516594481846908608069547526882116098084269102906172405327899061827748846078519286159214650786132128322815123423789763068509372650588947883194215428009640256631563603955015368655361394735890863791573663753819925676230548906104144668306802561462248708535991383053697459679025163248597652211789297757449098812743349834230031025364128974145473654450062238070564962794713481408463908883798035340663839524441081745132447303364547360033438082710301940094933154918521073608646756119173796408163310405009766752031340063878748693582087749148521718532987716140205296678729846891422162920773617030337201943295198255407869830981789715209691021175982161178756572332837423409268664578995572597703325166407839561689256374581223392080694565852546020037304728849862605717446571260801027530265339246661848359306319739828356301453174746812965673992322535511291261875373462234748771220801607612922830364037729844591217430123837538662723616298896327831855993190885169577998532529112390212785936629757146787859673146246769845299868657611464870875850310605641556035967311624942586882208775522958445288482912729785903006992969872295769553725626559501463749959813470049387257299223128400250535438807668121623350807562016745158105275610878575206115798126545442785487286523095016213890111677467506945305476419392187247829287270471065319841080633362523471944816512506208436810059714575041984174452089938830728408954452814773395465545449528476251251077623363835871962028470590489790591973932392700657284628903230264658027968891992171901428589074812419316275483642126610678828703662349737693412381062716943471689113732694922772914737060944618447580852034365633774019619743403726714181987747877527039390636558825954044266020003664738001525264289073185551458103744203280531252389541242174275172107842855041642978841678843034478153708221800945515012458169040783227368937128361499808172895386979448551097117655776918393481610694587698447240741051932476599754398247428465653357641578218718506196548113068417387470330324829603467424402167776922496284380237400463503134924695841688564728825130165527111156573782305011132279218338938155466632235688830490673079393235199379367260544209164929377232891055287199390399989740127881181460542255785975708150269398216618499280839533908836009101271721969454921765575600531756694776436066125210327926714021041400046706703107307817389981225313748503267982780613181108435328568542747846726747970537349199591784014232181085749832385506268342683598603748400447587988117327949464079420995936993747716765319881515589416878080733829241106961112037175428955121578481649281878601341509466275334837344562770485923850548895396214245287928840850828604829040899220934815180323446448420841621213376621495600785651889152744256162766701397959401571940464954450729183082698539805839214894098008488453631580224229431200324914367635118229319835792312849492205982357654089288460600912042374295628877739219038275353076427818683454332314664848213015548768941018071167917395613574068614839851067499109160424247715064985189116415121477156144742776553917756575043319534924073313072054086933036498966582307488890485260058244627101707100018229018630489974089151269216542611818241441307950098236971664201832187600767715387670330851494908554273904011052127740323306475828563038787244528125775327073655097715403017852487108231563328811860516986071235853681433421458882525559471615661776262672609552508543901172929580811103494199370085271312174025745901713100744139284468159220590856029066834493479111157989686432178461035949098238540627017088456063391606057211493115593422251318818553049068216393930068796337403414030457998728181520264764292309701357111414350377061634962452922665615322061466862709913825856092713444570227318422764293876466621766279408863846093306567471404991756093101695015541188818291487459050151889779641545331268078454553118591526396918623440091661473882004016832669760718834198200848511681127474084916801467069807053565138058685077339118911678533593298979825258130747638813549044691031757126888665988296985114495928333355533586205971080381127229252962508428036976467211391840549809469216157929943111871282330300418433136337324028402107735947379793271774429557938413469541300059543757057345313427295558219101927678078411999891823106998514568880285060155898914535421228794165564656177181290031650252659030417228033421640455017020154637846090620404436328553544395267127541726696298525752271145983828646103484736884415860877417572106712554571140998780873278496650062872670792657318009297505941470286891620340455464544185778787471963771686394157992642490398072867431133335368293282678160458444944376492236552047597813968189307139336041217406195441580138662541555241621155716642720241497495538319749762076048708156398389370397533775704315869770388373729432089707285951737350764027488580936321692869288675261085141791141274244973037051698625226040838674897399729007654913840833980524782121800526029881034321932002734771026935940639618158094681528877612107524301480652907339814307341418091651037159199481342383369166638134686352497335705387014179138892074689145776532471755172122443979248934818916934930238943373971673875621292682269665327601017532310215751777581699402916671735356407023880007322027073218508081431765866307706225270172577223290597146320918972771557252395315647300384694231253991366185052218885758393993816214000513701415294820198736859375419780962772735050958231004084566224609167273977982015624998195638454438529043144504028807187806059671374042581459134060803681611065881482514198769226500781339530866444586289184703381445061294003719403762278723946544176624999179542234933180667431765383301112040146031215008829051702657866254492620879148309483067306761311378838261526864922195239812818210940506874088085099059956081982123407018051806577959089083367738625322229591850241911068556769653472118783584746287649064970459418904462932098787048300223129712928285894970358513973958272969178687765907934499855618651350569062678687527542233041261840542297190522146223404852138164963350694443161116264932747837655765021740291553985664345049993691737112512770708671431613302530656401817128623813440967931701589890566185775179285138362165255672193385938144235305270579341122085473736038851711754346250512956285154453882405358294332143164526792311653999909159524626119816411875064654076139552244233579247489321930753039625067464192817482035701217414297580055966108960265891162563975636776141415258665585558195135644271477644052128028020791241769913136018036594671533826866508281381313476187861308540666939169164763715997647613813294602858588040300682329687102250952325451920673442897182057432768325933684627924423353899269820443235892930964027243373981408566872097120093830547355159018513214296107773781982029880932243188803652665089944843390540962492157200792158391000215745613646108923355528412710786014587012447304439687279128721682862203531209293828084300864975479537863224776192902141146623210246979601252407860817157079788308388676233349498854058100464558148443561918886100660025674758646173303762875643682140558197343766840472322985455845922081339777267845001932488252384982539986797549834059603748977018537571145072697668538241721223591534782038907311562053169281910368284418718319759289105559292087217217264921687283473405555724281958192266690258369642727135937759342618888038215403135129317577315193174204164680762342109624937271209640387881953396693895171153812870784605919589229725615351719586657601561283117314578645316736973417631649257526096199999779584556109589779543393294193342367416987449540974267072740751328126095965449526848517286002885595014011376014122395023014392831217465024272538201362479169734732902954879246212022552051017218944008549860599091553882169875466347235359950863339452921479345151480749444641148416614621863428733971030657322451730979061345612837567297729655201546070279891569285650703912936251998886769269592081876739615495365972148464085075789780915737983658902744965373113814029510452809737707863049359520977121685732226356842048878407509713623651646654497134738170883844908214302168700594136036595138840496240947362522268704610502191544337905164579776724147305379938860771818828166529902612686632908113589558635328195894873641060488745991219387764992423230963095468217237256822257518424876162798011394833994761690640636735623097015426767041080157931752359348919821657858367820545588558993526408536497402072141202178787930731680748253548278141574490557142618917039618407630186124036039946919028406885936070746841643408528813140948453084846183313412025175068093581625996859933646466553984857176014723782992060746647827173424239093812270161473544817619592018273065219130504031089117616447372969412398513123120264390973356831661317958114542259445724611885491104889290328564494870139924758907759746134783543208261528507424284556778660236054773927897697353337208599709323851240152008832467977573744295441059101153572331240278520954953442815833509076778309914918643277624191932615742501326610615864737045993415550177630518958292837898021470651079812227635382434191120743149243176269783115752941934093719042679938888199547901976333736192694248922327936508957992006006017238310250372488887125808986490116872388767808842456897721517549327881824451243986590611119525452944008091072817738357881613016240842943013248092429438267324778465749219638224055941693975108025249712510455785175408655481194314872782147457484413198366210477962827781458177152430899517530956127972568094393100166688942962574852656014630043616461031124204112346467732036026497592226566683065058019867927767494840343838961800087540195837620483730763809798804546805532877653253280431745293094014944940615779528508978311006581859628833615068078686807986111422811135139858607791660733689690918677889958712492492991923995854242370436910427758478660166817006257044759546909139961842002440479090620421160315728105493596861231401362929285217977442868373870763306701704269552810388508134809148911425719449531817275810042645045581761789481248447206886534641972217782268156442529609892321590408728479769469419565405126603149494806596289861309558575991754586032713887160214891734152709270818958968762590025483100783950023508721492972223047157107373661827016645683751296048901012851975661227388708070973519003682876665112451179678723266379608740384599320082714312689240289579267457499735522051642308350357280295415802223790066450133262008737508205207269993839840645574683702475254327628592170005302903485887059333571433832640139531440302572290212086766119341736421062881449892258416346612431362275225933370078555760875286411390706659531415838397833740601416283849869495729394682763170364361930037399687352303666811386269010199982877858856685696650914728476262491032161914042313653216183756176874375481932625798612203410883842864179635927834737288312518222214226788553458413518241201350052007056885255859640310881638694132001356719355662731191629512532895230264905209298368531915742344455903776693588650553648999652921069047034891157515958437882287207247393029654232856385250595435723894292282160492174179527361943792709726980201530535499270283024517220121979331594058830995866538439392068783856522434033785142269361761941482013411180503197074057431699969477140427862838976710646949868938232384070474112824794597545810208786811916666507984275196318044079200510802014222853618035382550307395764043594038782601996807002512345235419985924669068524231152821952858099659969849347638928019491790009362607494894517715379269601441661267799787768632792302108500299702703731062581859756929535807104485958142334620558725280978042574176706143676777730269329380294486875880160277204831494985111441160576853046390295563620986791410496385551532384985711166888491564534883081535123622463626485334816625761095182883835700241430984956126658753606348621949499130648430494317587314251839762368560040360154227213613814117406246918611287850002522807367339850311513931994015482677944943012542600216898851090284530389594353818500284787618061380044735945265027766748733427424687540609109857714260128806662506699394798706539218373728180052387016492664259838414224878183783813132422924118321841008941586666939406048985537184450906082866226043826804457308522374720166126375101425817858092939404279765777648371305888859486767819526104539160956427026174186614218085256289752439345929747624415650039604221634513953034529709535575970998328790784821390040151898231932066255741420162371427596925130729138165136569483553079733565746206707922270896102024671080481570041506009996548171369918718718837588321004526737125844076904264389988029874163397759635649829187064567641787406745710947004123253287735406055510171648198194650234686007774472396897276194677981856593575067540015781818707626098550892131634086181840056073288434208689738770360046383452539801999732469001270468835137986306854895735151209413507802692346712444993912042656975798492960970531307540092783736941948957902499093246852586181171420552117324214833702626800672547372223885742309588980410204857779625686925378192695051574828559606361248103494997567091610348107098436589622614353470097298186291612204965350275375535257741557804649356035146761246736062721717979785247322309097328854788403616336835184810143362522816741657088984496899901331383348019837770547473702667873122140419808697321049909953210254368280132478818322486199715294046718117965347850502971394526952557593397220373186259922449257188335732102007721941781467577150327664812386168365108335522883836446971561138495868278566804989736632317552474380346496877233435205329352709827075231322895235116574168423518432941535718578941072771502049053272585396221298097282612721958440923072328558784792361020385259712004822272314120364146130217215836817155259678240119631012819845947829407320218010720461768350613364991729916273843962079438992677067514586896241693269700824420413744312320765607496439862333126952925107804124565544409648227079128584991783598199656168147378776866399487421144403261446033836251196552065839037859216473018424253660222714198873564002279419862256441975580020771759919668002068314182284894732756784030461361720540957036021629925278510381210406224472223710678218740708917077470823561739704787212990189781709783758094849208808520203650830961575578575423428649836565008655081316320946465074649384135466287226916349199933553123307864935649574759875134998450209132788641495832014726613427000369649134741106961081086583147980867777046668967529982049169365587928030891112532902125603292892968046483927245941102702904002452782944091551053637548339978154948707821768170552910319002867380033534189595030249610755057692405819308868301043802671684972653835616741416222544782352702994990186206236589321234934264129945865425359598393567423562936588458664740166044336914068416344372437163937072182664285845493385866970869027959589128761241756991159314075193814478266348108596869331685680986431092964487025626265881979651129582304123095393078754177812549835488546119941335246989661603939105876742347361364848034957603049189803942125023347519241624732851386414411486406495657063053674279426284647362252646588216328952309734446056251864622449282561424934516430042536528544681512464539655136040389018588281951809521036920522751768930980453440165327653814320458247678160181433870426339315708688000917325917628711936034231038286439258052995593652101671711774863794094166469802952149034731183639292181630277673834079342725130091134173802801338646194449201476179228048274629685954533060719908601968724578320393823754536891701623226788771804417169543082876685254383697295349790621308032196843446094501890217558965819458387796313489520873834043243844499899581177777818828029786758697211329869207906064955223440054611390746794032852071444775224624435774575077618661112198546274084552320122518311209104753129731822990200660229787750629591945389465131137229994690177485344381727405664234739087853076603003916802191465648385493589138703783298450914136843880167107499888795807514572272561645278356639395160283879728667552913883402982667986929330731101210480244604973267830166756461551853778184545410602163458469615703939508609498745157734549164617737450746198305933118441507515157576316960849795913119299155202825495782836453327041692293986182306809842334371478241878274863612299786749092510515933778471710707799016115872311470328423732745777463544909484497423074596624834941511824225517237029648951354428777364523299993447646367735407823388436650420048042991121270465055869076060535859744053466224716569110953989301119645026094457564413152882332025890125980050785486561509906580305667554142616932643572601607553851745872522899665582984457018843943874293779223875654846294834271997843787112729447270732402270436597671360585786443249996530615150362381658490156584025110933001751719133789721948500299749491354925005730182448569378230082538945748058829151296773753484813603104330642491636469276491954444749439821875500098571666810883355590703881245674916089239960345952973089586488799834642575764091427617172150683244890992921328225861291251299415172599315229386446955487604932695148500016674405561996495902887589606160694438416904669990708298352776819936069497837175787984646685616448452982395924969417621463294298844742740253149466560710121438470770503061314180702850262486164070054252431361334204467743974674841966806298927799427982869486636550260257419387682121909199909741224913647069866207951637333344700887763183354788487184230055140712041830157456401518458503813774000055190071089912580474291551043583860642751440325147912313128400338208611225415240096456319851030604976191412412599991731195164333375892857016350267551956659762690419771608559936246423624899180053893467180598841923983783371029105078670211936970140771810076001304525230892396573781773048595834563527748727559079854203519848360961595273785937222162653806114477961288768793547793455146376777219344033754993193193894826892949499181953155549238363091628342135691887105194163766162978919713936807771261656038275089730255107535318450060520238112604000378338479799240899289279522253577358614584276610138493109111901756149850622745238581333384383305147975204228909952940878189099912641892068547838521905186364283587170783796492262365041356735869400147604169529340628266950179371677424523833986404672482816528246245453177069203995344067938624205064167712946394343409807044141048944810591160983675144491311515889022627298529356038409290939527786048376680977293401220544595061189631424851123949026879114839228317843705056505507828848193422659167863607302328176835468960613852467973294146690880582016177421432127388160232022624427552506910305164297295161207873626784840816150760036147573348966534970878378972192091336023849366096824329774527480367538299008381388085672002311811231665099005396618106305304545428971898980094018969092519664344841228729288174680470257324908288759014340405930985293018625243301084958657016011446188301528172393213638300587716825513920289912593891537655070024343770153123835469713662631050945975540017065679065125489018460148643939376261911463290389598532644550021276350795621941108902900030177188207019324123210601935459332649193883669965712841436726586011712556044640609482523321675372612936795487197448580401943049818264135112178198148903482950820824031351354488608787357220662285943106097677458100559533356896488902152630702594270108640386680677019795564310067425959768224029252684095090322238979095272138874220748500763735798371987727894069635369316795133139892808116724525514386356452353322398965756235578168898552369310463051329870537828886857715516106852829301852969643057122627551729532676954227254135289186878556775602497617606992202799014888498841286676215433722378666069520177289814798531672163432514066490861536474991579671879143185624864217262202660841160498694973121933650071820367932290206214411236571152518348339616906668474093439367973106594233972423890141906482052460334131668742595865395226306727875575766520349379612985288460416840032415440089260869903458731756127811975992707127498305166499273237926917925075556926046707921873263783215442309985375987432518106869314051218043737826211956540684477753851560808261053977347371758361103820919891025202691902907005571528186920839546670444825356783699814468028201170418361069688423837289587202844664522231004457734175240802843515168681399789025615828443066032030756890637471279616332231610258330332991589203819838204042175235259393614469802196203775075730284341446196356040403107942549403932548463556966199022490189358138336197441740842857385502716044552209207681081063430062173294477211834266193142558569586578969042220711806269424651728914757621404093898715245744268426939804073052423896222329614327443379124061885852716540568906224264274539291186171755495846563747262292493847684741077033145645583216778941397525781016472064277598868830396691299902054427302804605777931314726403095197315686426321920356564804194809078295406889180752908553435143417973668770498882460384333414144030472764954518705016154400290929862759261647720562072282809914382973390270054059638717374445759634676713437199901538788224520031264918265688022695462174894552903532108848962047405506516833209886805538551363663974105220947655315296794130080845552094098505202908654088375975636003363073192680833777650683710989497082691576291487677089503792020745851640066569929660696394159919680311010184903345607963393114817838849604821278816844815807499767649407818999202101621083021740135200833151827883786881514621656361396994511658473665850280337134678014526508690530642746036549302245920004900213846625777974423042925348087142588605455429915322415089401006679624263804005026186485581287943653494589599881295067958881837218546700294224746738870067462821045830628417481534562391638554826177665634231298551735450642222146026160189807571931064999041610471368306128771813692836975903008752488392627181103226571857811173324572481448786200884145505833268791936392238530229370155863189589400946301099081032996069902395118118299639384998046423569841802415707858278197787173951919843297311997486534239422793978407153265840747981116270166733814702114223640284715641581717765950881644350237899354133974252221588644105955472086303025076267869128051536207411479216443897534879492859123258254076581295793786994481475008725761393933558816498642413854383177095808870001325096188303310387710005117870344918532257714015331298514736989216915078002426861451018336330423869732314748141411228807767668644878905142477633615003401685614222908508673899340679328512082607203033361813221638495136989874392407789228553887230197970644248615955530630497573351138710967837458023357766314898634587929829691941053893849374438673995364277339840606911788326401211645389643524275748049767506456006569015702192480071596475075064771051001422319531405398575809412407846264688794852760238307311828050511131252255839300512463997460859411997202266768163825928973165116652271920407371687902661336475864288426452194418102566176219442606233002901665338528013933542473039279566155080918561995520883413985712908853561947064193177699347224663107124619343140222973916284678699985252242728227969096455902960743208153958681827401826223981418846572988612648526899902338304916639524918593435691429358207103448130784012787866160728730116703288985227422294289418525880606018581107233654277336506706849019129295749959472661243848002185685699653507978669021479167733034963789910401025927715152051514587078551477692430618300653655754713593744888319676150511773774131192362266618514488540313744998599671641063654587631986768058702781488196613091187725852066580669500647717025118254594845174540893986743228370476132122202906341014514800108392316566257835166732315323869112987345424640693379813423757806125815671369884619906457673166718751093918312560411816378496724458949594893749716673941549542575759839754111800788179666646016013061615433462397488164652147790778390248840245554525337814043129620668303153465062078691951251038703699891448974602296097096683267261006830237043725407952854406554847429409787992160032221214789446580462849577266384699457695060672879616703022971401020972578725297944279312385925476414811174674927343715767979828898418834184357227000798226084573579787316462874518403681528169412601616258911709207011557079027858243795613471951645386852868204092648865772758906802490594391615718345828643191230031905865960246704117552677214500635574121513388545639375579263797999507507756837302286953298781880023501007676364046854146703100950066005577053353072071215569656988085303309248468229232127136472670257262781115139183823113579352983658011020296469270179517950553178120829566141767812680458254182664607227272587458244897034035755961833431504259457879876904422265274895897988319136035673299077210318726015081279105435357479860900787618709105752231156985054151795652162820317145197173367511008199987179664830778969856351696168203447708541239960438042802990084467269559992448474896409132155828457448181700983511038029423942765525085621563870693922139229884855693264816787251661609145036996336240270741161145241761828395477623704446596770705041168760089514561789120975161754141989405145463923834113351103070294908682963943799152492122658085520574220178983868213037252858684616447866498879837294338517555225275531925046770829972000023224460879669385890509066363279979958843470490944279333545108074222988452695763827672406921729144077722639512165194237511369668876552454225157323126758144511764534454814185519488428517051675436333675876744177824414248313190810837741907320560539150831860424599390721044204885818180207147432373370069354377768581596601407006160514100128728779088198620252925184234064902361170054169543482177376853819415650831683130098907749421403709130668478275885396067904140105253073805825255908276800285731179166714915012529531389797167039859921592915566697096335067461165891701184467506460424477778082182043201689400137245406909434094491675390716362356414385003332859020823195795352780220799416461360457340354494165260937442247667048905867063849782995992961226332189482703703137320995538305038291361991909852402477725049127468906703171980566267947068024510510264169498724908530099028440880103088252298698954686564146669201980472846328560866526079706329573471012922722233672847758705821243459614334993057366589144821744057274698845869024569163856803201653476098349775838955940758988383927556184227403765049321169246090137669513529205064601659755146874120373875972065300595919292288900686966302714763857525616715017728923027051339627122766920164159171878009893840737397646148234508787818704701581604948332030291080959009451939416552859135745369604992592980705955954460463997822036395919615511761863490417880643517926042781082832561730431244051152807896944305719122655091637550462923834083236794179958851475055600385012373951952812659985463417719021898958482802993772665207635027917735162634199598750755163906990444405332359589257185291622188948189194358916344024981489603442586880098128978164806836979433866690416485311920162381464976721716721057698697753211798604364298826000379975630002329988229827604102898135863695346833939663012333596466885195060348140373908500992528584576838048921201549989319410599520513680229620627742792446263170374198099659536081620050356485070064419543668180131006170783554982307046275455463844440682634721111833429221471500199538271356067719019220011338538772750058427803693621445407470467635324787043963575796535306998425789313114510530100543191794102529357020170304086415737922482147522408937005565957134459367714948622399617620989920134234137255767235613571657477400862925947064970933492243583267779962025314795090266793124457225781234970631978537055757157003965258603821322107135995862829239429396401009087289366655445800476365849587411399105727977151746907388805133547062708846245349367066060132345052674759122106752485898297626576432409651359632435736216763438921443703087581320374533282377872830908656422927897644258764434117915707737871448894861238991967988885365152910283696097842915449180742080826603727102462927447335113216537310427244096833239866217875320091798487692728417766639224693165812558045906439535362860515394695692770403924860423453524185972831687634362143203757634209625018193154053161611247160814317143864528122795464688785314601443784651407441215957297833111036453214016820319907380438436729300758237555606323536057771786376610457913519314671198073642589347028888478788124079324217206126297535012239349972625125845464129662663906439929268621347621172592285195819867867353998220424334237328327620131877821605786746732657517082456598777403487748940994923562541252712549265253362721699152783506942588654514214565908512336688369546228482352684671787694279492432674681531211781114886596919534595126682055854829290366250543206405771014157768353704678092275427927045906397155358905357238529972407883253030787059780244492323778266845265245816181993218338557346446655469518995558253866228708011521827452963393775060254454108325892749095596613698913854030223138055895593775095530399287886000640220548307005484304800934534185379894464349429675827234307561922478641567775922098807026602775184939804956774630739248950127983543874775542004393050462225576795615990469915190387607042337790505679472200905963795115677946843777588648497414689475956370491326858769159499754552491756556776084235386646934568248026578088703695850793714123113920584551109456694137594161631259612557535844774509398966052724853709214586621504408578590163391038556322186053496123224900869457240422033211286778834896106056367354206474040187894372932244735132145765915227280635608167674549689246094348462342506362601339658541363623865278742376502782453540346005204400567692907113329569746002873752872615626626308630860226966776348616552594049275541210042190642124895390362027371037585503061876887141212507851268236656698827279669145432502177711180066259365521095368670525148552233972641175126461893401118167877333143462687751748560403660558087157759111584827807776127339293837671528497828426183053261218040211085859789412221177831697856484022706958650067373592249006438382395468505737528072630197274226713026311007495926686767771319522636384972416392346263521620918168939114889000117769853536060343636504569768008678691086127201305011446087983649951243460713954599871030878379032591343423401076972279843418664464522118590445442167246148494590293694362778626581972164787085772244186034855156199536789367024855233299501928863077169578410986665712215282334623951907733819835664618268207516140469262604307941037398965318906230022582872285010230688701885157131724631074018148156490303325977350643398943798035034939304703117447246984958022779309506313309908939887035956107279155888798101073956561484832563204652417550728239234810155379418064971996291647984061479063551761517736177191250742168670619673679423778589333673373534723204826850686528684742445823069883629455487959749098271740441305144651128499727005773866204769287052841351819732403365395584161791593142440332286804630513620548857698291957519527945717210715601447781319759358412200229287218226743743689261488107487419539604387981996248190982738894267160664352034903842717716092148329230265239357332062167687459877054096529843203372389469037405590167239958459773745750693009129845827130104322717368831165272355412335850467847701883317140257345018816515846602455234181151515072754657724978793280140884378428715143643730190579161821629373262104892697757138611821686346643877455643602621516955137469319543371291517052655079750642490323994696041238168116705771254744465764533291743754536974653519003455426590499576462084276483400046560245393660264743553947151783680782915917200525076495174028495738227052216686200688373566256776888640603906692716159308649275141065491658051028579271990803538041582194989868776439710441885790121534321560549474731836896910813066689384939759834979234019888564879608350430395185099815775027745543554673675533431692669238981862478176801877908993435125375689119120981378069949037484554896976517661320958303335261482482518884929502029404655965106164813440455602763792844378321504535608399351059671893155988426249677075458240627633792536066557141829424160700382418399570538586123577504532930255116915514782677517297024492460065606338767667866825639881467792146503819062097366357471012828829419448890316352979390034319247342023568144223730151639856032029699233916102091134110182566853880167596968412440081631749067204684736441382492397275689634757877671270067192454468688512212802142198603439700728760580859914615394212688121138633203776057766454273347213366906151890528735920794055157664115115897168231550481253840707258565013107457609804040804425498839240619198011194875116332498903465139932776379273131009921799318372226939602364423754866702081276874053395788493444907530177950089714629703299840924182896334337831211941491754741837800012746367980812768915950715912620080438895053671847651632440433361921354083535410553477227579611127817581250797942678711642453080055836687840554602189943636581614914834444924687830800004341902895043885008713511152371253230410952176130245971671420791793230495687856710998284540482699053078303009634266160851040960799534286606761358493658464643870289238555186314534230557179668460920216615139927854399875806709988372867553321022400374623903957429011232790580908653935457406937461357888388061660957794850034635391347236388681451920307286129664335321285952813498197415096393270986140133291414708155869164221984363673245825525618402755189485270071622519830394189683799599340442884978433121386961293528971604909176812573958189281565424163547437999646935118879171371475323959223371572435834344686412205838702362895886279828028235834531482514361235331010462791966738471782560718920860190747357289504435393383642401961978837691967027057718987359305128568093769700957340444438030353569522284059111287909687414022389407517157891935130609731183526952504364266547567368209270877631259536532674468100451789977777747495781478632355625923683948362761254181405630827590622432083574863715426123056231539056246595676645066950028984000609525535923865641008849500915831442712019660366259236279337097961854464589037668860337071915470558420547495966502747452384004385735629105007562697710430672605029000361324903146202536131440698838283629940766463694834375889201188487787215942498668292596776204022988692248516823990373781854038558394150139026582377191312133702913095341660030770476073040423381575458016932446237914090223300535567929764830702301749626679589910890667134648463157087584746758715506751997847020166359643857043763733974184233228950212523042846573051093912630878394119075238617378405603471490761334670586058800108375801985015049415218042495244894995979837389228723649982828241480927815349566258289007210190062182778862394935281910214919187341616678035162561303988783728929171836927415732516790643575104311778049304014024351558646426574250852567782263363369675996359624361004511283520587140661544425758176723444348092060203899104629033346521775634537203836288501777805257684518257442164140474947002179067973401487308515943453821595675692730999571923541009974254405683442781779745901144773179471462774337354714920540681745114202271905109138758151179980589372299058573082448148361390568123698715902419450604933542299266837921593742156756949665339899518749953166426660732457230165574994394772276329128129498762823195369217929671347629122609737574304735220475575898917797877727702184730332972079676535849790753668925177377833130077325934288290239244032680696845798201268778033353320971565947757678544322341541879438980934931487481784647323744398442009949567227262107209297960332705991773821854012144231060472299052283369230562576443547633947566523021473990871074714949146086597385369692260234284099371647286784417371028424509019138223570173288394643924383874748622963957893450988314273277192370940146783566499738915323880439832366313541284661170820994391125440274756959939008627195516446126090101211276018255711027086036741949854959893696263777390502653786149185590983637062804684243720231249919511946517080900468540059263315468011401147368692014715716359263993349317183546557310333693007205708130239534639652194392180632818332105182136610066115125496536007419901537459259648785058499961948937259209721059224350123323972544095931714225138986200619047917088288920445211138175938062149043197786468513327542390453490101222234362410449990406674248598042145125140041360625010641826092841768293895340366408757864589542752209446528132284345931230739615949829265594736945286649390933173997495974557244089028904890965346533408435710825636368089922508490789286224138738511515894386926418407682750940101253216922909097611562696551600853558024255758990278768101270052413106580285900434141239570479554184327321408587398056963813529756976603227208809524192193352273958475395850662178168224470525265455228599650430380634628437966351729643209478275872235643127429738853078538602832373836295963995595482692158829945912140660988531506391409982771634357398912064279406339092314766424265903628802834595134400616481019846908799768632470152101372362512644702946699972060729524322400960877103876167420752110832763683764369390690615016476781317757537614537511719623047305100743560550224851207277363775786320188688567542813814211297948648027937860142279646850981545518596151304324719806316005874056740600691578866164562125840688264596347240836287055166250439927932624202503838839663179020273853889502758143278083482797868430669758614240349911196475680023481427181028522592044298834675260252680165773555496828008771777392373396782748287335025194728721700668868494663397633242190753320805759640082979196656591301101170411547820503699317330769778322376562019850428515103205521518299419463721393797302706317693194287968573170233573505409488954166402878641801288647961562103802830782891256328605791653847571124916879076381116256474739842518132595651315176857710173296983929840799775605156127850057556841593656644297904525551722148438468852955320498504726987106724644905304298863007365863327022121566887645191914975061445104175805194958361975466270349561895105636379655051360170492192689278779859571246961847791319563476596102935947306379070345649927730242608054542808319536632848916563288471484285917509669456492437010702110099754039957742490352837865000877916304661487631228143987372638214336106940701052558900467854048006675464359844820052338253542726348552925087433902542501279106678321061548675592840612011483126174777015505770226496481037636692731287518965991075984094964769832570283714990867000146216613467631703184039587516883122541635448179616734563343501804445735662942662843939712261594931316409988518729258621096522922064789786409928699688091439433469656627475303613026875192880735914548340176446240575927996181396912191752654728547216601541385724274018814140289755369582168223409604112165816531880048805826849751832096445117532716675933064675242915727602384046318543343859718878951109359805936643610082756293901677894938349161469288391754835435049692947803910213821420174676220257922927510635269399174339529148207699805758779716816099169364533986119905201398991786884760959251946074532038887729537242732867137211658682681374128082662499605096574540468359460260172042872315232648070785501932339954012952246316170223483697064544154202591802203806042491712990057692511982707781556531690170138062121686756444819098854821695897011907749843425877210589505392201303612931337762386864517618963762795804280613015329955060686624368658330248534590046275324478691499778018878654116915787726521026917149495463329728565256916918595022038332049246423791859074207124970023878927670960927817269679302448063909304721013966812436910572672629617798707390092549499891804340179600966275969928383849360926988798617416211638841517436428281468628570774625928361708771937632031628972769936298562124459967420909300124039031509446845078114149465813230805978180545148339433630280743497701306159015054042849447089413153382201650067523016434926879657091963702813111998034001817291882495477906006876515575749532134364316808090062751328439381610541619732699807291416941446951918416348682335474321904901501651792150864363805218704466241563169459167878134249710013118245143911249594234920247134622896226715484448185639533088298246708500097513901725361858712686809464196568286276712202248731828807930506033847877261539717923661854059046745180519649373515125895151059817735879524586214286445559198734295022394322964064697226354608365871415760044374219541826331374016232561392807975617765676806096453671061374936687754533929050138118796586852826397650757780602244008943187689245321871405964393396793168949116314756012149009809516944779252279779085907154647667821448932327863573430640467273185664498657321059873424592901129712557081834357048075443195134238840537045496236631148308444761172808600614005439330903993305458704630462630675738703911105191344475970221527293006358784235638480028633742942633598003280160276455130798742694083845507091103038384303846266707156764126018800346601430910222399187104459221587670043847644009110396176299658288109822629211578903715335980111299297081543549333532483451396307680914808824306714260249301172192502484661202981911566710789402863296451178547680304504909602744908108095881060497429290616508977877532427365210848197998912693611626753817753649500372606859743302336659131468729113480957738449650759696593777011169799699215104381646412232701580316910576735060720185023136316161300124155330479280434219792127587399438923272235845612615951967289090956616346102307327764045658432510871880870735329702889279011275983111075088970884665578231242877374861332632145592834354847363911399442665027696480265900638981628350637862321052422148841870247971208647856812642257943703488913524213730046389043231805624927689530275784901937763456161965850714471189672530848983147328594221771948711853624804189627293241240189745323318084204207302527628183650082604113734111144170173864884804475993303980836785559413798772714647731187642446708821120365513265855369691453322044632947780509676084725049038708038665188987709607606414999040002686050478300705213900301307032708985865047036171472071618652869750622106623189611537339556853487165723855431228795766558042747125562079781952079649735302114072052623067974635044125295393193837630248393007041081196007587344659003636034264480620398074189085662300576292570656158351328470255032154905831441767038048071555974574542124794573050498816672145206949292045800423441268595164626007583636266527211365737828009423913025899319848379474807094103521981934657633095168032478924176946516053483153344714412881333625327407108015878322989997588027295447912449159215488620856380466044075530700218456005350042446711903271495705083216435019111675004798687780324600290720344626015235616066882105799525885087980183447838371776414007669166455261753179205311552418133949969399239741714273404236873069827211275601024402326850646215982925849436500331493590759834929658694130577764166092968065480302102188339254273529989758952806967798067486059159633689086681928735239572990286360000254982474192671314554974831164032360026019496732999687093555450209061503093820487406620383628161865361917451136976366774168238001277343040052309367332292807332445318075443579319978155502079997358521506042980827825721137959306507017526499469522168815451405182989919227074740922500384813596364797449265449674050429889759254233961469655992121551749397453242784930747407760812656848259675944792072457219495341738364650809076521397984831836069812791066961982137965946870070923691005127184610319757694410442313335563645257464457898252214332523469352334520747451252358330848602728185864329497406616045464171526482400460373088601728447166455577261278789104471758417155146991910241720441773947285353665198787286250259635999123531142720392601559670163256839924301375318065006337817511673449548609524246879673723225668017310558020250545338902287841939752055214844042779050731683851847699563603806969861047177707908644567134246831090170687336672188778071154456651816285659274646814168084807309078596001047597955960401987105141226595904629117452089629466770363764330104600273716296321795217211582995081694953396885083471822067962761627317539712868506373349661822050749465483437320398668519527543723524042645477652584593449984278207793098786033360399396780860074125900434531706874979074427408740391648323125048583587772928331100100003700386848726410015451695007724552854341685236168013616846240359737225339859740939255158996737894101362256124956795197588873798437107873670136426457513217193091452477294036860773576171341018856836190814318452030039057806573047773514146791217430019441374634782189244640187330075751397695438617362339997093147271987257877686223714446852468351264282109991059751792268500317486476329000928147912625628332775055000612337851354868265117764545475686910400372773396355429583692928379356948990347422721142437068427378636106517634578700992436252862407415208293893947057187236415645651891734530629949555413573433147972810910252484397635894331804613529442505819901348258101671940879926361393255125763968003112259509421184957923543212319417803439457541858702806632530740480262402738986502531006644272621685869378994467983998462276205616603019727680229430999232912704664420694904640632668360296739751852604922548657537114231026727757514927460402925302092148585279689206618483839460238411363930972101186275318533193213817696366466870670588964030019592931902812447195309630506487272801866070056625857175044337806404013910122533375754237496736996252520712319192417574092606984049375887565574077305295467398983765417758748054776512644120588025638866169686378378283709926921640348322448131572805215369718191160420859280889301512598399301670889038757959100774950937874670029721626205613982300232327417622934225821915211839607617525262798725572393535916335987965843479785016458036107577358103928700472928827842571157537939098294391559715184522571250259851233794197476395467333568882868674001171650263079080424192694552642920977851449629119395569431753485534460400716090973610488957372497010940222202529218632898675918326938448117267072639608181247912287012625018304318837805032811281225166060171186712142190586637535253570535963098169280562562023640141328126696482377801374660945426203380805419351492961309910108044061774322774418030314202238768675893296188884509781450507197978582987218483149715708129051634949682153771613819825965555381354178531284148218670843228772973816554192531967615365593394030595702208373987128040888856210251876664600205861702453660511954255939335064842371866449465101981650750969307533478428576296499087055476640638347304849862672353628984966015102284950048609189769152208691432609998224545022756098473490797663756803590291829814769491792137713848393075025930598900540453551678187441977818422152304459594366446809325377184765587414817557194661850772183619763163177408492228616242805465338038417365607997807162070747106849036558056932050319184622169676296153303963532370024710396278212573459487823979119339515048430334934422380462517191646524421439486071673123752816274208408273120814842945072651285800878931335276110039296401593558864212400262723326139584168378025066183295879550982388027927441547446600840410203704558904767096444134870015475367867517513249890381754342260115234817298337549285906086022634694673280448418124328329858167857673786583907090983544780852204194959120397356237749282143006854435832366594808976564665734192066350842055780575807651097359049819128971892680162533993966873899640574841242500847412855652893589153050056968829882747338277028223535266406307687288289234828766685482666523716793109577443550875194474014163304380574953009603947381078349552920405907234871054768720649919474539521401259652556940998513271899074850113817637907769991711311535310326909967597210434472975772326347313240556067021781142679583115411915824355793951970055001499087058962126898570054955257080287682288588575879909043768791996133675765757481328928901609346353029347174062590101302811067458302710035646318267463190644843683123255373321387259772054112624065010155737191552674182580417370786644410784929610784274945126620991561645552428878093641866782573742998923512118292304615467814830552390505307583888165961807582307155157837028002281240049784207226623173224962155363902284363645176277579192514775843697182601950641423571523639151136471346542234791615757591256995233856637534014677948225460841509022821319608865713881145108363612549476120796943504544361400282518339810587351796356165306835608444246352036931330493603682005405508137914147514827197790638941114621816331646065734241902308658216138708715685403785968071331262359288272538600618103799558292066332995829704043170146985454260655619916572849045874572390048887732144623675849971254143132556857050449126548244556009729852444111631136363376711539325588512074535777518422697727272122311016221061293069717824874266941189335796767309669673578298802587303425585613585029767672448267189512173189155957184065701867700748547840222472235057619360611773781989054725492275197429430767037583359980182226003158790461391900695773045650748971091489189069734163906643569177932454084463598413610450391429839516921221698286869452746925073997657262592976027942024147004834581025884795703005148207579217969216310133027930232562197704613941179922523177450267229458320686236540527852651078613006865971375195027609264316492781879572870391114192326277115678278846273838674315950368672935853303095904219632581344871473592471076697766543858038494720317853649804623930997803619404175129170639904022618448139763652722992216312469284750570831251457152259834853324757823142363354426942814871529708299494206091887876470704072616997664574218264896664789254379310311579532875882753922762514724891082003719127343240209662220633997737252798477316711782353572898709230984764452448852098360377057856873903203321614005965490221265516981764159252022198824649542543182730729642525461061792546886025359179452566224190029896586496683555478970381675213780398892907988691839815838736075457515820825998129311831741381006762486011721470863842827043608849662494674622445306686002080275055918307835278627845558186041277548319007679969252138963685455837434455533817246217122570405646211467473137145042120301730824417066474360470413622806648199814861740074860041625719584022282285292952500628481873289176975751957395759614569905217830047660647610410063643864208394892606917619067265420328454936902445673857389494897976152017562758236611092189926123575597924825823227527849975682518983891788690764035420364576033867085387935145743534609453104113524197005158504771049799489187803808704726398260025938976418039074931790166235542414368981090661587222010410270852474882695013939076439720338702333135055706936603874181318356911918702345886032478043367523233767843083951917321341422942381616533157891168516696924297932005721445733042512806285851273987838065405581973818577010336522900511484380579797751721620368255910977960605389092784321290552988449617050084742522177476435563666325251181445873226488632495573014523506137748428316458812311317658401747172583353014604659429910769264420945379212278506862557942813923969120989347877504574819681014245168209694735164952131981469438018962641468072335491900877217438739639255400865197613821972142158093297389322988104782952393821296308919063661279699140181060084055460389340951389160602746442137716486114146817300046802562414677006371184243685866041196181682618039671493551634000335420726480376517364376573814761133423247519156241787173615391853265487927850823098662438287365418738297924036297401249098621307170783298244743136133087419807708207058707732265749682289990094631704941781484843951323181739416966965393401490612469859983156199571221242528900663773166723037768356106008372003556829425277572577429784688862452974287965097140591197992224343481992575606465755430802101321657287221288050340297356184715078596304219899080717884384706747469609300461636027429234150245421515404098410288584068463612968083269738533590712326078331140444810305553675027713260481126022745052595861617288201851016069776463759966429478770671670671492836076091000042961410022274018157597686251591199394120664100480790397677644356771496257577891514926206450550613171021190516323439497264785164971170138747642998447334965948732394037995047078309236525318027175847612561421759113603169317079295785763493156828854440306253566935809593681466577757528664349298976808966834565178405556549440167453920109001703757404349657230628438879911906538311264884800690125618466577095918626880128819492561703867264538989151625335653800487668940030571088234433859797868509607947203230226791404501491185999275904786164903172161335710132800851419632188053090615379726044371794007616782699332504185093786330343712099615010931319981435239756825377673192399114334379543602185915309341646687052652923047160155946480713070611811321546202511088740315110091703312184540543139823160490914009666409743213655933350024125003118196045813021056800704284309168996165333901456843358707217757707941018526488164309345837704465050170025494127544930585501887787018223547833111033672233522874815012387275978458286260478452535460394872846872108169549834849097789317400902154105099437478432131942290039656242724619949702766871053569833409998255995645806827621331951366995483731803816816637090002405427672723120108319395529003023724182114684472398838217093294356032626248346087320267683925630471116811833238013194065336936945819756512678262813546129630439363415332825176176187311033565365697961181203401432700566128172175270844940085416684497962300895389573562090413354592353147362067900719963373526452406193605226895121895688893036976936726573926648657545632868156943685353961155620259264857678805312238393420721129577110183685859916854525859548204856103437243132994760991391522838924017188833109829284107178294760796241784120863431094674740899875640394174097393627165949231161064372995021899032297917220244445310148130023313167437767590516328304439431631038715391323187709745184405844864284681538260308412512083266534992718125397061199867212080810853298853912878815232724648115487761221371059360196656323489082904494543146103475595789361140334189867439051608462815205063896764225006583679052162300677677311842613114115819181440947841241318336372998607163838339238232828811684021038274693630512220643231743129325505342171544666286209083757775894932443789158065488390732242788251976387292432758995512742729124195900059152937786624511026949858521538306382520330051801545700867314078042859732631788880211122907907214034110248591471971820941125272627643643311226932879675404228355262310519462300588215365563267614833576390387675311576901893104155795365960506692803431861220525088727507619024292831857933984565514329162491446213721867818457931094228360464106573817077148090785995131342230356294856437689928375644892184385825028372625107796256612115603569730672695183994342635069099530981536325167143072048246051816722115165989532657094864995162529955406243576841153359672775279612731640987051085011727768397334887344299884323356121856778926552246343044060815387987907949945054030403328464872323639144594534815692602001138826543880679346114024424878159996448698410211910637866619504534986510002282670801400221874031899888938432544069662369949201220485618531163075450141293434806498534368414235278416591427318625887714856818551986091648656896245892687534153938011236927448650780989614427173125031530812928794859871626104660380899050076402500813800486962079437087612500878988093525453678705487123526124394574408832907457670140253814036798514844589642446512154573979232960243584338782009340506410852891171327969659985742052233485523475418137767547948144452346621412150180155623802781815176767316796756717550020124413187894883587392431097279524051706360490936478963358844941683501713982120703396255774345886887269940393916088346855129214689436910476951282342244051886038424818695962745608143739087762424938831158515622692209958890825178251864785105179811854955460460483996947755071664276830675471611197112028997937496929361145923893332687802784647470985891880305954221291362434389102070397585326070118433749059910831419500063131083973543975834848677971796623548457808628100300643623629436800798809633937876127586443885896633981528662735173874806675507362359100359656423382385716333195685520469490234949487538677643509931778912175181557520124697401564970434874027123182775807715309542228774660196366915420280293653446218325004715252733434590575855515661774023425217081434886665781965938131598861700355857763720498813476808311715386912309723945856881588710601687423838977587524721076841366587088192788089349613021076434334559363843618682074397839446986116898349329643248455511265135511148414515235709242821964723613641539138948214672776089324713493291371862752044645261638233473264831298905281492596640480632605147156226834666317363546577575770305273030718023304699206102111386972433545335853367326791510107117973553024119852308318391898890036032225846799970173018259186690850619569365055656635812546259323232426397374959617726118878343313917960895775834708385814202850605145433163625260843693178112603644195128503755277236665132292368008646802239350280894747321479618652251503137960366989711612508523033599405808264821530096254463572662235694583235303266256716980790331327962981846234070678586913964461004004925143963455055909226679165022828633793968284614674946645309346142989002153890012006593167154301095578753279291070916789093787503790688546367689647046175938462920235880833765042344606915629098032391181482816680956995785298699608330737009287819440027611101646080593997677668989011925091884120727289237248602745556454693835675754483543339273625563911184643092131252463603216747322767026240574613166858847909773915844405249474922630007093709243225433391664534609527089968556090263454591486798768728141877164296285001072747443427119743298922317358788361883817591377297483464680145361746091640923259557589739969645869754601793383594167767662187361945340540726220252202168290124378409173489313324824329049798855919005290983609299394579151775013852475112165360622607623458670096768751445595611071783245076751012485062158473537535019591596277021749695638431896640764014884125851416281037314095833881331846709113770841832976141948507859563171621295615259899099827781113177425743034178228101272446605261979295444710642952572061812484448933100813916105434737664995577964968715743732035065270788672209928528886026932812969078256312006217578442853098956937867579824971723668022557916459603036690556636943034494791997551437609902208250089610711381142622349726357663996338970583781453183924232564081491267773290347334169016454552772520159526471332196367540931126750030977779636752210679565481562809505821383342577674322783450465053417158075352310242837570955883731267724587791207481711233944448364136678716805904659691874470399949401539802383855614943015999786000643723104069774792064612515163458948580303712964511660276218769503641459441303980970005789052395952135006936386293104354405238797503394186575693542357079544639676064186336441375666288094274672506393777147948072500763861045799095428402293001981311466848359463734849404393650418097963036210947095825124568155000138173969025582169341006210263224763702263514449577096198336807686547634912488077567872306830733676278103063643697036580075054429403930846008402653936847338562690922360547210329164813448887378549062130539519505174459203395591086151823596161684808967032052739103778019134916750845372055866787867407319957265582297082020534016013273489059890361558070054601528649036955638095983358617602554605038342858114696293858278939126474217298739460676952850324553029888022028555152397899896538716213546348856333769440021090010176608887119908972248329583815662218860850046468288122385024575283511629459433543496746153606364443250181910666688494464728473518444059479955903320741297422414711206555897362266306923529796612460815997279186257922123674515545813346214499732171997490300772455778313534181602103641734005090660489557789530350752257771398028281601392314601311505769397133725758551473553709999257643435282388284308151740218274416167195110495537760153153575444461258499417519755382827678637380045020040828080047270612995478075027482322965033168730563393340250709158288317253865100002698968655995722060325217512175557734147873678897391195175909872701884217526344335046001177190031533067950065445411178330654114527276994926862072137719219487880591986986228286830816900432582516035764278003186131973723122558265753479292970975769663384196160850491618956094865140904054539708476473080022779479934938036738959521006818643830526666406515036075150727443529228867300800597558482099643773188155873906767272472027040008776819538591767133223330821047282814551366423840001418637277612364218586163619356709468577691173505777638904603134995533301306908319485673801221817000825449601103744068826080692164211677844945672889582405728127721516538581613443664791717985311105877034523377290548913005375787039701056480775841772475897174063037095355591134443733977392500869487907598050075168382249579979814153687885183480426166542170514959854341460993098336521327194132530480978320102574157010297102129183299188882563439344238461802710422436391711564591271870430243396687091509455989462984506480640764178349545706566022757013441502536854650146793997803420413309002202684198058663564952431176490347555010463571964344387830065113708034438734184419885722075831801972352361024828649734871674052244923719375790648933361782505356415962844980487747187459881125623213367581130226614711428003201380029853214141078851487180816688484766718174668548663403331183793638195129082539048575882200215239521818525707763165027431500118621144773023859532764350151700795889596005609427303302560684679402076180647504643384403363304596811012528630797918143664972080253484734950657008918082322701925341481646096195318107152838588670262603198787900961095570047462021410924580348949905106809917372249994198511839963739770001736848787235564482443321780668947628616150646545449007467955485595353509431946084349581695505453705249917451649819177358927919517727946028442850482278875867452065988381826943522117783490970993065992083860382190985527132901706012263446577763620662606947349679609235582886695189384873209997641912809577625317530954349725523377392681869340217149883433717898071326786830853766169058940328339962565600358239295670969623400413839998096839945569093167382766522837444907210279566556351213925537573593457927554395756894672868672873458525376384181387301493159469181069083180183373378702482407054556161637474582314457440819742446615922026707937683431307217852015452719075613785277566578789545347581261496264729005213080961118882859287254810527495098995407890848147902019404721400592153983816292622381978820734239670138542745225764745544749278470051511866275084771269913210035553114396135721535442483744244759614108245599594886239255823084721995178402062114839396381056538233812987656703284916554923137732475545746339408689064961261655910386354154831896091627952557129400517866447781303136451781689114939842461524155006485177051259188003995704133623449488107091566052356917702854739730921110488738496819932491115996473779886283415855828312524317597209090676636425858603791071393534859441625165161878068908000915405699826225138437690167012409282848413537741382473280467905452456690572174945591579634534508208627122943760355461360940970928079587760017280123003086196366553509570705710214213098304048894432951139263060715106346287546173232301829803140756096542619252323999134948434734024017309394381336279707725969333729921557999232281048959237475568250255123997411477477643945892869922489955393133352311534725172080334309719781926985422968263510675405282070094973976923390360565479345559127122749010902339935667497399661917777417960965018993184663687200258900271289681385426375951394016313128258348712784271307910606396604386134779265838816310717532024920826652632868332574865421288940267194805041973308933901711634768265744907875234044345474183908521823692630129088541892666952038332097492739915340893664984484754136820906158828965883531436177044280168166721667457194954100380578436148024253942276229563787462006014023052801151876944581205473063511185235533961799226221040106498826470717496071813095805642579510389284461010567290546934900765501036559513409439982891308262861269062012228001901571352682507094674928272765342258054549947016502037190355061462218349393577151131919150709732107866008871470411452800037179050531532011028777883051981272351648966709205663193705098566820706952680851791719346445960752115909382316997735059468699836522072831125204154988278780642674049311680328207070370383968369521950832171379618013123899222499459346111176450029907056228081966505042236133496956819019978986193326638207773016421216054046860323080055856302828252157688784876859343932161700948280481719108125448676018884306063387814869668962238270867765182578493575623829984673828315074647964795831386142117661913319276047025205719967750052856394386679767996133784488217913683144357280395935589139608495632712972582986244322660636876977912193150126490705818280886869018911499340649915818820912939901088588221463875181091327520356078248815681307286215501609906189570533830197111893273257551857411972897586939080277445476057393391605706086908187919834023479322451972848464143886318389408814165763851872957295666174022998283078643182442741300640122432481161016116509117036675253362657863018335931001923318235554087019239422411366655497719952115036619823028304389096100287431601117003098301726853948777307024773019826945096277864751530929480440258298636629491482938337208820737106994599600634202748167732629520685290712361495180622097885571171524526855942456027784224309896529485277889998844336948666832875094708063403567768387490020885864532304098525425149517938364798479889479408365838800200335518381236730078524687122690494778757570737063977217926248126395778091273117242103303107006745733420107973618768488099205998317028508200942551934858545222834729245021792472023925107359690155726910632337389812600456454426474633896584546536801281267147824372189946162602563878080237630952171533506983956469895674647127727283693910400316794341554985725513917648821637859390119302831161315479715060496667280654049383911643972591233162687642958935265782522827479235548183799215386404052060785800798065985686399136158622370680541200941788364610747762432791182451667462667984579645724901480542304009702725679113216650537270232215867903064771362135121883986715066740853249370669200067747091677148599695497965711980398289494224733344290473835388961049998339965263452949783639166831405549878675038452761507034693204337448992590801920430290108919193605603572225010939694052094755962837325251016200681942211451351031201640110754386519917848369018263423779786518434685827712229138886899112919920631964155313286031648766621457178792638400960473931435000298922230496371600672779504200629361318441900665075799835379685717274601252629996409529578398278355399186726228451619351455599539087881421642182936738065351540738315204826333786903993935252184412944238399766876784540911595820854429459491053808256395467931877227463783145816685248968884962711892834478865545097668815708031138491650773169931336407034006886891191643599424074513608559992464922508903986273997879647134097132278538808762907551041214475163878503566999538739720914844690527010534980561078017976894758631076480913480272055217622104579083858620768008465975898785169091640015125276154224107103502072189139631940450035197922071324872324661934350660183963548425941648706346048120611237776930363713943817945402610387184369723373569363708514963028805450913337299592195061042780009612284275369077144424652678687235182671100000343212377824292171195432883240144864651376539706368869321375626355527325649955739926193146060651597169325794095986716848491966351998111417872888835685503431700208425767518352164262856868616134968950458778091736327010191021887528233618259588033291392999403215100877583749875961087217993603507127313731280986587770484578628412180949981704143856479089571840591344337787074844423844989351492419971120529908416766718167063668857999012962738249182569188109966171582106769667518027955775121935280682038684851189419581960969814159841510665728995101064718090186382594513476754806236934702081639040765900296427864558450696164382310222340659393008832346405855569294953099001505051497254013617505112577435022445277712169204225967804782453498486588618493654376311151957367039036823702872607213819905342051980374713191387349727010047884189125928683143086638880671068892681364759236468858439154892150400845144124438595219883244063149764543726464778618988594790296801839201933030398546329895811650501423874686051188475191104799748825225703893304088094265959599109025425636905435469494184441877678621237150538476978967142820062221337251067352614533046634574445395654226370967451429830336211836972499604387248998370270151895931095197850377135344154877018300219916287009801788875445882415706109514920446904410735884527873876719640682976986092136949243081894254272924798197759833327991426707330128781170998331482958374048350080115546707293598911825256151834501186477508910727480336992506479496824009861169794541077115893377331080683713271128409834489866326189871199708045965893420024890476798324898678772981803946562042265371241821478644517491836229998503390618185440751615343112503869373459509677324226401654043986013530356923029529528481177768365019312849915847678498667688985454531393147267336490036279663438753691576145799182160863673112717245566644724755560846275414125209746703208499084909041395128014459950462339691222260405170783732721917727479878796726045224891767889476780742151995820062568457214323034789740556911253577431680334451289604254030444873046116860962976278365619551512277279709480254979759220916351859043922195972979838834154367858887271538930011295188706443769416805446496645367520875900570900245511466018356224558452476135554032489436901215225547541553168773333041435874724681428968366153545559002722186725288952424100891513518754215751803992603027262990294169504656036230530324826912977237992013786515750850635807490572402679406976279518488457030762303898850809809605721127756160525618907038247152513419986924656722505667871763166060459532621865111484915853763043258417493903049117973261708617566389994527602625049527689478319532211087203185357135372005536557436118164338067324092161674706602788939329414846436927229602260414046912320226385509280794919654728992781840509548327567000709258966483811994758351974059920419653573778292766719560887323708147712160155970757399601753508706145972374455302639809684351377067261100746833932694094706219860816772567278586938946705755891101724115392040315144833842115815528015526951589671414364825059257943852736736123797073804866832162376951214934264782696289903084683123462931115769191592669717083096367960802429616157789144040315830006297032663669705982568762579009513837698518289877193704382702138535256055674098795000155233434678461186882414339884213264612310858766862601685381585633068225680150947299118263327535828677821698996363244948603141392387429139660428952072241288375766721991639617255002293846526224798264677178709094472310745391239966929636153523894289600521826997815072266517733595360893022996659373559515865939480354913193541922247059067065983369683559272712540359699576591279449033094372088974582186649524228474059320187025694392881719656999899299521107247894001074458209211386445343687711870924990294865347646915692405430396915703140387727517713651555768992752364663761220312020094886585463461559279338274272593885922702679333449924997343691336841896201268875145965591086317702598570168190152433571764154369899094273587659717153397764543066831317560722014942827612007075357535147471947367500553081706047015990103660015159973906629805522546511019939247552716470662466626337817178997457866532336425278062279939265349559176704009224456917125563833351974779883593448947774094138290660762479521154767801914950909928209019908128767636713373342511462916033211901260807447180326926471698159173995822291041957950566963348128934258589338051053609687402133771088284011455495333848377246891396775258167994812582239610793442619851442454295907577691337978898728138406396362822422043723266696206232960895349178170763079539292448481426510477301885524618913696751711821226641646259209973499819850483683580674828870952231033518137956143524577456325142810634168074467974182012285689695788634913273610708958198086726740373983739710002306756234393533001987736726762077014532276086100065688149659035511282467426478338468741856987890178280690269421145654727015475831938134527932050965465436106977281065351752686989058486480736459330267170944443817461452673159321812577949193286428743636780031529974549322787544242098551068396920253757923546335882432014088182250098155819917215689237438195358411349589289425482037884031425851745824729427133476985121281358108676383973603946290783730566360300069869010062546625716863451971876277976940794194441856207330089695973363365377041023866755344980861161677257632397789019151277571533080091902339657390109509205120834961978962114936988017213814750356615064237368260048462724396142283433137799674106020928765702578344288596161523262699059022424161136316831009960438248931484050443976152193400606103637713740538685450960913782336508694529081271644324958292788114809623542790553376492309101455441496399972227206739962564184170529264615390936141603328149279252527788258050941567312552671004923812155400322006243047196679877335574206065992484339935382381428293934422990817294335125625009752542674736754699685148542867167837960388729953302322137279762778252997373622791640238911337146057358184430842003428882441409486004987076742244646054342801108028667462924235817710558282287497655210035292673940409200998356302936056867039029747092287236430177726138740278577895556528498739632483167187806862800073944996965559952482492360379730845011356087935986952576664686521623805644773368880965145442878165210279779205444397604932771436173778769255622634855797026949237931727471676811241823292837432691025299834983113277928811500224259722072069654473593723894806051299719924234069022782160692806491410869577680547083892674346020256759760019416675107108396928141192145709211825064920910619403621164144553155502193891695097086614709201206213474286206915844846338202096016320351398398245001243324939491078701133272586486312402815901148553395093211906694775198659974842580405958565264309718236335360968852830991028050050068590890697555151157023810732894259518420631926276561539061415510289029764670733810911296733452558835916280130939725967618913467704804076482219894750016877949769793347615230254796485909400677753845837040254970996207190797172309282164876083450930864583213414603421310206916499396959970165422670478276639714202866203458757404543088453934988085380891485274841770998916685435537157437319055451833504417691184696332887206537646131094063625945363222671885117165063993468879221040403734709687040372737906163051436467972553206793254291995142192138438651837159806931126880349587330399407263277308566420802545648980122027275159056084376095326318992055163943436579845175964943754717195618407744277627603104569310559591179039590482711469868980857568700800196665927203318040851474406994466851617257458979395537686013987418700631662601111951443180359047514612981090235180172194571983627849086194509334037655816246891663499316499207155294590071989563717736030404306326746328060393295438174580160128938851984699085154232004866108565523506558524564477755450722650385863591528401795657962788103416019707303332938987994191071432641935022285066723775575284779847954257599170319102260512033030880671581667540577841031362191682341565868328556723444618101736760452452380692950265200092139414450343457330988676683086385114677036967973692117653820217937581199122177025174031445393733219373526897366490978969293679113895075850024350123556455495343137517395743442974526980761241040882119980373838625544821108642389270489397084471277705210719280296503680528819767111361559345473205866168016915109122949724611996961962032268119065852504714593945040438138614597135000070716114342028409393010137694634453375938785495960269431374789184482343094837172437261570975948209111104497526309401447591326486575408808690092554013796374760383130577451599294797465575764882881576547971349829079821516077034442142044630561606938484881063139229522303382676904924980921127409086401601603821640339379226960886349935369613275906958724693913574830248354921096912363955219259976344806319969443594971290506420047678187490985172402893086739459793138886728916962384008252086418226372546491492755537497914118188004433279688617554596158094772131743628923537089731721301640479924572932583304556484557783513298554959852771037254940843088341821073906637776771728074021025214419465275851105832824116971941775114652188930488890411291531972035705693237233852949488737934913540399311038214998015878776938070132561554486785540371655572563896555470315379526391488109658965928800337682002675387910132164959692524541352578818951164306589001740736045846687358525189414452818555377004437965518816059157658310825445633092010248259766160453687555264470341998831941842849576070425713686709241507443416859803803512059309630747038539053551993408262775991039464122728540510667064010552615605942709353544309229131947817863097290829629614199491626744596416951549940741051315209937719165572240816224584850629234631339386127983188969987968031988488270512872601426004866980188745073226121889426244361698085336482641660395813330285755158250449054563414436456758365202250129232034691619127135786452893428321233892787456722459111096953734487548131877482422411784204684725204001877556955916453970273272571903915642504320684137430761009565908883984118992274850244161725675128391590712471579054893798032305182431056300039376070753628566826100697991250615514279606233734728459829837545987709571855807169326853724344026194923238201577921151840577629957730823158355094216010504126106945886407763367283823084066489062670617318270584465111994819051411787193370641312145896654271778377743039723357642863283383997940358449440886177608748289667416382545194419909406787544846931961641529926914851125614270594966116432678156352604226373676333669065495956394518129437333986697242964974173741928812078296640012603801001772572277463286574550096708915864444692473802324522247811222732494382274725056550581795089508464129263499027988964948597042563872008671520435329904272157819699953965508523965562344991589136719869977751709385191902758771549909410493200721610467598171037801409888197675212774075959223332019715236143333065956177845760977009974186213686319113279355407064204529843470837764777326564603265186219664262010456434076366985862460930926552789426470816017259002991688606832421850432611892630573374446969488865394608791990092429755106229889073335347671414111993442101304299818760884775288471179719538831364381354595742072010195432721707646707539835602963996283540813210738871700757726105651774727586557572170362983123203176573301476976949180428125254709616664446144822901157660293627792563716402320052920753774150855959370174143703883372516151817749559796986071596733108910809146053218042817734536813446735748505999986280169220644447769151547293436787273934437990489832936174135871999931664447119515219712940810258486261924877792043617987647406418990664442344484308666894913323240557021361304226678538811956969303496720406450046312456558488553469437955794896650892075400181164535118515412562004018112775099212147326139301301492514216368489219910239235585752417884623578085316232723335488639152409750072788623815663164466754678407016558632450148393263059558913866504695871700937753456345633874664113775577274176351519659898523562146304618486503262111505138390487885850145951538915572630832477292371835000296119294474699099886703829294919949707552361046414518185869073897841261056477530364605157715194264348605435909591238323625839829108812446752662984821287124912164883137685391623481543525660736621004187922263248801337202952783876475528085259923521008494443172783851398111526462970108612625786188387261767935627060132350695728631600917746378921108045371816955941741912587191491062405587110488170117716443065376955752376492931144597309146379198566167545548455104594589808696685125365090657836566336502328486158263373591414254719195419871235570087809986755448284380022256765030340389986409861351836474005830836245317291150021127012485952268643076219630972200750083158164125014147833700677673077527965514590739068487219497917117580464396991131656444452472562523107340559357892331586241176753191798359474595949342933280837497576063237170613481914297850603044297650870923441501827428368904612491461200460683503747254173047736774225564956954951500414585942481174572870320080172883528631913838970379222999511964207995059453952631120944651132796579761889476351970359941113290533917355347678354650284295533187110366322110031166155966220156605338104299812663573763950349528147414367301329188783523476661005608156362229183077864003162848399589570222014830188634594043252126000643342189612582847500690670112495419026280968961138386109598278717514667531600238900249360602957168469755397928030131618554474768470728509160434621184830802865101539345620526337598011075703644436248440184898740459179889793596966716616341309425431238160883255899684085620319868804595811081883154687285203404008199108779465704214104239689930730557518419960097528032311813145332738496378042967923093877962480715797685373372996896359636357760048976998168889710375435703803785583178341657992382816236708505442098078622049539243936272321308361984359347148044836561486497937700797994795944631457032866448410313495853129211948661292686494956248791016979458333105382526619164234912460808942925966693448577145251306446859093551959260376928875372767843138473816060615139286936408535737622753531410159485953203934173068502400934448296903049271960518884975040209537393362045675721544294533046214874411125196320285772064048170996237743043777217071445031649987594657316839160255980637102583201063609640106285929387188618396037897465290558163912756719925195393867349645961289656765873656014145198821172367674829355602865844377604337147136694923319102516732191115381504356578798320465087414585567880782568623807717457975619282279286964551067723783585208888916265738303510173615506091301065266593541139302230332053333681713634855216017107241146376044911008917515880522663258569853153782976445361959647713284096891988658147992608995263035170860066499340938467337926412659237877965088667065658204520306186738809200947418616844966310002342830822021670973557147106134863982553190099269636824151446076197222637912612071909702265819746260341132590007995242168421447633008210812718869501488510397239557304547595342893393488926488859709013856985681781538285811851606107713690323614753845783016529386555478992707752932627769421418309831220893986283669850813231402357216966458429516542372363180359071223191648071450081537478082595200317564666593148902658564032672351854279234791975139662248171685980199071729638448230203625055498939311595825514720823337574675572816790790829436122389759940354621992247404091913260634894396123168823993684044681644917063288689997496796676255361877044153687220856443956508527151323464846771804898455936552005885617838623130723812176829748331172348909941116899444197948841932520606167121409333379206562413347308870439098240643243674312245832749584826491343255497689111905394822006035915657438176560821679554514522106615437126941657052121063996384703943807606409151433331791273908365388921675451726171329049434332127970577960677633741368931256088079545914994355037060728570800148501488549777374220686923237578190293779836422971495852564037816951186116897793728188417722423605433119098538511423960336171805822365318191684979656766896145299583874733148878205380981814896223103897952761426401342425756301734254183180714666395910564690877961759747018929584787755762687431779543734550503758669595422750836207292553103344005897747323093975633049110469857122322694362029951628462255029009608079632461387974076941695360342111634019733864467027810523868623019382918954105978901701203036008592633501319548515347144195375672822056352036949326963764347198209071023121141706105257570456212958893036309338479247014992312467550629350264873406027009531662368178107650954384166979762577519186327642439336610463007971900636471751865772580346133285535179500926506336411224643923035214074131691725518285165801895169505487633434340289202821236934812123005538638426710352944283329267461010779124802178475338955763649725166573582750041091898930516792654364945590322911221471685917890102735562476581935693881526797531969958809662850000290451589035912194728536601737334174536404577747111317149211715741317188428725055903244561590009876167441486810716365918837915182388978883271050755203355068483276093110038876977745127287208248440271909092881387234228690569321218523862869330963771844343395162729983004685800868139075761226141518245045600224108089786082152954158788088693230064213002880562933300460574744071284784203150988918094748829941435734316252707641653642521469337719417957444594604340133734950296846276579907481700300697420365509443322755329247101561625450037028221567967325219192589937784431071932438348184249469013102847689888220060688652740337964573032023966367215345614741664394566075032223859054829794129014356814182433872356767839865835896630983532946560750589419687766797475994389536027387164186538479921535698241237862696400657221783473787992128624640257892482944687645876612991374409706192536990911578385941198279143144849290094282817539510428881597653753250106746552836158733593411241193839526033693526159127802356021422676876845955351361162606608863114208934241240388278260443123264033623908010260709375535536747664763570810203274201695486722753544251356910130903022031480374366474276728960408714377104603440855917555306183963078282210601461610188023452890381493334601111105022322033074762967913551565563005818706880824228853299286173014780297060499798295508333369143350362175702621714153230155108722742094434433034468258857507432485823871387838862995842942492043103459512925490791796092502579182984352080997915300475279957081661339614868349485114567094524070845033433538714751676739971789922512152666304644768039264801628563223554331356250063398698505425412492523353708192957324028703369505214798314350282855155293055386631481846217450394182059410258552180669454724387147033514724454068936344156806019014632798561757689240864498174701662554201230430688265193599445998021716247213114682079926393726731695389245538116026235556456144423015926204605696966898969055051635786768010024191525197040595475090487877490497346177722312974851925958175072390917127164667142411700096211222717649519549342754020517925961507209833940994191122507412220284888826066292388478723673191909280453933491518754384385087229075075614699574738737323461511062882505952325084382387197871901970874607755307237939916726449130780634241409614461644637817328240055713171928477337955374589620384482680921334319366109752711905580177998742788509627685553094909123733342427762623704799804460580853095249716893586354602936403252179125262989448915266907606141254177563940699378665048636603031428802805807270678686399766683076846760019044768164894272545675643084567709744527152876924082017055008871212016191892267314280887828801250087073363974547403279658560730693670779751459793300032917378394810454259506534545669586580586593782282734450081726226907477815654443510057519401199524231408140876001586964313228815631907407626631443675615437403359713326376071966977014572046815339852568058643928455969179660714058919248465941501437520936792839877815845897829957936533645422693371234708788849846966504989419844372230540809381154076143661932379483548466972688045223555850000575525438392251422946792898961314674977844350727374797259647451930087546225221343878326820484491840679619166059317929758495864736484133948232947587649705258097916353059672448901327124074760185586570248781503674052019632614457975011720129243275365679388576114098080539844986934657462492707776915071401537051253858833020694540920313206814304979201054379575793976016773908851358400189423163135489990276134493377321429258076693706893500131190338997823369048806102646406722704083732643356158042094987456370795145477695463573856590636071496467902980428198347758261118214963401965564085337323293614152145890200738385703732983484483170610232129198993882076713826083798790685644404752584293852806980047962251464395476666528014273331217785681965859394532429333261767296009987225820361401595506727270967442038600356014682343311187727919931591135956842430597346792767710284962767519166990107661507624733126803614120514082049377550217102327982224286411839595752606164240603014507410382778159744417847567808819897120039283190619379520783285427168032764233649694376565340084160312349331155935857528865529733358407496479689280974579262783770849379549632368059543543126117324742729146649238025483835236635549702974791317182470142179692073073368219950553850471665780184203388727197052279254828335124598056116452981912563407092585399685108742213389357149777606487587320996494620999167190940556156554436527115671946761192426842571285398494102388497328507367296300687120513588968937385367718351119261856338679715094879258533573251681186781016923014264597027342675454287843363103105621695720791658773764623565217974019124678295819894514844682888316878352879022728410406789156964771446057821365849931205893256873694524524233699488894902062245402579561628870359877073927724328571065745149442247058862327683032015631591658591672358518884674490639779641738856939875018090050643471960516919329788160535974161141353356588054003858757503300745869162596315964724916406328536412080418003512181758297706421597661133660318963302779297921807979270448050781101267789741691563739618911599597784989127493174345478315347573150623334043284719966629996744511713957329171987851181832662486712965802297221080295250403382253886555369169881540939024819255930155915072396315887874605981696902344341529243701488336004862746148189941370336436195655017507090983930260937497969179644759737764396190006774328589440817104728745305348682204135398947503089617406865444619129063613067839156700498595759264980481924577718974454784434193165227899596494871009412200527755177755781509979442061267182731486263761537662596697812934625962848074147906662924274066590972542040422090558100807474373693163685666844254640008511475273242906577816846156104829947364491638841035150969950654057769966431736352725677628368343882685364473509985004638310440759246223641255435494438080012321987678454343230908263806123622362739056077221827430961412060868315411902597926261656695806994038871639991756624863621712793636664546402061451873772208128888002889851123593277601936706861746436188483682608870924259076863947296178510436921103198231146808849339670635533169204152289734118797236964731095401109355218980509433047757311548787443770649811921158151841695346231413830703573372427241355543465057232203964205218758051264662569341453173047384111117680067642146713624827828607640711411430936305608911497927804073663054488676010125385907784051153819349935466109688073746707058333253994127885174934596616883111813874449721732033720831669381704315678599054596034300254291096391693428894487410537512779920134059367111463736598008346744512747504868663298461494498104690305363121811168949681446831538441222237630305063033158139179651317786616706060307940730923152436944264880085168513769179121810158356959279527763368005990864049906075597372641442476156814196331267644648631852303668522813933002958078507249803586831338359197487380993793995491563462916615370015829241018266220430981312319590687378120306440374525515746697687866048415169379163081251886054454172332329451580954729665001510331956298367143442025056946169180897478871557442012985011680789056270100608953152829161796603922184860944962708214887696515995982381684544449149882567427978491959963035036030318436598646403949269400616325811202668480702176077481523162027460439296185587151581412814026610615052167624607330072777470273004774333132341220792236499427453038764782642174120129329163196987990838883453773566782070095393208278870189203299870820778489736673185100524835601222944366552576980897277850326938348055470234260258176922635869428480234787555229831672765778809870153953654081842570062786942545083491686948339091379327050017656028321884041250795163691467477380311640109211538083141676201545390801296847607925405624732985746246357803685322597968347324056983152212768568983006936697445146649511874635470021431391666540305518563306919511017174522308794280262674634302971374079484835206723528554000758852391790247315895175058893868884939781387092186886355400577416536200247174057483737051805151855820534001752606444803479676721880368130759567230235183628060956052524789554709219839935897290780586954128037858322948215638900128262041079390069996505003670480599720868978598540975539951911976607959140663300858836934261387272359890551978982113764651639413379897461174562860338523847702260326318392754577832370287349395343538336756479732898202432429811698908885527652015295295766874497979870167584394586564826280453866035397751192672847543673884039786332561359965853089683522725812354868922459855923022629491309370755175053604914186721114240481317572025312881550815736832246782611639337621819933625680978528160703215895915497682253053640103647235528190338330677039920494009740235477520157718443743999257843880941410903073055093525932225368080771144694595265166037290032891412032276573540261581128791956398479433328104854250222925056948253710744598483771161355222003955783058817756142314223472619026560452340288508186672192840091742682548947564944899664748436572166967236145798618514207429369890937825311331626099409729733621581705452072610900638501581957713063550065833513284180431594999724410969276018841414965621805324000769836445366934505703670181140209775084056567331514816491488143742703398687562075775084313422716674511465731938261811579510280658362167571338616242885541766129866640677136282718480467654950293361084747076806814276417237643299023563568030551663413975554696740849616729528354050825271749717190005576151812809722978845913957214370064892788114202966188647640850721405894934648682453367127075660429969787790554473902963338344108990323893352231743484112722502706832201763061858944748799537763395406982127614365064996402804061559378831148670589332239986361465918735384261704284545377795416987600048657484015417434151837266982229345644360598696796043163204576115696319593130250810914054848442492292208770954151188751683570197549545371788239266286877266574715263526575611677296662537700778231246098229599481518843049049448628260933446764332633474485198660129286047424302283652649731462513172887996300069748474640699975493150852204445357238838570495524719185940657519100702489797618735082052108063003596910257850755551625973640607383888521505947612328875500153476126879488680646688184181351962267021043286191429767912590390422761629139478364966026504609771489290103831871549228669253504227540484747564789262641977820277628933733430056515642392881124931084443139890581893053436946064443044735666410771081940298796836856534727253842830710121297573721968604512357873425929464489974143415523037824561815686498474182782584363578381988883723651879096841046830451932824104808401255814488675973781609790185828162581823196152632636389149834971769800834592809822667914717178428176802308118912081217300198396142841268035734766468753833161831883775405128455808885609697554875814207035371171807882665947129285205296372739064998753447321921769199392889162799128225535625077436273910428945177786271298049216145897619591730527108487700396256416656441467073087132418960717532060149541773405229565495018394976232746389305724333375442063051264391853377315863116786339807042100748849570607923657836748858443647918313625212567155329225435097068086211250417666632741207433858173966876160120126152609216231930284584269888723954983930576775078016248538162034025829793775265316176252022105589715370988346210237426597661317967173589996913307962293710797241633644206942843496483657389954860804613842049916018318300642992349775719814050617317566466593072098154091644745346780823277267646207878634675895113042987313879135413864137700692350103719986363161047048382511869065245432621864168657723783214216601049665751539949162939444613307259476763283123265896743827964651628747471118735267805832919895049197586528464832629217977884521392283117191148596682908137809944298332985906941984061364093536710494014417246358318145022441336446310123159226576003483116760507600474959537568063644472864957209495935022608488626378321841857452616648709831134700266554204460185374633114665815674110718997609559132689841938965646839599738831171896349252722975392626528699946210182625767702308837387477624076175741349992341211719385263914360525929050689155728165659422423933517254174806648427392698094793172577567245915439234433208176668921995471955289549587814204596772922407052298358781062452521921354918429824402625862189130964221760004077125753049244930538897590348046383365510680846152876021926252778762568753204016453721060328438877384195895302510419359837903693530616295517051951280394598604309895080829893794008753491680240545518617066385589854192450443563751444862681583976609793645270572983309038527048010928534629080578732502199212785435548646301617049687664140067378299762947276332996610062317634997860274787717190383695660160606959007167959534076567570836661863498709311544939372125773750647672366132663639494027222069893910230233780418825034406530632185436113730217798128968031962987835769659269431003874966640487063173868515242840968539207654779209576027696521238955291873078676022959706702904757961231177113161054009026222415187351137578753929109973274325171003212651224874216432894886713811163401948062154008088379151857945073789285742399762661639366671177727005130020839622819941926214397892514686690091408764692445169719499246364769780612989691081250134711017570686042530932663754241201778206010081765501353531385856933851290570803522206623035655412095215411631920452509368011555026629682497221873316159486062894631899075545545479974686727568740781156558756318614151793274663714978430350394423979901385890887644777261364673496207760063499564858963043890756299964914875584425331135188637115350813100647615591077349696306902285332271472917755174340124128246570777822310843919420789179719656532241106086812030328675409634284578096684946655981377312737055039789759728710817942137203560462980369521193016060864300629134956879805394750911269396638130901650282615918826548671338490008871117893621234600535529418421017202170380961535463944056751420210852536090022293352674389791124296728980035484905739668369652160228516632093453315660844940267708240694048300043570819649479453641757530591673539769123053507051453652447977266598321670912310771635667483838243308651999757709350162165383990563283077853955995407370616878085996140574666652299381814610199113500090282566465660144357846626941929342138378057192434543053698153701775613098281462389882355615485459749386082645255112374068120563812709454511272135410904815710373805913072782106295881107703643741566037254374796778051388967314886143764779297767564664706743151059259337915447532401365505816349875229913321438711422120099758231861414929606195316518152320008767181621432818286147678151719991003406718947405490979620488289027352198818687164793848422234669820372484974044687146494497630781238345814614402891194268786137447331338619790740643951157406334284534465864274504136128031649524492182308555053738791714499601674001461352340147087915604408013209884491452281745971612764104296914969453851991747122075469294486989516161120493537523972842153867771104816538293351472947969998559019591552864431342461797497279020934852060703623377683878954096237575853242809388905577113358261471494323217295489742526998162895274189324299316104559621702080159831292189200694523751199698998742242756602920036322045344765064945162159755449754404131162748083036891385642337876787310139283635988838996010768089738808274237090543462831685020877114584768954417439626205360053345806501679679478457450699184168060824970741219153878553754661698288786469236586277573385687675103050381095354797392676702621130526880901340912523451596128208607090151943728711507988176741252716433009059595447879654430872924363678592869105351426587934393668055852932365440124739931649737393661636423041487098771480978755771912327183723552854702105743654988025351222303946000887702044195823131797408267254085964049578222416636817048474641839183820395987142766856831260311911908615257099821590829499496817528141515220238393195618017573644940180271310572418157706974886082842219815255300238304170516015075671420458461893713477959566197726721722244719012613539922760849919766351701820207070909687515743304824067004741109270488175994888534612497763964879233444873020282064647773514930374217833356191677469525444646073224984841588378793279000873640213416347516075936198350521917183298766642814571468961207759116794288560596201564378850626060588416082554462537990291756861907264324247100012938758273997627032222425181060223522433043145839413575695921311787067990128681823761156462815945954700006461146329609839479630588907779671359805129561060305296860088126491821330205451952480163499764804501588037474699690012111406950786899136403092996507396855478049115979427631812712840979296957195780195178511356149054549495686643396596041424609251911132604767357005830854919978145824389321144724466282661556502223314593901158157028425954136594155546782395623196752393059551592036985953210548212128208886540633359269394222691053007796369656208097378493618856429225492757314727391583239540170135752270137055983756972060085347298117526431295124869007256602059144359902305809568285238693862506164102398700125723561500777662448668694754862298315731218124549406535103893906114427703852786418741839705356133505520915940801428032235230381582593261856352682451849658113890778313207907957539376122600748963378927497613410096589848004107242684428226234910363384100603246211889918124609460678119427797789333933988524096035953976122010005494246342704532896740200807345671043952987485682093767323343633950262611812392886063317373437699691319491063835455433657822301488311540721750391584508729290525654846727309497555622561151160482850043520315965026277899492019945984451945591118237146467834857877614871619220099014207182274657577768754847325460664502327099037156749573499964816998109634483015004942987095419560563513998557233224410480666515354413561594642975301061396181144729727242515931666078369368119376942043677688704626659385758548425211555704490163015023792058623693512874869174871280054495823714139374874513967225414804237937889996601725311066735909393312488184145037603240681489162851403677481028442305979046061224035160929799067342553193899081944986224129040199379248414445149591172462116850225037280921491224222879514626956775070503120069373174452332013807654013843880627662765729325973859177287963923476540948614422290606977992876613169196149946133818106816093374651941265782993536087447722174213493920552877656108102298068281230292151367093848174537729728580685470035946858111004408647563732867988222038079874733504736411441356101368777631922860486327386576517468897735146752075798260200840068188546920537475590208260216965733280198815396824440941005415263199647398737540226113783046893145660480765182490854886049138615406792108146883235000722105017871430622287034284406680426695135790715520349795513638537879662161703383769882136625464513199781888952553007624170413961969907792900255901592602316262317993334798024240204008816748316034721051903823621212232951201888605129699456193088298560667674414522981112860513200178390460479036730923952073661971516400238813644874829382367476465045377424908403140395638024265959024101539569693450174114477981389893639357690621108561928574545923102578423001665474362965934125297371717853529385238567890643872132361487039457101391700039862112521096539407866251842704233682311323980521501599732398713969915878737529990106881322663264369236675328086719965725939751926593643949232450932105069904419477791073407451351264366770875294277579546478011439359057196431515189827833702754668692493436999076497263196014907286006579662798832361161845146084300505553838685151161873079236081607596006527160787104639952766951067610615057204091565635286303120165336125100896212058998783508654755609885638588546570581344516047290477973664144947265176898865275222964977283050580584345218489023468635454008385716946968923408243935039819467755381933933867624914129127735834906918924764407898123671804852745307595180768462795061699421082511873718893295179913844595398689621024513999410774732800937995095844708632221046959354007515136461500161553916521568916468353547936554394069793840290486822760692902578499607000254691218662518538265749385973903416938677702672366071994712301157412882695884379070861544434137433096222906841189608254074304984912237602950127678485723359680491243995589430199603230997575067640547796345634571124907823426986791587954017837145821157645131368127211701097757796787713195901298908511233890221262911431688669334177526270118856758736091218954773955536598976160357652807563876539263550676815474305339804172378140260772481435902785221588915570354725539028785894906584694201712653976538526189692463233323250317396931212811596591918469045113776794797502239074144918165173749252786176173165454770899778283773525934776624900051241486868353226954386139490570368067808192069198684135812031933972545966793974878851077041954781595861875699394403452224908764573123740175934405511948114162111521875837920866194863864859497347090974450183509506293769901305344560412754630865341387072079442140428598302249942781174020071136850712736570063828261211493605480674320457339773474855240709241198635057810624413241357718818608119051098233095026519387967126609162950679334803597531572140214121475694327491976596152275275522542325839949398436028662714108104583790884264751418714022642129712732811808359823896516837073970402779150453518761748599379242234434187101213542492888671803655579867469626117938985587524555432757290705394240828623048624145955867642638533855986815549772889080475332452888522432040669558174802046557166099184038356875216898453724941104660129287699358989100390533788914182258028905673983336529414352740335369676855051633879787493129307814049825771062654287400845664078080244578087707272812338499808633359584763135261883077904490496076965159895809583323913502222958411208805143709919384528808617773969521105694944495302100238098405303088235739039475172141231699615073113336286632446443739126276338136451198709639077682478650577300523714688158209185279434154049215529594838073324922047456125621196912655802665624301428966350038746235259614109135775898312963868819514021946399044036711275340487120417222857915468505449575022908083382702877440266286922717159720825063515792891705291512720015252034893442646786553426473277831023790994804236430577233056468243306521482124751237060389775860858154826194635632001396111103454620842742153330987790318379292666017280511676853158534057474809767670901253343480650043253156922027856021416454170103062589790861287005030941962518515714904863619857893976878762504875711970241510391758354589366095521886358919498463809323735427323591318036711509907264093167833897464392551973684689803517782448589598167632350866172229112389938711639502890488903576422893702715554085153227250460377682412431277253804638026021208720781434188099585722992609567612906754217188947051891926036152550984583430772756567081847024665799681843840855262834717293040498280041300285829825391718078296070089689110817862192444144882265126060984318537756122802329783852966846914279959760545581673888372935505790698629700365549197576586477754755105902983528439842405256003745086486240648973760294523809907544272234174987523784738999629397141399462047175665992066059545426176380167491427808989173296379622645644042313212772763919730999088805228704385472216124471391370315510588468455582238810378739393991909672629134841231776021410889854464058465106472294360778051659119887599209717225630148549673871928342359356725505089782680700228385220049268505703288331941552784501395727655341528496661525556637731983899465975081908445341235800269069417972869853546209801378343249874406046672071734600735284088004207512410242449036032853192106589816927812985538893034343690170400064007398515358151375224642081122377787086697061864910454363953092811137726663939414769307206772467779064080071998636246786092585815672396569462151844050675399404076490098728789980629882031257712650190585205465970876326813580985081663884337585815901873076379772126673032909917118144191499611289381130236621257854033878553478218047729655074066045251916369832269203328242563686247699629048869813368337725082427560236531525711778269707191439527101581875691286619629999509967574547394152259191390676867191344779634558902741871557537664027884795935256565507109602361968787340824927147617906223089583902960498179445554612767271817743294366524341086865232122776340332117732571516863241702180875464905274136412072362213890695534747349144637350028450790200310146051380214069477767733240542949423421042578466397793765069955221852922184890197094693649930863571675096147529174385464458445052472909644005713742247369811761438684563870163632052007979994169341928833110388694856153356010795711140375760487775113861572539516434565508401045535527950453217498657314380237593865592819033114017193945145368523951869673830352509830519175067635983610895596481691493593555175869912307164835135319657139941153060245743348024049597805749778994241935219984895965321010106852321294973400303305416494731550783920110515185871858381211275411591240403156115132220522788055253263025538799551869882303616072154338100851299675454675887054361569705715879930420657290529129396165000268652617286199367500034183050020034537140214731842317622014689016484048153532700046487452214509525612043728642016321322310163695391090860515501177689898251563915639789802289341691338631381330287623555080963303989298553072791957707063203267461626379311771843960850990278057247635334319050583077986760870230787268091785284413702655502603508137081024176348613889101576268865448156662131647938339763734921437815122885371135082813634001910693957110932561242516176002330873151959406901567003286294591463436862953775400462086544516004938736322473775009026143076240077670984760924865470904459926659996577473437918570189279959342983931979076013435970179097878540194280911673545931159905553743489170331813769673970186947598463985286601681365533217863525466724944851238261451032172659511567458749121736556271464236071933887831880549576473416087929023428096506381324207695873354251507700601395281671584745172372285478215682468409813113922556613843842075048984235166838823477594594565511883203628048547413325280848690255093116290946414197776205284580495146483112467738306305943519138682363578254855632065112948904872530774659652886944936244649042368184518678904673819445144212057377112286159899564092567031633584586380792837543520776017145853715817395033625757204778942903229045368354457509945301209288734868999753252949603022463184269780499987150117475009234160782429858170256179078573414751334132671689234013065730267809846690459165061990446888120085064474339489419451315900912091915426636233410758766324468198799280524902918740075698275181938042749442779332769235445137298283592095678982795162424800354679562892034189050618804794029848219499860355262212483993784452989007080711912373408819778209740248159762830691946028648658249810286318159520364240571316849604164609961939257869996176904198325091111712238427120242344183134755038587382911273055900337350418850731054129617738444750134131760155691082632439483951257566922965197636656173858794645372865436016343834098744515273617197561185622292201137471277090119962154167461035426754829269562150979516412761798127716660604754181942305461068764184797582265008731090671785366122379609205323924012917157825465835041474987994828235349973195776260485953336028240178520752195289611176309000516223290282218089988713538978944990657850446369365503271744606815571620853381861259451288801974623925248850895789678294440872297949312547790412359569790848990003997283286233799175757980022451523942761013512058609938280904705205053420925622930363982834791156126938524218179818528183354736410415955757848525727703148695013170183262879065403295417755520862524668351743456264799900120758573150979473307762614177631397572178752790122686618909176859419744990999586179264145734150067573052489131031399950541572396564301031037472960205593799744299673114586116340224692123115899871190507382923755323389306343450526671209622475158513350483401901271837885652738312533054799519362424655774449626197542247755901737189990433149000194654904142153290386874363722643098235278988329606476113117495637716227056482071536246936101487095478061806370761934515777482582919543495207735085257221530532874316471515688343267261203230389079068351350007578346112175083011038931426745093467068892804358418272476055861387490978486190678091943214145340968082798815711998492417615363435115110126203436472181827714842614410781610756757038574936045064679189537570078068304875429293446772583639102008756682734418653794889546055703729890722252093649852132793383690311279873826087382843058497120164116824984880467517138199423897099204486431539185816335497464910053359889495953062199166810179589258134464356060568131639078988250934307620569191960949543771440001528020881484438394154948745433048267856117500225699127087956297240792478770437412761784385048036427291309048971050395434434914590648878477269093511767784154004911475588439321606902213832567862449800252558904734705863215364096694415123265884674851004638516566347951940596029019908747151450769605167395046809172793160820313280093689634830217646317627942290303231396112068418141293927850280346243348583574041711796894450032510552734140989029893125856927641749577960590679142955389690882401495322742676338045669344541915079065147808198494729975635302806161664347265437202671868890290727035878756733623372472606936570109241127127323594565042882445526190324729371877851317062758835665170398859247743216617453772926117353235931524491377961998622068881668236404174651916590203332070060559084677331488565732095211323041224862607726645496047318398963076054010949762344168405153750563551108711418644025661706256514794822361554552772025459026145347943078205288766455864078915876364367866783607676695179893512842771224824186542736565345052493973007688449109993264737714732832599050472567388005012727051931824522277073371995233488208610605854267264569346336176672496759078196602498426578065467266025362772535476743728904497621570185891281752563765480820290214492836816950288545128930240852915189992233139408359469110520866119214404246536779415171288392203805698921796868094731005733287010003197223957316636900517914268651035708338576646563145566580865265185041678605949812092669915655228189484878177473601754292556235307398643768078243991606096503991742516414999569926932500509771685986654283648079106468631405273771425416184323344967920258152507039338837527153885277174613442298204567019902536388930593097717748799450980111839505573592259903972814215439709779765942135499806627792335982707788683059709204002312669126371026863569993628125848292752805577010083824059267392763690195016400506050372997706379129555359250958563296708623692992610015430023078973528393969873204218357163759792469043925876541803804988136377123955577820049916779767320865322760284757073485369414895119213871241365062750308222022486304290872646691689304120941347059806915524392777002169384929162602510448520039210475131948417714222497978029339473769472493109720213659530434073143948345006516956683837078373895396736123501759281760334896096395735102097536337888268064830126231265814479563540710687358800499119986866906230390578126060690739967847235423131592693663135225860043387434793192200713651637594219468227735366164539422690084949628668061772826092408109614886609705692801010429759423733762787681805242602739740632865769846553139503468881282249033009578367687292139155310545046409888013597335719778906003330912676932150190722886886665406741202227505742991343057031765479023923501715761963400893841728940638168590775400756760642081917451641661261885228957460562168577671072066591539562153688767321237829694262888739351953085611764072999585501662927131552889952485892510965359706936665799056373168099648690693844127995248400239333810201710404344926276023351847863824375692728935094563903482886353136411240619243597496515874377902177644923628325121811694330729920503548385302110013289206792908303571734452421243553511934050712099947945064698218851008098240371922526708990045370143947484705530323598698197857783340240136609099506574930317239107303056359173569837919540901091942211116588919823880365697636639842681944873724430741555769021270408546644690876180635435605672679367523176775758351483115423912089509149654507699643566600958898613560214625449259220342579636835453768514318831222994015384446734094543777884836497690562957323049450043265809324415513555634241907936169637644406445605338199707355130204711535230023150764171719086496847508397621390093692591165124939089051387777229567095127037245869364239169038109513616023871355740370902881246498053230012242267191422939220914410650336296529179007169164721589452785696132268789745562133268490522994896184788299675050778409493534845720189462194099550406028289113417106209282089484181752394802281844987883716657022460626784540549093341725857610837219267206808884123399531594531858221884361396501215018773529436682512386598156321706006753621344472787897642968133566050795523009873888869029004516083337342818790849050518527723730543392774616914261383151242546575431663326409453385157064606645411920266446688070612030991192369873764381097920681457822720783393071636566178485004414673294596067533102875845730621527304225032940079911896705801359287482185427379178628508875896797681296390111171131076872460493454816600713891627756711497720020912040394025487217988525637300150517758342254720028281287803722374759674154784986416971183964200479056131473476575794427859657746882300395681245850262440708340877515446536820261307263799277691175989779776224722097399498397339529716373807648181198282012077704087239386687734362460080880455701008185241437332466550586355634297850958942337932220732855504173809586449642760140493855821396995441852153946536537302208121506551484054794397062802262632698053054470993214233095682839369520224730368180024574999957313489684313397940775315534928804723149637407057349743091291376106046786470115801388840432067191555264570453712398442545238292860678922209324496378469569019427673906821683329739316775215832054080103923156462583366130634704519192204624067607819004238741208231298058250290055467278228728675125260860648527219725164839652274390104981440190218633317479917281859399751095048020026126184677142091089075863302318464577735963444306904395027608187634691989539085085709513556319563101899817749044813711439310862922530854003149083370448082632078807585499242315351477938889745239827127179810566658014624298072305596913304562349652722465915529522811139719107953897424727792369282952454598413772318508897037288326873546017374268974581832968372903449989106784854465838381669521646432325260419947921784746013854970330863345926400823765611483138228404222772716802311484089760976913159107697692694123573300449064746116403372602620376936673602469670828195940986121438571608554002928126642324244262050995921707877199623321202453618489740476857090690370245717378168390964723352889196317363999377636882154926954358325460120578375502847989445330056332612516653961443162674347464821790650645734799761977601556940271194823643770499206339370719909766115673375755604343237708580427273376541914949642235380635300704210064299273667220399589899259133096659668168991490840474988096656062371982226202600357130714506183116160826259828761953091801589095579378220415169047145685022761630051653511776616092683635433665123825678917806630933977439250505738118605720409813195567742207284812622093309814165103743205193440991233073347737937687986066010147726725695533491901260056152379688920534348935081506410290280607003531128070190412489206829641297250765005662617824200941401836565815294690819620425784309085106688920988996481349694850327427165104953396062058485432859524285764900321835062127048055760308549135355215513260888858689990946600341460078296056159446098272327585644313574548304243285582492196576446567251033375864580121939290412913027019616409465661935713444187554653811436082831720496948660498534134227020572433119534380140334608274347984489346278157529383605449067806758108440064185284885641235127967815968799677275461749072021035463846057916941994307571225243175741068740241953945473785101084790027002845296609466280272256545670376233539535005510865605278819106470811484975548753817606338058888532561968585850400964399252245509443518732046716538872297563766680801931509971766354704776754302737418969348627930999442333642474935301046188094418597322046796196223481339542652147282203563883279002489274997314940913680994591305514884361549388100776577531923858859761576170117748503247385323335346409139956567265306422334771513366929485574594083371043151813763244994301445258574897662325242193850375438200456205649025345541426319340042095725582723067469564723769533405004552091085283106536851382713048828127265155339822597412521843093017416226159658858166824971444312492276488278040665016395639488789417155025005862960950351540032944424128895863796700020834823902558174194593222825173405779460156399414255871655484792774273323603303874301664430826900269547445064881001414876715218819590135799087353338625895887690787891919157618281164979985493242962904363108654881636693218896677120763470319751777292869033236661005489381817082836584841468948222060050181269632102953667308285367641753187384149682675632108315858698857870890331899876127479552692969861158185872351055095007399324334239731375173803390804833520310003971755234406282301197840699129129000648656657734979587425873937212989202233629878386320036504111741818774473733759155582664664455748744858268776567613617844978212059995625629208958878657388376112193900200444709021398953731837863751988373630937781670957842105896234908415971938214451784551112313202226601088513471990498087612684497574743646292722696476775434443822586739052622321688876606238334757215234293886890935378945617826295869032015718133964885712587664582289636689727756312132323100975309534692025041556424872143453291595295817543365127485318204138940172587080289601901451857609474986842352307033352958228787104335483110991187881684241375903945663058312215528362725152996266879216997065275223337723319024554146410618058784221285857649768654532136306916056595374782118265648549239021145243131482220964047768749597041921629558227459613517431498192356450131256700712376705370719766358336691565744271470191024806698803312921888296984029624374701351405903879015052124516277600032003977823494063816719674813786893606915314512432087571940837301250526472311831337679422235748647345533392429913074211177076334862879816580382293114281971438687030317990617501294963184294472305617582060392176337680960592740912117011221173890098735247313107211939139049602341866936446897239950129677819678173173360179912362808152896425842819182250070019271360205472789164676458508878409737283587629175169203820386005045337135374092423754235676883210390965167417657296805291509250724641794804812894932960965146313360168856469663118202798356834914511885677410090783914479818954486289029368514032450422749437435384580605102722094892460693270103923889610752408625129976917203388229988322878001459288039617404867381823345775685955727725172353548058938866725820495258951783635264890751876450344807838293651128385388904702493160716908816328995689814302968173810481167934959607713436645611601750569151693156621249634806439031445212177198025576616837027686455466825316602493005156698394454287434178157041253052845257810463215726054422390308185917329471297083364328874706221833248474437389283211452243819989872199530297189173567575809622088066792284469020887312858072837780679079685629535424679589690474885389453870333171282161640347619223980429772659004038808411288509907655017808519109518156307212596821771308479322503467102201195383110199487233792944931913179893460921594147198826505687335532877658341373704560998706868169923170627791949285333061489848240926594727075924737425445646456896586321207838037977668184842695817729545602797598701108983280200122613197338107809355993971921358118204862617757191351804019970948546286762631319697350077339392946980000420556578607581559921770131195490326162474483887542230793866722492365886872263028091859733371001669520330672505933228389056143866496709925432691205237676315134080284205294076347574007562034474917681466467833898628974124785400587276002879015191508383332779846503673092352061895430102663240205180938994560762417997257021603568030564400024266486489014013835347849092042136942191614393213159394369203115072582615550551442684328451365402011139186222363911005887530066857681806798510330118361679018605181357003964499189546310782014952339628680370287977804298358360819542617621869584163881500462877033335010848457016134559730210352714039883567766475670042805499551033351331258140436214616552687283834786343312654196839240615788338213552039541441810213021845507635821616553667392125642385714229322855864697923583985824066512992960302164087858252981550371741003262836838596764051814948958612566271288365489653707249105281224185518028544063215924234738879044357036819697850316969717233891841575221658951581379787464190514057333935297409303544322042860330376576474958624777473555961229966225349811306435150956574254301487162021161872575941450444206580085068829351655113804838954376459714751018711273392271732002031581755175811225240676841596987901865012072555225160222894421093218757003895700650321250324315037978906123144653531901495182383945607848370639048528874564437548614730842827645038298364816687266417873394899535311486241290116559167592650763130237135844273050415269089096335109481667614481618362106644185463380967238675127080592999455457132710724979294194513464533312804447171257521418254441794360181325100509079644513687406462894416845503343562038414505113106388321754083934489322160225366586771288609795939679758951232273088922276741068189716151442796442071756563203105217295179054899498677754518615579357983347674870670474881287103784853528858792092133340916145864349706682046900562954465718474492102716418086157117292985119489311858747596267409659439771131559236341762493901599351530446326078897422361628940477492780810589790128639223236824597623247550995652364915024894445239144508032201696584329680325109200500937598468714198644439982966440309733515508407403437906019455177537593081166358159188990774945995365511538056143859624169975644920233456159604633235051398583078112570756821528900709456307306500963403508539176200347578343911076895619164307125189704036178285469823506341912168148203934035504972924036439057202048705498343653812288445972449894188509382076661839162908389304962484760908811061272586518184833337897764321385792764116920595882865202558920723822168412646051823036480846058823956522792184573764642686397939600214103661169155463919839756752240952355595500545942033576623199746008647619232669948791235980509327018275088106166002659601054185135896258769988760379921386842862701958906025517473697141758909848967926406482726072725120080213003372969498532945231073984908409357254088628489607624024944325653876592438762738071871802312271842972520878582796977770082815384209103995688739467671979872199805371765158027652971814151622441452899454593747348015143816762629135274328987430419265029515130009584234895851121217609479854986776741352090765235163549605040458352851527379813904228079292090521410620818126517298215181931961181954683169368904373869542454043891296496365190241560820902551904272071317080706303996921483153150037563176571003996743567653415870707882657092543594833851579581541339694639762611843297387699807249051921451502774787083284201906559503793327038977868869689116992039412112394837594192897420423902064023973600250477520337318514786966631555075795962406319593835995610318538827026309884621795137066599564039579717857844064692209832820660129264549079165034410482221064720125354733769099813657270091831774201983223558458800772842170026785485366850490495442817577942625136632072946156355210172105398540816193200386767302147078135508752913595142650265766263372059604260685056809561488736573104675859682301743732957916453656477131068239103597453412039797799457861141489484345236493495321781793250787910574143070342079032284838954043355234027738978413441772795811847673479828927094333471908300272263759134641014426318541851455953486596051515532340080284003980104005963604986773271604075151055731858478986729697814922630350071013267961453142526553337369866650068490151701741738299646021644627602620581417536490631439830171457067164220992797718674376060453506143883903964478029111615178297779061923082214154966846573488526364402146023637045745499958031286984521271481917416586354043823434837928195186230010809061655255540951893863145753397564663978396424640662806283322774028986271557397278918985174121665133753229958500770421853962298488306763632464652298954142194323802073604131806779742094079820228341085718351017999455492034805746192995073726668746387675158801502164239914210230188592334992042068754343710691657630739350754171406940239134049377115289583798567212152421507787062247744649658862694702042512150854796168758106503823412972990651852181932240763770017851647175970820983938349179899531064992628026975876288137597568517326010789873670624043234084189802814817388135853321401744184790173506316125355601086863571851604476842159895902135483095037985940053665745028760323672672448346166843434295237161770200860320621575549974191980345708642301223025096710950645170186245642383957057160067272778852018944055451315525145642985555439083981317332026165071162269288853961996930901310857118795475739865605645367749319457228449663691140288228369372723544705728532864485876326721708113913180274787706068465411593044061278609105504319891355329395694130859636180610720291251814218597985777657478181392396217208166905324295544518040384871351961330633872077377900592663174519903795660429183182216904812231189104258042396601566503640474587030093835579963912092984870248994153143423135686776043328723009942036474953480829584701354825661603515226710293855315681455739904784950153591392562834259601059723069260860723263042360989168641230340788789155933351168781742842083342480423919347584920703905719526269296574462284149741757396573000575356897511863922002692525115666798836766215214820517048560065802825794712009088946299140739171245605565909164442080612665816689358627146026611287596473479726968112932267344753925212947588912472897157605423629948903635813808567454046434686965935455020362598793698759608842931184854338722792696770582849187817494654227099707604297772345027229665569736166344104818858700247548438639945946907676292207339078615327365735566959117609787958220894233008622274620612461176963309791958697757791782767961132831965939648000595978657379061664833481552738961450972484088775600693352459487411229621343260332808348567491934362388514461267358407934978476420027648540207223123913562236675663235447289884040094120999528788993643504589784258910037691744470393364096964695660129616170873911983822154653137854704053899703980533913190600234101299312560465164939071407146706841484619265958738832623113976297515791781539172073960095986361891047037408815774286523055397015820253368002492445907815491399226273938688811508551254887566965998885349948384606788248697565272755764374098858891170481744331073930914606727096625441677579653830483511975575060629410600713334785567561545593789469801631958978724627146426291349418580239036332906021357707978843139496327190769477137870632039649432221825825188344534023377016051671966663742686861274254174853399815473011645937705066958678547197322734916910671068476333033272328261121407021388500835373661692121580579776532905468075027368197253091113077662739749673829903777958563642946879336389410361769471555369277867584067988062747941124944719550088448201622472878085070366929406402018338456933872093028353217323995710322702787465083678797370796083565778881428716576461523034338741262076620900337426500903510365411172216366949051788320879471819962127894303152412116068125025710043126293189743834321687804307195358230751734608582839310522004241934238783698781569661741508419452986107990618523693546250288836821421642462483344514949623981267403298811186043946449575015833113504715536996629052384580661222215078620899154828197885154586485838293808298602351177151610704563179946449140628739981788664398244282136549394743713840776449615102763204346936216526718844867391955378416836760695831693403955098815309429884703528763398368996768611229363960790589125371124697693557865435620939865261165552872416998443268304501817976993739652845451984985191118824163287168667640050915532346422371625889505163500494085865264012876674702251782901889949852130962131135639063312934037649167081938031789652891300063249526077606375321037164618726402746313822543305130899848269863223298298320776165717277803401690599373164741297575573414663892291407285596831444344119038929000128240878900224873704329649440296948828900752972719242323091873350653278362040288049980161603364876337166496853947706222528842144595703899541549564192871463355788422165961852504762994898081035138806834626096047713680388802624821576615655032513905011915346834335484203309136596175873391161771488904832886536093439377930405316972842292274310151253038084345687244948072986278237182042208792114351607216771267013265696016145630797201405374450894816008896397897838869677765696637715236629011471754153297444469998638946571229182864497728247268890339166704875253760961437604034489655863031103050844776840565302063044329222444887302205559263739214011935664993575222699463578292069416914512627089478919021862326603967061142431443604488092689178056714180971320371237036049435320973018685517855644960119082696722836661829976020035113281124984471908043144530082786934589040749746038447504771576452349246913161386500264567816499058595743914718996555904917209780773433402469645426386158658207531776001449937480791298361913027534699825896923917587878595951638254737083738041487189012255245359212045072490687069835943932926696011642815832107975508372339551565712335019902383374037607661079986827531782012037729905854763953896857931227662896490883364475986238505039188540060892576071242694714954753309148998508959406587258149187813587176416449353635415661850136845997027057130077507499659609093623151153558252425627650304611558496704812319831015983069579079694409868132059566222091595609782588040992247606147273812691509049308763773592878148254473732682586407058988817402365457926892457791816056205574620601514490125633307642200361798716446880074081124762000745136666615739838291244585878092100815875314483670062450112878130839683283542059745926157370750878605395095651471410555399493056823086019080358970960061992469591320744815672897568621984797033444584245882796029832167880619029788129783898020823894493445566802500159411189849559845664725226358455154247556461216121977160663675450444530503799075398924891481428310539565113131959217213984413010482212976149372551209433418815028387369767560961091809263577209340286301468754233984210537954473568608164315564714817989523572843235698908010054437617221498512731180498391465634375160196644079030668338223880772223823992743104881656810062732031764287994929507337976220352339427327551120555025743293303755118055309332196211662303319158601654153412744431950142499996844200241427762237256125442329001067204518239617516186414584233997347389363961556195452966506431589044332483822188442847145146887127037588168166342605017363530528429851614331338207385387182834185748180529324832142892054350484961509216331024192481672835623919810065837705415582140442565191167098372897204972054980297245378318133139823094795598011044358617541649505480607358309806029254565519548462090285003757702586159067829151570284465316328902859324114302538264465554878892377143175867713134969875795299616682624436912600869282528751563962375055376376113310494713583030416456679276412114358137096307549099249495358041593555882564706687137047623483436122217217635826149401272504868028936323156601887612830616520976514643617732804575495197361733977060956414664438798990231028546112859893878970770090614630986459766067267779619695053924811062086361212168059970841940019330149392743673811647092844131079332258345622740130708764692352086369941783066792494853114986795410597818451013383657017602378125279741977278074301730478842374479117594955426499361052776973261132761829416303616477562881551911435996955973966237465013689511240447454154772257615081581991900703836124684716070819609215655225105051187527489479272571793740951761939122889285100575967837924936349883473075943663093502721863062327572787786996795219799994635051348877730415842582322312753199779813199352306273029357226197316494188162195286224310295383791405434342460756420236158321952694286754152707633932185183096820735951401358307022115781094582901859460979285367860191452970505717297008944459251224481673729997459161252672554557862065243516318842370266292242105569020859058744269289439939037115894599946617812849795397979923509011640825646210151065271805840608551715112190310946435942038360455009023444033918728058847398909181395331235160714192439236453693147591057800516644202454568309838425110097603970519445188977946012513525914779721174423372748268661283180664957722908019576190650662988062804571239738895845315006352891485719541474990209401996406574626408274101757545381170461722769892458283431204220268019226710789538127696275273993460847623032087455503172913910400442274730693462735668892573108490539236340187449768554304840805527955342038444531138906459672775638544242292225844472734328382248104623600039136832255151939451878805503191661980590550152948511579998085468138579877184820271196962666685323857743755764397423837705007262479596571937455462799950168327400543681661382811718863871102603640727099436066321155800477904048603840282839668170311712612392194397737994840805964287798999937806260682176998759754057029967928481109628179518983505531936101903923023183104234191888044872960412402071822736806371271313415235769632593807846386931851625434539284767081914219312107722029822967143033528959172125784272903138949721116290672607204639260942904148946055945002842486551053797471950305804028815473858731034340882239853390599728740378406906354635267464389379158148768228199584231001640095544032430223367389647644238964737277838816126034761007984972450040920336353137961568884032358365180608036455514863526533881760392405009771596292763380701103605208374277191910601728716709148524317031705348578346346120267284266258880407134866406918721104067620158026178186909511458145239978921478528310617211477023136753422484144034408996240637062073408049864604483886084204441137967440898729728083148674189830211700254796788567837518318541662404467654640045794245191807971002830224250097361101743895312367510450083741657059640993542560593081473575813219925302415319552951572796951877661144655277987879334028878234201660533549882533534132379296064180780364664841212246385621776604654979898927035774524518189997634564038931665484942051500331573040756946977144596478909894892520245432437833418336183357265801006170227593119637683599180571725518886523788165365928163652063290065281799112274940666957131746523393929312774511597250760489571641182427135624838882842949196270398682055185633187168165632841604844208223637580617365275210408170171466628366565540802991437444086722066411138283590582370117403223158545491078106419365547192946913470455810017828639246092745451999367427173350538683999266656290166043459276332577882623522466552903402741679897998874751080994705224996644325861638030583570629404858101485836873280360358020997606443442174582364328251023009670945082724414440814461362495244671802686239534413715178073374944481201523077407709583489027286372701488983202643184938490318505590324725466695875931648985015562252397651435629473879114906570656796019800036707113524071030883789766871181822557269529739723823785324420281955825461755621704151842623276329147947555189707296099279003939632107677411288615022603605760970773483146227669207824113113912652884236478038193404368586974429022827665406684430047842425457245927812785578969328905172589621290487440142288917839820216280651159197582899529487438837204593012558062909816166828652357669703280994262172183044278391710366892696748491293514635449892336149685604024121304366117430328340261380190107904613407607236989164583285925282205533236538820695355290387288461618490265164232428699722570467428877910099888018869559384964831371929149613172996134644671298329520024999743315714749204890606587622997969426760622233198637045688356454363215333632208741227633872404070386601786440124846763314412653138665286853560359763247909244642407944710224609714332559267158714876710423215603864089932200366034087962458273205325005606102096874212059009643772215634370711076183821599300579368902788751544149681806964148091028683784537657263950236470441070382879076208964965007615256639674564797468369635937112993848521511870715776485321406044882086676102047277815297530487885142822907490951503280625467132627906246376669797311647061695751981112368494288943961058782785088833559845798809332191402494083033284401580792092710009614558541567735113674984224809253551507977382809097265228194413288862682371915671129867517406352350339781238614100412028676047128189298587628195726506047183139621051280891431400257560277693456657223359490520438698330352684945564621093486677645227218252403204965589648313486918195901627536264858301815126143056460116289550459191143958515023298926867093287339782150729320481609288812465365496318177577189239922172136970735298419534711208017570421153478069365196121496604815919641577556744628284784618098363146847400517799586314442515671928117477388852703921655524049171021661851129246104934033944638416407555750364054022651183576397707725018337968112319765145420312830971292338243783971476999645249670656827189719460522845503165083984558916609650376783871837179778888976058610816553406915477038802984985017660385755437030955267564505345969913147558336948766141415926523555068251839479862506271939114760101859585559159631298696334166114042863693405180917517377867256605242228658911047907628323075995623902396150052394352437821557822822695064052227467109193881050051241627756008770141363603852037424436746236495624231134874822605412540687554529266389585753099867704024833831084738947672866564929525059633415569445980908999785532837024884787348648954863184547109980122873738463619062135741113478550272738487853296657121001989014493355967712319928897148609120999223157188594633417408216078808398420510460456736529230840139558342475258055619796022891084775662865874647653249206392502986716552266536721413016838110917428161379195189824981760656854696417337762066890075895476994081870681775027022649687507125387887225512786758255143064663832930123605658067632714551145196451770093595284236356023523715081093382103118918835362686849547343720836944550478907601425872859971391597044770954727404460167383632146059732892580078322432189123467158622710811910629671674250358945703388239782110437306139409515626019194138925969306758215686912914973384658538340746874216520427480241487725527891687972332544730957810362449205543100739378869544315234700169438780335236857974596130764762440822588872957710040290598806471312496595315377749817053663708788057372435164788000517248694578952249466308780962832624281686049454520518091865028433234349591207666501965453859664245826200724026196558044334252862792829890922396889282608340750610349765777187907394835482373145383587033352044388676151746341838982440010186240007747792424783082945235668905447603761631561557970188336973113139534745168559378682237845949013047293423905590195207071304133450685081901381476530092743372000342698052767697670664766016780947068382879442915596660498181886523840235464414693067452599092362285792130792367973513434075047564603609169172423446504528468117729507683876747352953411945967296407900427235135012750797904799830260676747808815380287208465639968903870056531891116163579184412970166468160633963225074909349970840678155416333691188783754597937558064316235351680128395113196636821860311938497276205758173046173088449462430887039413456447655847293109358722054575530515279461214517862597661224158125918213250704222789539409758370548533227732949801517362744888130310023754954410705395316107201984314026133978543855834438129487775989556266807523836063204605205226110453543242249255875526802118886576891335868301368244085566353665171976939441870380574912782116314688375440150761906415787768464618683110414072739204791466874717025007834118156918329122868671272834529195503347519914864514386472941739293187963669561002840091567442752729301180832673096201546160487115160130144858204108184922300250964988495392784725950207725681869464164901335417037636717746176171092410220660248640914613519923951021488083909008974018777523923787785390757243278132096742468149205633682640589097547794164149165883846130638287653767983022188637328454649506671032092605713411237285659009789375679462130175218440896705698024694381349905357062457474062969822381397522874297127715767103678183551990207872245082932589419942174994575153465410376340190492602390787009533741313740581793752049938879624465012279784711934129672360139422464904005473075101842585976650228590901416945612391857601616034877450957741085809433061841636666176038450759592451825314012508853397252373790325885096668132032130308631304852819055453950382756549297788767897472180554842954293124714332491457732107649301077137224821402883522749509998221759509728654531451190817429210478590598389001683666496025056741296886261360743446292398169199366967736942327676535770099349745639728936758578639053495994524377900517682741434270925338178136573586929481403251151897327196759182131868974062949826062212550021309886698777951334934079162131285852390555506111437608381508682561113217832621418997368588606565370529342469779349761153824815952061847746259424248161301009149571316039317294364521851519917472985647659273565598010164069608070737479823536597267705845813954403246554180968551945404710127501522735376257781315744454809155586946722705742170095052799107331645874996804893395078841568739759240236442251258179402408779997218004391146065207417442008265964384590006747694646194937365083869311604936163183087327494566496952813603232894488606127824582504150184654196482455148431251066083720927823676052811160972949372854727246073307957712242502927504665645435970801831712905194157499304594768589469925594739403786429749441817781252866741420278077912318033311142591276885659141513666430205463722263317628998647496917019028774517297543976042954686475272403163872463000593011485870416664203118355454466259302644098745828348899140996138233944224582273762708094656762795362688743320118003119177282856381656164345740539530736578532691349798398778878861739076101733614713961305000096382486902856861026647653916126241224050842710159865066288674104105853342110430084480612106305983791151990979548133242342121715803399445455302719082262502380836230692984202422605219004011542276267560970944619789052571492849794750445808062966359512477435288169988379068889113272725479776881169862426289688329005414279314498386218875969854811424318103535171912020354198045488186322619470844553413798395726472278627666998079155230975156171407223462033490366772554923292474931670121713352499339195070345072546669181134796063265368365218290730072356570436532004947583062402845927435508759755689797892309819846479112364399523883755423642020673258621010401047398114607447896717471594999460378096979976644632272999025004842409227587728689441384904422397766376418604435196621541282325728643197951316491592135672412348094349446833051146264167441120606710589343555272656371070888738209279758455141895130776572859457165458170201240289978081428926273400677450740652589271621016415675003050590796886758394266309898287312235980528380471346762077324503731933819625821670787647871132663487690040994751735306757550205035904735207126386303323069131705791533653628061944767662523708841278964843159120027896513031544404465737016670792968671208119409627963688359823811060515138741872720343655464053484725813645840448096209763658730581714458455553597168839472758371886853557512996149583727069187873649025387491938834389945000101255144521200155633662959269202746739068385066012652009818856382242845181163301662492392541492479041054331574478928331519424213929377083600474211695095895240144068407387179756196856013965994825162423486327323506153212022068644625421758334034324039801689565131877426638711033328369949160356673345611503984076277937851569399867767345288888111962559352134718669966248935101619308012365108586972773877150645997747435186317644980836172410987139192663104036675566052360801441135370022746019997526809358180527527952232591268655194439620906844671533949758994540243157272010571282847738916806578260632745528066650691573703679201956753832120320049633652802248906287177886697122216526444088563286577103702559360416483999252864616377007464544368602242424788768281625116928401126416285137144480168568031820852729696039360951084237659983228827160318120024472881477399348654119648837916822471365602221213514415888536531477460826975774263979445427344400055548301847678002240672080340874651344082586982217085149431805083190174252060924479704363614150676931828070548261645301584923022154420837008034521431226278810314698084365326867171499060736301727752252310983364331097982687202405486489765906783435375741246531728792146650289162914575078679798206303689618276006249821441664680070789295434674987619897910708747781390800991440284954862511048580116863812623374922258409541860496549633779623554857176052650479555661416061137691906010399945453079648198958827627573321325748610205852275100457986871100593983109479005068866019754394446543848684517244585955821026130788663385415089891006678787772861121504996171283778565199695435118831229942149281626499857671692298969225453706598605564177080682301513518996768419424519442421412552722925102072773896502100001078725444887556221735627689231455059354201917688487813070289965016420256318466796344904424577435298399061577713968104010842007558257547163830306202115284925737413190382235186970545904533608956467477752311201421484490035832396002614405656156371368530726898238478371768761379960707391901141970062505831006967446504981210444060617457566245618579532568917740160737385614208396758615769857446968084246579330344862743948332377892768858915189866037891451110352770830118350517359854405336595517051135453866610569363181470247588041581946167316399591137238005484248226939070920956458364414517216165008383167581543212662292830109669713221446310297860144053975677111311040925605883481368302416852745361453787084447504829725459101410487791936937915292816442913579934425184984597630105775565343282497696902847646157569404746021352614365341810805951633522245083156563812089092123840402073397933794846069429147585636771962690108079202284017639091984562630426777590979900140472272063116731857022572634457584465327531412644810157441551560170864679414890723544274899566291204142251828734321252722393866999334899884407089661925597386713263088045693213237140709083212292633114816513410409243405491611114857439940367309699905015455040305958155091397274415250823309710752668333496082006003406799885519938291905019659209461166928091603424172557595536441924998959888427426646177427984916316032205664504629029905583733774466837344762774680114625705258280236287244569058402917357217143826764240162442002170262098593176106409295083510309480581303322748306518470587601291383504704852325535855725575026509604173333768480084920626894049951904673605853621914015851376592055920816144209911549790160113475678339415287575546132233406448622295210637916853040107132849177919870920501785451004060896166014386094196584096794012588625323755039388964752553591939116451982301849073414602231343052099519820663944502571711241332687778650030583449129286284266785150022727829153491802795165478384753419807518216192333577253324517729786752328640349929467391932261738594090760544193149869794930102051979156280933608736954988833122260762409975736789041548570746024722068784123522618824352699921013188380561416832365927558678914064002315862384530956462561883673118549199689754213326997429850670436888400629877516193758951861230635015664405914978702132881226398003240674997281658352099675574318260201676143659387992979095765416514553219493316382618775315752613189483704498754234512498325620166738755009637879805764419337898160925948320082785044339722085575154600828193630053347293234140036903159782618883521526406772898418410878625346223851999480481163467205651072096966607819466817552979044143902379868022499189273404130267073730720715870602128285804059385330853622060106435802451318567899124176218112394784590466101945762972644323449690823138826820526497874616243111863908089670562565631665435292271681141327877183046753520494232603196401596787443654320089636757173419277133544819600718008219712231857705312009939912698190130818437196891680297489057551140545708200288156453980820331886386211737917976024649515292802445483241714711946543172471843128059243318465937713884930720545146029478091967163314818480063100773316949277258673042214987018869603718698203613843901896073828262237902043018537262035796348698205632337916277883891518822592508663788497244872384011131819538251883827662785640335852407097101339785663998489902476274443604552288866131455506933198625538974381625769680400890084435030220871180583114531709186621597535493888797405738419218703504278410917410340574564562274315130193735048883112412485049738796276103971223387955795931012193635386523252646349871471973991950384337693221359443423402890325385820941387693088188359163458687399150184965283737904943290119991561065937894684947724850168387111247149196555069031097580925953614526436563268653401302796821818244027046397266715523542928773354329440181971743891592116272970673120015040474149807947620037887833710772459747890975998027436623227409075827401473059276296849564151645222302594405922173111810375826238441634545857431810733903428205151140526377159395130203506897791951298152538182079830520536476691691213681291279573300302273809294738333934924020724282195115494461119661719916955407262486525345354135849868438726776887565764400584751945105509262031146322205663370560171535686149252246806179385555280739116674048128254815024483821588453662551554308115257129130847757656816827623220942457195039316476196306619357177277909075537555643411333472871705874518241110661245565843912623141517658251305077064671624539256357567772874432497014194328041219397607951585876263472491656301131197598345963091546195291568732451595054299443787715855013266013408757867194116369548315517813448372927388720622929542237667710083276049342161939180906670243239844367477107829236693794193496136894531812791043668289825460891655523759635058667895729553288266449083367865131999063631428601853612444285809704825473112666009733322460396467940558366928454333518087804088511960525838877687738642804839373167956565891256604520608729506137077491589403720947652493631745211332786268892798517071197090564598669663355465033595500002393594456503998635330088990538110075417364480297256452033889522879712266227070077467820011742601318616987039527416328134000658855795189075406084417265141290845297235351356162081686422904306856667253212171939925703487511431785460865027803719844932852662145176689092736373426358218333342306664810761090602376924690230122300840551792634763627426242247486523342896270946642286996935972185676748722781893984960089130053561214939215403283772904836011507678665961176226071341082096152951197449464024379159904267286342928498318718824187640626294746646166149613097088251415226497011105420625882188567115395187017119148414187548556786428468238311763059922179823156058907986532658307331194809892486222106357929207939313037570530167880226351580340179835589544332625139147969922283680180456404349496133059107752848213689982192436592121760529433515185733286396801413753214793267975740067478013219837338258725045389424735160774231512103686569284084121771146718194522544266397335449411288941163121488534213845713196469441924222794010198959327598695884332296574699063085663414415843297671785325511774062767793476784587093705854315721522626180883399933268296235128955124750752173914473489077147563718134206956129486314110080523230548135126966310645501795882793248898168344400165110260619511570740237609624004023512194456510918563980490822816745852692470124462250068237548251549287957338221139830423667064020191990390295681226345102880944142610534374252034001835648042149399323300988958906084433885252923049675871690697158563418184769562265009115086084293809252523065957272245560716399736283534274884119989282284393349822776201133265718005252081013511137311713988338983975640671808026983490424519689925841544247428656347242605767805672958499069846466383371847596274742569813557345558459710689716703629418688453837828706440501143160155207645071183098237680328047958819813314513870949932316069100098513786586505784312585468095494951862463058430621484315088222259805237807315990659042446232568388685839583515016135745542086752646990065232025228196118450385417615513056196458871151959923998874730005257043509668024140043566658137536086611066442055144482297619357699610943265633138819846957953990943610266673182377305732232903839648605568566998392516891936274982248624552479569817060434336314033753155543909679476903783779520928698596824786271501199578548322230290357909264967761421349490927976205389604972525576657273731731087396035828253465973057032774742229419681434134038626109826853772469936332105927901150954806999666500024826147408838988664505288345878209078170752425126559803729448334629056273350201696003869034177511401019491160584085111550269454572803700180256645711006035810667352255189973277187765497432674470311496425444068167369976747949497473617952218627572601872086675706881703652400335424235674378416715413816837538930301836682912486322965526814749464593219163909851144441444414373946417799298695715890038829418605216673465285175393929491610403942782542636693976823665597401299775781036452376198296805376129760614113117452472963698740323246721511725419931148619880625269710334201133867505422197939824058892527644262630897498223108248698467660301694857613721382635995252627769722060715159682879021738919629990347258289584677594789575364804471640213304539498367648652754135393109351864817716006444048700099678066830282863536760180754545118135898572457421437460438627917450966491122480594307659144859479378345172646250566662281030065442211565501906316870064425438720854095891512612485434335220799743561624027550980752987857951597330247723368680952214491286812399391811337057400013335863127994969829735763979754472882948753799458983118884313960881241157337336552756530935789765419604050127834147185336506991649076766193860109649439813828558595509784406105014457878173094268777919896699163834642160145106429011370664627424845883854175465290480327743574223009248796190855508044589223314411196833398704141944878515861084130136240835705002292938280020401179530293357286360644207251569391904714952850701177300708813908015459124245929726626050318254075324939161495812730663536318675203360226662575431292262897887011142829362736811136878174254717460008439627861000531470000177393906751306860489873430960920479137385610856923389168310721758319391682912573359698462439029714576699918647241839583277528073141142433053594528686253422991792906627777232513556969033515948179042863391498940495409307703120394813830126886138095486952204817929383242007053343615442613452284798435891500002440807435239058132451283478042726661222576084145170236225459721908073621674101613679203280365786660372976870893756709150355625077625290751807894651851090356362655110806653932610326447533311796303971450607222816698652069957307698117677873350155655526564308638589126254203948598922494196212496342452675916460836362786522889119943731681911666109197433795507555487398300330864113422273320360028540015581742638715069623614137408811841190375329294714503162713633173749059327981015661960362285113450513641152440217814434991099056453687909751595748005809495977935377501910990876977083231941650491044759224919142343080595983638667014949083387337817238102448587883859218104231427299237678821283414825497248193671302288926142722261573461560153113541458813119577547077776453941182188367113437372676817558608851208523199281952720355724336379555415713893271899038095183981059906207918078605678503862044674355060237426474097692210341281784992989443322071422443294478936602621292763956083227140685486767243152303354454269175229812561158637784324556886279237516775931248153653446283027886980371600007034876437546208131497952677590381761860202771252592936075073552195925727029642616435138120877512097908851020024208565186289434525467688027292126441060118259184728871939313374784089261772626710167622907683257007733735869607776146769136246905786717129762394295749522108498435883418785284223523587959538529153503005775751570725170388970254817368427815660566592361357646708778873063930508611209822216425712234518602050794336474018467837496566237807706294634048308790620159928491529594549831294435285533960165434546909220828780984113731938631621100826993452651841822512190669535222606103561038722799914647475829784615817656587125561177672269514099570132564403678510845489892365265327341436781553485687217402032691455296776681270597595378355567465425121922526197916051625166208397433619164291580863103184186980855674798134437383104329531195743396197396135282246514630697758482075021512254058573588982532071854116446206119638920937023575637761050522613654672137178227769611663596628898788038687132413966126166154785548357170466896442831304978958544981041860563712398451324443155054108739469066226599836402953078177603764149222857575051020433173040949616774970284936657304421207166622537406010595420021170720734596567324754478796468345584600132388962195474614031441402264736144677289257861651319898274563815449613012135267747007597205763528288376156654786231738447148720530498122196183422546322589541514218897699054248575767381606660236042970000541492458982940982793603264568713965622711110544577558217440468259835578639927171759940606471525981562685710264193676076341602868140935191987394951794431053207883210852071379839135207826023941052812355738944398526574605163290408091649245872156742419730935284303503339154143875117993295284116342303808578148014766011594212459841097678952986042081440910645551834427651398607407136180376976148324280829248112160888778950431358283022569984676306286681567591002695056782929691931109528996874334095067345549946610880282717996568279923075230615073067227899158473789136684838755033969092411056077289164777451580856380528675574861256306788036655751048002642355754037811596201153008706969656203688828016223725169747554690481817251565002951173517605720196586750271582925053932779997275558181261923381346954339483190577169029846228153120758946263705540964125712378930606320224621870914085209820784259590362786792064266916329679102121443943589653842147229934718669551968219132393809574519557430003896071177952223880470184551371395887403496881348285670512124143937005388428339076069623858290437925207127819587532696202989272204493820144175940965829636368630641390884330826727529119987094194276734889967182521298582062304807024987226237063010983112101353801836125480409857020831738841212862268401983967907349016810215020550228445044987621131686627408880650344679312394779532164084701373546081126992795945729424069161124689566096717853219059110104872310212285050693108580457041024445493076209513620513436802330892807936957717086159981616572839678814520082938326135459242486196159248432311867693731186233139049865677822868863502196675796397706485645884681930899797246772668865099160031269387778608212642473535847053503903907403548452047008084916999013248225739715760866442681557781257262074732579045135083852812683874001570261441265959766536654869033700403843932491742146336143896968320716425070855702424944531566757603763402970128217480215228739621884549000916705450513474237857891560167631000974265291473909134302615480549414501027034743271948190480704110110741189313362865497978183865443652254955175342111211709046957503162744266297013576345221571087822484672966900783943975735191341223519801858966982467283390930696577297096505128188532838671930441765223295503791372804253622116472895800294177618790140346671280913186384911249733746383831382483261391851703778552234512138890408560360563807551638688272866560191184135508366953458230547899449489770600680274882596640122907656422797188117259423503478628504866099024208754007467906703388816908382090817668546110951117764282004124558070902138359806914249378889154769965070068574694813916488981975555029866708203127265260264786955485233202510410866382260026724536114659779942072407149905689057789605892600467841217189649426663146552127250714262668646428226455397110116123321937201823353070852385904929964851930532524577885990826870327687323325600147249578863097947889086180434857383200697893150103170119981107866370430247895864373053058875809947500457874584491856554090423833691366244826474430197113001744057245886367753077190117628445499145705255048539718264273025881637216673123634567401121983526007163056559103354797382868280703354324250652290802714080046855536675251789531546526657653251617736309905801599466820397823686263866579193970138143465371754159168439520259254147407331287472565845950435355457537208373105233761848223166264228100677703668661648018292198808104593544659833635189277503642784908793451491487762897753561304630070547209291943375951194437573903381977858464368898514304733273387102756646013420953185969833731701931866570092958195190816568541299815881655964707234611356096955474782633141268657153470076718236466885928551515840559780776169118758390711903129229228949580762241953904137170468341864891223569100294667716769267076725359740500489007315646432607783801707909413723759574245096169299782698603066619494308789784481658529650553453352136937995531794759541996183917494832113657383768982216402429445590382645395646363376518389824957846044185933067793496631581337253132393486455438034029610660049658618053269178409121307177789308476980385295753565782179073180714785137922349135116378116585565483931009097465408687854125644995794210028314800188587468147486289688926164740185765190823898476023765690345960579504309071473080418743982930984593712505914692867801564844350550588726724516228788972463094179768305497089214912657267158996960465203087077678028881886074524647708938486667945859603670997199136009220661464034411718248651125827661702242552724098557155379703273910187785430094536891247757826823690208112546768206316611761198198896952546370787145605972600741762657850107860674240600501386555954255331339615216489649463904325943742879576454930017515190379441215064876106645516888621492960441046005653362009753948273966549666768308007135855078126835367801885917842958005930317995258100802717443080432426493417927233131591355334133353262730229775266903728627946332252748584420917221285950528441964206504976840594472493997850166703333718445915901294295970361150827118024719812625690608411952566197671288752745564336359012989599134850231296275120693107125811158594314061453656947953339534540067953256087762745071556779770969117782708633229252463381883680891470298910353173062844224977964562804576300470627194543166564326611058084963095756796438471043605370361801321429905050630219872556743654070079557631912622186598195747613615881047798902922556281006623745472946870742285169020715438439438787504752175195498091791995207297819066326860123950992171679590543687911993223992618158329033686988539948344183370551508645144662529727473955772491180189965754429013930016782448695688467578383360769943945544293778691312113756628015873139889581986596862702767309578366219650662884508184577552059241369379207261064707006424766029822848097428080719481457974899631541525773900321183358599708411335982294003033246734521578661542874315032119320572898085304219984603535387078063519345157994467367414992946515155749262393752250556473554834988179537183443179372729950011252822311507544033460029029018594281688755979988160209213062615755881697096386014894367526160661150781645024556264233075657711483043398894729936267411051321790269214065054440830082151921892405228201126626711247822632093305011392459403422331470581208335039255156845011247329177153681164065386883192206067056824110579064398814603889263622928294280765264223755399881107736378324390356942526669866266605367630557378660630258178801164969308157936193227888185979313746868942966342668897944164341407633024311331573955509948648147582865019178868914555689732956472516086505631835242750532635434376708926659627512199637235774127750642242435772908555487765067527831183286197996774090859963897420969863952823144074770610817953097381759190384225821260207352246174488958031345102148929186680683708102040761391681339364604165971041296497373731752295140240227015167371949701949924122201611227500913928913996743443744603475723152048631738675666207177856864063043267605409714998725137577911704184774036024433347043199045359056270540005685031804413596032091812760351366443264085949761599992631560432229504305782007337487364324756873498892161305367828902501980206233227363271709256622089396570275593190107558821530164873060259059563913524021898861799605179128759712047578430801701932401467905409207667176383211686683535081569554622609205125636273904245765729118290526736169274759558289212434701846075086849124500981412685075942379288476095814563580270166538768894534863771352956838427076378193108695430637717385053049483630601692727410793629985837205807889091570299177995087741080630890001201838673328963805172887280760038774925973392351350250511464415465338175537640133897629881889791344335326593769388814256494414321292855517876082167179069830337878120759975312064718005737925861798685892082983470318848201410547901020094312151630931109725202717280414041677410229631193510936786451302379818519730439108970930036008207682114608616038140795270654257935273691446735902062369884303116526576916107766554065971552855609385299168689090408315282390091927007045270471171145034050099771957470692155100310944212966117670894415091042312134626936905952632366687308975373867722912074207218723332693794296759485771322917195426702780951699171854478682728448622884001084247803086392489945430492579163500905244892349229442621356513041509510415145744893247174732901023613453694483518921640473384351250396825532255640307027400706282449239087924398137965167048252953929453252877417746993721271268996232402331282730235277920655751527796063704924506227128902361724590352961379264662823389013117303374375268065772494769415065353362982659729346406475981877287857599926311865536380809707813893489551716595389209335637316492365181791605118437379008748626520702372603823070031237510238813431590865721407402375458187009438764005444467022203757160878253178079074601120387223887105402100819316323398000406110087740417613792400515212976939080915746847112897070396625276267032733622096067322649720801567722907934959611334693045364785681376575108159059592356776354426609995604195873317621432024390481316768261348311113094279993356615390677572506969697899267667961199531310844768375638413488645566827277966238796937972156743520316168523980448727925846584101139933596374144364104667481922085494146280343873819054896267102457047742559870683587154276561179911716727837876078798204190064160053189758794297195145075231580650840895934745616091936619807943699629253977000592345624118956674041794314385226635482895265934369003341122530168945323528364107612281159309822053132254116548100132118183487487966075111036554321304482601668153278793711486295156188295235446884600023107989179871221953513708499202693567502666424030406884973268055559961537747089369724136585788131205028949843063367915395057010522524402815279747325114288406980588240928532889637505192210316889458666700688278363470216753949235407376227624394065582172001037471353082912565422107571733848589772439007035773946739920901399293840059145810972333809814413822856452948715756590060240157475878405484543915825508338697000567235136242615172216523910794203089347579118320200271050650781601867449910378164515049142112359462470502132357421870974856271085088137340264461373647351062593717017742576916817328179735383020556287827039195787251481676686708435046644396063241029922604454859676836304179753065583472101194764455286340103056965920461042963294933271814297384229210462685958706641407138744323349178294706084706450280885292432341977823078810999814419823948527760484382287855286878800444237926461222390826877762255896340198806981172682161172157638891627736874499081244164532131717321267948752760247475253972803809029042916048366833945347131751591456218417414258427791587453909637652259457058162563415967067172086778899759924403321052196527539738586558808145073196350943668182657937062955849495363561212763611741646062463021605177119191601506021406604447525201002943718029391401116013286279574685366643464217029148254754912651805755033917762591815143758191944471533455325567946580262736291161568701632318112207594606436549110204723297070424750488415373575512357325559508791509618556852430508223284492883242045556355813357773103251135216734496017652508918873283528440437216795346758227655897749386379333854784042609568893082796604494994805999398346210630171537264377621004068393202068721390984162084098427650923281742040418319159890272715420374110093760093925909083679808109928111078330694460765784182410678970969511007245390969336128740329376660270640448506191950757883904027063880303909383409345482723175863425464764765981876508656783298188393723043970160512602255300014666877299380038659184119168162947190232732220860358413554197259774067351783716743276343891716097039204896401043178049425988931169808967038877895690561883783879410974727617673254290392535755427235799143589470143488840681380625344160505862710129218619642735792669400933077371799240265401571884996684961891751155536361200389439645407523340303715546795661946264720101269679845061136510527336065069612321984677308221396001285142504780988904847196093014350651881685779826052772968835432803201964988706543417521668087786665305944051667705877237910794195412681668965369664909013336931117706712123286731763307719953500217635572643894727355886430796250276496069530063122562963307945383504281662728550509974343943364975793050671853774618315901983409429394651266020675102387044386351065072874491380012792724144231282149700084529844653624570401780527998317025895889667720892156228270565617638532690477940185088133050728672960471424123090918028198214779190669466508243448342243387332947803711782631768382842482755262168990304090929772771218453447974770060849091226530851925493924622977524342926562984138771090403606017768313966049803741364421872307738559562974233638244350408695031249944211506710505836075222857643151608635751601520322656739460724904033982593257147795587799282300065621674558727166585013680632670311687499834352064343669154743502534943601968876398868724640457553466167352224844952674159453105231566517962689754112854578329268042918754067536001911357204913533644320435023166490902856593427859216774723507288517123614676665667077347723286504056121625395415255540646244584922787542350291300524445636014364686336627307614270562420344122459750546953403306192294725092765294856023818094414053462940220289142824844481998849832414897120307998625605622218900144906041991617493928808467073547595220763396935890597592107878963219975437613804164845243549602085071105888112977000906374893055769389019788501487797475347337672901201416858310882893114742533534342820410583103599564418656447684390609775894303475160036780910142238973355791070398742920716507808767787588448172737960259621907866040105742392694334345021280784914650474427095159762270576263074122465745683956040951314512330449273363916489654683901324995433635674334304093201506889470984368454142462312945869324447648316417134039064955016099056548583728663081953225323878099995426820662808929545440752146902676250373288954844309534426436232185799830233551842515880233454711113567202661101491541786436631949969800618379802453564685150307400441546941618630250201375436095034880841778114974874644738809780374447806972639316715099562322921329216499769899513867030566819587266656191569731901331322295115888450847115381253751612582744118253059530518035339490614611448070594059123626173796537955760356838813178597616254371722452357194364875379162940562737821400536062647580389569689208476411122037403115454977025154656690300363361961421786235301245137583059440706903290640318339041824709281276625371557627270027872317027644490851304855030668120617449658629153998195975681491214380235166709836785214396437126871939316317941856334753542216449841908862547061262444442006249243378552738380239868071242338310744836545369639038861736820513535687544158421272000638797643550377732028359079527693679415543460408290440878169857744489327468061637097171530999589681561079691925088823055515172026601456295597333578505868625442830203348861779230227584010871090360580828796962963106583502271924841614007790094061366689388924953519805664225618705489279582995934724003664131476564526155526310754600463321192570363627104027291352570374867641865158384991125318053909097757278175091075066673444052793166839779043351396940905204660151333928224326928918313253315122397812220663027166349608679104375223378973318523580635919661228391363687420615605387610876491625065876942421088130302592353915549453895383780788130313634850475302346104487845009166369146858999332542928601827752281508836060536849418854778389490776953896150675289598426708090006800429351598727418498769206565824716534087585586322633859797677117820978838653670454846270131070578808002755712654136968252075519139596400795120276025977667852068446432995457018579584453302077469945961493584775154615015031144464783716573159469900724048449480539203732553503490874740278891126540434478220055170951432337296364032160518436840115731056176064443618193550726208424604573046824198494937115391005912338483093810262351127454939966759933865640528282103988904064353862902766589745394917360037706260494374408405972506103598098828863422587435694743531068058284936768025292376102375160108644710677204592688257932087289333711038244812003447938555974656386007324185405672937385455926287555781280060256702096637991258584795555717569031988106730154114268957102404551392265313319554952673395738236594022446070556019662755551608708561603447577250833162090601406641202275671281165313317863265199792521670740688152512717134817842697184423599171076089980817750618634921712381647256567886368702039464437367588652125786614634762927651641115230122206443165959225891974177546993245973112330701412159693196530742140727609660893468377451721961038022847730446929128812930718296262421493264298602735864959938927903853490460581761651524577473414467393809110558601958577565343318833083631142877815386376218897767840003022356210925491819946373102575791602047915968846518266016572447354669249452809186877193020570439642724756244102798695680420527718351651673942684238915382240024524152103324360392206042716961416517370047127932366323032318597342836165534567308024770134525651076281107931262811638785615644615380684018187869144338277944627477849767628572299900241609422101069708622233998553215869548475972812436174025228990739285329049455534480650056940705695298545756711086478131839007303687914911768317305706823834235236943684566842306501051066333823659866429009612106785620410291303639056474674293034872138621710275585359931108561287795617179129980196951763046628428270476446521765795988711330536357192406676866970838046792136077354836065088743778706128053533419583157139127500712312157892282730539765907646241414956995415630808078755057899891338899678735760890756523533909588420612847745472284884621378138348008482689064187963713176707622888457777057798290766330204261514099684505131721750762535075936477135108108855004844698764776074372433049039609075677579607828353150393991709560512550254079335304602199623142423156137371503767307954331415097573326481624213362740507004217475273278971652595327773203236394886594522015580168388695944936993192034604580291662357367367954663259890679492892271501281747111116585791271452325589819920531519227474689592324460837658222896254463148680443717746512420826249729570124734617518551391702557443503554058203566760032154637722754823962139171307224886449262090491283774747810765226106643005581480034967608908583877940290802364641384222867291829150633380005496560758623486488467594281423568126758651254600405587838548590326533182933619452227003424669624668592099855584312160846217725146873967915212515679671309823401474890985711980536250174640682036916954922901619418206906732216357337911225352769546940592236833278984334224345516995327635638240138827098064767816540617024493392908482713173894686541946141755842439410501682426344684219472605386329647681622579256634631592542030284007980844553594615438100742075493076896226706050861768396970952925513915606433109034677611136875710963963384996208227698171699068673105054159793727109288826096261542257429326449968900695763865691757413151926852624001394771028255234085807230458354912966157362521352521727718012448439610687990081367143024330744713992966623583161018897086562901838156715374104999225118281694278838527959251012208274452706291839794614949300341725547719139679327211868123666656822845564826342494433544603747079937914855343650152562329996119141566761628968179736950928808771581123980429541948931150177845485222483108500769535695872923258934964204210500379238369071447412214198699740580297447543485548146555574342350048435303812416181623945627792742510702076150195418745400309602033339324086349133170584769794366257821753707539926187126896706904238365367874506991834960302379348218538155077133865796888160624601771878670702274770961655905561484200286033919904167152902564925824050084783105329283282006066159758148129562828367397428357017235175699989449450514426020387039522125841484898808535445090980226567891429378380936355852988794535725204456573984954767061815219965393701395170152607349708635425412689934709168879710917035391191176130380907326395041626479561373721852120146857988565517390748368543233574898736999483929188937188546061710964631544614341081382813375451330916631963749862788072465273143707656120393358401004578064763857292690275031765197434997583183396769549957084255270648407414752574554987213422299725515271509364070585736693501526875726690429460091549287653758230317321394108345447981224526138110006615570407709208052171038933232125723409559941102051690633962947017126136199495618144350517476936473650294119741427571317259787444558922737547977524676576536974410109385797252088665988224724758647018646351034161060387077348030753650470425062008850946264303253506622945955036081589809854152395719661189915497308579369834603514872679766966235516726718788022724082058428038283674078816718648616588804807128129064544879725648504436587076541206550985955672543986344360785680053198786254183173058719097705155155948831076250891421606876408709311369483331385559678176306574281289058143445901668040497748271986746461600881785614167041780224757532849444729050334520351052848174204944195563431236716034659855280795844199146753836836382009050375913212390805942507029743836548926431422158290352714022994831092163231924743675061903165727375030166857795544941404918594227985313793779094482132415287127915447191646825505488758116655380848728194626181213954386184736137595739621161843610180867380473776811769672688474604220784689170919556623418345080529617891812348838748294738577688762294223109511747861888384347966775426271895486181508324589356873810385089004260489502727150336860191320193000318141610943028772566130047436826182096302895998773860852188575582421939455724491524003987652902879622360181452298212755650100037526883479575128172996246642661042548295095258659774971865400818748235010227837208788001887991948646422813173365284551624762041191571381627973432728489487994208687107660871129927397163656154746443519404993720693845759703616810293578552725842092062827357512949596230668423764715983043545392781760003242611547052620085166651221153406622635356058192026584016716653837778169917883611459972213977740289356179015956122020821306661963508262659205211745242564503323199125314779253420225365441163652909952672881759807098574995332856665838305832536465190658899940730184131722836463480853897026775569615793785189148523398162467114006610077269110953389858037693489490596694140180877893589601953609812656871554703483459766488563177822355493575840514091925596559635679491379581163176324696722430684319898170213651986891532582010858653698113798235775502158193572584065119499395531664616342850012673136492744274564278642801119468156490984506934408476505047513176198334615850806319521334540760803940566489176414052852954460193814769503767300229016737231310611530481020633484730913977800992611562818142911048804204659027099166605471379527434726290047250806212741748172534409388651603924819383022731092755887004095757363247844226087078832238875300596754638675871322714384053480905851633666066688257711885551339604167805512829724355082543545265059918890400163248132924984433972007885970455488379413884434629124481512597601612474003074496643021748877579655205524854560551588721926651181262933743383421617951039673938155827190762683044609807108026034676906677842726801750796421377773401579926155647697511606697494346506329847954722247899222564210055915977267085869448317441593241767771311514822457975773070746311717047886356605158063299212073111425992237522666483141275322378955878687467602514970168564883883603558834213926484532968610409242607729430704834618425140741713758320166572543351594186948892846813106659599738417617862870754728088513032172814566299319317418294153547503461061671506383921725783585374715472551743489777398586620294403710998793804724915842717343240101888502151654698849646481372231334958573885890682101039852684133365936081151051172083542994117827894733685326454631621400757846141862537086458701832455392994272371527629786334560112389713275192887309455964459710883161661767367358433998098851964665275641641178379746488112803350325788700242383862557882753305066523357476567277905278060487480820606180828137209917947493624032350903602949890283733131419414639537461538913770238383926704464795255372633556739793330414712893839291355063364018648631652532523197649982902362780674160592408636039326440657375187707279491933369656189568711882954246805672044756233859692555416792054633828992697682796737498540659153518178341925333560509425281758246976236727953273923246269011197447387257407979143616027956987318373179282894368874785917795240355182367246910171855832653122838071574250850612764329960182246040360306317358992221660914008844443622850689433567111063762420795366230776226329246445624159366303067909626479877118058859562409209506183163378690924738585953495198133676092087247594249760581818216710465106555023021797540759198051644092797703611379230529688602663020365207189788714979066505539491342519078411203798394154802253508828249212196215217003762387384595131741788891387788978574466719811664354908798191874464320141698384287992528284837492272771967493375273357022134395439642154697504455441654515847550783833965866599448406416464289423139489145341298268821727195732641533769141098880978755772451075304511641921414801855757102738384215658905661316020007634018550006633345174167861058686426610144368247782842657633297543256864260787435667046670621617155239364643651163528323320702033750285593790586431949929786225201532206516627191097191841800542542857452110715391909019528253678897062180847890186433021641161630038188485482570901099964826673851926968971684424341024895969506182465526217945667604942114340605565317487903054301845226946250641763381023933532615231217815625891471195297897588716205440711338233230515103350161729624255386065512570352586758006938804819302422215008937858651865845054515979124171487439288861739892140318105343391092788216300868739087511152340393450367798163139692669959494180591684027871274862490201208966050385268057198534700055696468431232974418787590086331180680125497895682766118381734714589451685514252224595485261623057417772382211313860326332908462254579379165223706559020187094131725043212117830938774105434863905533206163319042932087800575407206842841851151496214410214507374063526701301333531584178553492929763263545480817956475439961438840353669528993678694549023963951845926214972699322620853138038484628243248465675674421415814393752732744194741673372490937936068808835297734991118115428205711683860858347655609545111061588937609403440439474340888730266044031078496291540577836808954861905918531611676440315570362930624603620702181818196752580778504963660524895855592076515455696352766539531110985541132450523486223017625556412449320450824729768324455147537243998610988101750809001047045486472800204449315476474764119957027846925062372194388617076077787010111451225243840390981532482577565834713070312862691259239158273790263566540676975950154037390788766076876872339047337129056471149151017017960825678646590327217667656571668949638688595355346115563693432112180879532427952510620526751381380950548193352750087968780107243828391732100070923926827252019252941780348877294311072997873963825726937991559166424457236542806331484763292597466703817925422157353897399789730536294640471813916732001788683875023329630494294784148393315913458226257427819890648993868241530585210231203090300686907907532203370063096083758290592457852307835774677080541534089657363493416430746759256460587379468712581163874783079261802733026571056152717789872829502033182232991527536228464960294815434120797338997600092617572619060485757203607628062776112595898553829211809488358372952394598389428597962506735825153530654668165737421745106758581830750126790747776942821556402396441106684475855004081907743222048355918095320723058338336249643108918872705359337850928839603509316747992907851722092524201277096029617118814404867342270961252656313420355289999858099885889778184343263567850634068879043562538718635917248782244706767787342186477106068896196049529334902609541219947791354314808591769851571284999484355609354787588285138001393882397615850904640795757666635542051970382059284582700530052567521545668979981486802213852710550094782309061460131753480229775985482524219870590444569159905728559619946834555666930332502416566254667357118523013799342770460430872370106280616066331383141122256291621377785367461865362341818462197576630646004237651130957930844193647477758614119634369385765038538873311708886413644108446231617037674101808465091990610381753241233332344227215971142439019223067856306537564463821718547949238266078570948917132366069472362930194977669818469880765428933900874408594823338450077219621384616612145282353820380976618094034289893723115796276311951762498907031114954265076246762923557372944879186883969588943327620188143302962851859494613797947936695612089096712029185019591187893076402513190678740683527659343527490800970018779287679526726219901323640014391690040215299964309181221153368958839155448055642206916803913306116759420499678104413728014764416998337778942157069898692377577452507437796449678187847015680323011635033032410315434068434493108357548841529688504578472972356602115462158584206323442758138363646015173169723727458480504987978760017062032830462289022909097874561648187447968749221161990404191507512750049541025256604736922150748788016302513606378996334256681904930022494405328618902016527749181056817919350428031249546869137134764517386285987460061993470120071380454964439455593226503420383046960579180594790541520302254848255780227710430215717833331773199191490771833287733630687018178022888826352308039405986044446135791621726932512920046481463136097746894917735147142043875923778647794210021927168372416030858596643980048054403183627263417464123375642840910163364515454448484438802305860084519701774616589370068674992612552257604397440620487385646791799085401665984352934191389952563376385052527839353816649201700061030755290791873003245341286115629233962692451833490827116809172680184260782083484038091400215558937048130525601438063302593526420496069242470014906696042890604388820717160728514329380358514732975927697995181665623909415550225095107427306478106859561227565713603478034921138731098392564882482390917900592647321693000539778844779849317255432535901040198183165537132964873811194369406275129577306851979184425842131348588993566213391390824998469451811047813731480818872885414276377063897138108387928979245487120873303933614107654211676190839017615125231108032443911905217967650732346626785556700483373005426077780856915033042165949424173290754569626808561325675174956198687358748844304908473668603971535196964694950522711234170069294581714516478306892148885265973138365150280942867399949448480762467829467022924322931380054945924147747765752486345467099719740557791889939526253437653030144724217710434142121479801640973286868525005664088083277363963981283341685899415131161081208470622807423981403620012518666190988482607550383949910642237919861292736608439687242787869025770249372523425288128010582579244867075298702055176157541191767882610739386588207437104221207670261182249834823264065058233007123906743474121950365078593101637577906693958624278285804466470731666811800852220070115885513371488452557779637927888796090126157473857287727167871978544506196118913200730907367447441028760676963945251207321571203873537711327832140416537541030504731477954425500692216413248456923090167748932685257349526142185786025509551300374370377020955946473659646873013011308024681505797149311725292964203759922310214532147886432542976071466286087499955370944009502729772292003824843659205177769510627928743332874908961159361789964161184520728908973045662963729963772595209578014140956280241360682048974490014697920259453766480196838310329928167808897506772487270411440051815726957096914507712353644343022391248051132572299192939342697131405145319488622096333658445069477301736804602805997781558526896510062397117706380881385681587492730085899575983209187306733906155407795503198500311805072438580520539444543726770103087497791674082671059138245286680366071561693627214899643534066505959004985728611830696619080582721642617630204656472493057515223711020684666205529369932259802130977551124459688068472054038913197290919650288990610582399509666841646755798032468996918481245239032294022963938908450056471013364927851435860078599849055776409599324327343834826321658967285333839147690332935963539906209611070258214965808669150855389768898483025960960689971894296251386867821949669514796021965570654396616270355328463333870732531997345427825208277121713978063209938749996680444978599437389800447726711425094248153381589285957519475370645614636308912987519158176269884053261420576696192505449974082725416585090521515806992823249691795926249601503596145185021507517493303173302641599206927640993573075142501917439530043686987491926927951931306818493853364953129679278999296459690747195067265950233106039106408280358013744425932640336777564450799882599950103467860811504930206799355555525258661910280957058314609336959734847595658524406376707226089053418946606100378957550234151790163111814894410882470122854870305328726944650335520767938413402811231535790931386893163407309110115806136930689643974424442311843456304500785752456921100774378801245371615798937202795265583659317517365695203674017419148326647585097743244304792410026261498095735870777605968251619288868941830078345935187911199661186282588294030640942170948076047247575648964598884392714881100121112758508192241562727944648780440698898759670523878850095521118966299435937993155648448310249204468195705104316028365053534713589420916998677818371920578816759104615691372884088925383560006081078366170195062424572339555414763664085741024479634766135166631282551958722276727841989418758419387096418367307829920308972780078450320088929231651736413861795915015991560330769763655614181278925775947048184846983618893851875766554373511289803786953971019395533393172327680329351650047182142298440842153635018723329439418098134320832353054128214773084034897777155118973328283968372200940916784019972489849777619341229874854145277569254547820018692396813914916412812940405086719903290393893879666236178505696031357932850105175325774420777166233922541586733351727343031774991444557042268417183526049619142331990767257241081785047177738569486409640465793534434537533943400599790354922925442064932858125264901171785992901923552516964475495343902934712937084669389492275416535608772600265389079919961689239522617945895188403438284523448090308950612757915443369323651121982798680380198053537465202317486910255354342512218419073842614839291196572060484666243906948281969384862830145552386399468116029265746673282427689895502598606059341200483137748179640135571361725271655611392124875995623982046910210773508611950430071141629393915090172267928457976098164582478065023152478234511640253980820349737348541206009793354909233552364209279342309656019632147213835992421029852521780967905913479466249044917427685063064734106287548273224503244678957078461240080732641172884179104535382781015606978405063835056175966682518358221400235526008158880890571462987565353774709798366135091160614166933532320888447467745872870494105307224963626433914278739328459082852365479450409014929513745723347043977949971540308974009955949021252553750359496082476459105122451831544818560540434334853369795008115887996363739386869873094336468354410058462050295879058476108492567184263227472540620333514900732435793519175564834354289751035746096857116877470382538354516765651634977819778641650021120588142986772426602083757962881958160551051146899855889677299993783904553148938999384755618634137956512728429793153825645106467207029145714096367347123641219158508528830451943300835183545337261371215566238472228672409516653466224103531818383067786348363752809720768379049744671516478048188850316951147720559896769200620180120525765442217923713850497487352504453970670596958431608053668933468931732584816169327502204492195871402695968478290686302272830309847943509647251145676102801349167125960453917132168024608871786388537747544755758241365307375377091597160126990042283983319986063898833988770957797881525055727371352064338104623292351456017258824162541524211342740029949035494279292486811404799104362154100436143134195355726171173552370622241247043492699886714773446289989246944331765210997292883347128787306150388287340556698096863841141129554756592834596207082026885143447161387217095911993284898410365325274215979766900075049293606613249485349457256227841153138100035843727161437206134234666816703173473660992498250055708409001553788557345546653247107509459656586753085560633109976949333212914508945132246198525101364958183241190147680251339853305635070427671495202332792907269014319489439779585663680134484741421063157425228743237687342084309098773523130561605863777420292947049816267791898528638180814389320504441354253175047781465996495155622028507365475593765454574524884775790689222999968881263814069584143764152273280399506806060485334049427778326225005383041239740742415079327034777507678181742731376751622383073145939335891540112444624632442599550637212045200763863831068698348153853398435015994821874045504807033607283751548483533427546889899897947748463123354041977104015552368637013513610164326483858073517460542169370071615171626444856636944956413941464734619342955320072933151518776601704671986408344948491825371078580271305789346967131651899236212626680278411802102976279704998645080304338565062817397327526390855150847800461589818420475497731396152766872477486022864252825202911674158148684184134841310239931515997637112406334614012402965296804121729831064741567943988439028370521037882990815262378390512396847253770747257046165593349415271887178119313852851540591188665752221914463326220431863934428698218759099948985650589619258715243401627520143271573735152139432221014923569853691970921971867491509605497677436879258861392178265153427634241060897377071598020302102950616010744696935761478693204511415358303891898279205236091632750791249610232973849187090932723032362838603582683232180554442540667072982912344213154308763223111315500075919512152756910151167682475457468463701512499419642409066201284652842986019655478759975143039728185398667872396408092263398433119434661399236420619168236201030959896376792385308759993110604929541063592597988871676970936093231842109642102828998117860927430224077396944047487395449936017280778659037571319702628962491675117869941531878153149853082515109097612585070918157028700722356603547291833873880388568534710102358528521472642761334776587870771493438209520471006591936700530496759057762424577640864762774270469236612807454430889598740992285907494904443021064401803277887701948246167469202378876383032999816049970833563840456779084896825885052571783103247055692711731346617205253249244196290153472438006696016056014418607364567822978809555651209598329714345335715826034358458288933890156284212202732679086614862287740735931736463875735676161229888672589455391937811431159036481467587693480110443207013756379112065018033611942627370688264533824381349335380320710064969100373548893138523572158891563116537003377702164482644696256852251332880377340258814161796147484418782163264266086628234828267078112591715310165788617448800925692685767838559758791965403729910912506781960475842366342745978670405264992025348148198279566748623493221237781068596003987741053916982465078693391080557219704539318939396982323701971100933314672759650733415776115214228089254036484263724703641244942341052667990419174963074452104141143497807081255933621850494279471650532534629390104028299372817660463352448477641933403628733163712217859140839774071757775824161672385352657418716733014431921507841860766224336259937839462462158422641821214590334549225015919783451314001129512981936649574239623863840364587677867343909673256884364540734900944331974671952911171923944634642331615699361047655340395845243970598753848565805616662830454562880223654233477780923197862735837498340431283872119819758619245546264591845293099279813892498271231482622466806854764597897057105100013001343724206395652531591175026893816661451489242789206524315160276506864899716002380469057183252820657509978026410575661469908157415519351543945551882238931282662653489579986315606705604748890216441755448889065036882417267687769130578194596335560032975724341597018589955459444336428978522155366257877599060852790282377339189661475262202430943564202379820153415179038216667819834139853610296365903732812217335224421998870453039962959086818539978048171030047546122154332846116913577245471263810429643355036387495846325749078700972357311757787571060379967812821950528025092132040040130003229722402865362637438994261921516778340899775789903398396521596702391649481818548257840564682531436094950645694363073743599090375924877525091352412941782898364174923199660677789301628100019083014859000287542648160382885204386946320889823395217462855333996274246414465590326044248842263669716841470730495873881771314913015773492859490857820316123687328964214799850280842771657304792633903083478680119888216236980075620149563481471238368014803611797524587844169771011338771812321263779733229325677232054486881819954689494579206196921190112089385742420500079513036494711809431838563867951718136786750140458998044181885106696344864056575909828210599734955585023584711287783173683368171796916128181340088557827437865591127703294535493147991021317345578041939669083856749017723507477591679218880373386327406877605927400072582357176508390823122171514278379517382226139121148313761819774990045316984131782305562622062506828650727680253130775917462076050614152157376793884623747920717460684616199233866666535507176306275560817387106045507542974310142227247247214402588241345508879175858540378286154524622514998807572359552258468835203166796652546180014282031960406081209082376064958199126664196690255185045849509044643824530880868774228239569804586256353325748275517475474966138733597659787482191084614765624652764581578766032970279967301130787790498665739584193731357760578743271829115773311135074760723042664839949409199121600913287899643019123269853402661806043886030463223833586400240008323491299001698613327717107941531876596446938132883243089935337329130499758161465852097570741771669386342628036750655891034059180676733055499459442313692682780674181018508033766565431868891396123064156664764834612788893541363294920724435914517261337870462065558536711767409624114027797927947917348206671998557837801381804191731867815495022915487083466573898119171252798173650958633990830275417341348783099291046773237590613548711636081054371898693540715496787376184276845678551119304659400480365375942437002219452293054715671994853374818204879319141267846835131635493410736231775707568901719026204895202370862244954512802130958075816580227675965228410357725472079839281352963420006790638897750130370758970046146364324820511725306617574294116922843733979683999886016919450101153792030517688202366751282701271875204127056182710300136995145054307054005787861131889015019814124464987311815595903162261470645337672707062968018808031432131743962105022726147700349484815264598804963954912366496300177758753922892779929894678923862841088890474942018930070496255984678932722395085464407945125190955830356313081896699089029066052626038995238532315282919602706898148379026936580746124959024430027296835168258087425825576800365465574483962985788544779717964328064617369668108034713121247085085101499057044094277935220190715882401183410188332639424788036355696717281680267575607056288425276327641828251274198503929258944303688819966546486132442884062523074777121714609891084047412967241779670994658025244564509086938618048056755610960479976922443105585844175433823103340270712148809840411502830594388652710316472000068320775099527542999279323655991876828098301197320245420357760028950272491094659680362617490725902604872638419374680220380444684209043698024952207278028889063778680203391479923957730440495994867435278600676291263489584044662424125241663860389916497967746973990271014861504032458228162100275025054606960169131392221762747600332893926259783028930372261662177131359423520244593881727910663074300458298666819785635607035041230819147524173916941534748279590835913482639978339941386568488874139555092262589011373409842007295180851317021125871896067309515845620906180991133315621387971131143929593152730550137558900328866065198741802524958780242285848009307958702750982376914327898337008551865206928899925970420335992865367521308684163242398043984291748214828681333549768374116212159011536279468933039358658137395118319462951698802038874865620509589859031119124323607568823484331318193356049391160466993638387955202339901631111452091067783134149445245853682381930317673787488434484550381076704371326257352773140745822682353427700785051995756744534432695211094791205060228823650756569860280309662343192366934503688011502473254818290191854600352522855903009752546728827433957214239068484005068663958729287229540934351091875154050130786921820005612662155338235674963482327383800787921407065295802569506879217956790010010274124994837527199936483153013859086552806917203329345083361393395099841613332140658477602376795966457616913607543237436530210876305785406418399755522000345087129480862174547363150101701721940885458643849190129655923684986285922637450932389536539849233184048735756399791562319038553974575454033759880881136369102233648271767260410047704354787486400333473961713893396061654766762825814683630281723131650418957832549758927709065541570882922739339092781731332435902062007613120620122301269083271284699073437737848181660402446979938889898800018605000923142076132126856934340657541843051357832131291191799870780903488568507040702942351006414970055459973931495824402932547655505126694170079635859757996468166742284198114952746158033614867472630535963273316732359939836658177387365019248461887606265792262040856788712294565014051804117121790083563577298647242115000899943733769626684563904225769518969412233427288715253459134051976279988980374563826396726486128482477388398885021262751137623700310333746928073074570176165836796003913378684008318972999240912411989463277124333249901919419053265864273150811187860074868882929732073068588050069566471288058581375583264031301511526805769201945714537109274725141776760942719131782810773993302451361000692279596193253940335047794564794082330578653233233189403239274362303664752549478826819886518417906642858960555270303744925961164297674488823509837191613880306546793131968812461917675757498749823193092144254387605652438168332804508586315375317107605959596493899466753148342155213309289212496951842970197808500359728644588347571230107011976734160201905201467031221781219095169900810683831729163767211343962508466118996406065641389362078402819741027368258635133898016928277445375571494300881985479555620020616032390171019414963713152481803386574764028642979880078276450777326653305323638257356713544556767600441424877396020640794248398212107970371807036292794235683897659795439010414538226013630818100291466059316590372240397392265833795467843220674844502226832805731326118783406926718575482254184753242628043204392897300440946797200867272230166808158573783709529156282368058852322946276581243672970783831351867447534418166253668797952759820298018681128643389590989004484816024088448051179989032758093121573016684559422784971057540507430867978210898135405213922861017982946175469103499959969025407610007385443646865730479055678312209281100668801153460159605237832379526285499590284495195324316507024448760116966796003653630068709464612034293767130467515716760824406307449003473947921911244759717938666262505387922500659958710771394324461440599637520764933699982775637202670066563166822757733546345018720511608507172258953585284886211844004747369324586771366030359465531562934729304840111901759674023996449801218947984943958599174294393182608797582142376898617825319175516976362234333340170808087894336619000151283125240165359200240688901068143241081619222481105176148869877629542349397742478959659041980220631049403015106021306570229470314198037986605652301670563677336964457537560604388513148051580996190566804804112558246312850730063703082455799989138389621288025194867596611955139666928316725967069416647347255960841092862933823438275456705341958086066282141502122803762389922931395084316464847385396784000385620177010142953720659880653589273999149220484304058138946219017992036606630293919274042582391976188818241004102404209423764546905854269193034240947204364599331072602034124438073373356525425912496618640790277973554540301083995421882823401484912530962307320502261705343554399408952237338497080818985113410705730656379014563118249013433750057739715174530695021816261381788342169135477166091402496522627783108535715872447057912475922350388478585726624496030925027364921558282172933480454513130487683395829483356816157467588324435262178465895110056206446939297247211790705439410197657394399888688472774569089710518984373496808581274234904177562632796149764337284315851769555049671484333739924012881992454250009886802662662044921750623200302537387487830258205676886335196551225198140289955490945825332452584702341654474734922696535661818788243728355478386040262656955928513987174364926275145071858732194981723506477270720842693522653745382307746773217525247810185345641426965371340296692961080803013794082272537675170659464516084999317206955115413832850812656244895921659226693562969226370681951515826092736262185622532727168046071099023666532422673033260024803530212326870423680633369355775547573595218597241756343643396244153219803579968786239837928256682014965783997732716351124050743583764286785590807575648004394674960733357978640104337509923881748371674643479456691685695055018099116183839318387520672929228600794322242016810634824173563826601214359163020699162234053154367260104655236038471412652587160275642508995891584454355336990509141845554537192543020011386148729899999110941313597496894509436942615596377464449985161860953405828492872533058598581034847607927481657189240688018996892193963728656608291533481085534562342653633550380059349814451553738871369299303915925231733528399691510274730130745115799899178062227434841138748933760789303395136796892693637023331181354384784612757264611294664514880755187878448514942958327575482918103179238046007806882353528374060519770861008249991576345237879369422709767188375532387526020760376720403144556417966905654109320303241910369191122009572923833598696793691928787050236545773790644746699743885360622123534108571612274190047487225227681961417755738458105348432503308150687633951820719891174109984936428099532188606994547092589389627499897111036920116368023982817717455846998371916511077017461844098986606481554854570271398734604899238637106908479595273181665489372513112914688096471158135430105473135350087064479034036391627259444054996853682721979085954752094907778050081220852336923228705914743579517046952473184903094314083993241822590212650895858785506545922719480279036307156238749683153644662077063372446836097981741582769387322356708881287252447352809360311623617198052680680425102686023893022205031463745498547107064929038267817476028901731822538722055838437948967219104849879153830499322933315436436244537426460623060604560079589523939304874332118652279509357071987451283698475086929629304973283448348226800300866043243845252266366282186053735099589362221756781333444748487359277090010582612133744903670074944276201335367827452647947991863594356095158780989350406604230818291297079437472622455480446418696703078942036309854617426352193128155494814435139038832726548570455543843105640488492935861928069041638663910515221396202495789863569244541120675369844023150735675690032923028483621262996369709278372679594974900019271181285409681117003973182706596027713252263056277695779305448770034663295001021622751626722630195143064386968150122416607574549493704728371476634596080120877771184683331810420630268593765333706971608434032014948865395247305316807608576161195682083658051635828089265675731001928229304125084280661057472680852919273428641474319365118108977698387591111949321624757170603069115012962948533019878421348632125204681784432739255822617547595677869579785065850677193949993956765460402979824786120887572370872306104841115221549834604739970092111511798623196015403077405795451214912429825283680390911861932319297157001863530903550475072847925771933573942928007928030854872035517530764439656257634616255028935388154073717104865634815680060609076508321107375720976985354848955779668941036715846105132036773760355197857317588934867322735577649204830380004864013277437429279263041388261000450686455122653460627103423079416375411886473161277954552224322510319209546608333775470037464650560047311664942253955596675756702486781157855979066050391564465172856837787858722665959912526264616515861101047108194694980094121782786219129906133252301380269704830498456511771458124567706357268028754472984419676278280937121643614318091566898396423483100431948441757757915841739682011526457842272203561132204274590634972103901024276267472730756693659767071139233375663917588975835790132406549009515912011322822797487055896982788803271274041910574833236101302971520218130555500145497401872677330333197027532045316849406631574275197052913325090150518861066874901577460257731261668929976291232711057109965895772871140028888356698792504817300832747542435175289659182389055947210438320841866513848840825842841443110529489614456529965446125371042838711527098922987034280253943742111634017044646642991893588506991093037011283553810547042480437542089295845892700163686171574537785716106077695705239531086662727391788080042332545416183958895624404548882534674560535393192510122137717987120942813574192158805706799366876016304873930090991784375914551968504372327615530573913518627257889792907205941367034765409916803703096901422094547134352663029546421229642801208182304633974867498289086799767318408114510878541027737074158896300534748354262703610955841165734244164380742423918914354445100758513418196287408219251365732674525927679208158148755188487550066757894973827429294638142827711649290027267356234131089652036171895200553029487509625924981244572918851368263433962109425158738601289874379217010225175252617141133673093466180372976726399924942833710967220990850461570257192766678260498309791975999800712583973564659884097536
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top